Upload
dan-chudnov
View
1.233
Download
1
Embed Size (px)
Citation preview
think locallycode 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
*
英語で、どうもすみません
slideshare.net / dchud
please follow along!
memy employer
my community
{local
global}
me • employer • communityemployer • community • mecommunity • me • employerme • community • employercommunity • employer • meemployer • me • community
*自己紹介• hacker / librarian
• jake - early link resolver
• prospero - early web document delivery
• oss4lib.org - pro-free/libre/open source site
* self-introduction
{yale
• dspace
• code4lib
• coins / unapi
• wdl.org
• chronicling america
• pb-scale content mgmt
• twitter{lc
{mit
{yale
manager{gwu
hacking codehacking culture
in libraries!
HACK OR DIE! *
* @tzhaya, code4lib 2011
let’s focuson
culture
code4lib - the beginning
• web4lib
• xml4lib
• perl4lib
• php4lib
• python4lib?
~2002
all the same people 4 lib
how aboutjust
“code4lib”?
2002 - list2003 - irc
2004 - more people2005 - mini conference2006 - real conference
2007 - journal2009 - local
2010 - JAPAN2012 - job board
why this success?•we needed each other
•we removed divisions
•we welcomed new people
• the time was right
•a good culture hack!
see something we need?
go do it!
a“rough consensus
andrunning code”
community culture
I made this, w/code! flickr.com/photos/dchud/4205315880/
membersself-identify
andself-select
that’sit!
it’s rough sometimesbut it (mostly) works
it’smy community
now, it’syour community
tooようこそ!
...back tomy employer...
hacking cultureat
GW Librariesin
several steps
we writecode for libraries
among many other things, but this is code4lib, so...
goal: writemeaningful codethat helps people
reliably well
how?
we use githubextensively
github . com / gwu - libraries
we use auniversity-approvedfree software license
MIT-style
step 0 - write codestep 1 - share code
but...
we did not talk with each other
enoughabout our code
a“rough code
andno 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 each others’ pull requests
≥2 people seeevery change
and discuss issues
takea global practice
makea local workflow
code read
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)
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 Syndrome *
* wikipedia.org/wiki/Impostor_syndrome
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
makea local practice
share it globally
step 0 - write codestep 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 thinkeveryone should code
then i saw this
we code4libbersself-select
new goal:
connect one localcolleague
to code4lib
benefits
• new person connects, contributes to broader community
• bridges code4lib through their own unique experience
• brings in ideas, projects from community i’d miss
risks
•might not like it at all
• might like it a lot!
•might find another job
i accept those risksgladly
step 0 - write codestep 1 - share code
step 2 - talk about codestep 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, and attendees from Europe and Japan!
we have a good mix
but there aremore risks
1.
what are thesocial 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 to stick with “rough consensus”
biggest bottleneck
• missing opportunities to grow stronger together through better understanding of our differences and vulnerabilities *
* see @eosadler’s code4lib 2013 talk
2.
give new peoplea real chanceto help lead
“...growing [wikipedia] requires making it easier and more rewarding to contribute
occasionally.” *
* aaronsw, “Who Writes Wikipedia?”
3.
fast, cheap, goodはやい、やすい、うまい
which two?* thanks again to @i2k for inspiration
connect fast,connect well
はやい、うまい!
like meaningful code,meaningful relationships
take timeand are never cheap
summary
invest in these connections
for yourself,for your employer,for our community
when youconnect globally
you improveyour work locally
optimizefor
participation
please keep in touch!
@dchud