Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Not so weird after all
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Jeroen Leenarts (AppForce1)
June 04, 2013
Programming
73
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Not so weird after all
A presentation I gave at Xebia about some root cause analysis.
Jeroen Leenarts (AppForce1)
June 04, 2013
More Decks by Jeroen Leenarts (AppForce1)
See All by Jeroen Leenarts (AppForce1)
Building a Vapor Swift backend integration with authentication and authorization
jeroenleenarts
0
750
The developer’s manual: working with and managing software developers
jeroenleenarts
0
99
PassKeys and WebAuthN: What you want to know
jeroenleenarts
0
700
Being a Lead Software Developer
jeroenleenarts
1
440
SECONDARY SKILLS AS A DEVELOPER
jeroenleenarts
0
1.4k
Try Swift intro
jeroenleenarts
0
63
Micro Frameworks: What, why and how?
jeroenleenarts
0
100
mDevcon 2015: See the time on your wrist
jeroenleenarts
0
160
A inspirational presentation at a company's hackathon
jeroenleenarts
0
130
Other Decks in Programming
See All in Programming
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
220
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
180
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
2
260
AI-Powered Domain-Driven Design
ziobrando
0
390
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
880
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
110
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
620
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
520
Event is what happens
moro
2
3.6k
Railsバージョンを4倍にした話
optim
0
930
Performance Optimization With LLMs
xleitix
0
240
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
290
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Language of Interfaces
destraynor
162
27k
ラッコキーワード サービス紹介資料
rakko
5
5.7M
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
30 Presentation Tips
portentint
PRO
1
460
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Paper Plane
katiecoart
PRO
5
55k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
570
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
Transcript
Weird things can happen A tale on understanding documentation and
undefined behavior
Just imagine •Your project is doing great! •Apple rolled out
new language features •Lets use those features •Stuff just breaks (but only in production)
What’s going on here? •New release rolled out •Sudden increase
by XXX % of “3 times wrong pin” occurrences •Sh#t hit the fan! Lots of users not happy!
Reproduction steps •Get a new or “factory reset” device •Install
App •Register as usual •Logout •Login •Why is my pin not working? !$#%
Initial suspicions •It must’ve been a change we introduced in
this release, right? •Right!?
None
Finding the problem •Well, sort of... it seems. •No joy
during debugging. •Doesn’t crash on simulator •Doesn’t crash on our test devices when debugging
How can this break? •Why didn’t we see this before?
•Why does it break now? •Putting back the old code “solves” it. •So that’s our initial bug fix.
Having that bad feeling •This doesn't feel right •This should
not break!
Let’s go line by line
Let’s read some docs
Call in the cavalry •Some guy said to enable optimizations..
;) •Let’s try that then...
None
Click, click, BOOM!!
What we learned
None