0
think locally
code globally
code4lib JAPAN - 2013-09-01 - 南三陸町
@dchud - Daniel Chudnov - dchud @ gwu edu
* equidistant con...
英語で、
どうもすみません
slideshare.net / dchud
please follow along!
me
my employer
my community
{local
global
}
me • employer • community
employer • community • me
community • me • employer
me • community • employer
community • employ...
*自己紹介
•hacker / librarian
•jake - early link resolver
•prospero - early web
document delivery
•oss4lib.org - pro-free/
lib...
•dspace
•code4lib
•coins / unapi
•wdl.org
•chronicling america
•pb-scale content mgmt
•twitter
{lc
{mit
{yale
manager{gwu
hacking code
hacking culture
in libraries!
HACK
OR DIE! *
* @tzhaya, code4lib 2011
let’s focus
on
culture
code4lib - the beginning
•web4lib
•xml4lib
•perl4lib
•php4lib
•python4lib?
~2002
all the same people 4 lib
how about
just
“code4lib”?
2002 - list
2003 - irc
2004 - more people
2005 - mini conference
2006 - real conference
2007 - journal
2009 - local
2010 -...
why this success?
•we needed each other
•we removed divisions
•we welcomed new
people
•the time was right
•a good culture ...
see something we need?
go do it!
a
“rough consensus
and
running code”
community culture
I made this, w/code! flickr.com/photos/dchud/4205315880/
members
self-identify
and
self-select
that’s
it
!
it’s rough sometimes
but it (mostly) works
it’s
my community
now, it’s
your community
too
ようこそ!
...back to
my employer...
hacking culture
at
GW Libraries
in
several steps
we write
code for libraries
among many other things, but this is code4lib, so...
goal: write
meaningful code
that helps people
reliably well
how
?
we use github
extensively
github . com / gwu - libraries
we use a
university-approved
free software license
MIT-style
step 0 - write code
step 1 - share code
but...
we did not
talk with each other
enough
about our code
a
“rough code
and
no consensus”
local culture
two ways to talk about code
•review each other’s code
•read other people’s code
code review
old workflow:
make a change,
publish the change
new workflow:
propose a change,
someone else decides
whether to publish
use github culture
• create a git branch
• commit changes locally
• push branch to github
• create a pull request
• review...
≥2 people see
every change
and discuss issues
take
a global practice
make
a local workflow
code read
code read
• once per week
• open up some code on github
• read it together
• include colleagues from other
departments
• s...
why read code?
• people ask questions
• teach each other about how
code works
• no ego - somebody else’s code!
who’s qualified?
•everyone who comes!
•self-selected - if you want
to attend, you’re qualified
•acknowledge, temper
Imposter...
code read benefits
• engages non-coder specialists in
algorithmic thinking
• engages coder in other areas of
specialization...
make
a local practice
share it globally
step 0 - write code
step 1 - share code
step 2 - talk about code
next:
grow the culture
include more people
two ways to add people
•connect local people
to global code4lib
•solve local problems
via global code4lib
i used to think
everyone should code
then i saw this
we code4libbers
self-select
new goal:
connect one local
colleague
to code4lib
benefits
• new person connects,
contributes to broader
community
• bridges code4lib through
their own unique experience
• b...
risks
•might not like it at all
•might like it a lot!
•might find another job
i accept those risks
gladly
step 0 - write code
step 1 - share code
step 2 - talk about code
step 3 - add more people
good news:
this scales!
code4libconf history
• 2005 - 10 people, no real plan
• 2006 - 80+ people, planned out
• 2013 - 380 people, full agenda, a...
we have a good mix
but there are
more risks
1.
what are the
social bottlenecks? *
* with apologies and gratitude to @i2k for the idea
bottlenecks to
community growth
•perception of cliques - hard for
new people
•more overhead for organizing
•sometimes hard...
biggest bottleneck
•missing opportunities to
grow stronger together
through better
understanding of our
differences and
vu...
2.
give new people
a real chance
to help lead
“...growing [wikipedia]
requires making it easier and
more rewarding to contribute
occasionally.” *
* aaronsw,“Who Writes ...
3.
fast, cheap, good
はやい、やすい、うまい
which two?
* thanks again to @i2k for inspiration
connect fast,
connect well
はやい、うまい!
like meaningful code,
meaningful relationships
take time
and are never cheap
summary
invest in these
connections
for yourself,
for your employer,
for our community
when you
connect globally
you improve
your work locally
optimize
for
participation
please keep in touch!
@dchud
think locally, code globally - dchud's code4lib japan 2013 talk
Upcoming SlideShare
Loading in...5
×

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

1,279

Published on

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

No Downloads
Views
Total Views
1,279
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

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

×