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
Rage against the Turing Machine (confoo)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Igor Wiedler
February 27, 2014
Programming
440
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rage against the Turing Machine (confoo)
Lightning talk.
Igor Wiedler
February 27, 2014
More Decks by Igor Wiedler
See All by Igor Wiedler
Redis Bedtime Stories
igorw
1
390
Wide Event Analytics (LISA19)
igorw
4
960
a day in the life of a request
igorw
0
180
production: an owner's manual
igorw
0
210
The Power of 2
igorw
0
360
LISP 1.5 Programmer's Manual: A Dramatic Reading
igorw
0
500
The Moral Character of Software
igorw
1
340
interdisciplinary computing (domcode)
igorw
0
330
miniKanren (clojure berlin)
igorw
1
350
Other Decks in Programming
See All in Programming
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
290
Seven New Principles of Software Engineering
yegor256
0
150
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
34k
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
140
phperだってパンチカードでコーディングしたい
o0h
PRO
0
370
No More NoSuchMethodError
exoego
1
110
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
310
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
440
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
360
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
1.3k
エンジニアに許された特別な時間の終わり
watany
109
250k
Ruling the World: When Life Gets Gamed
codingconduct
0
410
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
610
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Are puppies a ranking factor?
jonoalderson
2
4.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
First, design no harm
axbom
PRO
2
1.3k
Leo the Paperboy
mayatellez
10
2.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Amusing Abliteration
ianozsvald
1
350
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Transcript
Rage against the Turing Machine
Programming is hard
None
None
None
None
None
0 0 1 1
0 0 1 1
0 0 1 0
0 0 0 0
0 1 0 0
0 1 0 0
0 1 0 0
0 1 0 0
0 1 0 0
0 1 0 0
while (!in_array($state, $accept_states)) { $read_val = isset($tape[$position]) ? $tape[$position] :
'_'; ! if (!isset($rules[$state][$read_val])) { throw new NoTransitionException(); } ! list($write_val, $move_dir, $new_state) = $rules[$state][$read_val]; ! $tape[$position] = $write_val; ! if ('l' === $move_dir) { $position--; if ($position < 0) { $position++; array_unshift($tape, '_'); } } else if ('r' === $move_dir) { $position++; if ($position >= count($tape)) { array_push($tape, '_'); } } ! $state = $new_state; }
None
None
None
This machine can run any algorithm
This machine can run any algorithm etsy.com/shop/sharpwriter
Universality
add increment one-third
add increment one-third add increment one-third
add increment one-third
add increment one-third U
U M
None
Entscheidungsproblem
Halts?
Halts? Negate
Halts? Negate Copy
Halts? Negate Copy { X
( ) X X
Halts? Negate Copy X
Halts? Negate Copy X X
Halts? Negate Copy true X X
Halts? Negate Copy X ∞ true X
Halts? Negate Copy X ∞ true X X X }
Halts? Negate Copy false X X
Halts? Negate Copy false halting now X X
Halts? Negate Copy false halting now X X X X
}
• Proof by contradiction • Decision machine cannot exist •
We are screwed
How to cope
None
• Restricted subsets of computing • Finite state machines •
Type systems
Conclusion
Programming is hard