The <output> Tag
Make your dynamic content accessible by default with the HTML tag that time forgot.
Make your dynamic content accessible by default with the HTML tag that time forgot.
Hey… quick question, why are anime catgirls blocking my access to the Linux kernel?
We used to control apps like Facebook and Instagram with our own choices. They became daily comforts, making the world seem a little bit smaller and closer by bringing the people that we cared about together in to one place.
Deep dive into mechanical design that is optimized for 3d-printing.
That NPM attack could have been so much worse.
Over two years ago, in one of my first public talks about Ghostty , I shared my vision for libghostty : an embeddable library for any application to embed their own fully functional, modern, and fast terminal emulator. Libghostty is finally starting to take shape, and I'm excited to share more details about my plans…
Much has been said about the effects that AI will have on software development, but there is an angle I haven’t seen talked about: I believe that AI will bring formal verification, which for decades has been a bit of a fringe pursuit, into the software engineering mainstream.
Update: This post received a large amount of attention on Hacker News — see the discussion thread.
Why you should write more toy programs
Chrome finally pulled the trigger on the web’s best ad-blocker, uBlock Origin. Now that Chrome has hobbled uBO, Firefox — my beloved —1 is surging again. I want to do my part to convince you to switch to Firefox and show you how I use it.
A security architect with the National Labor Relations Board (NLRB) alleges that employees from Elon Musk ‘s Department of Government Efficiency (DOGE) transferred gigabytes of sensitive data from agency case files in early March, using short-lived accounts configured to leave few traces of network activity. The NLRB…
randomized and blinded, N=1
More than a decade ago, when I was applying to graduate school, I went through a period of deep uncertainty. I had tried the previous year and hadn’t gotten in anywhere. I wanted to try again, but …
Most coders want AI to write code faster: I want AI to write FASTER CODE.
What I've learned from ten years working on projects like this
On April 9, 2025, someone risked $2.5 million on SPY call options—and walked away with $70+ million in under an hour. The trade was placed at 1:01 pm. At 1:30 pm, Trump announced tariff pauses. The market exploded upward. These options that cost 85 cents were suddenly worth more than $25.
One of Germany's biggest ISPs changed how their DNS works, right after I exposed an organization that they’re part of.
How I helped Claude AI extend its capabilities only for the same AI to reject my job application.
Or: The Day My Toaster Started Taking Phone Calls
💡Update May 3, 2025: I have posted a follow-up, Here's the source code for the unofficial Signal app used by Trump officials. Update May 4, 2025: Another followup, and a big one: The Signal Clone the Trump Admin Uses Was Hacked Update May 6, 2025: I've written
Thank you to Bucknell University for inviting me to be this year's commencement speaker. And congratulations to the Class of 2025! Watch the speech on YouTube. Thirty-two...
It's probably old news for most, but I've recently started using Tailscale and wanted to share my experience with it.
A blog about making culture. Since 1999.
The jemalloc memory allocator was first conceived in early 2004, and hasbeen in public use for about 20 years now. Thanks to the nature of open source software licensing,jemalloc will remain publicly available indefinitely. But active upstream development has come to anend. This post briefly desc...
I'm calm. I'm calm. I promise.
There’s a lot of hype these days around patterns for building with AI. Agents, memory, RAG, assistants—so many buzzwords! But the reality is, you don’t need fancy techniques or libraries to build useful personal tools with LLMs.
I was curious about the 51 Franklin Street address in the GPLv2 license notice so I wrote to them as they said
By examining the limits of reasonable user behavior and embracing imperfection for users who go beyond it, we can continue to provide service that meets the expectations of users without sacrificing scalability of the system.
Git repositories seem like an elegant solution for package registry data. Pull requests for governance, version history for free, distributed by design. But as registries grow, the cracks appear.
How things have changed