SlideShare a Scribd company logo
1 of 46
Living with
1000 Open Source
Projects
Dr Nic Williams, tallest person at Mocra
@drnic · http://drnicwilliams.com · http://mocra.com
Pacific Ocean Trips
Pacific Ocean Trips
RubyConf 2007:
9am Sunday 50% Awake
Pacific Ocean Trips
RubyConf 2007:
9am Sunday 50% Awake
FutureRuby 2009:
10am Sunday 50% Canadian
Pacific Ocean Trips
RubyConf 2007:
9am Sunday 50% Awake
FutureRuby 2009:
10am Sunday 50% Canadian
Two types
(OSS project)
founders…
A. Nurture and converse

 
 “Do you care?”
B. Previously A
  “Do it yourself”
Life as an A-type is awesome…
Life as an A-type is awesome…
                  until it is not
“Saying Goodbye”
Jamis vs Dr Nic
   Proof of Jamis’s awesomeness

                                            Downloads

500000


375000


250000


125000


     0
              Capistrano        Composite Keys          NewGem   RubiGen

  source: http://gems.rubyforge.org/stats.html
Jamis vs Dr Nic
   Proof of Jamis’s awesomeness

                                            Downloads

500000


375000


250000


125000


     0
              Capistrano        Composite Keys          NewGem   RubiGen

  source: http://gems.rubyforge.org/stats.html
Jamis vs Dr Nic
   Proof of Jamis’s awesomeness

                                            Downloads

500000


375000


250000


125000


     0
              Capistrano        Composite Keys          NewGem   RubiGen

  source: http://gems.rubyforge.org/stats.html
Jamis vs Dr Nic
   Proof of Jamis’s awesomeness

                                            Downloads

500000


375000


250000


125000


     0
              Capistrano        Composite Keys          NewGem   RubiGen

  source: http://gems.rubyforge.org/stats.html
Jamis vs Dr Nic
   Proof of Jamis’s awesomeness

                                            Downloads

500000


375000


250000


125000


     0
              Capistrano        Composite Keys          NewGem   RubiGen

  source: http://gems.rubyforge.org/stats.html
!
           Disclaimer


My projects aren’t wildly popular
80


60


40


20


 0
     mid-2007   mid-2008   mid-2009




I just have heaps of them
Some formulas…
X projects/yr x 40 years = ?
5 projects/yr x 40 years = 200
25 projects/yr x 40 years = 1000


1000 projects x ½hr/wk = 500hr/wk
There are only 168 hrs in a week
OSS projects don’t scale
but neither does raising
   pets nor children
A dog trainer




having a pet dog vs maintaining many dogs
A teacher




having a pet child vs maintaining many children
An OSS owner




having a pet project vs maintaining many projects
What to maintain?




pet projects and libraries you need each day
and abandon the rest




               http://www.flickr.com/photos/robbyrussell/243693247/
Maintenance Goal:
  Zero Effort
Aim: Manage expectations
•   Publish project status

            •   Facilitate group
                therapy

            •   Forward emails to
                mailing list




Aim: Reduce bad karma
Aim: Community self-sufficiency
Centralised patches
Centralised patches
$ gem install defunkt-github

#   super lazy
$   cd your/project
$   gh pull username --merge
$   rake test
$   git push

# update History.txt for next release




     Use: Command line tools
Add: Admins/contributors
Aim: Zero maintenance cost
require 'rubygems'
gem 'hoe', '>= 2.1.0'
require 'hoe'

Hoe.plugin :newgem
Hoe.plugin :cucumberfeatures

Hoe.spec 'looksee' do
  developer 'George Ogata', 'george.ogata@gmail.com'
end




  Packaging: Hoe/Echoe for Gems
ChocTop.new do   |s|
  s.host     =   'commitchat.com'
  s.base_url =   'http://commitchat.com/dl'
  s.remote_dir   = '/opt/apps/commitchat/dl'

  s.background_file = "dmgbg.png"
  s.volume_icon = 'VolumeIcon.icns'
  s.app_icon_position = [106, 83]
  s.applications_icon_position = [422, 83]
  s.applications_icon = "dmgappico.png"
end




   Packaging: ChocTop for DMGs
Packaging: ChocTop for DMGs
•   Test frameworks: ...............
•   Reuse processes: rake
•   Create tools: newgem
•   Promote your process: blog




Aim: zero process cost
5 mins to run tests




30 mins looking at bug reports

     Aim: zero defects
5 mins to run tests




0       7.5     15     22.5      30



30 mins looking at bug reports

     Aim: zero defects
$ cucumber features/development.feature

Scenario: Generate RubyGem
  Given this project is active project folder
  And "pkg" folder is deleted
  When I invoke task "rake gem"
  Then folder "pkg" is created
  And file with name matching "pkg/*.gem" is created

1 scenario (1 passed)
6 steps (6 passed)




         QA test packaging
Aim for zero
•   Don’t use it? Don’t maintain it
•   Manage expectations
•   Community self-sufficiency
•   Zero process cost
•   Zero defects
Use your spare time
•   Find a hobby
•   Talk to your spouse
•   Create more projects
Create a new project
newgem my_project
cd my_project
git init
git add .
git commit -m "initial"
github create-from-local
Thank you Canada




            Dr Nic Williams
          drnicwilliams.com · @drnic

More Related Content

Similar to Living With 1000 Open Source Projects

DevOps and the Importance of Single Source Code Repos 
DevOps and the Importance of Single Source Code Repos DevOps and the Importance of Single Source Code Repos 
DevOps and the Importance of Single Source Code Repos Perforce
 
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileEngineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileKenAtIndeed
 
Testing Storage Systems: Methodology and Common Pitfalls
Testing Storage Systems: Methodology and Common PitfallsTesting Storage Systems: Methodology and Common Pitfalls
Testing Storage Systems: Methodology and Common PitfallsJohn Constable
 
2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was Released2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was ReleasedGene Kim
 
What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?Matt Wood
 
Achievement Unlocked: Drive development, increase velocity, and write blissfu...
Achievement Unlocked: Drive development, increase velocity, and write blissfu...Achievement Unlocked: Drive development, increase velocity, and write blissfu...
Achievement Unlocked: Drive development, increase velocity, and write blissfu...All Things Open
 
BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019Stanford University
 
MonoRails - GoGaRuCo 2012
MonoRails - GoGaRuCo 2012MonoRails - GoGaRuCo 2012
MonoRails - GoGaRuCo 2012jackdanger
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Seaside - Why should you care? (OSDC.fr 2010)
Seaside - Why should you care? (OSDC.fr 2010)Seaside - Why should you care? (OSDC.fr 2010)
Seaside - Why should you care? (OSDC.fr 2010)jfitzell
 
Cheapass.in — presented at JSFoo 2016
Cheapass.in — presented at JSFoo 2016Cheapass.in — presented at JSFoo 2016
Cheapass.in — presented at JSFoo 2016Aakash Goel
 
The Unicorn Project and the Five Ideals.pdf
The Unicorn Project and the Five Ideals.pdfThe Unicorn Project and the Five Ideals.pdf
The Unicorn Project and the Five Ideals.pdfVMware Tanzu
 
The Seven Wastes of Software Development
The Seven Wastes of Software DevelopmentThe Seven Wastes of Software Development
The Seven Wastes of Software DevelopmentMatt Stine
 
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015gdusbabek
 
Leading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons LearnedLeading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons LearnedGene Kim
 
Splunk September 2023 User Group PDX.pdf
Splunk September 2023 User Group PDX.pdfSplunk September 2023 User Group PDX.pdf
Splunk September 2023 User Group PDX.pdfAmanda Richardson
 
Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them Optimizely
 
Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them Optimizely
 

Similar to Living With 1000 Open Source Projects (20)

Ignite Zurich Newsweek
Ignite Zurich   NewsweekIgnite Zurich   Newsweek
Ignite Zurich Newsweek
 
DevOps and the Importance of Single Source Code Repos 
DevOps and the Importance of Single Source Code Repos DevOps and the Importance of Single Source Code Repos 
DevOps and the Importance of Single Source Code Repos 
 
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond AgileEngineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
 
Testing Storage Systems: Methodology and Common Pitfalls
Testing Storage Systems: Methodology and Common PitfallsTesting Storage Systems: Methodology and Common Pitfalls
Testing Storage Systems: Methodology and Common Pitfalls
 
2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was Released2019 Top Lessons Learned Since the Phoenix Project Was Released
2019 Top Lessons Learned Since the Phoenix Project Was Released
 
What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?
 
Achievement Unlocked: Drive development, increase velocity, and write blissfu...
Achievement Unlocked: Drive development, increase velocity, and write blissfu...Achievement Unlocked: Drive development, increase velocity, and write blissfu...
Achievement Unlocked: Drive development, increase velocity, and write blissfu...
 
MVP Defined
MVP DefinedMVP Defined
MVP Defined
 
BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019
 
MonoRails - GoGaRuCo 2012
MonoRails - GoGaRuCo 2012MonoRails - GoGaRuCo 2012
MonoRails - GoGaRuCo 2012
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Seaside - Why should you care? (OSDC.fr 2010)
Seaside - Why should you care? (OSDC.fr 2010)Seaside - Why should you care? (OSDC.fr 2010)
Seaside - Why should you care? (OSDC.fr 2010)
 
Cheapass.in — presented at JSFoo 2016
Cheapass.in — presented at JSFoo 2016Cheapass.in — presented at JSFoo 2016
Cheapass.in — presented at JSFoo 2016
 
The Unicorn Project and the Five Ideals.pdf
The Unicorn Project and the Five Ideals.pdfThe Unicorn Project and the Five Ideals.pdf
The Unicorn Project and the Five Ideals.pdf
 
The Seven Wastes of Software Development
The Seven Wastes of Software DevelopmentThe Seven Wastes of Software Development
The Seven Wastes of Software Development
 
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
My Futuristic Vision of the Future of Cassandra's Future - NGCC 2015
 
Leading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons LearnedLeading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons Learned
 
Splunk September 2023 User Group PDX.pdf
Splunk September 2023 User Group PDX.pdfSplunk September 2023 User Group PDX.pdf
Splunk September 2023 User Group PDX.pdf
 
Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them
 
Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them Product Experimentation Pitfalls & How to Avoid Them
Product Experimentation Pitfalls & How to Avoid Them
 

More from Dr Nic Williams

RailsConf Keynote - History of Ruby
RailsConf Keynote - History of RubyRailsConf Keynote - History of Ruby
RailsConf Keynote - History of RubyDr Nic Williams
 
What is your job at your ruby club?
What is your job at your ruby club?What is your job at your ruby club?
What is your job at your ruby club?Dr Nic Williams
 
Integration Testing With Cucumber How To Test Anything J A O O 2009
Integration Testing With  Cucumber    How To Test Anything    J A O O 2009Integration Testing With  Cucumber    How To Test Anything    J A O O 2009
Integration Testing With Cucumber How To Test Anything J A O O 2009Dr Nic Williams
 
Rubygem Dev And Workflow
Rubygem Dev And WorkflowRubygem Dev And Workflow
Rubygem Dev And WorkflowDr Nic Williams
 
Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008
Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008
Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008Dr Nic Williams
 
Meta Meta Programming - EuRuKo2008
Meta Meta Programming -  EuRuKo2008Meta Meta Programming -  EuRuKo2008
Meta Meta Programming - EuRuKo2008Dr Nic Williams
 
RubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteRubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteDr Nic Williams
 
RubyEnRails2007 - Dr Nic Williams - DIY Syntax
RubyEnRails2007 - Dr Nic Williams - DIY SyntaxRubyEnRails2007 - Dr Nic Williams - DIY Syntax
RubyEnRails2007 - Dr Nic Williams - DIY SyntaxDr Nic Williams
 

More from Dr Nic Williams (9)

RailsConf Keynote - History of Ruby
RailsConf Keynote - History of RubyRailsConf Keynote - History of Ruby
RailsConf Keynote - History of Ruby
 
What is your job at your ruby club?
What is your job at your ruby club?What is your job at your ruby club?
What is your job at your ruby club?
 
Integration Testing With Cucumber How To Test Anything J A O O 2009
Integration Testing With  Cucumber    How To Test Anything    J A O O 2009Integration Testing With  Cucumber    How To Test Anything    J A O O 2009
Integration Testing With Cucumber How To Test Anything J A O O 2009
 
Rubygem Dev And Workflow
Rubygem Dev And WorkflowRubygem Dev And Workflow
Rubygem Dev And Workflow
 
Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008
Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008
Everyone Can Participate - Dr Nic Williams - Railssummit Brazil 2008
 
Meta Meta Programming - EuRuKo2008
Meta Meta Programming -  EuRuKo2008Meta Meta Programming -  EuRuKo2008
Meta Meta Programming - EuRuKo2008
 
Why Use Rails by Dr Nic
Why Use Rails by  Dr NicWhy Use Rails by  Dr Nic
Why Use Rails by Dr Nic
 
RubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteRubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - Keynote
 
RubyEnRails2007 - Dr Nic Williams - DIY Syntax
RubyEnRails2007 - Dr Nic Williams - DIY SyntaxRubyEnRails2007 - Dr Nic Williams - DIY Syntax
RubyEnRails2007 - Dr Nic Williams - DIY Syntax
 

Recently uploaded

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 

Recently uploaded (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 

Living With 1000 Open Source Projects

  • 1. Living with 1000 Open Source Projects Dr Nic Williams, tallest person at Mocra @drnic · http://drnicwilliams.com · http://mocra.com
  • 3. Pacific Ocean Trips RubyConf 2007: 9am Sunday 50% Awake
  • 4. Pacific Ocean Trips RubyConf 2007: 9am Sunday 50% Awake FutureRuby 2009: 10am Sunday 50% Canadian
  • 5. Pacific Ocean Trips RubyConf 2007: 9am Sunday 50% Awake FutureRuby 2009: 10am Sunday 50% Canadian
  • 7. A. Nurture and converse “Do you care?”
  • 8. B. Previously A “Do it yourself”
  • 9. Life as an A-type is awesome…
  • 10. Life as an A-type is awesome… until it is not
  • 11.
  • 13. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  • 14. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  • 15. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  • 16. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  • 17. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  • 18. ! Disclaimer My projects aren’t wildly popular
  • 19. 80 60 40 20 0 mid-2007 mid-2008 mid-2009 I just have heaps of them
  • 20. Some formulas… X projects/yr x 40 years = ? 5 projects/yr x 40 years = 200 25 projects/yr x 40 years = 1000 1000 projects x ½hr/wk = 500hr/wk There are only 168 hrs in a week
  • 21. OSS projects don’t scale but neither does raising pets nor children
  • 22. A dog trainer having a pet dog vs maintaining many dogs
  • 23. A teacher having a pet child vs maintaining many children
  • 24. An OSS owner having a pet project vs maintaining many projects
  • 25. What to maintain? pet projects and libraries you need each day
  • 26. and abandon the rest http://www.flickr.com/photos/robbyrussell/243693247/
  • 27. Maintenance Goal: Zero Effort
  • 29. Publish project status • Facilitate group therapy • Forward emails to mailing list Aim: Reduce bad karma
  • 33. $ gem install defunkt-github # super lazy $ cd your/project $ gh pull username --merge $ rake test $ git push # update History.txt for next release Use: Command line tools
  • 36. require 'rubygems' gem 'hoe', '>= 2.1.0' require 'hoe' Hoe.plugin :newgem Hoe.plugin :cucumberfeatures Hoe.spec 'looksee' do developer 'George Ogata', 'george.ogata@gmail.com' end Packaging: Hoe/Echoe for Gems
  • 37. ChocTop.new do |s| s.host = 'commitchat.com' s.base_url = 'http://commitchat.com/dl' s.remote_dir = '/opt/apps/commitchat/dl' s.background_file = "dmgbg.png" s.volume_icon = 'VolumeIcon.icns' s.app_icon_position = [106, 83] s.applications_icon_position = [422, 83] s.applications_icon = "dmgappico.png" end Packaging: ChocTop for DMGs
  • 39. Test frameworks: ............... • Reuse processes: rake • Create tools: newgem • Promote your process: blog Aim: zero process cost
  • 40. 5 mins to run tests 30 mins looking at bug reports Aim: zero defects
  • 41. 5 mins to run tests 0 7.5 15 22.5 30 30 mins looking at bug reports Aim: zero defects
  • 42. $ cucumber features/development.feature Scenario: Generate RubyGem Given this project is active project folder And "pkg" folder is deleted When I invoke task "rake gem" Then folder "pkg" is created And file with name matching "pkg/*.gem" is created 1 scenario (1 passed) 6 steps (6 passed) QA test packaging
  • 43. Aim for zero • Don’t use it? Don’t maintain it • Manage expectations • Community self-sufficiency • Zero process cost • Zero defects
  • 44. Use your spare time • Find a hobby • Talk to your spouse • Create more projects
  • 45. Create a new project newgem my_project cd my_project git init git add . git commit -m "initial" github create-from-local
  • 46. Thank you Canada Dr Nic Williams drnicwilliams.com · @drnic