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
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
430
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
360
Wide Event Analytics (LISA19)
igorw
4
940
a day in the life of a request
igorw
0
170
production: an owner's manual
igorw
0
190
The Power of 2
igorw
0
340
LISP 1.5 Programmer's Manual: A Dramatic Reading
igorw
0
480
The Moral Character of Software
igorw
1
310
interdisciplinary computing (domcode)
igorw
0
320
miniKanren (clojure berlin)
igorw
1
330
Other Decks in Programming
See All in Programming
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
130
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
10
5.3k
さぁV100、メモリをお食べ・・・
nilpe
0
150
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.7k
AIで効率化できた業務・日常
ochtum
0
140
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
580
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
740
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
130
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
560
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
220
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
260
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
4 Signs Your Business is Dying
shpigford
187
22k
So, you think you're a good person
axbom
PRO
2
2.1k
We Have a Design System, Now What?
morganepeng
55
8.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
370
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
For a Future-Friendly Web
brad_frost
183
10k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Exploring anti-patterns in Rails
aemeredith
3
420
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
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