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
Standing on the shoulders of giants
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
230
Crystal
porras
4
360
Enumerator.is_an(Enumerable) [es]
porras
0
170
5 hidden gems of the Ruby Standard Library
porras
2
290
Enumerator is an Enumerable 💃
porras
3
150
Queue and SizedQueue: hidden gems in the Ruby standard library
porras
0
200
Laziness
porras
3
250
I used to be a writer (love letter to Ruby)
porras
2
250
Acceptance Testing with RSpec, Capybara & friends
porras
1
290
Other Decks in Programming
See All in Programming
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
Contextとはなにか
chiroruxx
0
250
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
130
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
A2UI という光を覗いてみる
satohjohn
1
120
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
530
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
19
6.4k
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
640
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.2k
Oxlintのカスタムルールの現況
syumai
6
1k
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
How to Talk to Developers About Accessibility
jct
2
230
For a Future-Friendly Web
brad_frost
183
10k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
The Limits of Empathy - UXLibs8
cassininazir
1
350
Making Projects Easy
brettharned
120
6.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Music & Morning Musume
bryan
47
7.2k
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