Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 49,210 posts.
I Built My Own Audio Player
In 2025, playing your own music on an iPhone is surprisingly hard, unless you pay Apple or navigate a maze of limitations. So I built my own player from scratch, with full text search, iCloud support, …
Peter Naur's view of programming
To answer this question, let me take you a few years back, when I worked with a small high tech startup. We were working on a pretty complex augmented reality system spanning all layers from low-level computer vision components to cross-platform mobile and web apps. Especially for the lower-level components, a good…
Record labels dig their own grave, and the shovel is called TikTok
It's not just the music biz—legacy media outlets everywhere are playing the same dangerous game. Here's how it will play out.
Why I close pull requests
I maintain many open source projects on GitHub and elsewhere (over 160 as of this writing). I have merged and/or closed thousands of Pull Requests (PRs) and patches in the past few years, and would like to summarize here many of the reasons I don't merge many PRs. A few of my projects have co-maintainers, but most are…
No-one knows what they are doing
When I was a child I assumed that all the adults running the world knew what they were doing. Now that I am an adult, I am under no such illusions. Just look at the current British government. They…
Ray Tracing in pure CMake
A simple ray tracer written in pure CMake
RabbitMQ vs. Kafka – An Architect’s Dilemma (Part 1)
RabbitMQ and Apache Kafka might appear similar but serve very different needs. Read to learn and make an informed decision suitable for your needs.
The Wire in HD
This tale begins and ends with a fellow named Bob Colesberry, who taught me as much as he could about filmmaking in the three or four years I was privileged to work with him. To those who knew Bob, it will provoke warm memories to say that he was not a language guy; he understood image, and story, and the delicate way…
Experiments on a $50 DIY air purifier that takes 30s to assemble
You can make a DIY air purifier in 30s. To test if it works, I generated smoke, and measured how well it removes tiny particles.
The Uncharity of College: The Big Business Nobody Understands
How Colleges Make More Money Than God By Giving It Away
Tools for Thinking
Tools & hacks I use to do complex processing with my brain.
Everyone sucks at interviewing. Everyone.
Interviewing is broken. Has been for years. This rigid commitment everyone seems to have to the standard resume/cover letter/interview system of hiring is just plain insane.
Architecture of the Playstation 2
An in-depth analysis that explains how this console works internally
RTX 5080 and RTX 3090 Setup: 80 Tok/s on Qwen 3.6 27B Q8
Dual GPU setup: run Qwen 3.6 27B at a Q8 quantization at 80+ tokens/sec with 39GB total VRAM
How to Measure Indoor Air Quality with a Raspberry Pi, RuuviTags and PMS7003
Learn how to build an air quality monitoring device with a PMS7003 sensor, Raspberry Pi and some Java code. Help raise awareness about air pollution.
Restoring YC's Xerox Alto day 8: it boots
We've been restoring a Xerox Alto from the 1970s for several months, and we finally got it to boot and run some programs! There's still so...
De-smarting the Marshall Uxbridge
This is the story of a commercially unavailable stereo pair of thebi-amped Marshall Uxbridge, with custom-built replacement electronics:active filters feedin...
The Glimmer VM: Boots Fast and Stays Fast
Great web applications boot up fast and stay silky smooth once they've started. In other contexts, applications can choose quick loading or responsiveness once they've loaded. Great games can get away with a long loading bar as long as they react instantly once the gamer gets going. In
I accidentally deleted a bad game revision from MAME
Awhile back, I had the chance to dump a game for MAME. I told myself that if the chance ever came up again, I’d contribute again. Luckily, it turns...
Not a real engineer (2019)
A short, dark prose poem on being told you are not a real engineer, and the monstrous thing you become instead.
Statistical Mistakes and How to Avoid Them
You can get CS papers published with shoddy statistics, but that doesn’t mean you should. Here are three easy ways to bungle the data analysis in your evaluation section: don’t even try to use statistics when you really ought to; misinterpret an inconclusive statistical test as concluding a negative; or run too many…