@PeterHilton
http://hilton.org.uk/
My ten favourite
programming jokes
Slide 2
Slide 2 text
⚠ WARNING
Not everyone has heard
all of these jokes before.
Be nice. Be welcoming.
2
@PeterHilton •
Slide 3
Slide 3 text
xkcd.com/1053
Slide 4
Slide 4 text
1.
Lightbulb jokes
Slide 5
Slide 5 text
@PeterHilton •
How many programmers does it
take to change a lightbulb?
None. It’s a hardware problem.
5
Slide 6
Slide 6 text
@PeterHilton •
How many Prolog programmers does it
take to change a lightbulb?
false.
6
Slide 7
Slide 7 text
2.
10 kinds of people
Slide 8
Slide 8 text
@PeterHilton •
There are 10 kinds of people in the world.
Those who understand binary,
and those who don’t.
8
Slide 9
Slide 9 text
@PeterHilton •
There are 10 kinds of people in the world.
Those who understand binary,
those who don’t
and those who weren’t expecting
a base 3 joke
9
Slide 10
Slide 10 text
@PeterHilton •
11111111: ‘Hey, are you feeling okay?’
11111011: ‘I’m feeling a bit o
ff
.’
Cassidy @cassidoo
10
Slide 11
Slide 11 text
3.
You have a problem
Slide 12
Slide 12 text
@PeterHilton •
You have a problem, and you think you can
solve it using regular expressions.
Now you have two problems.
12
Slide 13
Slide 13 text
@PeterHilton •
You have a problem, and you think you can
solve it using object-relational mapping.
Now you have n+1 problems.
13
Slide 14
Slide 14 text
@PeterHilton •
The doctor looked at
the computer and said,
‘I’m sorry, it’s terminal.’
Jen Gentleman @JenMsft
14
Slide 15
Slide 15 text
4.
Ghandi on Java
Slide 16
Slide 16 text
@PeterHilton •
What do you think of object-oriented
programming in Java?
I think it would be a good idea.
Peter Hilton
16
Slide 17
Slide 17 text
@PeterHilton •
Knock knock!
Who’s there?
Java!
17
Slide 18
Slide 18 text
@PeterHilton •
Java is a DSL
for turning
XML into
stack traces
18
Slide 19
Slide 19 text
@PeterHilton •
C combines
the power of assembler with
the readability of assembler
19
Slide 20
Slide 20 text
@PeterHilton •
What’s yellow and dangerous?
*((int
*
)rand()) = 0
x
ffff00;
20
Slide 21
Slide 21 text
5.
The infinite monkey
theorem
Slide 22
Slide 22 text
@PeterHilton •
If you put a million monkeys at a million
keyboards, one of them will eventually
write a Java program.
The rest of them will write Perl programs.
22
Slide 23
Slide 23 text
6.
Bar jokes
Slide 24
Slide 24 text
@PeterHilton •
A QA engineer walks into a bar.
Orders a beer.
Orders 0 beers. Orders 999999999 beers.
Orders a lizard. Orders −1 beers.
Orders a sfdeljknesv.
24
Slide 25
Slide 25 text
@PeterHilton •
First real customer walks in and
asks where the bathroom is.
The bar bursts into
fl
ames,
killing everyone.
@brenankeller
25
Slide 26
Slide 26 text
7.
Computer games
Slide 27
Slide 27 text
@PeterHilton •
Programmers love computer games
because they get to experience
performing a task from start to
fi
nish
without the requirements changing
27
Slide 28
Slide 28 text
8.
Enterprise software
Slide 29
Slide 29 text
@PeterHilton •
There are exactly
two kinds of
user interface:
Word and Excel
29
Slide 30
Slide 30 text
@PeterHilton •
She’s a 10 but
Excel thinks
she’s October
sophie @netcapgirl
30
Slide 31
Slide 31 text
@PeterHilton •
If MS-DOS was so good,
where is MS-TRES?
Ashi Windsor @NotHayashi
31
Slide 32
Slide 32 text
9.
Two hard problems
Slide 33
Slide 33 text
@PeterHilton •
There are only two hard things in
computer science:
cache invalidation and
naming things.
Phil Karlton
33
Slide 34
Slide 34 text
@PeterHilton •
There are two hard problems in
computer science:
cache invalidation, naming things,
and o
ff
-by-one errors
Leon Bambrick @secretGeek
34
Slide 35
Slide 35 text
@PeterHilton •
There are only two hard problems in
distributed systems:
2. Exactly-once delivery
1. Guaranteed order of messages
2. Exactly-once delivery
@MathiasVerraes
35
Slide 36
Slide 36 text
@PeterHilton •
There’s two hard problems
in computer science:
we only have one joke
and it’s not funny
Phillip Bowden @pbowden
36
Slide 37
Slide 37 text
10.
Programming puns
Slide 38
Slide 38 text
@PeterHilton •
Why can’t journalists
fi
nd out
why development projects fail?
Because the programmers
refuse to comment.
38
Slide 39
Slide 39 text
@PeterHilton •
I visited the opticians after I started
seeing printers, keyboards and mice
out the corner of my eye.
She said it was just peripheral vision.
@ChrisOldwood
39
Slide 40
Slide 40 text
@PeterHilton •
In distributed systems you’re
screwed if you don’t have caches but
if you do, you’ll screw them up.
This is known as a cache-22.
@PeterSeibel
40
Slide 41
Slide 41 text
@PeterHilton •
I had an argument with a coworker
about what variable names
we should use in for loops
i won
Lou Creemers @lovelacecoding
41
Slide 42
Slide 42 text
Jokes explained
Slide 43
Slide 43 text
@PeterHilton •
‘you can look at the Web as
consisting of two basic
forms of knowledge: the
database and the joke’
David Weinberger,
Small Pieces Loosely Joined
43
Slide 44
Slide 44 text
The punchline
There aren’t really very many programming jokes
The best ones are usually variations on a standard joke
Each technology has a standard joke everyone should know
Standard jokes are class competence checks
We can choose between gatekeeping and welcoming each
new community member by celebrating their first time
44
@PeterHilton •
Slide 45
Slide 45 text
@PeterHilton •
The hardest problem in computer science
is not being an opinionated jerk about
everything
45
Slide 46
Slide 46 text
@PeterHilton
http://hilton.org.uk/
http://hilton.org.uk/presentations/jokes
The importance of programming jokes:
https://hilton.org.uk/blog/domain-jokes.html