Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,544 posts.
Writing an OS in Rust: Testing
This post explores unit and integration testing in no_std executables. We will use Rust’s support for custom test frameworks to execute test functions…
The self-fulfilling prophecy of React
The only thing React is better at than other front-end frameworks is being popular. So how long will that self-perpetuating cycle continue?
Problems with CSVs (2016)
Much of my professional work for the last 10+ years has revolved around handling, importing and exporting CSV files. CSV files are frustratingly misunderstood, abused, and most of all underspecified. While RFC4180 exists, it is far from definitive and goes largely ignored.
Surviving Django, if you care about databases
Django is currently the most commonly used full-stack web framework for Python. It has been around for a good 15 years, emerging as a winner from a period in which Python was already mature, but its web development tools were comparatively much more immature and fragmented.
The Weakness of the .NET OSS Ecosystem
The Profound Weakness of the .NET OSS Ecosystem
A hiring test I'd like to run
(For the avoidance of doubt, I have nothing to do with hiring at my employer. This test is probably deeply problematic in ways you'll angrily Tweet me about.) I'd like to tell you a story! I am a teenager applying for temp jobs. It's the late 1990s and the temp agency have asked me to take a Microsoft Office test. You…
The Core of Rust
within Rust is a smaller language struggling to get out
HTML is all you need to make a website
In a world full of JavaScript frameworks, SPAs, CSS animations, powerful devices and fast internet, HTML-only websites are controversial and divisive. But why?
Reviewing the cryptography used by Signal
Last year, I urged furries to stop using Telegram because it doesn’t actually provide them with any of the privacy guarantees they think it gives them. Instead of improving Telegram’s c…
A vision of a multi-threaded Emacs
The Threading library Starting in Emacs 26 some very ambitious changes were added. Basic thread support was enabled, laying the groundwork for a future concurrent emacs. The docs layout this possibility: Emacs Lisp provides a limited form of concurrency, called threads. All the threads in a given instance of Emacs…
GPT-5 vs. Sonnet: Complex Agentic Coding
OpenAI released GPT-5 yesterday, promoting it as their best model yet for agentic coding.
The History of Windows 2.0
Success and Litigation
Zig-style generics are not well-suited for most languages
A discussion of some of the downsides of Zig
Every language fixes something - a DiGraph - just for fun
Oh, and - added later - the original from PG is undated, but the "enhanced" version below it was on the C2 wiki in 2003/2004 and possibly earlier, so don't for one minute think it's supposed to be up-to-date, or refer to modern version of these languages.
My mental model of setf was wrong
Lisp lets programs define new setf forms for assignment. The most common example is from CLOS , where a class like this:
My Android development income report
A lot of people says that there is no real money in the Android development. They say that if you want to make money you should write for iPhone, iPad and all other iThings… This is not true!…
A Million Digits of Pi in 9 Lines of JavaScript
"Big integers" have landed in Javascript, at least in Firefox and Chrome. One of my favorite things to do with high precision arithmetic is to calculate digits of π. From scratch, that is, using only addition, subtraction, multiplication, and division.
Size cost of C++ exception handling on embedded platforms
Introduction There is a common stereotype, that C++ exception handling code will significantly increase binary image size ("up to 100kb")...
Such a Little Thing: The Semicolon in Rust
Look at a tiny syntax detail that shows up in current versions of rust that has profound implications on how the language deals with almost everything being an expression.
Continuous Deployment at IMVU: Doing the impossible fifty times a day.
I recently wrote a post on Continuous Deployment : deploying code changes to production as rapidly as possible. The response on news.ycombinator was, well…
Haskelling My Python
Reimplementing Haskell lazy infinite lists using Python generators
Notes on Type Layouts and ABIs in Rust
Over the years I’ve found myself with a weird amount of knowledge about how types and ABIs in Rust work, and I wanted to write it all down in one place so that… it’s written down in one place. Much of this information can or should be found in the Rust Language Reference and the Rustonomicon .
JavaScript in Parallel: Web Workers and SharedArrayBuffer
Common legal challenges and effective strategies in open source software development. Ensure your projects are legally sound & compliant