Multimedia particles in the style of a tweet, also serving as a changelog to consolidate changes elsewhere in the site. Cross-posted to an atom feed. Frequently off topic.
A tweet from the creator of Homebrew worth thinking about:
I think I will give up. I have made a bunch of very interesting things over the last 6 months. But I cannot get any attention for them and don’t know how. My son is 4 and he deserves my time. I’m going to go and get a normal job. My time making things is over I think.
We’ve entered an economy where far more can be generated than plausibly consumed by humans. This includes prose, music, video (less so for now, but likely soon to be), and … apps.
I’m the downer that encourages people to be careful with the euphoric hubris that naturally occurs when an LLM does something cool for them. It is cool, but remember that this is a technology that you didn’t create, and which everyone else on Earth can access too. You generated an app. That’s great. But why would the world use your generated app over another guy’s generated app?
We’ve removed the time and effort to get code to market as the major blocker in getting product out the door. The new limitation is finding enough human attention to make it worthwhile.
Published fragment Rich, fully attributed context timeout errors in Go, on making Go’s generic context deadline exceeded errors traceable with small helpers that attribute the operation that timed out and spell out how long the timeout was.
Published fragment SQLite bulk insert with sqlc, on using json_each and json_extract to achieve this end.
Published fragment Generating words? Keep them short..
We shipped and insert-only TypeScript package for River. Like the equivalents for Python and Ruby, it’ll emit jobs from a TypeScript project that’ll be worked over in Go code.
Nanoglyph 052 is published, on life after acquisition, the minimum viable unit of saleable software and whether River can qualify, Balkan Ruby in Sofia, and hiking in the Vitosha mountains.
See It’s hard to justify buying a Framework 12, which argues that the MacBook Neo is a better buy for value, performance, fan noise, and screen quality.
I don’t own a MacBook Neo, but I like that it’s an option. This is Apple at its best: a lightweight, playful computer that’s great value for the money and which will make its buyers fall in love the ecosystem, possibly even becoming lifelong converts. I would’ve loved to have a Neo back in college when budget was distantly more important than system specs. We had our own version of it in the form of the “CrackBook” (plastic MacBook circa 2006). It had its problems, but was cheap, and I got years of use out of mine.
Published The Minimum Viable Unit of Saleable Software, on buy vs. build in the LLM age and the pricing zone where small software businesses can still survive.
Codex TUI for light-colored terminals is fixed. I hope this is one of the positive side effects of LLM use: software is more malleable, so chronic bugs that aren’t particularly high priority get fixed instead of lingering forever at the bottom of a kanban board.
Nanoglyph 051 is published, on being acquired for the second time in a year, and walking the perimeter of Manhattan.
Published fragment Turns out, competition works, on gigabit fiber for less money using this one weird trick: move to Austin.
Post from Ian McCrystal (an ex-colleague at Stripe): “The world needs 100x more APIs”.
Quote:
I don’t know about you, but my tolerance for logging into domain-specific web apps to push buttons is, to vastly understate it, waning. I want to do all of my work from whatever AI agent I like best
With any luck, the increasingly unnavigable web portals of our day-to-day services will be one of the first casualties of the LLM age.
Salesforce introduced “Headless 360”, which purports to have made every Salesforce feature accessible by API, MCP, or CLI command. I’ve updated my article The second wave of the API-first economy to include it in my list of samples.
Published fragment Caveman. In 1980, Michael Crichton characters in Congo spoke like cavemen to save satellite bandwidth. It was absurd. Ridiculous! Forty-five years later, we’re doing the same thing with LLMs to save tokens.
A good article from Planet Scale on a product they’re introducing called “Database Traffic Control”. It talks about putting queues in Postgres as a potential source of pain and references my old blog post on failure by MVCC as an example.
I continue to think about Postgres queues a lot, and as much as I wish the problem I’d discussed was resolved by SKIP LOCKED and more contemporary Postgres advances, the fact of the matter is that the underlying root cause of dead tuple accumulation due to Postgres’ MVCC model was never fixed, and can still very much lead to major knock-on impact even today.
The Planet Scale proposed fix is a form of supervisor that terminates queries that are degrading database health and reschedules them for a more appropriate time. SKIP LOCKED helps, REINDEX CONCURRENTLY helps, years of B-tree optimizations help, but to guarantee real production stability, a component of this shape is probably wise.