LLMs don’t just do things for you, they do things instead of you — and the doing is a huge part of the point. The struggle to understand, to synthesize, to explain, it all has a byproduct: you! Your own capacity to act in the world.
Doomerism always feels to me like a psyop designed to keep people dispirited. I agree, and Terence Eden does a good job of making this point here. When I raised this with him, the Doomer could only say it wasn’t enough. When asked how much would be enough, there was no reply. I think that’s because people like this don’t want to engage with the world. They’re desperate to show that nothing is…
Before today I was using astro-embed to handle tweets. I’ve just added a new <Tweet> component which looks like this. Astro @astrodotbuild Astro 7.2 is out now! Experimental incremental static builds are here: only re-render the pages that actually changed and watch your build times drop. Plus opt-out session support, background astro preview, and relative logger entrypoints.…
You can discover ai’s hallmarks by comparing the writing of man and machine. To do this you need a baseline that is distinctive and familiar. The Economist turned to prose that we’re sure is human and that readers will recognise: our own. We designed a study to ask top llms—Openai’s Chatgpt, Anthropic’s Claude, Google’s Gemini and xai’s Grok—to write versions of our articles without consulting the…
However, the task of making something good — of arriving at a solution that is obvious — is often met with a kind of ambivalence, like “Nice work…I guess? Seems obvious tbh.” That’s the work of design: to make something so good, it’s obvious. But there’s often little acclaim for the obvious because, well, it’s so obvious (in hindsight).
It’s gotten so bad that innovation-drunk MBA types are now having to come to terms with the fact that automation software is neither sentient nor magic, contrary to the claims of Elon Musk and Sam Altman. This reconciliation is creating no limit of suffering and entertainment value, simultaneously.
Theo’s thinking here is pretty interesting, and it’snice to see a video from him about AI stuff which is more like his old engineering videos in it’s tone 😉
Paul Ford on the Aboard podcast, speaking on the state of the software industry, how projects get funded, and how to think about OpenAI and Anthropic: “What it feels now is two or three monoliths have showed up, and everyone is sort of like in [2001: A Space Odyssey], just a monkey looking up worshiping them. And the VCs are like, “If you worship the obelisk hard enough, we will give you bananas.”…
Great little read from Jason Grigsby. Improving the web for AI agents should be an opportunity to improve the web for all agents , including humans. Our deeper concern is architectural. An agent acting on a user’s behalf is, in effect, assistive technology: it should operate a site as the user would, and the site should not single it out for different treatment.
What we call programming today is not the same activity it was two years ago. The daily work, the skills that matter, the texture of the craft — all changed. And yet people talk about it as if “programming” names a fixed thing that AI tools either threaten or enhance. But “programming” has never rested on solid ground. This is an excellent short read from Kyle Mathews on the whole “Coding with AI…
My introduction to LoomClone was pretty sparse on technical detail so I’m gonna dive into a bit of that here, specifically how the mac app and backend API work together for the lifecycle of a recording. You should go read the intro if you haven’t already or this won’t make much sense. I think the best way to explain this is to walk through the lifecycle of a recording one step at a time. 1.…
I realize that some people really dislike AI, but this is an area where I’m willing to absolutely put my foot down as the top-level maintainer. Linux is not one of those anti-AI projects, and if somebody has issues with that, they can do the open-source thing and fork it. Or just walk away. AI is a tool, just like other tools we use. And it’s clearly a useful one. It may not have been that…
Over the last month or two I’ve been trying to finally get this site to a place where it feels finished enough for the moment . For my personal website this basically equates to nothing annoys me about it and nothing on the backlog feels like it’s hanging over me . I’ve really enjoyed picking away at this because it’s been a real mixture of random stuff I’m interested in right now and ideas which…
As a longtime student of WWI this is a poignent reminer that not everybody understands the scale of that horrowshow until they somehow learn about it. “Lest we forget” requires activity on our part, as people living in 2026. I just ordered a copy of In Memorandum . Also: As per usual for stuff Maggie’s made, the data visualisation is super cool.
As Chris explains in this video, Tesco are clearly trialling a new QR code which can replace traditional barcodes and also contain info for stock management like the expiry date. The cool thing here is thay they are also scannable by customers which open the product’s URL on thetesco website. They do this by encoding this data as a URL which includes the GTIN (from traditional barcodes), batch…
One of my ongoing projects is The Toolbox , a collection of practices, tools and advice which I’ve seen to be effective in helping teams work better together. The collection lives in a Notion database and I use Super to publish it as part of my consulting site at betterat.work/toolbox . Here’s what it looks like over there… At some point I’ll move this site away from Super, either making it part…
I mentioned a satteriMermaid plugin in my note on Upgrading to Astro 7 and switching to Sätteri and wanna expand on that briefly because this site now supports themed mermaid diagrams! Mermaid is a way to describe diagrams in plain text and have them rendered nicely. Inside markdown files the mermaid code is usually written inside a fenced code block like this. ```mermaid graph TD A[Start] -->…
Visiting danny.is/using has always redirected to a public Notion page which details the kit and software I use. I’ve just migrated that content to this site. The Overview page is just a quick intro and index. My “everyday carry” and travel kit is detailed under My Bag and includes everything I carry day-to-day and for extended travel. The page on my Home Office & Desk Setup covers my desk setup…
I’ve just upgraded this site to Astro 7 , including the switch from remark to the new Astro default, Sätteri . The actual Astro upgrade was fairly painless since I did it before swapping out the markdown parser. The switch to Sätteri was a little more complex because I had a bunch of remark and rehype plugins which needed migrating to the MDAST or HAST plugins Sätteri uses. MDAST Plugins I now…
I’ve made a few little additions to this site, the biggest one being a new page at /making which shows some of my side-projects. It’s driven by a new projects content collection whose schema looks like this: const projects = defineCollection ({ loader : glob ({ pattern : ' **/[^_]*.{md,mdx} ' , base : ' ./src/content/projects ' }), schema : ({ image }) => z. object ({ title : z. string (), byline…
Over the past couple of months I’ve been building a personal video-sharing platform to replace Loom , partly so it works how I’ve always wanted Loom to work and partly so I have long-term control over my own videos. Its basic functionality is broadly equivalent to Loom minus the stuff I never use, plus some me-specific extras. Building what I’m currently calling LoomClone has been mad fun and I’ve…
I currently publish two kinds of content on this site: articles and notes . I write all my articles in Astro Editor , with in-progress work committed to main as drafts and pushed to GitHub regularly. When I’m ready to publish an article I have Claude Code check for spelling errors, flip the draft toggle and – after checking it looks okay on my local dev server – commit and push. Pushes to main…
When I released Astro Editor in January, the website was a hastily vibe-coded single HTML file full of the purple gradients that LLMs love so much. I’ve been meaning to re-do it for ages while knowing that a proper job would necessarily involve adding some actual documentation for the app too. Because while Astro Editor isn’t an especially complicated app, its minimalist nature means that a lot of…
I finally took some time to add a somewhat-proper styleguide to this site. I’ve always had “hidden” styleguides for articles and notes which I use to check how things look, and for the last year or so I’ve also had a very janky styleguide-cum-component-library at /styleguide . That’s now a much more useful document containing sections on: Foundations – The fundamentals of my design system…
For the last few months I’ve been tinkering with improving this site for AI agent consumers and after reading Dachary Carey’s article on Astro’s removal of llms.txt I went down a bit of a rabbit hole, finding Joost de Valk’s “agent-ready” piece along the way. Here’s the result of that little side-quest. While I deploy this site to Vercel right now, it’s important that it doesn’t depend on Vercel’s…
When I first started moving this site to Astro I decided that I wanted a truly statically-generated site . In other words, I want astro build to produce a folder of plain old files which can be served by any webserver which can serve files. So while I currently deploy to Vercel , nothing about the build depends on Vercel. This means I can use a GitHub Action to build the site and then dump the…
I write most of my content in Astro Editor , which is intentionally designed to leave all code-like things alone and just help me write prose. One of the most annoying things about this is that whenever I use a component like <Callout> in an MDX file I have to remember to import it at the top of the file before I publish. I recently stumbled upon Chris Swithinbank’s astro-auto-import , which can…
I’ve just added a few new pages to this site, linked from the footer. An AI Statement which outlines where and how I use AI to work on this site. I suspect this will eventually expand into a more general statement on the topic. A Privacy Policy which states very simply and in non-legal language what data I collect (which at the moment is none ). It seems weird to me that very few people bother to…
I gave this site’s OG Images a makeover a few weeks back. These are images that show up when you share a link to a post on Slack, Discord, Bluesky and the like. The old ones were hastily thrown together ages ago and looked pretty rubbish. The new ones include a title, my avatar, the post’s URL and my name. Here’s an example from a recent note … They’re generated at build time by…
Just kicking the tyres on the standard.site setup I wrote about yesterday — if this note made it onto the AT network on its own, the whole pipeline works end to end.
I’ve been poking around the edges of the Atmosphere for a while now, because ATProto is mega interesting for all sorts of reasons, both technical and philosophical. Despite my Bluesky feed being full of Atproto nerds, I’ve so far resisted the urge to noodle with the protocol by building some silly stuff or spinning up a PDS, because I’d rather wait until I’ve got a slightly more practical use case…
A tour of the small, fiddly things I've added to this site since moving to Astro — a homemade video player, nicer tables, markdown previews, file trees, a fourth typeface and a CSS rewrite underneath it all.
Whatever you think of DHH’s takes on other things, for me he’s consistently had good takes on Computer Things for a very long time (perhaps because they often echo my own). This interview is worth listening to.
When I was taken to the Tate Modern as a child I’d point at Mark Rothko pieces and say to my mother “I could do that”, and she would say “yes, but you didn’t.” Many people have talked about what large-scale, automated agent orchestration systems could look like in a few years, and no one else attempted to sincerely build it.
Having recently switched from Cursor back to VSCode , I figured it was probably worth taking another look at Zed – if only so I have a second text editor configured how I like it. Zed comes with a lot of the features I want baked-in and it was pretty trivial to port my VSCode config over. But I was surprised to discover that nobody seems to have ported the Cobalt Next theme to Zed’s theme format.…
I switched from VSCode to Cursor as my main editor sometime in early 2025, primarily for the much better tab completion it had at the time. As my workflow has evolved over the last six months I’ve found myself using Cursor’s AI features less and less, to the point where for the most part I just use it as a normal text editor. While AI tab-completion is still sometimes useful, I’m finding more and…
But we want AI agents to solve coding problems quickly and in a way that is maintainable and adaptive and composable (benefiting from improvements elsewhere), and where every addition makes the whole stack better. So at the bottom is really great libraries that encapsulate hard problems, with great interfaces that make the “right” way the easy way for developers building apps with them.…
I agree with this point of view. GitHub is awash with AI-generated slop right now (including plenty of my own ) but while LLM’s have made it both cheap and fast to write code, the initial development of a project has never been the most time-consuming thing. Long-term maintainance has. I see new projects daily with hundreds of thousands of lines of AI-generated code, and while it’s amazing that…
I recently bought a Roberts Revival iStream 3L radio having wanted one for some time. It’s a beautiful thing . I grew up in a house where Radio 4 was on constantly, mostly playing on an old Roberts which my mum carried about the house with her. While I have Amazon Echos in my kitchen, living room and office/bedroom, I still regularly find myself using my phone to listen to podcasts and radio shows…
For the last few years I’ve shared a survival minecraft world with my friend Cam. It’s hosted on WiseHosting and apart from a bunch of performance mods, the only non-vanilla stuff running on it are Distant Horizons and Bluemap . While I could save some money by running my own server, I don’t really want to. I play minecraft to get away from my day-to-day, and I also don’t want to be responsible if…
Thirty-odd years ago I borrowed some Biggles Audiobooks (on cassette tape) from my local library and enjoyed them so much I asked the librarian if they had any more. Turned out that while they had a few modern editions on the shelves, they had a whole collection of much older ones downstairs. And so for a year or two in the late ’90s I’d pop in to Eastbourne library every week or two: the lady…
We’ve always had this tension. We’ve always fetishized the act of writing code, the quality of the code, the code as the primary artifact and IP. And on the other hand successful teams have always known that the value is the system, the value is human-technology hybrid that allows a product to be delivered, meet customer needs, evolve to provide more value over time, meet the spoken and unspoken…
The spec-driven engineering movement that’s been gaining momentum in the AI-assisted development world gets closer to the right mental model. If you define your requirements precisely, you get better results. That much is obvious. But it frames the issue purely in software engineering terms, and the vast majority of people using LLMs are not software engineers writing formal specifications.…
I had Claude resurface texts I forgot to respond to, and realized that the real blocker—obviously—was that I didn’t want to reply. I’ve tried countless apps to shut out distractions, but procrastinate just as well by staring blankly at walls. What’s actually tough about my job is coming up with novel frames for important ideas and devising sentences that are equal parts sharp, lively, and true.…