Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,546 posts.
Garbage Collectors Are Scary
Garbage collectors are expected to be invisible: if programmers (or even users) notice them, something is wrong. Usually, such problems are are performance problems, but there could be correctness issues as well. This makes implementing them a bit scary.
Why don't schools teach debugging, or, more fundamentally, fundamentals?
If you find this piece worthwhile, consider the Go Fund Me that’s funding ongoing cancer care. A story from Dan Luu, from back when he “TA’ed EE 202, a second year class on signals and systems at P…
Windows API is Successful Cross-Platform API (2024)
You might find the title a little bit odd. Hold your thought for a moment and hear me out. I'm a big believer that in technology, and life, something that…
Cut the Cutesy Errors
If your app has just ruined my day, I need help, not humour.
The Documentation Triangle, or, why code isn't self documenting
These statements can be hard to argue against, especially if they come from someone who is more experienced than you. A lot of the trouble is that they are not wrong – well, they’re not completely wrong.
Scaling Rust Builds with Bazel
Why DFINITY builds Rust with Bazel.
Why GitHub is not your CV
Two days ago, Ashe Dryden published an article I’ve been desperately wishing someone would write for months: The Ethics of Unpaid Labor and the OSS Community . It’s a detailed, well-researched take-down of the seemingly quite popular myth that open-source contributions are a useful way to screen candidates for…
CSVs Are Kinda Bad. DSVs Are Kinda Good
I would simply use delimiter characters to delimit data.
The Cathedral and the Bizarre
Open source is a beautiful way of collaborating; but what's happening on the free Internet is more akin to the 'crowdsourcing' of journalists and other content creators by advertisers who no longer have to pay them - only the search engines that parse their articles. Douglas Rushkoff
In defence of Objective-C
Chris Hulbert, Splinter Software, is a contracting iOS developer based in Australia.
Clang is better than GCC
Yes, this is a problem of weak static typing of pure C. Pure C is a great tool for some jobs, but here be dragons , as they say.
The byte order fallacy
Whenever I see code that asks what the native byte order is, it's almost certain the code is either wrong or misguided. And if the native b...
Reflections on software engineering in the age of AI
For those of you who don’t know, when I’m not writing novels, I spend my days as a software engineer, writing code. The software industry these days relies heavily on artificial intelligence. Because it has studied trillions of lines of publicly accessible source code, because code solves problems with testable right…
Async/Await will make code simpler
Or How I Learned to Stop Writing Callback Functions and Love Javascript ES8.
Make your own build system
On this page I present a robust, custom build system for a software project written in C, in less than 500 lines of Python code. I think it is about as minimal as a practical dependency-tracking build system can get. Although it adds to the code that must be maintained as part of the project, I think that having a…
My Beef with RuboCop
Consider a hypothetical class that filters out unsafe HTML elements:
Is your JavaScript function actually pure?
Open Source Freelancer
Two years with CloudFormation: lessons learned
It’s been close to two years since I started working with AWS CloudFormation, the Infrastructure as Code solution by and for AWS. With CloudFormation you can describe and provision your entire AWS infrastructure in code. The entire AWS environment I work with is provisioned through CloudFormation - we only have…
There's No Limit to How Bad Code Can Get
Metaphors like "a sinking ship" are often used to describe codebases, but are misleading. A _business_ will sink long before code quality reaches a hypothetical floor. Technical debt has no bankruptcy, no clean reset, so metaphors that imply an end provide a false sense of security.