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
RubyKaigi 2025: Class New, A New Approach
tenderlove
0
240
RubyKaigi Dev Meeting 2025
tenderlove
1
4.7k
Speeding up Instance Variables in Ruby 3.3
tenderlove
2
530
[Feature #20425] Speeding up delegate methods
tenderlove
3
340
RailsConf 2023
tenderlove
30
1.4k
Don't @ Me! Faster Instance Variables with Object Shapes
tenderlove
1
530
RailsConf 2022 Keynote
tenderlove
2
660
Some Assembly Required
tenderlove
1
620
HexDevs 2021
tenderlove
1
550
Other Decks in Technology
See All in Technology
AIがコードを書く時代の ジェネレーティブプログラミング
polidog
PRO
3
700
20260410 - CNTUG meetup #72 - DiskImage Builder 介紹:以 Kubespray CI 打造 RockyLinux 10 Cloud Image 為例
tico88612
0
120
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
380
聞き手の目線で考えるプロポーザル
takefumiyoshii
0
260
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
1
280
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
2
330
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
4
320
Databricksを用いたセキュアなデータ基盤構築とAIプロダクトへの応用.pdf
pkshadeck
PRO
0
290
チームで育てるAI自走環境_20260409
fuktig
0
1k
すごいぞManaged Kubernetes
harukasakihara
1
390
仕様通り動くの先へ。Claude Codeで「使える」を検証する
gotalab555
8
3.2k
【PHPカンファレンス小田原2026】Webアプリケーションエンジニアにも知ってほしい オブザーバビリティ の本質
fendo181
0
570
Featured
See All Featured
The browser strikes back
jonoalderson
0
930
Leo the Paperboy
mayatellez
7
1.6k
Ethics towards AI in product and experience design
skipperchong
2
250
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Building the Perfect Custom Keyboard
takai
2
720
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
[SF Ruby Conf 2025] Rails X
palkan
2
930
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
97
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
89
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
So, you think you're a good person
axbom
PRO
2
2k
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!