Writing by Peter Hilton

Original programming jokes

Social media timestamp-based attribution 2023-09-26 #programming #humour

Aleksandra Sapozhnikova

Jokes, even more than books and song lyrics, seem to become public domain as soon as they make someone laugh, unfortunately for comedy writers, who rarely get credit for the jokes they write that become memes (in Dawkins’ sense rather than image macros a.k.a. lolcats).

Ever since programmers started using social media, programming jokes have had something new: timestamps and search. The following jokes reappear regularly without credit, but these first sightings on Twitter likely reveal their original authors.


Nicholas Smith’s 2009-05-21 tweet appeared way back when Twitter first started to experience rapid growth:

There are no bugs, just surprise features

For example, Marit van Dijk found a 2022 tweet that copies the original joke without credit.


Leon Bambrick’s 2010-01-01 tweet remains the first and most popular variation on Phil Karlton’s original joke:

The two hardest programming problems are cache invalidation, naming things and off by one errors


Nick Murphy’s 2011-04-27 tweet hasn’t spread as much, but scores points for the pun:

Just started a band called 1023MB.
We haven’t done a gig yet.

Paul Malin’s 2011-11-12 tweet unusually contains compilable code, which makes it hard to tell out loud:

Q: What’s yellow and dangerous?
A: *((int*)rand()) = 0xffff00;

This riffs on the children’s shark-infested custard joke. The C code overwrites a random memory location with a number that represents yellow, and may cause the computer to crash spectacularly, although not necessarily in yellow.


Anthony Steele’s 2012-03-26 tweet (private account) brilliantly upgrades a classic groaner:

There are 10 kinds of programmers: those who understand binary, those who don’t, and those who didn’t expect a base 3 joke.

Raoul du Plessis’ 2012-10-25 tweet ventures successfully into observational humour:

Programmers love computer games because they get to experience performing a task from start to finish without the requirements changing


Phillip Bowden’s 2014-05-20 tweet inevitably became my favourite programming joke, because it references both naming and programming jokes:

There are two hard problems in computer science: we only have one joke and it’s not funny

Bill Sempf’s 2014-09-23 tweet (account now deleted, but the tweet ID reveals the date) has spread even more than the Phil Karlton joke, in an untestable number of variations:

QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers. Orders a sfdeljknesv.


Matthias Verraes’ 2015-08-14 tweet takes the Karlton joke to network programming:

There are only two hard problems in distributed systems:
2. Exactly-once delivery
1. Guaranteed order of messages
2. Exactly-once delivery


I Am Devloper’s 2016-02-03 laments the coder condition:

The software development process:

i can’t fix this

crisis of confidence
questions career
questions life

oh it was a typo, cool


Romeu Moura’s 2017-11-10 tweet established domain-driven design as a real thing, with its first proper joke:

In the culinary bounded context: 🍅 is a vegetable
In the botanic bounded context: 🍅 is a fruit
In 🎭 bounded context: 🍅 is feedback

In hindsight, if you publish a book that single-handedly establishes a new field or discipline, as Eric Evans did with his 2003 book, the second edition’s chapter title pages would ideally introduce the field’s standard jokes. As the importance of programming jokes explains, a book and a Wikipedia page alone do not establish a culture.

Share on TwitterShare on LinkedIn