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
Standing on the shoulders of giants
Search
Sergio Gil
April 23, 2013
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Standing on the shoulders of giants
#railsberry
Sergio Gil
April 23, 2013
More Decks by Sergio Gil
See All by Sergio Gil
Understanding Unix pipes with Ruby
porras
0
250
Crystal
porras
4
370
Enumerator.is_an(Enumerable) [es]
porras
0
190
5 hidden gems of the Ruby Standard Library
porras
2
300
Enumerator is an Enumerable 💃
porras
3
160
Queue and SizedQueue: hidden gems in the Ruby standard library
porras
0
220
Laziness
porras
3
250
I used to be a writer (love letter to Ruby)
porras
2
260
Acceptance Testing with RSpec, Capybara & friends
porras
1
300
Other Decks in Programming
See All in Programming
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
カツオ、ご期待ください
suneo3476
0
190
AWSに止められる覚悟してますか?
morizo_1984
2
530
Domain-Driven Transformation
hschwentner
2
2.3k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
420
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
The Rails Doctrine Decade
koic
2
580
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
170
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
25k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Product Roadmaps are Hard
iamctodd
55
13k
Accessibility Awareness
sabderemane
1
250
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
We Are The Robots
honzajavorek
0
400
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Transcript
Standing on the shoulders of giants Sergio Gil · @porras
None
Isaac Newton (1642-1727)
“If I have seen further is by standing on the
shoulders of giants”
Sergio Gil @porras http://iamserg.io ¡Hola! Dzień Dobry!
None
None
14,000 LOC
$ bundle show
* actionmailer (3.2.13) * actionpack (3.2.13) * activemodel (3.2.13) *
activerecord (3.2.13) * activeresource (3.2.13) * activesupport (3.2.13) * addressable (2.3.2) * airbrake (3.1.6) * almodovar (0.6.2) * amq-client (0.9.4) * amq-protocol (0.9.5) * amqp (0.9.7) * arel (3.0.2) * aws-sdk (1.3.9) * be_spreadsheet (0.0.1 ac9b4e3) * browser (0.1.5) * browsernizer (0.2.0) * builder (3.0.4) * bullet (4.3.0) * bundler (1.3.5) * bunny (0.8.0) * capistrano (2.13.4) * capybara (1.1.4) * childprocess (0.3.8) * choice (0.1.6) * chronic (0.9.0) * cocaine (0.3.2) * colored (1.2) * columnize (0.3.6) * connection_pool (1.0.0) * cookiejar (0.3.0) * crack (0.3.2) * curb (0.8.1) * daemon-spawn (0.4.2) * daemons (1.1.9) * dalli (2.5.0) * database_cleaner (0.9.1) * delayed_job (3.0.4) * delayed_job_active_record (0.3.3) * diff-lcs (1.1.3) * dynamic_form (1.1.4) * em-http-request (1.0.3) * em-socksify (0.2.1) * email_spec (1.4.0) * equivalent-xml (0.3.0) * erubis (2.7.0) * eventmachine (1.0.0) * eventwire (0.0.1 594f817) * excon (0.16.7) * faraday (0.8.4) * fastercsv (1.5.5) * ffi (1.4.0) * fog (1.6.0) * formatador (0.2.3) * girl_friday (0.11.2) * google-spreadsheet-ruby (0.3.0) * google_drive (0.3.1) * haml (3.1.7) * hashie (1.2.0) * highline (1.6.15) * hike (1.2.1) * http_parser.rb (0.5.3) * httparty (0.10.0) * httpauth (0.2.0) * i18n (0.6.1) * iso-639 (0.0.3) * iso8601 (0.4.0) * jasmine (1.3.1) * jasmine-core (1.3.1) * journey (1.0.4) * jquery-rails (1.0.19) * json (1.7.7) * jwt (0.1.5) * launchy (2.1.2) * linecache (0.46) * log4r (1.1.10) * mail (2.5.3) * metadata-exporters (1.0.0) * metadata-publishers (1.0.0) * metadata-sdk (1.0.0) * mime-types (1.21) * multi_json (1.7.0) * multi_xml (0.5.2) * multipart-post (1.1.5) * mysql (2.8.1) * mysql2 (0.3.11) * nested_open_struct (1.0.0) * net-scp (1.0.4) * net-sftp (2.0.5) * net-ssh (2.6.1) * net-ssh-gateway (1.1.0) * newrelic_rpm (3.5.3.25) * nokogiri (1.5.5) * nokogiri-diff (0.1.2) * oauth (0.4.7) * oauth2 (0.8.0) * omniauth (1.1.1) * omniauth-oauth (1.0.1) * omniauth-sheriff (0.0.2 0b9872e) * paperclip (2.7.1) * parallel (0.6.2) * parallel_tests (0.10.0) * patron (0.4.18) * pdfkit (0.5.2) * pdfkitten (0.0.1 7efcc2d) * persistize (0.2.0) * polyglot (0.3.3) * progressbar (0.11.0) * pusher (0.10.0) * rack (1.4.5) * rack-cache (1.2) * rack-protection (1.2.0) * rack-ssl (1.3.3) * rack-test (0.6.2) * rails (3.2.13) * railties (3.2.13) * rake (10.0.3) * rbx-require-relative (0.0.9) * rcov (1.0.0) * rdoc (3.12.2) * riddle (1.5.3) * roo (1.10.1) * rspec (2.12.0) * rspec-core (2.12.2) * rspec-expectations (2.12.1) * rspec-mocks (2.12.2) * rspec-rails (2.12.2) * rubinius-actor (0.0.2) * rubinius-core-api (0.0.1) * ruby-debug (0.10.4) * ruby-debug-base (0.10.4) * ruby-hmac (0.4.0) * ruby-ole (1.2.11.6) * ruby-prof (0.11.2) * rubyzip (0.9.9) * sass (3.2.1) * schema_plus (0.4.1) * selenium-webdriver (2.29.0) * signature (0.1.4) * sinatra (1.3.3) * spork (0.9.2) * spreadsheet (0.7.5) * sprockets (2.2.2) * steak (2.0.0) * system_timer (1.2.4) * tdiff (0.3.3) * thin (1.5.0) * thinking-sphinx (2.0.13 465c7e0) * thor (0.17.0) * tilt (1.3.6) * timecop (0.5.9.2) * todonotes (0.1.0) * treetop (1.4.12) * tzinfo (0.3.37) * uniform_notifier (1.1.1) * uuidtools (2.1.3) * valuable (0.9.6) * webmock (1.9.2) * websocket (1.0.7) * will_paginate (3.0.3) * xpath (0.1.4) * yajl-ruby (1.1.0) 162 gems 700,000 LOC
14,000 700,000
Ruby 900,000 LOC
MySQL 1,400,000 LOC
Apache 2,200,000 LOC
Linux 15,000,000 LOC
...
None
None
0.07%
Stepping Off
Dependencies
Experiment
The Extremist Programmer Way™
Ruby
Ruby No gems
Ruby No gems No stdlib
Ruby No gems No stdlib No webserver
Ruby No gems No stdlib No webserver Just Ruby
https://github.com/porras/rosendo
—
Don’t worship. Understand
None
Sergio Gil @porras http://iamserg.io Thank you. References http://en.wikipedia.org/wiki/Isaac_Newton http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants http://cloc.sourceforge.net/
http://www.ohloh.net/ https://github.com/porras/rosendo http://en.wikipedia.org/wiki/Rosendo_Mercado