Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 154 posts.
Strong software tips from 2000 that are 100% valid today
Have you ever heard of SEMA? It’s a fairly esoteric system for measuring how good a software team is. No, wait! Don’t follow that link! It will take you about six years just to understa…
Worse Is Better (2001)
The concept known as "worse is better" holds that in software making (and perhaps in other arenas as well) it is better to start with a minimal creation and grow it as needed. Christopher Alexander might call this "piecemeal growth." This is the story of the evolution of that concept.
Don’t Let Architecture Astronauts Scare You (2001)
When great thinkers think about problems, they start to see patterns. They look at the problem of people sending each other word-processor files, and then they look at the problem of people sending…
Event Sourcing (2005)
Capture all changes to an application state as a sequence of events.
Monolith First (2015)
Going directly to a microservices architecture is risky, so consider building a monolithic system first. Split to microservices when, and if, you need it.
Abstraction, intuition, and the “monad tutorial fallacy” (2009)
While working on an article for the Monad.Reader, I’ve had the opportunity to think about how people learn and gain intuition for abstraction, and the implications for pedagogy. The heart of …
Mocks Aren't Stubs (2007)
Explaining the difference between Mock Objects and Stubs (together with other forms of Test Double). Also the difference between classical and mockist styles of unit testing.
Git for Computer Scientists (2010)
Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph .
Git from the Bottom Up (2008)
Welcome to the world of Git. I hope this document will help to advance your understanding of this powerful content tracking system, and reveal a bit of the simplicity underlying it — however dizzying its array of options may seem from the outside.
Ditherpunk: The article I wish I had about monochrome image dithering
I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.
An oral history of Bank Python
The strange world of Python, as used by big investment banks
The free lunch is over: a fundamental turn toward concurrency in software (2005)
The biggest sea change in software development since the OO revolution is knocking at the door, and its name is Concurrency.
Against SQL
But SQL is the only widely-used implementation of the relational model, and it is:
The unreasonable effectiveness of simple HTML
I've told this story at conferences - but due to the general situation I thought I'd retell it here. A few years ago I was doing policy research in a housing benefits office in London. They are singularly unlovely places. The walls are brightened up with posters offering helpful services for people fleeing domestic…
A half-hour to learn Rust
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don’t know what it means? In this article, instead of focusing on one or...
Do-nothing scripting: the key to gradual automation (2019)
Every ops team has some manual procedures that they haven’t gotten around to automating yet. Toil can never be totally eliminated. Very often, the biggest toil center for a team at a growing …
Big Ball of Mud (1999)
While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed. This paper examines the most frequently deployed architecture: the BIG BALL OF MUD
Asynchronous Everything (2015)
Joe Duffy's Blog | Adventures in the high-tech underbelly
Parsing Protobuf at 2+GB/S: How I Learned to Love Tail Calls in C
[Note: there have been several developments in this space since thisarticle was published. See A Tail Calling Interpreter For Python (And Other Updates) for...
Text editing hates you too (2019)
Alexis Beingessner's Text Rendering Hates You , published exactly a month ago today, hits very close to my heart.
ZGC – What's new in JDK 16
JDK 16 is out, and as usual, each new release comes with a bunch of new features, enhancements and bug fixes. ZGC received 46 enhancements and 25 bug fixes. Here I’ll cover a few of the more interesting enhancements.
Lisp as an alternative to Java (2000)
It turns out my hopes were answered. First, Prechelt published another article that covers Tcl, Python, Perl, and Rexx. Also, Ron Garret (nee Erann Gat) did a follow-up study in which he asked programmers to write Prechelt's test program in Lisp. His results show that the resulting Lisp programs ran faster on average…
Condition Handling in the Lisp Language Family (2001)
This paper appears in Advances in Exception Handling Techniques , edited by A. Romanovsky, C. Dony, J.L. Knudsen, and A. Tripathi. This book, published in 2001, is part of Lecture Notes in Computer Science, Volume 2022 , published by Springer .
What science can tell us about C and C++'s security
There are not a lot of very strong empirical results in the field of programming languages . This is probably because there’s a huge amount of variables to control for, and most of the subjects available to researchers are CS undergraduates. However, I have recently found a result replicated across numerous codebases…
Computer Graphics from Scratch
Behind the beautiful imagery of the latest animated movie and the realistic environments of popular videogames lie some mysterious algorithms. Computer Graphics from Scratch aims to demystify these algorithms and shows you that computer graphics can be surprisingly simple.
On Repl-Driven Programming
Once upon a time, someone with the handle “entha_saava” posted this question on Hacker News :