Your SlideShare is downloading. ×
0
Software Archaeology 
For Beginners
Code, Community and Culture
who

engineer and operations chap
open source chap
funny accent
(photo by Jennie Rainsford)
other matters
author
http://www.jamesturnbull.net
hack-n-slash developer
https://github.com/jamtur01
pontification
http://...
The LogStash Book

www.logstashbook.com
The Docker Book

www.dockerbook.com
Who are you?
Why?
Three themes

A bit of culture
Some things about community
Quite a lot about code,
documentation and tests
But I thought this
talk was just
technical?
Or ... 
Why do I give a crap about
culture and community?
Culture
What's culture?
Why is culture important?
Read & Listen
Patience is a virtue
Community
Communication
Use the mechanisms the project use
Ask questions
Over-share
Be polite, be upbeat
Collaboration
Earn trust through little steps
But it's broken!
You catch more
flies with honey
Code,
Documentation
and Tests
What is Software
Archaeology?
The fine art of software
dumpster diving
Documentation
Visualization
Testing & Truth
Design & Style
Performance
Read all the
documentation
Run all the
documentation
(Re-)Write
documentation
Is there a design?
Draw pictures
and write down
the story
Build a
development
environment
And yes document it.
Run the tests
Fix the broken
tests
You fixed the
tests?
What do the tests
cover?
#g ts -oe
o et cvr
PS
AS
cvrg:97 o saeet
oeae .% f ttmns
o
k
gtu.o/ocoddce 044
ihbcmdtlu/okr .4s
Wow do we suck
Write new tests
Tests as
documentation
Run Metrics
Metrics reveal
Code smells
Troubled subsystems

All good places to start coding
Style & Linting
#g to vt.
o ol e
cmad.o57 agsfrpit vr % o wogt
omnsg:6: r
o rnf eb d f rn
egn/tem_etg:6:agepceOtu frp
niesrasts.o18 r xetd...
Profiling
#g to prfaiaipo
o ol po p p.rf
Wloet prf Frhl,tp 'ep.
ecm o po! o ep ye hl'
(po)tp0
prf o1
Ttl 22 smls
oa: 55 ape
28 1.% 1...
Performance
problems are
often tied to
code smells
So what have we
learnt?
Understand all of
culture,
community and
code
Little things can
have big impacts
Leave things
better than you
found them.
Questions?
references
Dig - Copyright University of California Santa Cruz 2009
Culture - Copyright Charles Ebereonwu
Community - Copy...
Software archaeology for beginners: code, community and culture
Software archaeology for beginners: code, community and culture
Software archaeology for beginners: code, community and culture
Software archaeology for beginners: code, community and culture
Software archaeology for beginners: code, community and culture
Upcoming SlideShare
Loading in...5
×

Software archaeology for beginners: code, community and culture

4,364

Published on

Most open source projects are rightly proud of their communities, long histories (both measured in time and version control), passionate debates and occasional trolling. Newcomers to these communities often face an uphill battle, though. Not just in understanding decision making processes and community standards, but in coming to terms with often complex, contradictory, and poorly documented code bases. This talk will introduce you to the concepts and tools you need to be an expert code, culture, and community archaeologist and quickly become productive and knowledgeable in an unknown or legacy code base.

Published in: Technology
0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,364
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
42
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

Transcript of "Software archaeology for beginners: code, community and culture"

  1. 1. Software Archaeology  For Beginners Code, Community and Culture
  2. 2. who engineer and operations chap open source chap funny accent (photo by Jennie Rainsford)
  3. 3. other matters author http://www.jamesturnbull.net hack-n-slash developer https://github.com/jamtur01 pontification http://www.kartar.net
  4. 4. The LogStash Book www.logstashbook.com
  5. 5. The Docker Book www.dockerbook.com
  6. 6. Who are you?
  7. 7. Why?
  8. 8. Three themes A bit of culture Some things about community Quite a lot about code, documentation and tests
  9. 9. But I thought this talk was just technical? Or ...  Why do I give a crap about culture and community?
  10. 10. Culture
  11. 11. What's culture? Why is culture important?
  12. 12. Read & Listen Patience is a virtue
  13. 13. Community
  14. 14. Communication Use the mechanisms the project use Ask questions Over-share Be polite, be upbeat
  15. 15. Collaboration Earn trust through little steps
  16. 16. But it's broken!
  17. 17. You catch more flies with honey
  18. 18. Code, Documentation and Tests
  19. 19. What is Software Archaeology? The fine art of software dumpster diving
  20. 20. Documentation Visualization Testing & Truth Design & Style Performance
  21. 21. Read all the documentation
  22. 22. Run all the documentation
  23. 23. (Re-)Write documentation
  24. 24. Is there a design?
  25. 25. Draw pictures and write down the story
  26. 26. Build a development environment And yes document it.
  27. 27. Run the tests
  28. 28. Fix the broken tests
  29. 29. You fixed the tests?
  30. 30. What do the tests cover?
  31. 31. #g ts -oe o et cvr PS AS cvrg:97 o saeet oeae .% f ttmns o k gtu.o/ocoddce 044 ihbcmdtlu/okr .4s
  32. 32. Wow do we suck
  33. 33. Write new tests
  34. 34. Tests as documentation
  35. 35. Run Metrics
  36. 36. Metrics reveal Code smells Troubled subsystems All good places to start coding
  37. 37. Style & Linting
  38. 38. #g to vt. o ol e cmad.o57 agsfrpit vr % o wogt omnsg:6: r o rnf eb d f rn egn/tem_etg:6:agepceOtu frp niesrasts.o18 r xetdupt o egn/tem_etg:2:psil fratn dr niesrasts.o28 osbe omtig ie gahrvraf/usts.o39 agcag.idf rpdie/usaf_etg:8: r hneKn gahrvraf/usts.o49 agcag.idf rpdie/usaf_etg:2: r hneKn gahrvrdvaprdvcstg:5 src fed rpdie/empe/eiee.o3: tut il
  39. 39. Profiling
  40. 40. #g to prfaiaipo o ol po p p.rf Wloet prf Frhl,tp 'ep. ecm o po! o ep ye hl' (po)tp0 prf o1 Ttl 22 smls oa: 55 ape 28 1.% 1.% 9 18 18 35 1.%rniempces 4 37 utm.aacs1 28 1.% 2.% 6 06 24 22 8.%mi.idop 14 41 anFnLos 21 99 3.% 5 .% 24 41 1.%sabok 5 79 cnlc 18 70 3.% 7 .% 94 31 1.%hs_net 5 39 ahisr ...
  41. 41. Performance problems are often tied to code smells
  42. 42. So what have we learnt?
  43. 43. Understand all of culture, community and code
  44. 44. Little things can have big impacts
  45. 45. Leave things better than you found them.
  46. 46. Questions?
  47. 47. references Dig - Copyright University of California Santa Cruz 2009 Culture - Copyright Charles Ebereonwu Community - Copyright Storm Crypt Flies and Honey - Copyright Kent Wang Happy Kids - Copyright Lighttruth A Picture is worth a thousand words - Copyright Jessica Hemrick
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×