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
RailsConf 2015: What if Shakespeare Wrote Ruby?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Adam Cuppy (he/him)
April 22, 2015
Programming
220
0
Share
RailsConf 2015: What if Shakespeare Wrote Ruby?
RailsConf 2015 Presentation
Adam Cuppy (he/him)
April 22, 2015
More Decks by Adam Cuppy (he/him)
See All by Adam Cuppy (he/him)
Mentorship in Three Acts
acuppy
0
140
Mechanically Confident
acuppy
1
160
Pluck It - Southeast Ruby 2017
acuppy
1
140
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
110
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
93
GoRuCo 2017 - Difficult Conversations
acuppy
0
140
GORUCO - Cult(ure)
acuppy
0
99
#RailsPacific - Taming Chaotic Specs - RSpec Design Patterns
acuppy
5
1.1k
#RailsPacific - [NOTES] Taming Chaotic Specs - RSpec Design Patterns
acuppy
1
230
Other Decks in Programming
See All in Programming
要はバランスからの卒業 #yumemi_grow
kajitack
0
150
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
tRPCの概要と少しだけパフォーマンス
misoton665
2
270
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.2k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
20k
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.6k
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
200
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
380
From Formal Specification to Property Based Test
ohbarye
0
2.5k
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.8k
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
130
RailsConf 2023
tenderlove
30
1.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
690
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
350
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
800
Paper Plane (Part 1)
katiecoart
PRO
0
7.5k
Transcript
What if Shakespeare Wrote ?
ACTION ROUND
None
Adam Cuppy
None
codingzeal.com
None
None
None
None
None
None
github.com/acuppy twitter.com/adamcuppy
amplify greatness
Software Writers - DHH (Creator of Ruby on Rails)
None
“i” before “e” (except after “c”)
Language is powerful
None
Software Writers - DHH (Creator of Ruby on Rails)
None
None
None
None
None
Poet
None
None
(8) 100 thousands!
1,700 New Word Forms
Shakespeare.inspect
Domain-specific Language
DSL?! NOOOO!!!
Domain-specific Language
Expressive Conventions
None
None
* Meaningful * Demonstrative * Suggestive * revealing
None
None
None
None
None
Iambic Pentameter (metered verse)
baBOOM / baBOOM / baBOOM / baBOOM / baBOOM.
When I / do COUNT / the CLOCK / that
TELLS / the TIME
To BE or NOT to BE, THAT is the QUEStion:
class Character < ActiveRecord::Base belongs_to :play has_many :lines end
class Character < ActiveRecord::Base belongs_to :play has_many :lines end Look
Mom, a convention!
app/ assets/ controllers/ helpers/ models/ views/ mailers/ bin/ config/ lib/
assets/ tasks/ ... app specific non-specific
… and another User.where( happiness: 8..10 )
… and another User.create User.create! user.save user.save!
STAND UP
sampson.when(:bite_thumb) do abraham.ask "Do you bite your thumb at us,
sir?" end sampson.bite_thumb # => Abraham asks, “Do you..."
abraham = Abraham.new sampson = Sampson.new abraham.observe sampson sampson.observe abraham
abraham .when(sampson) { bit_thumb? } .then(abraham) { ask "Do you bite your thumb at us, sir?" } sampson.bite_thumb # => Abraham asks, “Do you..."
Harmonious Simplicity
STAND UP
Create Spectacle
“ Often people focus on the machines. They think, "By
doing this, the machine will run more effectively.” But in fact we need to focus on humans, on how humans care about doing programming… We are the masters. They are the slaves.” - Matz (Creator of Ruby)
None
None
github.com/acuppy twitter.com/adamcuppy
None
None