Sign in

Ankur Sethi

@ankursethi.com
95 followers 98 following 89 posts

Writer, independent frontend developer, computer gremlin. Long-form writing on ankursethi.com. I run blr.indiewebclub.org with abhinavsarkar.net and tanvibhakta.in.

PostsRepliesMedia
Ankur Sethi @ankursethi.com · 13/07/2026
I'm the same way about reading. I prefer novel-length works over short fiction. I like to sink into a character's psyche over 500 pages, rather than see a small slice of their life over 30ish pages. I've tried to get myself to like shorter works, but my brain just doesn't want to engage with them.
000
Ankur Sethi @ankursethi.com · 13/07/2026
I like to feel attached the characters I'm following. A movie can do that, but IMO good TV does it better just because of sheer number of hours you spend immersed in its world. And TV doesn't have to be bad! So many shows these days are as well-written and well-produced as movies.
100
Ankur Sethi @ankursethi.com · 13/07/2026
I'm the same way! I watch a fair amount of TV but nearly no movies (unless it's a social thing). And I have the same reasoning as you: I want to see a character be challenged and learn and grow over a long period of time, which is something only TV can do.
100
Reposted by Ankur Sethi
Patrick Brosset @patrickbrosset.com · 06/07/2026
Oh, what a way to start the week 😍 CSS mixins implementation is starting in Chromium, from my team at Microsoft.
GitHub issue from @thejohnjansen on the web-features repository, saying "I am creating a ChromeStatus entry for CSS-Mixins. Development is just starting on this at Microsoft."
410510
Reposted by Ankur Sethi
Barry Pollard @tunetheweb.com · 02/07/2026
The first part of Declarative Partial Updates (`<template for>` out-of-order HTML) is now available, unflagged, in Chrome 150!! developer.chrome.com/release-note... The second part (the new JS setting APIs, include the streaming ones) we're still working on the spec side, but maybe for Chrome 152?
developer.chrome.com
Chrome 150  |  Release notes  |  Chrome for Developers
CSS text-fit property, background-clip border-area, Focusgroup, and more.
77722
Reposted by Ankur Sethi
Ana Rodrigues @ohhelloana.blog · 27/06/2026
Doesn’t matter what it is, please tell me honestly, how much money do you spend per month on your main hobby? I’m working on a talk and I’m curious to get a wild figure. Feel free to reply, DM or email me. 100% no judgement, just amateur data research. Boost for reach please 💖
563519
Ankur Sethi @ankursethi.com · 28/06/2026
Wait! Does my blog count? It's sort of a hobby, but also sort of work? If yes, then that costs me another $10/mo. So $20/mo total. And most of it optional, to be honest. I could just write in Pages and use Apple Notes for notes, but I like nice software 😅 Not bad!
010
Ankur Sethi @ankursethi.com · 28/06/2026
So that's $10/mo and an additional $80 I paid in 2016.
110
Ankur Sethi @ankursethi.com · 28/06/2026
My main hobby is writing, which is pretty cheap on the whole. I do like to spend money on writing apps I enjoy. Obsidian is $8/mo, Drafts is $2/mo. I don't remember what iA Writer cost me when I bought it a decade ago. Something like $80 total for Mac, iPhone, and iPad versions?
110
Ankur Sethi @ankursethi.com · 26/06/2026
I tried that first, but it booted into a back screen on this computer. Even though I downloaded the exact Nvidia image the website told me to. In my (very limited) Linux experience, Fedora has never let me down in terms of hardware compatibility. So that's what I tried next, and it Just Worked™.
110
Ankur Sethi @ankursethi.com · 25/06/2026
Guess it's not too late to start now.
010
Ankur Sethi @ankursethi.com · 25/06/2026
From the React docs: > In React, it’s conventional to use onSomething names for props which represent events and handleSomething for the function definitions which handle those events. Ten years of writing React, and I've never used this convention! I name BOTH my props and handlers `onSomething`.
100
Ankur Sethi @ankursethi.com · 24/06/2026
Stand back, I'm going to read ALL of the React docs.
000
Reposted by Ankur Sethi
Vale @vale.rocks · 20/06/2026
PDAs were a thing that existed for a period and were some of the first mobile methods of accessing the full-fat World Wide Web. After digging through a lot of old press releases and archival material, here is my latest article, covering web browsers on PDAs: vale.rocks/posts/pda-br...
vale.rocks
Web Browsers on PDAs
A history of internet web browsers on personal digital assistant devices and operating systems, including EPOC, Apple Newton, Palm OS, and Windows Mobile (Pocket PC). From small, bespoke browsers with unique features to large mainstream browsers with PDA presence.
1153
Ankur Sethi @ankursethi.com · 18/06/2026
I'm not a Linux person, but I've always been Linux-curious. Happy to finally have a functional Linux computer at home to play around with. Though I'm sure 90% of what I do on this computer will be games.
100
Ankur Sethi @ankursethi.com · 18/06/2026
I put Fedora on a janky old ASUS gaming laptop my brother gave me, and everything just...worked. Outside of Nvidia drivers, I didn't have to do anything special to make this computer compute. And 90% of my Steam library is compatible with Linux/Proton. I'm going to play SO MUCH Two Point Hospital 😅
110
Ankur Sethi @ankursethi.com · 18/06/2026
Nice! Are there any blockers/concerns that are holding the feature back? Outside of the UX concerns with layout shift etc.? Or is this just a matter of shipping the initial building blocks before anything else in that future potential addons list?
100
Reposted by Ankur Sethi
Barry Pollard @tunetheweb.com · 14/06/2026
We’re considering it! developer.chrome.com/blog/declara... But client-side includes are gonna have a perf cost for that extra fetch for so aren’t great for critical, above-the-fold content. So I hope it doesn’t become a step back of DX > UX if it is introduced!
developer.chrome.com
Declarative partial updates  |  Blog  |  Chrome for Developers
Learn about new out-of-order streaming capabilities and the renewed HTML insertion and streaming methods available for testing from Chrome 148
181
Ankur Sethi @ankursethi.com · 18/06/2026
From what I can tell, many of the foundational pieces are in place (thanks to the declarative partial updates API) but the exact feature we're talking about is not the highest priority atm? But we just got customizable selects and masonry and popovers, so I'm optimistic we might get this too!
110
Ankur Sethi @ankursethi.com · 18/06/2026
That discussion led me to github.com/whatwg/html/..., which then led me to github.com/WICG/declara..., which then led me to developer.chrome.com/blog/declara.... I had fun 30m of sleuthing, and ended up reading a bunch of web platform proposals + discussions for the first time.
110
Ankur Sethi @ankursethi.com · 17/06/2026
According to this page, Firefox on iOS will soon have a built-in ad-blocker. I'm so happy! I've been waiting for this feature for what seems like a decade at this point. www.firefox.com/en-US/whatsn...
firefox.com
See what's next for Firefox
See and shape what’s next for Firefox.
000
Reposted by Ankur Sethi
Bryan Buchs @bryanbuchs.com · 15/06/2026
Well done article via @cassidoo.co’s newsletter this morning. I’ve pushed clients to remove those stupid share buttons for years, nice to have some metrics to back up my assumptions.
derekhanson.blog
Nobody clicks your share buttons
I don’t click share buttons. I never have. When I find something worth sharing, I tap the share icon in Chrome on my phone. That’s it. On my desktop I click the little link icon in Arc&…
1217
Ankur Sethi @ankursethi.com · 13/06/2026
Some folks can learn some Astro or whatever, especially with LLM assistance. But a lot of them end up on Squarespace or Webflow 😔 (I'm assuming HTML includes in this case mean the ability to include HTML partials in HTML pages, kinda like Server Side Includes back in the day?)
220
Ankur Sethi @ankursethi.com · 13/06/2026
I would give anything for HTML includes 😭 I help non-tech people build websites at our local IndieWebClub. They don't have any trouble learning a bit of HTML and CSS, but having to set up SSGs just to get common navigation/footers/etc. really stumps them.
6404
Reposted by Ankur Sethi
Abhinav 🧭 @abnv.me · 13/06/2026
Announcing feed-repeat v1.1: Hosting on GitHub Pages, New Posts Passthrough, SSRF Protection, and More abhinavsarkar.net/notes/2026-feed-r… #feeds #RSS #Haskell #selfHosting #release
abhinavsarkar.net
feed-repeat v1.1: Hosting on GitHub Pages, New Posts Passthrough, SSRF Protection, and More
feed-repeat is a small tool that selects old posts from RSS/Atom feeds you configure and puts them into a new Atom feed. Use it with your feed reader for a spaced-repetition-like experience for blog posts. See the announcement post for the motivation behind it, and more details. I just released v1.1 of feed-repeat. This release brings some great new features, and improves the security and performance. The biggest highlight: **you can now run feed-repeat entirely on GitHub** , no server needed! The repo now includes a GitHub Actions workflow that runs feed-repeat daily, and publishes the generated feeds to GitHub Pages. Getting started is simple: fork the repo, edit `config.yaml` with your source feeds, enable the workflow, enable GitHub Pages, and subscribe to the generated feeds in your feed reader. That’s it! The documentation has the full step-by-step guide. **Passthrough of new entries** : The new `passthroughNewEntries` option passes new entries from a source feed directly to the output feed, turning it into a combined feed of old repeats and new content, so that you can subscribe to only one feed for both old and new posts. **Authenticated feeds** : URL credentials in source feeds (e.g., `https://token@host/feed`) were previously stripped before sending the HTTP request, breaking authentication for password-protected feeds. This is now fixed — the original URL is preserved as-is, enabling feed-repeat to subscribe to private feeds. **SSRF protection** : feed-repeat now validates DNS resolution and IP ranges before connecting to source feed URLs, preventing server-side request forgery attacks. **Persistent conditional fetches** : `ETag` and `Last-Modified` headers from source feeds are now persisted to the cache between runs. This means feed-repeat only downloads a feed when it has actually changed, reducing bandwidth and processing time, and load on feed servers. **Other notable changes** : The HTTP retry for 5xx errors was fixed — they are now properly retried with exponential backoff. feed-repeat now also handles HTTP 429 responses gracefully, redacts credentials from all log output, deduplicates source feed fetches across tasks, uses per-task cache files (migrated automatically), and supports a configurable `User-Agent` via `--user-agent`. **Minimum GHC version bumped** : feed-repeat now requires GHC 9.10+, dropping support for GHC 9.6 and 9.8. See the full changelog for all the details. If you have any questions or comments, please leave a comment below. If you liked this post, please share it. Thanks for reading!
013
Ankur Sethi @ankursethi.com · 12/06/2026
If I know to set the correct headingoffset for a heading in a (web/React) component, I also have enough information and control to just use the correct heading tag in the first place. So what does this get us? I was initially excited about this feature, now I'm not sure I'd find much use for it.
100
Reposted by Ankur Sethi
Bramus @bram.us · 11/06/2026
YES, Dark Mode Toggles _should_ be a browser feature. I wrote about this before: brm.us/dark-mode-ov... Find the link to the Chrome Bug in the post, and hit the star next to it to "upvote" the bug. (I even have a prototype extension to provide this for you: brm.us/chrome-dark-...) #cssday
brm.us
Dark Mode Toggles Should be a Browser Feature
When implementing Dark Mode and ways to toggle it, developers currently need to duplicate code and roll their own toggle implementation. What if, instead, browsers would take care of all that?
610023
Ankur Sethi @ankursethi.com · 11/06/2026
Here are the docs: help.raindrop.io/integrations...
help.raindrop.io
RSS - Raindrop.io Help
000
Ankur Sethi @ankursethi.com · 11/06/2026
I moved from Pinboard to Raindrop a few years ago, and I've been happy with it. It doesn't have Pinboard's social features, but it ticks all the other boxes. For automations, Raindrop supports IFTT. Or you can also create an RSS feed for a Raindrop collection and plug it into your site generator.
200
Ankur Sethi @ankursethi.com · 11/06/2026
New linkblog post: ankursethi.com/links/so-you... Turns out writing a brand-new GUI framework takes a bit of effort.
ankursethi.com
So you want to write a GUI framework — Ankur Sethi's Internet Website
000
Ankur Sethi @ankursethi.com · 10/06/2026
If your code comment contains only a single sentence, do you still end it with a period? Or do you just let it hang there, periodless? That is, do you prefer to write this: // Do this thing because of the other thing Or this: // Do this thing because of the other thing.
000
Ankur Sethi @ankursethi.com · 09/06/2026
I tried it and now my cats are concerned for my wellbeing.
020
Ankur Sethi @ankursethi.com · 09/06/2026
Whoops, I was wrong about this. Zed has its own implementation of project search that lives in this crate: github.com/zed-industri... (see `search.rs` and `project_search.rs`). I guess I believed if VSCode used ripgrep then probably Zed did too? My bad.
000
Reposted by Ankur Sethi
Alex Riviere @dangitalex.wtf · 08/06/2026
CUSTOMIZABLE SELECT IS IN SAFARI 27!!
3506
Ankur Sethi @ankursethi.com · 08/06/2026
Paulo Andrade on building native Mac apps using SwiftUI. From the post: > If you want the TL;DR: we're not there yet. Apple really messed up the AppKit → SwiftUI transition. What do you mean I have to learn BOTH AppKit and SwiftUI to build an app?! ankursethi.com/links/using-...
ankursethi.com
Using SwiftUI to Build a Mac-assed App in 2026 — Ankur Sethi's Internet Website
051
Ankur Sethi @ankursethi.com · 08/06/2026
(This is no shade on Zed! It's an excellent editor, and currently my favorite. I write all my code in Zed these days.)
000
Ankur Sethi @ankursethi.com · 08/06/2026
It would be nice if Zed could show a message when your search string exists in an ignored or excluded file. E.g. "your string was found in a directory excluded from search, <click here> to show all results". I think some other editors do this, but I'm not sure. I've only been using Zed this year.
100
Ankur Sethi @ankursethi.com · 08/06/2026
Thing is, running ripgrep directly from the CLI already shows you a warning message if you run it inside a .gitignored directory! Zed could simply build off of this. (See screenshot.)
Screenshot of a terminal session. The user has searched for the string "testing" in a directory named ".venv". They have done this by invoking the command "rg testing". In this context, the directory has been added to a ".gitignore" file.

ripgrep shows the following message: "No files were searched, which means ripgrep probably applied a filter you didn't expect. Running with --debug will show why files are being skipped."
100
Ankur Sethi @ankursethi.com · 08/06/2026
So @zed.dev uses ripgrep for project search, but it doesn't let you modify the CLI flags it passes to ripgrep. Today I was looking for a string in a .gitignored directory. Zed returned no results and gave no explanation. I had to manually run ripgrep with the --no-ignore flag to see any results.
100
Ankur Sethi @ankursethi.com · 08/06/2026
I suppose this might be a legal thing that depends on where you live? We're in India.
010
Ankur Sethi @ankursethi.com · 08/06/2026
My brother drives a BE6. It lets you pick custom sounds for some of its functions, including turning indicators and driving sound. If you want, you can even make it sound like a petrol car! But I believe all (most?) sounds are only for the inside of the car. The sounds on the outside are hardcoded.
110
Ankur Sethi @ankursethi.com · 08/06/2026
Okay yes, that's a documented feature. Session Restoration, here: iterm2.com/documentatio... There's also a demo of it in action: iterm2.com/misc/restora... Very cool. (Also, that old version of macOS looks so much nicer than Tahoe with its Liquid Glass 😭)
iterm2.com
Session Restoration - Documentation - iTerm2 - macOS Terminal Replacement
iTerm2 is a replacement for Terminal and the successor to iTerm
010
Ankur Sethi @ankursethi.com · 08/06/2026
I just quit iTerm to install an update while Homebrew was updating packages in one of my tabs. After the restart, the Homebrew process just…continued right along? Like I hadn't quit the terminal at all? Is this an iTerm feature? Does it keep processes alive in the event of a restart?
100
Ankur Sethi @ankursethi.com · 06/06/2026
I JUST got responsive images working correctly on my blog last week. That image pretty much sums up my feelings about srcset and sizes 😭 (Though I really truly appreciate sizes=auto. My eternal gratitude to the folks who got it into the standard.)
010
Ankur Sethi @ankursethi.com · 05/06/2026
Cloudflare *does* automatically cache CSS, JS, images, and SVG (among other file types). It makes sense when I think about it. My HTML is likely to change several times a day, sometimes even on every request. My CSS bundle changes once a week or less.
010
Ankur Sethi @ankursethi.com · 05/06/2026
Huh. I thought putting my website behind @cloudflare.social would automatically ensure all my pages were served from Cloudflare's cache. But they aren't? Turns out Cloudflare doesn't cache any HTML by default. You have to manually add caching rules to make that happen.
100
Ankur Sethi @ankursethi.com · 04/06/2026
Also, what happens if I change my website's main feed from RSS to Atom. Will it break feed readers that have already subscribed to the feed? Do I dare try? (No, I do not dare try. But I would like to know the answer nonetheless.)
000
Ankur Sethi @ankursethi.com · 04/06/2026
I was too young for the RSS vs. Atom wars, so I don't know why it didn't become the dominant standard. All I know is everything seems to default to RSS 2.0 unless you explicitly ask for Atom. The Django syndication framework (which powers the feed on my website) defaults to RSS. So does WordPress.
000
Ankur Sethi @ankursethi.com · 04/06/2026
Atom feeds, on the other hand, do allow for feed-level author information. Here's the spec: www.ietf.org/rfc/rfc4287.... The very first example when you scroll down has an example of a feed with a global <author> field.
ietf.org
100
Ankur Sethi @ankursethi.com · 04/06/2026
Here's the spec: www.rssboard.org/rss-specific... Surprisingly short and easy to read! I didn't expect that.
rssboard.org
RSS 2.0 Specification (Current)
The current version of the RSS 2.0 specification (2.0.11), published on March 30, 2009.
100