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
Steel City 2012
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Aaron Patterson
March 03, 2015
Technology
120
3
Share
Steel City 2012
Aaron Patterson
March 03, 2015
More Decks by Aaron Patterson
See All by Aaron Patterson
Faster FFI for Ruby
tenderlove
0
39
RubyKaigi 2025: Class New, A New Approach
tenderlove
0
250
RubyKaigi Dev Meeting 2025
tenderlove
1
5.3k
Speeding up Instance Variables in Ruby 3.3
tenderlove
2
560
[Feature #20425] Speeding up delegate methods
tenderlove
3
360
RailsConf 2023
tenderlove
30
1.5k
Don't @ Me! Faster Instance Variables with Object Shapes
tenderlove
1
550
RailsConf 2022 Keynote
tenderlove
2
670
Some Assembly Required
tenderlove
1
640
Other Decks in Technology
See All in Technology
Mastering Ruby Box
tagomoris
3
150
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
1.4k
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
760
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
190
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.4k
運用を見据えたAIエージェント設計実践
amacbee
1
2.7k
React、まだ楽しくて草
uhyo
7
4k
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
1
260
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
6.7k
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
430
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
2.6k
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
670
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
140
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Deep Space Network (abreviated)
tonyrice
0
160
Code Review Best Practice
trishagee
74
20k
Speed Design
sergeychernyshev
33
1.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
A Modern Web Designer's Workflow
chriscoyier
698
190k
Leo the Paperboy
mayatellez
7
1.8k
Transcript
None
Aaron Patterson @tenderlove
About Me
WWFMD
Amateur Charcutier
ruby-core rails-core
None
Job Title: Corey Haines
None
Gorbachev Puff-Puff Thunderhorse
@gorbypuff
AT&T, AT&T logo and all AT&T related marks are trademarks
of AT&T Intellectual Property and/or AT&T affiliated companies.
Giving Back A practical guide to OSS contributions
Your OSS Career BEGINNER ADVANCED OMG!
OSS Skills Project Knowledge Help Yourself Help Others
Advantageous
Practice.
Your Job.
It feels good.
Beginner
Where do I start?
Choose a project.
Candidates ❤ Something that’s fun ❤ Something for work ❤
Something that’s painful
Something you use.
Contributing starts with using.
Ask Questions. (publicly)
Asking ❤ When I do X ❤ It does Y
❤ But I expected Z
Keep it short.
Keep it simple.
Respond with the answer.
Say “thank you”
Troubleshooting ❤ Appropriate forum? ❤ Has enough time passed? ❤
Wide enough audience?
Ask Questions. (in person)
Report Bugs. (publicly)
Reporting ❤ When I do X ❤ It does Y
❤ But I expected Z
Read the patch.
Answer Questions.
Advanced Bug Reporting.
Try to diagnose the problem.
Incomplete patches are OK
Help Yourself
Advanced
Identification
None
Rakefile
Rakefile Jeweler::Tasks Hoe.spec Jeweler Hoe
Gemfile name.gemspec
Dependencies ❤ Rakefile (extra_dev_deps) ❤ gemspec (extra_dev_deps) ❤ Gemfile
Bundler $ bundle
Hoe $ rake newb
Jeweler $ gem install a b c
Tests
test/* (probably minitest or test/unit)
rake test
spec/* (probably rspec)
rake spec
C / C++
$ ls . autoconf configure Makefile src/somefile.c somefile.cpp $ C
/ C++
$ autoconf $ ./configure $ make C / C++ Building
Dependencies C / C++
LOL! C / C++
C / C++ 1.Run configure 2.Did it work? Goto 4
3.Install stuff. Goto 1 4.Run make 5.Did it work? Goto 7 6.Install stuff. Goto 4. 7.Have a cookie!
Tests C / C++
LOL! C / C++
Read the README C / C++
C / C++ $ ls test # tests are in
here $ make test # language features $ make test-all # lang + stdlib $ make test-all TESTS=test/test_foo.rb $ make rubyspec # ruby spec MRI
Providing Patches
Keep it short.
Keep it simple.
Keep it relevant.
Provide tests.
Try to fit in.
Troubleshooting
It’s OKAY to be wrong.
It’s about learning.
It’s about building a relationship.
Take more responsibility.
Project Knowledge
OMG! (ZOMG)
Joining the team.
Abandoned project.
Specific needs.
War of attrition. (poor @bitsweat)
What next?
Stay the course.
Limit your time.
Remember your past.
Start training your replacement.
Help Others
Things to remember.
I am not my code.
Try to relate.
MINASWAN
We are nice because we are nice
Ask a question.
Send a patch.
Take over my job.
Thanks!