L ike almost everyone in my field of software engineering, I’ve seen my company, team and projects pivot toward developing AI-powered products in the past year-and-a-half or so. Everyone’s doing it. I want to set aside my personal feelings on whether this is a good thing generally, since that’s such a big and messy question of which I only have fair-to-middlin’ expertise, and instead focus on…
O ne of the earliest and most successful applications of LLM-powered text generation was as a “coding assistant” for writing software. I wrote about an early release of Github’s Copilot waaay back in July 2021 (!), ages before any of the modern “chatbots” were around. It was useful then, and has only become more useful since. These days, when pairing with another engineer at my company, I find it…
I made up a dumb little error code idea last year to help solve a problem every web app has. The problem is this. When a user encounters an error in a complicated part of your app—let’s say a part where three or four smaller parts could have failed—you don’t want to blast them in the face with a huge, technical error. ERROR: The fetch() call to our internal API endpoint failed at the client-level:…
W hen I first started making web apps—way back when they were called “websites”, which consisted of these ancient things called “web pages”, which were files made by people called “web masters” (yeesh)—there was more or less a standard way to serve them. You rented a little space at a hosting provider, and then either they, or you, would run something called Apache . That was the web server. Back…
I joined a new gym last week. I went to the LA Fit Expo the weekend before, and this new independent gym had set up a booth and given me a free day pass. So I tried them out in person, liked it, and joined. I was what marketing people might call a “textbook conversion”. The gym is so goddamn nice by the way, it’s bonkers. Anyway, they have you sign in for your day pass on a tablet in the reception…
A lmost everyone who makes web apps seems to hate web apps, I’ve noticed. And, more specifically, they hate the complexity that manages to find its way into doing anything, no matter how simple. A modern web app that just says “Hello world!” requires like five thousand times more computing power to render than the entire Apollo space program used to put humans on the moon. The size of the web app…
T he “app ecosystem”, as it exists today, is hopelessly broken. Around the start of the pandemic I started cooking more, and shortly thereafter decided I wanted a recipe app. This idea immediately made me cringe. Just thinking about having to search “best recipe apps” on Google, getting 200 identical clickbait-and-popups-website results, going to the App Store and getting essentially three…
I ’ve had some trouble researching “git versioning strategies” in the past. Part of the trouble is searching Google, whose current search algorithms so ruthlessly optimize for “most people search THIS, so that’s what you must’ve meant” and “here is the one-sentence result that our Google Assistant can read to you from your smart microwave” that finding blog posts on abstract versioning-releasing…
This is not a typical blog post of mine. It’s just a note to self. See, I realized my blog is actually the best format I have to save a long-form note with code snippets, so I’m just going to use it to remember how I set up a private VPN for my wife to watch This Country on the BBC iPlayer, in case I ever need to do it again. If you find yourself here because you also want to stream content from…
D eveloping and maintaining a successful web app sometimes requires decisions that are really big and highly complex. Like routing, linting, testing, CI/CD strategies, etc… Those things could each be their own six-part blog post, and you’d still barely scratch the surface. Other times these decisions are tiny, clever tricks you can start using right away, costing you almost nothing. I like those…