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
Aaron Patterson
March 03, 2015
Technology
3
120
Steel City 2012
Aaron Patterson
March 03, 2015
Tweet
Share
More Decks by Aaron Patterson
See All by Aaron Patterson
RubyKaigi 2025: Class New, A New Approach
tenderlove
0
95
RubyKaigi Dev Meeting 2025
tenderlove
1
3.7k
Speeding up Instance Variables in Ruby 3.3
tenderlove
2
470
[Feature #20425] Speeding up delegate methods
tenderlove
3
300
RailsConf 2023
tenderlove
30
1.3k
Don't @ Me! Faster Instance Variables with Object Shapes
tenderlove
1
480
RailsConf 2022 Keynote
tenderlove
2
590
Some Assembly Required
tenderlove
1
590
HexDevs 2021
tenderlove
1
490
Other Decks in Technology
See All in Technology
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
120
サブドメインテイクオーバー事例紹介と対策について
mikit
7
2.1k
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
340
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
280
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
610
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.6k
30分でわかる!!『OCI で学ぶクラウドネイティブ実践 X 理論ガイド』
oracle4engineer
PRO
1
110
様々なファイルシステム
sat
PRO
0
280
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
440
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
950
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.3k
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
230
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
A Tale of Four Properties
chriscoyier
161
23k
Code Reviewing Like a Champion
maltzj
526
40k
Thoughts on Productivity
jonyablonski
72
4.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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!