New
The latest blog posts to take off on Hacker News. 14,536 posts.
Relicensing with AI-Assisted Rewrite
Exploring the chardet v7.0.0 controversy: Can an AI rewrite legally 'launder' a library from LGPL to MIT?
My “grand vision” for Rust
I don’t think I’ve ever quite articulated my “grand vision” for Rust, despite having written a fair bit about the language and its features. There is a lot I could say here, but currently there are three directions of development which I find particularly interesting:
You need to rewrite your CLI for AI agents
Human DX optimizes for discoverability. Agent DX optimizes for predictability. What I learned building a CLI for agents first.
Making Firefox's right-click not suck with about:config
A practical about:config checklist to declutter Firefox right-click menus on macOS, disabling AI/chatbot prompts, link previews, OCR, visual search, and other low-value context menu items.
What canceled my Go context?
How Go 1.20's WithCancelCause and Go 1.21's WithTimeoutCause let you attach a reason to context cancellation, plus a gotcha with manual cancel and the stdlib pattern that covers every path.
Agentic Engineering Patterns
Patterns for getting the best results out of coding agents like Claude Code and OpenAI Codex. See my introduction for more on this project.
Log messages are mostly for the people operating your software
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Claude is an Electron App because we've lost native
Article argues that Claude is not an Electron app not because LLMs can’t do it, but because there are no advantages left for native
Parallel coding agents with tmux and Markdown specs
A practical workflow for running 4–8 parallel coding agents using Claude Code, tmux, and a Markdown-based feature design system.
Why does C have the best file API
Ok, the title is a tongue-in-cheek, but there's very little thought put into files in most languages. It always feels a bit out of place... except in C. In fact, what you get is usually a worse version of C.
When does MCP make sense vs CLI?
I’m going to make a bold claim: MCP is already dying. We may not fully realize it yet, but the signs are there. OpenClaw doesn’t support it. Pi doesn’t support it. And for good reason.
Ape Coding [fiction]
Ape coding is the software development practice where a human developer deliberately hand-writes source code.
RE#: how we built the fastest regex engine in F#
around a year ago, we built a regex engine in F# that not only outperformed the ones in dotnet, but went above and beyond competing with every other industrial regex engine on a large set of industry-standard benchmarks. it also supports the full set of boolean operators (union, intersection, complement) and even a…
Microgpt explained interactively
Walk through Karpathy's 200-line GPT from scratch. Tokenize names into integers, watch softmax convert scores to probabilities, step through backpropagation on a computation graph, explore attention heatmaps, and see a tiny model learn to generate plausible names.
Why is the first C++ (m)allocation always 72 KB?
Why is my first C++ (m)allocation always 72 KB?? It’s the ’emergency pool’ for exceptions, here’s how I uncovered it using GDB and digging through the source code of libstdc++, glibc and Valgrind!
Cognitive Debt: When Velocity Exceeds Comprehension
A systems analysis of how AI-assisted development creates a gap between output speed and understanding, and why organizations cannot see it happening.
Why Objective-C
In my previous post I talk about how I got rid of hundreds of thousands of lines of Objective-C code while at Audible and I explain why keeping Objective-C code around is a terrible idea. And I explain that…
Rust is just a tool
A programming language should not be your identity.
Disable Your SSH access accidentally with scp
Here's an interesting bug I ran into recently: After transferring some files to my server via scp, I couldn't log in via SSH anymore - my key was rejected by sshd.
747s and coding agents
Comparing a career flying the 747 and a career coding with AI assistance.
Will vibe coding end like the maker movement?
Is your vibe-coded app a Crapject or a Gift?
Hardwood: A New Parser for Apache Parquet
Today, it’s my great pleasure to announce the first public release of Hardwood, a new parser for the Apache Parquet file format, optimized for minimal dependencies and great performance. Hardwood is …
Use the Mikado Method to do safe changes in a complex codebase
When a codebase is large and complex, it's risky to big changes. Here's a structured way to approach
I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye
confusable-vision renders every TR39 confusable pair across 230 macOS system fonts and measures visual similarity with SSIM. 96.5% of confusables.txt is not high-risk, but 82 pairs are pixel-identical in at least one font.
The Eternal Promise: A History of Attempts to Eliminate Programmers
From COBOL in the 1960s to AI in the 2020s, every generation promises to eliminate programmers. Explore the recurring cycles of software simplification hype.