Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
What webhooks are and why you should care
Webhooks are user-defined HTTP callbacks. Here’s a common example: You go to github. There’s a textbox for their code post webhook. You drop in a URL. Now when you post your code to github, github will HTTP POST to your chosen URL with details about the code post. There is no simpler way to allow open ended…
Where Lisp Fails: at Turning People into Fungible Cogs
A favorite conundrum of many Lisp aficionados is why the language appears to languish in disuse. Talk of cultural problems , "the library question" (which usually boils down to nonsensical circular reasoning), too many parentheses, and other absurdities simply dances around the blindingly obvious explanation - one…
H(m || k) also insecure, you really should use HMAC
The HMAC construction turns a cryptographic hash algorithm into a keyed hash. It is commonly used for integrity protection when the sender and recipient share a secret key. It was developed to addr…
Ghostty is leaving GitHub
Since then, I've opened GitHub every single day. Every day, multiple times per day, for over 18 years. Over half my life. A handful of exceptions in there (I'd love to see the data), but I can't imagine more than a week per year.
How I ship projects at big tech companies
What I think about when I'm lead engineer on a project
How a comment on Hacker News led to 4½ new Unicode characters
On 22 June 2016, Unicode version 9.0 was published . As part of that, 4 new symbols were introduced – and another one was re-purposed.
Python 3.13 Gets a JIT
Reviewing the JIT in Python 3.13
Attention Is Off By One
Let’s fix these pesky Transformer outliers using Softmax One and QuietAttention.
An interactive intro to CRDTs
CRDTs don't have to be all academic papers and math jargon. Learn what CRDTs are and how they work through interactive visualizations and code samples.
How I program with LLMs
This document is a summary of my personal experiences using generative models while programming over the past year. It has not been a passive process. I have intentionally sought ways to use LLMs while programming to learn about them. The result has been that I now regularly use LLMs while working and I consider their…
Acing the technical interview
If you want to get a job as a software witch, you’re going to have to pass a whiteboard interview. We all do them, as engineers–often as a part of our morning ritual, along with arranging a beautiful grid of xterms across the astral plane, and compulsively running ls in every nearby directory–just in case things have…
Can LLMs write better code if you keep asking them to “write better code”?
Most coders want AI to write code faster: I want AI to write FASTER CODE.
Software Architecture Guide
Software Architecture is the important aspects of a software system's internal design, usually its major components and aspects that are hard to change.
Jemalloc Postmortem
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...
Smuggling arbitrary data through an emoji
With ZWJ (Zero Width Joiner) sequences you could in theory encode an unlimited amount of data in a single emoji.
My favourite Git commit (2019)
I like Git commit messages. Used well, I think they’re one of the most powerful tools available to document a codebase over its lifetime. I’d like to illustrate that by showing you my favourite ever Git commit.
Everyone should know SIMD
SIMD has a reputation for being complex. I've met many very good software engineers who dismiss it as something too complex to learn or a niche optimization meant for only the highest-performance software, not useful in everyday programming.
Start all of your commands with a comma (2009)
Like many Unix users, I long ago created a ~/bin/ directory in my home directory and added it to my PATH so that I could supplement the wonderfully rich set of basic Unix commands with some conveniences and shell scripts of my own devising.
Breaking up with JavaScript front ends
What features would be in that spec? Partial page updates? Animated transitions? Layered interactions?
The 70% problem: Hard truths about AI-assisted coding
A field guide and why we need to rethink our expectations
The Era of Visual Studio Code
Roben Kleene’s blog