Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Paradoxes and theorems every developer should know
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Joshua Thijssen
October 09, 2016
Technology
800
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Paradoxes and theorems every developer should know
Joshua Thijssen
October 09, 2016
More Decks by Joshua Thijssen
See All by Joshua Thijssen
RAFT: A story on how clusters of computers keep your data in sync
jaytaph
0
77
The first few milliseconds of HTTPS
jaytaph
0
300
Paradoxes and theorems every developer should know
jaytaph
0
360
The first few milliseconds of HTTPS - PHPNW16
jaytaph
1
300
compiler_-_php010.pdf
jaytaph
0
160
Paradoxes and theorems every developer should know
jaytaph
0
300
Introduction into interpreters, compilers and JIT
jaytaph
1
380
Paradoxes and theorems every developer should know
jaytaph
1
990
Are you out of memory, or have plenty to spare?
jaytaph
0
280
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
Power Automateアップデート情報
miyakemito
0
280
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
280
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
170
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
550
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
200
NYC Summit 2026 におけるAmazon Bedrock AgentCore のアップデート
ren8k
3
270
BigQuery を検索ソースとした AI Agent の作り方って 〇〇 通りあんねん
satohjohn
0
140
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
560
現場をAIで動かす「フィジカル AI」の組み込み設計の考え方【SORACOM Discovery 2026】
soracom
PRO
0
150
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
790
QA・ソフトウェアテスト研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
3
1.7k
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
580
Amusing Abliteration
ianozsvald
1
240
We Are The Robots
honzajavorek
0
290
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
510
Bash Introduction
62gerente
615
220k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
820
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
300
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Google's AI Overviews - The New Search
badams
0
1.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
670
Transcript
@jaytaph 1 Joshua Thijssen jaytaph Paradoxes and theorems every developer
should know
@jaytaph Disclaimer: I'm not a (mad) scientist nor a mathematician.
2
@jaytaph German Tank Problem 3
@jaytaph 4 15
@jaytaph 5
@jaytaph 5 53 72 8 15
@jaytaph 6 k = number of elements m = largest
number
@jaytaph 72 + (72 / 4) - 1 = 89
7
@jaytaph 8 Intelligence Statistics Actual June 1940 1000 169 June
1941 1550 244 August 1942 1550 327 https://en.wikipedia.org/wiki/German_tank_problem
@jaytaph 8 Intelligence Statistics Actual June 1940 1000 169 June
1941 1550 244 August 1942 1550 327 https://en.wikipedia.org/wiki/German_tank_problem 122
@jaytaph 8 Intelligence Statistics Actual June 1940 1000 169 June
1941 1550 244 August 1942 1550 327 https://en.wikipedia.org/wiki/German_tank_problem 122 271
@jaytaph 8 Intelligence Statistics Actual June 1940 1000 169 June
1941 1550 244 August 1942 1550 327 https://en.wikipedia.org/wiki/German_tank_problem 122 271 342
@jaytaph 9
@jaytaph 9 ➡ Data leakage.
@jaytaph 9 ➡ Data leakage. ➡ User-id's, invoice-id's, etc
@jaytaph 9 ➡ Data leakage. ➡ User-id's, invoice-id's, etc ➡
Used to approximate the number of iPhones sold in 2008.
@jaytaph 10 Monthly Invoice IDs Monthly Invoice IDs Monthly Invoice
IDs Monthly Invoice IDs Jan 2476 2303 Feb 10718 14891 Mar 19413 27858 Apr 28833 41458 May 38644 55429 Jun 48633 55429 Jul 102606 59027 84961 Aug 109331 69715 100308 Sep 116388 80684 116020 Oct 123721 91935 132004 Nov 131241 103455 148341 Dec 139236 115276 164976
@jaytaph 11 Monthly Invoice IDs Monthly Invoice IDs Monthly Invoice
IDs Monthly Invoice IDs Jan 2476 2303 Feb 10718 14891 Mar 19413 27858 Apr 28833 41458 May 38644 55429 Jun 48633 55429 Jul 102606 59027 84961 Aug 109331 69715 100308 Sep 116388 80684 116020 Oct 123721 91935 132004 Nov 131241 103455 148341 Dec 139236 115276 164976 Estimated subscriptions Estimated subscriptions Estimated subscriptions Estimated subscriptions Jan Feb 8242 12588 Mar 8695 12967 Apr 9420 13600 May 9811 13971 Jun 9989 14525 Jul 10394 15007 Aug 6725 10688 15347 Sep 7057 10969 15712 Oct 7333 11251 15984 Nov 7520 11520 16337 Dec 7995 11821 16635
@jaytaph 12 Monthly Invoice IDs Monthly Invoice IDs Monthly Invoice
IDs Monthly Invoice IDs Jan 2476 2303 Feb 10718 14891 Mar 19413 27858 Apr 28833 41458 May 38644 55429 Jun 48633 55429 Jul 102606 59027 84961 Aug 109331 69715 100308 Sep 116388 80684 116020 Oct 123721 91935 132004 Nov 131241 103455 148341 Dec 139236 115276 164976 Estimated growth / size Estimated growth / size Estimated growth / size Estimated growth / size Jan Feb Mar 105% 103% Apr 108% 105% May 104% 103% Jun 102% 104% Jul 104% 103% Aug 103% 102% Sep 105% 103% 102% Oct 104% 103% 102% Nov 103% 102% 102% Dec 106% 103% 102%
@jaytaph ➡ Avoid (semi) sequential data to be leaked. ➡
Adding randomness and offsets will NOT solve the issue. ➡ Use UUIDs (better: timebased short IDs, you don't need UUIDs) 13
@jaytaph Confirmation Bias 14
@jaytaph 15 Hypothesis....
@jaytaph 16 Evidence!
@jaytaph 17 Hypothesis confirmed!
@jaytaph 18
@jaytaph 2 4 6 19 Z={…,−2,−1,0,1,2,…}
@jaytaph 21% 20
@jaytaph 21 5 8 ? ? If a card shows
an even number on one face, then its opposite face must be blue.
@jaytaph < 10% 22
@jaytaph 23 coke beer 35 17 If you drink beer
then you must be 18 yrs or older.
@jaytaph 23 coke beer 35 17 If you drink beer
then you must be 18 yrs or older.
@jaytaph 23 coke beer 35 17 If you drink beer
then you must be 18 yrs or older.
@jaytaph Cognitive Adaption for social exchange 24
@jaytaph hint: Try and place your "technical problem" in a
more social context. 25
@jaytaph 26 5 8 ? ? If a card shows
an even number on one face, then its opposite face must be blue.
@jaytaph 26 5 8 ? ? If a card shows
an even number on one face, then its opposite face must be blue.
@jaytaph 26 5 8 ? ? If a card shows
an even number on one face, then its opposite face must be blue.
@jaytaph Birthday paradox 27
@jaytaph Question: 28 > 50% chance 4 march 18 september
5 december 25 juli 2 februari 9 october
@jaytaph 23 people 29
@jaytaph 366* persons = 100% 30
@jaytaph Collisions occur more often than you realize 31
@jaytaph Hash collisions 32
@jaytaph 16 bit value 300 elements 33
@jaytaph rand(1,100000) 117 elements 34
@jaytaph Watch out for: 35 ➡ Too small hashes. ➡
Unique data. ➡ Your data might be less "protected" as you might think.
@jaytaph Heisenberg uncertainty principle 36
@jaytaph 37
@jaytaph 38
@jaytaph 39 x position p momentum (mass x velocity) ħ
0.0000000000000000000000000000000001054571800 (1.054571800E-34)
@jaytaph The more precise you know one property, the less
you know the other. 40
@jaytaph This is NOT about observing! 41
@jaytaph Observer effect 42 heisenbug
@jaytaph It's about trade-offs 43
@jaytaph Benford's law 44
@jaytaph Numbers beginning with 1 are more common than numbers
beginning with 9. 45
@jaytaph Default behavior for natural numbers. 46
@jaytaph 47
@jaytaph find . -name \*.php -exec wc -l {} \;
| sort | cut -b 1 | uniq -c 48
@jaytaph find . -name \*.php -exec wc -l {} \;
| sort | cut -b 1 | uniq -c 48 1073 1 886 2 636 3 372 4 352 5 350 6 307 7 247 8 222 9
@jaytaph 49
@jaytaph Bayesian filtering 50
@jaytaph What's the probability of an event, based on conditions
that might be related to the event. 51
@jaytaph What is the chance that a message is spam
when it contains certain words? 52
@jaytaph 53 P(A|B) P(A) P(B) P(B|A) Probability event A, if
event B (conditional) Probability event A Probability event B Probability event B, if event A
@jaytaph 54 ➡ Figure out the probability a {mail, tweet,
comment, review} is {spam, negative} etc.
@jaytaph ➡ 10 out of 50 comments are "negative". ➡
25 out of 50 comments uses the word "horrible". ➡ 8 comments with the word "horrible" are marked as "negative". 55
@jaytaph 56
@jaytaph 57
@jaytaph 58 "Your product is horrible and does not work
properly. Also, you suck." "I had a horrible experience with another product. But yours really worked well. Thank you!" Negative: Positive:
@jaytaph 59
@jaytaph 60 Find me on twitter: @jaytaph Find me for
development and training: www.noxlogic.nl / www.techademy.nl Find me on email:
[email protected]
Find me for blogs: www.adayinthelifeof.nl