The dead Internet is not a theory anymore.
Bots have taken over
Bots have taken over
JavaScript's Date object has been a source of bugs for three decades. Temporal, which just reached Stage 4, is a modern replacement with immutable types, first-class time zone and calendar support, and nanosecond precision. This is the story of how Bloombe…
A 2x4 LEGO brick manufactured in 1958 will snap perfectly onto a brick molded this morning in Denmark, China, Hungary, Mexico, or the Czech Republic. The 66-year-old brick will have the exact same interference fit, the same clutch power, the same 4.8mm stud di…
When the news broke that Meta's smart glasses were feeding data directly into their Facebook servers, I wondered what all the fuss was about. Who thought AI glasses used to secretly record people woul
This page contains a curated list of recent changes to main branch Zig.
Just kidding.
Browser Rendering's new /crawl endpoint lets you submit a starting URL and automatically discover, render, and return content from an entire website as HTML, Markdown, or structured JSON.
I Have No Idea If What They Ship Is Any Good
When you think of CI, you probably picture a remote server somewhere: GitHub Actions, GitLab CI, Jenkins. You push your code, you wait, and eventually you get a green checkmark or a red X. This is so normal that we don't even question it. But why does CI have …
Due to procrastination, my static file server was long overdue for an upgrade. After 7 years, I've finally written a provisioning script. Welcome this new puppy
A live case study in which Claude Opus 4.6 attempted to read three websites — johnbrennan.xyz, agentweekly.ai, and aitoonup.com — revealing which design patterns make content visible to AI agents and which leave sites completely dark.
AI stacks expire fast. The durable moat is your captured context: preferences, workflows, and decisions that survive every model and tool reset.
On monks, highways, and the thing your body already knows
What do you call the opposite of a functional pearl?
jola.dev - Stay in the Loop: How I Actually Use Claude Code
Johanna Larsson is a software engineer, manager, writer, speaker. With over 14 years of experience in software development and management, she has worked with clients from various industries, including finance, healthcare, and education. She is passionate abou…
Load-Bearing Walls
We like to believe that we can predict the future. We believe it because it's true, at least in part. Physical systems obey known physical laws and so even fairly complex systems can be understood and predicted with stunning accuracy. Every branch of science m…
How Magic Eye autostereograms work and how to decode them.
I’ve been thinking about how to improve my agent workflows- and I’ve discovered that there is a productivity speed bump that you hit as you get more fearless with agentic development: You know the agents cannot be trusted to make the right call, so you review …
When I wrote Beautiful Abelian Sandpiles I wanted to show off some nice images of large identity sandpiles. But the simple algorithm I used was horrendously slow. Showing a sandpile identity that was larger than 100 by 100 took multiple seconds! That's not goo…
Let's suppose I wanted to answer a question: is the tool X useful for the task Y. If I were scientific about this, I would analyze the properties of tool X and develop a model, and the task Y and the requirements for it and develop a model, and I would us...
I asked an accountant and an AI agent to prepare my 2025 tax return. Only one succeeded.
A creative technologist's perspective on AI-generated music
kernel drivers and usermode apps usually talk through well-worn channels: ioctls, shared memory sections, apcs, event objects. they work. they are also very well-known — to developers, to security researchers, and to the tools that monitor them. dxsurflink is …
Ever looked at std::any and wondered what’s going on behind the scenes? Beneath the intimidating interface is a classic technique called type erasure: …
The chat interface is fine for users. The flat message model behind it erases the semantics that agentic systems actually need to operate correctly.
Python loses every public benchmark by 21-875x. I took the exact problems people use to dunk on Python and climbed every rung of the optimization ladder -- from CPython version upgrades to Rust. Real numbers, real code, real effort costs.