Despite what I said in April , I'm still using coding assistants on my personal projects. Using them to one-shot entire features leaves me unsatisfied and disoriented, but I do enjoy using them to fast-forward through the boring parts of my projects. However, allowing my coding assistant to roam free in my projects leaves me with a colossal amount of cognitive debt. I might hate the idea of poring…
I've been ECS -curious ever since I learned about it in the Bevy game engine documentation . The ECS architecture predictably improves performance in languages that give you low-level control over memory (C, C++, Rust, Zig, and friends). But how does it fare when used in high-level, dynamic, garbage-collected languages such as JavaScript? This is the question Dan Murphy set out to answer in The…
Alistair Davidson writes about migrating a form-heavy web application from a React SPA to a traditional server-rendered HTML-first website . The entire article is worth reading, but I want to draw attention to this bit about analytics (emphasis mine): The results? When we launched, the number of people completing the form doubled. The analytics people didn’t even know where these users were coming…
From the Desktop apps section of the Deno documentation : deno desktop turns a Deno project (anything from a single TypeScript file to a Next.js app) into a self-contained desktop application. The output is a redistributable binary that bundles your code, the Deno runtime, and a web rendering engine into one bundle per platform. I'm happy to see another attempt at solving the biggest issues with…
Among tech and design folks of a certain vintage, there is a fondness for the design language used by Windows from Windows 95 to Windows 2000. While you could argue that this is mere nostalgia, I've always thought there is more to it than that. The Windows 95 UI was famously the result of comprehensive UX studies and careful design . While Microsoft has always been Microsoft—a company defined by a…
(Via rendezvous with cassidoo .) I've always wondered if anyone actually used the social sharing buttons embedded on news sites and (some) WordPress blogs. Derek Hanson digs into the numbers : The UK government ran one of the most thorough studies on this. When GOV.UK added social sharing buttons, they tracked usage for 10 weeks across 6.8 million pageviews. The share buttons got clicked 14,078…
There are a handful of technical blog posts in my bookmarks that made me go oh, I never thought of it that way when I first read them. I'm talking about posts like Parse, don't validate , Text Editing Hates You Too , Choose Boring Technology , or Making illegal states unrepresentable . I consider these required reading for any working programmer. To me, Colin Rofls' So you want to write a GUI…
Paulo Andrade , creator of Secrets and Shopie : There was a time when Mac apps felt unapologetically Mac. Panic, Omni, Cultured Code, Bare Bones, Sofa. The years just before the iPhone SDK were probably peak Mac-assedness. Then Apple's center of gravity shifted toward the iPhone. Now we have Electron, Catalyst, and iPadOS apps on the Mac. And even Apple's SwiftUI apps often sand off the very…
Mitchell Hashimoto (founder of HashiCorp, creator of Vagrant and Ghostty) commenting on why software products often lose their core identity and grow irrelevant features: The cost (cognitive, time, risk, money, etc.) of adopting a new thing is significantly higher than expanding an old thing. You see this even without any commercial interests. For example, one I've spoken publicly on is how many…
Mitchell Hashimoto (founder of HashiCorp, creator of Vagrant and Ghostty) commenting on Lobste.rs about how software products are sold: For software solutions, there are two main groups: practitioners and technical decision makers (TDMs). Practitioners are the main users of a piece of software (and in the case of OSS, adopters, though not the case always). TDMs are the higher level management with…
Daniel Stenberg , creator and lead developer of cURL: My personal conclusion can however not end up with anything else than that the big hype around this model so far was primarily marketing. I see no evidence that this setup finds issues to any particular higher or more advanced degree than the other tools have done before Mythos. Maybe this model is a little bit better, but even if it is, it is…
Jake Edge , LWN.net: […] Hobbyist Daniel Diniz used Claude Code to find more than 500 bugs of various sorts across nearly a million lines of code in 44 extensions; he has been working with maintainers to get fixes upstream and his methodology serves as a great example of how to keep the human in the loop—and the maintainers out of burnout—when employing LLMs. It's worth reading Daniel Diniz's post…
Note I wrote this post as an exercise during a meeting of IndieWebClub Bangalore . I recently migrated this website from Astro to Wagtail . The reason why I did it is a story for another day. In this post, I want to talk about a bug that took me far too long to figure out. In his (verifiably incorrect) post about making chai , Abhigyan linked to my own (verifiably correct) post on the topic .…
Note I wrote this post as an exercise during a meeting of IndieWebClub Bangalore . I’ve spent the last few months figuring out how best to use LLMs to build software. In January and February, I used Claude Code to build a little programming language in C. In December I used local a local LLM to analyze all the journal entries I wrote in 2025 , and then used Gemini to write scripts that could…
Note I wrote this post as an exercise during a meeting of IndieWebClub Bangalore . I enjoy waiting. I enjoy waiting at the doctor’s office, at the dentist’s, at the hairdresser’s. I enjoy waiting in queue for my airplane to board, and I enjoy sitting in airplanes on long flights where I have nothing to do and nowhere to go. I enjoy long drives across the city. I even enjoy being stuck in traffic.…
Over the course of four weeks in January and February, I built a new programming language using Claude Code. I named it Cutlet after my cat. It’s completely legal to do that. You can find the source code on GitHub , along with build instructions and example programs . I’ve been using LLM-assisted programming since the original GitHub Copilot release in 2021, but so far I’ve limited my use of LLMs…
In 2025, I wrote 162 journal entries totaling 193,761 words. In December, as the year came to a close and I found myself in a reflective mood, I wondered if I could use an LLM to comb through these entries and extract useful insights. I’d had good luck extracting structured data from web pages using Claude, so I knew this was a task LLMs were good at. But there was a problem: I write about…
Note I wrote this post as an exercise during a meeting of IndieWebClub Bangalore . All my friends have their own personal recipes for making chai. I love my friends, so it hurts me to say that they’re wrong. My friends are, unfortunately, wrong about chai. I’m still coming to terms with this upsetting fact, but I’ll live. What follows is the only correct recipe for making chai. The ingredients The…
Over two years of consistent writing and publishing, I’ve internalized a few lessons for producing satisfying—if not necessarily “good”—work: Write quickly Edit lightly Prefer rewriting to editing Publish with flaws I covered similar ground previously in Writing without a plan . This post builds on the same idea. Write quickly If I want to see the shape of the idea I’m trying to communicate in my…
Generative AI models can create text, images, code, and music faster and in larger quantities than our ability to absorb them. Before ChatGPT was introduced to the world in November 2022, producing a piece of media took longer than consuming it. In 2026, the equation has been turned on its head. If your job—thus far—involved curating or evaluating the work of other humans, this is a problem.…
Note I wrote this post as an exercise during a meeting of IndieWebClub Bangalore . During my first week of work with a new client, I like to push a very small, almost-insignificant change into production. Something that makes zero difference to the org’s product, but allows me to learn how things are done in the new environment I’m going to be working in. If my client already has a working webapp,…
In the last few years, I’ve lost my appetite for discovering new music. The main reason is that I’ve focused on listening to full albums for most of the last decade, but increasingly I find it irritating and anxiety-inducing to listen to albums from start to finish. I’ve been reading/watching music reviews online since my early twenties. In this time, I’ve also been part of a number of music…
Note I wrote this post as an exercise during a meeting of IndieWebClub Bangalore . I’m writing these in order, from most likely to happen to least likely. GTA6 becomes the biggest game release of the year, breaking all previous sales records on launch day. LLMs become a load-bearing part of all developer workflows. A little less than half of all commits on Github in 2026 are generated using coding…
Last week, I started working on a new side-project. It’s a standard React app partly made up of run-of-the-mill CRUD views—a perfect fit for LLM-assisted programming. I reasoned that if I could get an LLM to quickly write the boring code for me, I’d have more time to focus on the interesting problems I wanted to solve. I’ve pretty much settled on Claude Code as my coding assistant of choice, but…
Note I wrote the first draft of this post as an exercise during a meeting of IndieWebClub Bangalore . When I was eleven or twelve, a friend at school told me that video games like Age of Empires were built using a language called C. When pressed for details, he had nothing more to tell me. What did he mean by language? Was it like English? How could you use a language to make things move around on…