1/17 Link Roundup & Screenshot Dump
I've reached day 3 of my hundred days and I'm already out of ideas. A new record! However, I accounted for this inevitability in the goal I set for myself, which was just to "write something on my blog every day". I'd like to add some functionality to the blog to display shorter posts in the main feed - things like til
or links with short notes attached - which will then basically allow me to do a hundred days of tweets but on my personal site if I so wish. In the meantime, though, I'm stuck with the blog format, so on days like today I'll be doing a little roundup of with links to stuff I read, watched, or that I'm thinking about.
Link Roundup
Choose Boring Technology - a ten-year-old essay by Dan McKinley, a former Etsy engineer, that still holds true today. Basically, his argument goes, you only have so much "innovation" you have engineering or mental space on a given project. Programmers are very inclined to chase the hot new thing - it's a mentality that's pretty strongly encouraged, especially in big tech - but it is almost inevitable that by solving one problem with a hot new solution you will introduce a huge amount of problems you didn't foresee. He advises treating innovation as a very limited form of currency - each project should have, say, three "innovation tokens" to spend - and being willing to use the un-sexy, janky solution that's tried and true and has been around forever for the rest. As someone who's primarily writing Django, a proudly boring technology, these days, it spoke to me, and meshed a lot of Carson Gross's essays that have been influencing my thinking about full-stack development.
As somebody who's spent most of my career jumping from stack to stack without ever really feeling like I had the chance to master one, I am starting to realize the value of mastering a well-supported, unsexy technology that solves most of your problems, and leaving the experimentation to a limited set of specific needs. This is making me more suspicious of the front-end ecosystem in general, since it seems to be the one most prone to the innovative thinking that adds a lot of complexity to projects.
I am trying to respect the JavaScript lovers in my life. I made my bones on JavaScript and pre-hooks React, so I'm in no place to shame anyone. And plenty people smarter than me are strong believers in the value of those frameworks. I just personally often find elaborate front-end frameworks to be overkill for what could be a run-of-the-mill CRUD app, and have really been enjoying my foray into htmx and Django for that reason.
Test-Driven Development with LLMs for Fun and Profit - little guide to LLM-aided development by Yifan Zhou, an engineer at NetEase. I don't have particularly strong opinions about the process outlined here, but have been collecting some of these guides to developing with LLMs for the past couple of months.
My personal experience with AI assistants has been pretty lackluster:
I find the novelty fun at first, end up finding that I'm more annoyed with it getting things wrong than I am helped by whatever it has to offer, and end up mostly not using it unless I have a very specific dumb task I don't feel like googling how to do myself.
I've been openly critical of LLMs and generative AI for a while, and I generally stand by those criticisms (unless any of them turned out to be objectively incorrect, in which case I am a fallible human and please don't get mad at me). At the same time, I've done a fair amount of work with computer vision and generative text, and I do think these technologies are genuinely interesting. If you operate across the spaces I live in (art & technology and open-source/anti-surveillance people) you come across a spectrum of opinions from "AI will fix everything" to "anyone who uses AI deserves to be drawn and quartered", and I think the truth lies somewhere in the middle. As much as my fellow AI critics might want this not to be the case, people are finding genuine utility out of these tools, and I think it's worth understanding and exploring that rather than hiding in our solarpunk, DIY corner and refusing to even acknowledge that there could be pros to this thing. This mastodon thread captures my general feelings on this debate pretty well.
Still, I have yet to find these things very useful in my own work! But a lot of people I think are smart and whose opinions on programming I respect have added them to their workflows to measurable success. So I'm collecting these guides in the hopes of trying them out and evaluating for myself if maybe the problem isn't Copilot but my own reluctance to set up yet another workflow optimization.
The Bitter Lesson - a short missive by Rich Sutton about the hard lesson that the past 50 years of AI have taught us, which, in layman's terms, is that trying to build things that think the way we think that we think tends to advance AI in the short-term and wind up useless in the long-term. This ties into a lot of my thinking about agentic AI. At the same time, people are doing interesting stuff with a combination of symbolic systems and LLMs right now, so maybe Sutton will be proved wrong. Still, it certainly seems that the leaps and bounds in ML/AI we've seen over the past two decades mostly come from throwing huge amounts of compute at statistical methods, and not from anything that mimics any of our fundamental intuition about how we learn.
On not scaling LURK - an explanation of the philosophy behind post.lurk.org, the Mastodon instance I belong to. I think this is a really interesting behind-the-scenes look into running a community fediverse server, and is exemplary of the things that make me such a fan of Mastodon: the open-source, DIY, community-based spirit of a lot of people involved in maintaining Mastodon communities. Not everything should scale, and that's fine! There's a longer blog post percolating in my mind about the varying new social media models out there. I think Christine Lemmer-Webber's post about bluesky vs. Mastodon is a good summary of the protocol-level debate playing out right now, and I'm not sure there's a good answer. ActivityPub and the fediverse are the only thing really delivering on the promise of decentralization, I think, but at the same time, bluesky's "credible exit" model gives people a user experience much more akin to Twitter with, at least, a significantly decreased risk of single-actor capture, even if ultimately you'd have to have a lot more money to host a bluesky node than you would a Masto server. There are pros and cons to both models, but I certainly love hanging out on LURK and supporting what our beloved mods are doing.
The Collapsing Empire - first book in a space opera trilogy by John Scalzi. The bastard daughter of a galactic emperor, which they call an "emperox" (why do sci-fi authors feel like they have to make up words for things to be more space-y) takes the throne unexpectedly after her brother's death. But, you may be shocked to hear, that galactic empire is on the verge of collapse! The last Scalzi book I read, The Kaiju Preservation Society, was a deeply stupid one with Marvelesque dialogue, and I didn't have particularly high hopes for this either, but have been working my way through recent Locus award winners and thought this was worth a shot. I was pleasantly surprised! I don't know that it's necessarily Locus-worthy - there's a fair bit of "Yeah, that just happened"-ass dialogue and I don't think it has much of a message beyond "space oligarchy bad" - but it's a fun, breezy little thriller. I'll be checking out the rest of the series.