think locally, code globally - dchud's code4lib japan 2013 talk

1,739 views

Published on

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

No Downloads
Views
Total views
1,739
On SlideShare
0
From Embeds
0
Number of Embeds
66
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

think locally, code globally - dchud's code4lib japan 2013 talk

  1. 1. think locally code globally code4lib JAPAN - 2013-09-01 - 南三陸町 @dchud - Daniel Chudnov - dchud @ gwu edu * equidistant conic map w/d3 by mbostock, http://bl.ocks.org/mbostock/3734317 *
  2. 2. 英語で、 どうもすみません
  3. 3. slideshare.net / dchud please follow along!
  4. 4. me my employer my community {local global }
  5. 5. me • employer • community employer • community • me community • me • employer me • community • employer community • employer • me employer • me • community
  6. 6. *自己紹介 •hacker / librarian •jake - early link resolver •prospero - early web document delivery •oss4lib.org - pro-free/ libre/open source site * self-introduction {yale
  7. 7. •dspace •code4lib •coins / unapi •wdl.org •chronicling america •pb-scale content mgmt •twitter {lc {mit {yale
  8. 8. manager{gwu
  9. 9. hacking code hacking culture in libraries!
  10. 10. HACK OR DIE! * * @tzhaya, code4lib 2011
  11. 11. let’s focus on culture
  12. 12. code4lib - the beginning •web4lib •xml4lib •perl4lib •php4lib •python4lib? ~2002
  13. 13. all the same people 4 lib
  14. 14. how about just “code4lib”?
  15. 15. 2002 - list 2003 - irc 2004 - more people 2005 - mini conference 2006 - real conference 2007 - journal 2009 - local 2010 - JAPAN 2012 - job board
  16. 16. why this success? •we needed each other •we removed divisions •we welcomed new people •the time was right •a good culture hack!
  17. 17. see something we need? go do it!
  18. 18. a “rough consensus and running code” community culture
  19. 19. I made this, w/code! flickr.com/photos/dchud/4205315880/
  20. 20. members self-identify and self-select
  21. 21. that’s it !
  22. 22. it’s rough sometimes but it (mostly) works
  23. 23. it’s my community now, it’s your community too ようこそ!
  24. 24. ...back to my employer...
  25. 25. hacking culture at GW Libraries in several steps
  26. 26. we write code for libraries among many other things, but this is code4lib, so...
  27. 27. goal: write meaningful code that helps people reliably well
  28. 28. how ?
  29. 29. we use github extensively github . com / gwu - libraries
  30. 30. we use a university-approved free software license
  31. 31. MIT-style
  32. 32. step 0 - write code step 1 - share code but...
  33. 33. we did not talk with each other enough about our code
  34. 34. a “rough code and no consensus” local culture
  35. 35. two ways to talk about code •review each other’s code •read other people’s code
  36. 36. code review
  37. 37. old workflow: make a change, publish the change
  38. 38. new workflow: propose a change, someone else decides whether to publish
  39. 39. use github culture • create a git branch • commit changes locally • push branch to github • create a pull request • review each others’ pull requests
  40. 40. ≥2 people see every change and discuss issues
  41. 41. take a global practice make a local workflow
  42. 42. code read
  43. 43. code read • once per week • open up some code on github • read it together • include colleagues from other departments • so far: pymarc, bagit.py, bento_search (ruby/rails), arduino, catmandu (perl)
  44. 44. why read code? • people ask questions • teach each other about how code works • no ego - somebody else’s code!
  45. 45. who’s qualified? •everyone who comes! •self-selected - if you want to attend, you’re qualified •acknowledge, temper Imposter Syndrome * * wikipedia.org/wiki/Impostor_syndrome
  46. 46. code read benefits • engages non-coder specialists in algorithmic thinking • engages coder in other areas of specialization • deepens respect for each other • helps non-coders talk about code • helps coders talk with each other
  47. 47. make a local practice share it globally
  48. 48. step 0 - write code step 1 - share code step 2 - talk about code
  49. 49. next: grow the culture include more people
  50. 50. two ways to add people •connect local people to global code4lib •solve local problems via global code4lib
  51. 51. i used to think everyone should code
  52. 52. then i saw this
  53. 53. we code4libbers self-select
  54. 54. new goal: connect one local colleague to code4lib
  55. 55. benefits • new person connects, contributes to broader community • bridges code4lib through their own unique experience • brings in ideas, projects from community i’d miss
  56. 56. risks •might not like it at all •might like it a lot! •might find another job
  57. 57. i accept those risks gladly
  58. 58. step 0 - write code step 1 - share code step 2 - talk about code step 3 - add more people
  59. 59. good news: this scales!
  60. 60. code4libconf history • 2005 - 10 people, no real plan • 2006 - 80+ people, planned out • 2013 - 380 people, full agenda, and attendees from Europe and Japan!
  61. 61. we have a good mix but there are more risks
  62. 62. 1. what are the social bottlenecks? * * with apologies and gratitude to @i2k for the idea
  63. 63. bottlenecks to community growth •perception of cliques - hard for new people •more overhead for organizing •sometimes hard to stick with “rough consensus”
  64. 64. biggest bottleneck •missing opportunities to grow stronger together through better understanding of our differences and vulnerabilities * * see @eosadler’s code4lib 2013 talk
  65. 65. 2. give new people a real chance to help lead
  66. 66. “...growing [wikipedia] requires making it easier and more rewarding to contribute occasionally.” * * aaronsw,“Who Writes Wikipedia?”
  67. 67. 3. fast, cheap, good はやい、やすい、うまい which two? * thanks again to @i2k for inspiration
  68. 68. connect fast, connect well はやい、うまい!
  69. 69. like meaningful code, meaningful relationships take time and are never cheap
  70. 70. summary
  71. 71. invest in these connections for yourself, for your employer, for our community
  72. 72. when you connect globally you improve your work locally
  73. 73. optimize for participation
  74. 74. please keep in touch! @dchud

×