Slide 1

Slide 1 text

@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