Slide 1

Slide 1 text

Marit van Dijk Developer advocate https://maritvandijk.com/ 🦋 @maritvandijk.bsky.social 🐦 @MaritvanDijk77 Essential programming jokes Peter Hilton Product manager https://hilton.org.uk/blog/ 🦋 @hilton.org.uk Java Champion

Slide 2

Slide 2 text

2

Slide 3

Slide 3 text

The two states of programming: 1. My code doesn’t work and I don’t know why 2. My code works and I don’t know why 3 🔄 // All programmers experience this

Slide 4

Slide 4 text

The software development process: i can’t fi x this *crisis of con fi dence* *questions career* *questions life* oh it was a typo, cool 4 😅 // Programmers also experience this I Am Devloper • https://twitter.com/iamdevloper/status/694848050796212224 (2016)

Slide 5

Slide 5 text

5 ⌨ ⌨ // Some devs use fancy keyboards. // Please don’t actually do this! Based on https://x.com/vyrotek/status/1969866162801631590 (2025) Why do developers use split keyboards? Because it makes it easier to bang your head against the desk.

Slide 6

Slide 6 text

6 Aleksandra Sapozhnikova • https://unsplash.com/photos/r_-zzXrnzxI Therapy jokes

Slide 7

Slide 7 text

7 Shridhar Gupta • https://unsplash.com/photos/dZxQn4VEv2M

Slide 8

Slide 8 text

How many programmers does it take to change a lightbulb? None. It’s a hardware problem. 8 💡 // now it’s someone else’s problem

Slide 9

Slide 9 text

9 💡💡 // This is about a sub- group of developers // Hard refresh Corneil du Plessis • https://x.com/corneil/status/1554092260156899328 (2023) How many web developers does it take to change a light bulb? One.
 They replace the light bulb. Clear browser cache.
 Replace the light bulb again. Ctrl+F5.
 Replace the light bulb again.

Slide 10

Slide 10 text

There are 10 kinds of people in the world. Those who understand binary, and those who don’t. 10 🔢 // Like saying that ‘There are two kinds of people…’, but with ‘two’ written as the binary number ’10’.

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

Everyone wins 12 Brands&People • https://unsplash.com/photos/ZdqSuxl3Lak

Slide 13

Slide 13 text

13 https://xkcd.com/1053/ 🚰

Slide 14

Slide 14 text

There are two kinds of people in the world. Those who can extrapolate from incomplete data, 14 🧑🤝🧑 // Sometimes it’s more funny if you have to work for it Alice Lith • https://x.com/Lith_Witch/status/3357893220 (2009)

Slide 15

Slide 15 text

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 15 3⃣ // 10 (base-2) = 2 (decimal) // 10 (base-3) = 3 (decimal) Anthony Steele • https://twitter.com/AnthonySteele/status/184250877392072705 (2012)

Slide 16

Slide 16 text

16 Bohdan Kadun • https://unsplash.com/photos/d284XSho6gU Maintenance

Slide 17

Slide 17 text

17 2⃣ // Sounds serious, but naming is a surprise because it doesn’t sound like computer science. Phil Karlton There are only two hard things in computer science: cache invalidation and naming things.

Slide 18

Slide 18 text

There are two hard problems in computer science: cache invalidation, naming things, and o ff -by-one errors 18 2⃣ 2⃣ // Clever, because the third item is itself an o ff -by-one error Leon Bambrick • https://twitter.com/secretGeek/status/7269997868 (2010)

Slide 19

Slide 19 text

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery 19 2⃣ 2⃣ 2⃣ // Distributed systems problems: // message order // duplicate messages Mathias Verraes • https://twitter.com/mathiasverraes/status/632260618599403520 (2015)

Slide 20

Slide 20 text

There’s two hard problems in computer science: 0. Cache invalidation 1. Naming things 7. Asynchronous callbacks 2. O ff -by-one errors 2. Race conditions 20 2⃣ 2⃣ 2⃣ 2⃣ // Callback executed ‘early’ // Execution timing Cheradenine Zakalwe • https://plasmatrap.com/notes/9jn068v6rp8h0i8l (2023)

Slide 21

Slide 21 text

Educational jokes 21 Towfiqu barbhuiya • https://unsplash.com/photos/5u6bz2tYhX8

Slide 22

Slide 22 text

Interviewer: if you can explain what deadlocks are, I’ll hire you. Me: hire me, and I’ll explain deadlocks. 22 🔒 // Shared experience: job interviews // Self-reference! Now the interview has a deadlock. I Am Devloper • https://twitter.com/iamdevloper/status/1539363132593819648 (2022)

Slide 23

Slide 23 text

23 verdian chua • https://unsplash.com/photos/68hC4vYTSFo

Slide 24

Slide 24 text

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 🦎 // Creative/surprising like all good exploratory testing Bill Sempf • https://www.sempf.net/post/On-Testing1 (2014)

Slide 25

Slide 25 text

CREATE PROCEDURE [dbo].[GetNextADUserName] -- Add the parameters for the stored procedure here @FirstName as VARCHAR(7), @LastName as VARCHAR(7), @output VARCHAR(8) OUTPUT AS BEGIN 25 Bill Sempf • https://www.sempf.net/post/On-Testing1

Slide 26

Slide 26 text

QA engineer walks into a bar, repeats all the same beer requests from that other tweet, fi nds that two of them are failing. Again. 26 🦎🦎 // Flaky tests are frustrating Dan Curtis Johnson • https://x.com/dcurtisj/status/514917023785029632 (2014)

Slide 27

Slide 27 text

QA engineer walks into a bar, then the Pentester joins him. Orders alert('beer') Orders '); drop table orders; --Orders AAAAAAAAAAAAAAAAAAAAAAA 27 🍺 Parisa Tabriz • https://x.com/laparisa/status/514800716490096640 (2024) // Script injection // SQL injection

Slide 28

Slide 28 text

First real customer walks in and asks where the bathroom is. The bar bursts into fl ames, killing everyone. 28 🔥 // Don’t forget about actual usage Brenan Keller • https://x.com/brenankeller/status/1068615953989087232 (2018)

Slide 29

Slide 29 text

29 Samuel Myles • https://unsplash.com/photos/CdX0FV_hIVA

Slide 30

Slide 30 text

Why do developers prefer dark mode? Because light attracts bugs 🐛 // In-group behaviour 30 🔦 Alex Pickering • https://x.com/pickeringacw/status/1228312772661960705 (2020)

Slide 31

Slide 31 text

There are no bugs, just surprise features 31 🐛 Nicholas Smith • https://twitter.com/nicholassmith/status/1872576626 (2009) // Also known as undocumented features

Slide 32

Slide 32 text

32 Nik • https://unsplash.com/photos/i8m4Gzp4w_I Warning jokes

Slide 33

Slide 33 text

You have a problem so you decide to solve it using regular expressions. Now you have two problems. 33 🔤 // Regular expression syntax is as hard as the original problem. @prozakLord • https://x.com/prozakLord/status/790422168 (2008)

Slide 34

Slide 34 text

The plural of regex is regrets 34 🔤 🔤 Steeeve • https://x.com/ifosteve/status/1190348262500421634 (2019) // Now you have to maintain the regex!

Slide 35

Slide 35 text

35 Randal Munroe • https://xkcd.com/208/ ‘Everybody stand back. I know regular expressions.’

Slide 36

Slide 36 text

She’s a 10 but Excel thinks she’s October. 36 📆 // Excel infers types, by default (and gets it wrong). sophie • https://x.com/netcapgirl/status/1569355763671261185 (2022)

Slide 37

Slide 37 text

Optimist: The glass is 1/2 full. Pessimist: The glass is 1/2 empty. Excel: The glass is January 2nd. 37 🥃 theo • https://x.com/tibudiyanto/status/1455397038284173313 (2021) // Excel infers types, by default (and gets it wrong).

Slide 38

Slide 38 text

If MS-DOS was so good, where is MS-TRES? 38 🇪🇸 // Microsoft Disk Operating System (MS-DOS); // dos and tres are the Spanish words for two and three Ashi Windsor • https://twitter.com/NotHayashi/status/1327330775163920387 (2020)

Slide 39

Slide 39 text

Dear whoever stole my copy of Microsoft O ff ice, I will track you down. You have my Word. 39 📄 James Martin • https://twitter.com/Pundamentalism/status/201741381025271809 (2012) // Elaborate set up for the pun

Slide 40

Slide 40 text

40 Kerin Gedge • https://unsplash.com/photos/Ar35EP314QU Puns

Slide 41

Slide 41 text

11111111: ‘Hey, are you feeling okay?’ 11111011: ‘I’m feeling a bit o ff .’ 41 0⃣ // Binary storage uses a separate bit for each digit in a binary number. // a bit o f means slightly unwell. Cassidy @cassidoo

Slide 42

Slide 42 text

The best thing about a Boolean is even if you are wrong, you are only o ff by a bit 42 1⃣ Paul Kalupnieks • https://twitter.com/kalupa/status/590837482 (2008) // a bit means a little

Slide 43

Slide 43 text

My dog ate my programming homework. It took him a couple of bytes. 43 🐶 // 1 byte = 8 bits @Keepingitcreel • https://x.com/Keepingitcreel/status/1116302014928101378 (2019)

Slide 44

Slide 44 text

Just started a band called 1023MB. We haven’t done a gig yet. 44 🎸 // 1GB = 1024MB // gig is slang for both gigabyte, and band performance Nick Murphy • https://twitter.com/NickEVM/status/63205139959390209 (2011)

Slide 45

Slide 45 text

The doctor looked at the computer and said, ‘I’m sorry, it’s terminal.’ 45 🧑⚕ Jen Gentleman • https://twitter.com/JenMs ft /status/1558470366112010241 (2022) // Pun on computer terminal vs terminal illness

Slide 46

Slide 46 text

I had an argument with a coworker about what variable names we should use in for loops i won 46 🎢 // In legacy code for loops declare a loop variable, typically called i, j, k Lou Creemers • https://twitter.com/lovelacecoding/status/1526975985572356100 (2022)

Slide 47

Slide 47 text

Some people say Unicode is too confusing and prone to abuse, but I say diacritics, combining marks and zero-width joiners build character 47 🔣 // Pun on building a Unicode character (a → ¨ → ä), and a person’s character. @xsphi • https://twitter.com/xsphi/status/1537951483508838401 (2022)

Slide 48

Slide 48 text

SMS message length & character encoding ‘If you include non-GSM-7 characters, such as Chinese script or emoji, in SMS messages, those messages have to be sent using the UCS-2 encoding. Messages containing one or more UCS-2 characters can contain up to 70 characters in a single, non-segmented message. UCS-2 messages of more than 70 characters will be split into 67-character segments.’ 48 https://www.twilio.com/docs/glossary/what-sms-character-limit

Slide 49

Slide 49 text

49 Ryoma Onita • https://unsplash.com/photos/t-J5BZ1a4fY Other languages

Slide 50

Slide 50 text

Python: programming the way Guido indented it 50 🐍 // Play on as God intended + // pun on intended vs indented + // Python’s signi fi cant indentation instead of using { braces }

Slide 51

Slide 51 text

51 Panos Sakalakis • https://unsplash.com/photos/Fd5J-1A2Ilw

Slide 52

Slide 52 text

Why do Java programmers wear glasses? Because they don’t C# 52 🎼 // ‘C#’ sounds like ‘see sharp’ @cSquirrel • https://x.com/cSquirrel/status/71276726411460608 (2011) ̅

Slide 53

Slide 53 text

FAQ About Visual C# .NET 2002 ‘What is the symbol in the name C#? ‘The # is not the hash symbol as most people believe. ‘It is supposed to be the musical sharp symbol (̅). ‘However, the sharp symbol is not present on the standard keyboard, so it’s easier to use the hash (#) symbol.’ 53

Slide 54

Slide 54 text

functions are fun in kotlin :) 54 🎉 // Kotlin functions use the fun keyword @letronje • https://x.com/letronje/status/760444749329240064 (2016)

Slide 55

Slide 55 text

Which programming language do pirates use to get into machine learning? RRRRRRRRR 55 🏴☠ // The R language is used for statistics and machine learning. Lou Creemers • https://twitter.com/lovelacecoding/status/1541148527061094400 (2022)

Slide 56

Slide 56 text

56 🐌 // Java before it used the JIT (just-in-time) compiler, and more improvements Knock knock! Who’s there? *long pause* Java!

Slide 57

Slide 57 text

The hardest problem in computer science is not being an opinionated jerk about everything. 57 Nick Takayama • https://twitter.com/ntakayama/status/449048098665287681 (2014) 🫂

Slide 58

Slide 58 text

58 NeONBRAND • https://unsplash.com/photos/-Cmz06-0btw

Slide 59

Slide 59 text

59 Bernd Dittrich • https://unsplash.com/photos/r1AIp7Vj3Mg Deployment

Slide 60

Slide 60 text

Joke deployment targets 60 💬 team chat 📆 meetings 📄 documentation 🎬 presentations Start with a #puns channel 😂 Timing matters! rtr Tech docs have hardly any jokes ☹ Jokes on slides are risky

Slide 61

Slide 61 text

Deployment best practices 1. Deploy responsibly 2. Explain jokes to new people 3. Don’t deploy jokes in sensitive situations 4. Avoid negative jokes 5. Don’t be a bully 61

Slide 62

Slide 62 text

Takeaways 1. Jokes serve a purpose 2. Explaining jokes can be Good Actually 3. Learn what’s appropriate 4. Don’t be an asshole 5. Work doesn’t have to be boring – nor do you 62

Slide 63

Slide 63 text

63

Slide 64

Slide 64 text

There’s two hard problems in computer science: we only have one joke, and it’s not funny 64 Phillip Bowden • https://twitter.com/pbowden/status/468855097879830528 (2014) 😶

Slide 65

Slide 65 text

I’ve got a software joke. The next version will be funny. 65 🔄 @B12Simon • https://twitter.com/B12Simon/status/1332356147341381634 (2020)

Slide 66

Slide 66 text

66 Peter Hilton http://hilton.org.uk 🦋 @hilton.org.uk Marit van Dijk https://maritvandijk.com/ 🦋 @maritvandijk.bsky.social 🐦 @MaritvanDijk77 Slides: