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
The Future is Dead: Long live the Past
Search
elcuervo
June 02, 2012
Programming
1.1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Future is Dead: Long live the Past
The Future is Dead: Long live the Past
elcuervo
June 02, 2012
More Decks by elcuervo
See All by elcuervo
Retro Ruby
elcuervo
0
18
Un tipo de Ruby
elcuervo
0
51
Airplay
elcuervo
0
580
Quince Primaveras
elcuervo
0
450
Apocalipsis
elcuervo
0
150
RadioFrequencia
elcuervo
0
130
TED: Cronicas de un hacker
elcuervo
0
140
Hackeando el STM
elcuervo
1
400
Teo y los contenedores
elcuervo
0
140
Other Decks in Programming
See All in Programming
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
110
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
620
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
150
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
540
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
790
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
200
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
200
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
120
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
150
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
270
Featured
See All Featured
Fireside Chat
paigeccino
43
4k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
YesSQL, Process and Tooling at Scale
rocio
174
15k
Amusing Abliteration
ianozsvald
1
300
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Building AI with AI
inesmontani
PRO
1
1.2k
GitHub's CSS Performance
jonrohan
1033
470k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
790
The agentic SEO stack - context over prompts
schlessera
0
930
Deep Space Network (abreviated)
tonyrice
0
300
Transcript
The Future is Dead long live the past
Hi!
Bruno Aguirre
Bruno Aguirre github: elcuervo
Bruno Aguirre @cuerbot github: elcuervo
cuervo
None
None
None
None
None
None
None
None
None
None
None
disclaimer
None
relax
it’s not about this future
None
nor this past
None
None
UNIX
UNIX DB
UNIX DB WEB
UNIX
than an MORE OPERATING system
than MORE SOFTWARE
Philosophy
The ART of Unix programming Eric Raymond
Write SIMPLE parts connected by CLEAN interfaces
CLARITY is better than cleverness
Design programs to be CONNECTED to other programs
ps uax | grep ruby | sort | uniq
Design for SIMPLICITY; add complexity ONLY where you must
S R P
S R P ingle
S R P ingle esponsability
S R P ingle esponsability rinciple
PROTOTYPE before polishing. GET IT WORKING before you OPTIMIZE it
DISTRUST all claims for “ONE TRUE WAY”
Design for the FUTURE, because it will be here SOONER
than you think
KISS
KEEP
IT
SIMPLE
SWEETIE
None
“Simplicity is the ultimate sophistication” Leonardo Da Vinci 1452-1519
“Everything should be made as simple as possible, but no
simpler” Albert Einstein 1879-1955
“Unix is simple. It just takes a genius to understand
its simplicity” Dennis Ritchie 1941-2011
DB
once upon a time
RDB
ROFLSCALE
ROFLSCALE
None
POSTGRESQL
POSTGRESQL MYSQL
CONSTRAINS
None
PRIMARY KEY
PRIMARY KEY UNIQUE
PRIMARY KEY UNIQUE NOT NULL
PRIMARY KEY UNIQUE NOT NULL FOREIGN KEY
PRIMARY KEY UNIQUE NOT NULL FOREIGN KEY CHECK
PREPARED STATEMENTS
SELECT * FROM fruits WHERE id = 42;
PREPARE fruit_seeker (int) AS SELECT * FROM fruits WHERE id
= $1;
PREPARE fruit_seeker (int) AS SELECT * FROM fruits WHERE id
= $1; EXECUTE fruit_seeker(42);
~2003
QUERIES PER SECOND BOOST
~2011
STORED PROCEDURES
Execution within the database
Complex data handling
Column operations
We want to use Ruby everywhere
DON’T
WITHOUT ORM
WEB
HTTP 1.0 RFC 1945 (1996)
None
None
None
MOST WEB of the
client server request response open open close close
HTTP 1.1 RFC 2616 (1999)
None
None
None
None
Persistent connections
client server request response open close Re use open sockets
close open
client server request response open close Re use open sockets
Enabled by default
Pipelining
client server request response open close
Disabled by default
Get ready for the PAST
Firefox: can be enabled
Firefox: can be enabled Chrome: can be enabled
Firefox: can be enabled Chrome v20: enabled by default Chrome:
can be enabled
Upgrade header
GET /mychat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key:
x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: chat Sec-WebSocket-Version: 13 Origin: http://example.com request
GET /mychat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key:
x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: chat Sec-WebSocket-Version: 13 Origin: http://example.com request
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: chat response
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: chat response
That’s IT?
12 years
None
HTTP PTTH
HTTP R e v e rs e
client server
POST /reverse HTTP/1.1 Host: server.example.com Upgrade: PTTH/0.9 Connection: Upgrade Origin:
http://example.com request
POST /reverse HTTP/1.1 Host: server.example.com Upgrade: PTTH/0.9 Connection: Upgrade Origin:
http://example.com request
client server
HTTP/1.1 101 Switching Protocols Upgrade: PTTH/0.9 Connection: Upgrade response
client server
client server
server client
REAL life
None
The Future is not Dead
The Past is not Dead
None
LEARN from the past
LEARN from the past WATCH the present
LEARN from the past WATCH the present CREATE the future
Thank you!
Thank you! twitter: @cuerbot github: elcuervo
None