A Community Supported on Obsolete Technology

This was first posted on The Pastry Box Project on September 21, 2015 with the same name. I encourage you to go read it there, since lots of great articles are written on The Pastry Box. Re-posted here for my own archiving purposes. Continue reading “A Community Supported on Obsolete Technology”

Mozilla: Effective Community Building Practices

This morning, I got to attend a session where Mozilla folks spoke about some strategies and methods they have found work for them in building community. It was definitely an interesting session. The only thing was that it was very development centric (focused on bugs and patches). I would’ve liked to hear any efforts going on with getting more contributions from non-technical people who might be able to help with testing, documentation, etc. Continue reading “Mozilla: Effective Community Building Practices”

Code4Lib 2013: Reflection & Thoughts

After almost a week since Code4Lib 2013, I’m still not sure it’s all sunk in. Every year I look at the conference program, I wonder if the sessions will actually interest me, but I go anyway and get blown away. Regardless, I was more excited this year since I was the program committee lead this year, helped with sponsorship, prepared a lightning talk and decided to be the opening MC. Continue reading “Code4Lib 2013: Reflection & Thoughts”

Code4Lib Day 3: Morning Notes

Hands off! Best Practices and Top Ten Lists for Code Handoffs

  • Naomi Dushay, Stanford University Library

Code handoffs are never smooth. Ever.

Ratio of time spend reading vs. writing code, 10:1.

The Truck Test

  • what if you were run over a truck and someone else had to take over?
  • need to code so a stranger can read it and understand it

The Boy Scout Rule

  • “Leave the code cleaner than you found it”
  • need to maintain your code
  • otherwise you’re part of the problem

It’s More Than Code

  • naming should make sense: servers, scripts, everything
  • config files should not point to boxes
  • tools chosen can be the problem
  • should you be rolling this on your own?
  • probably something been done before
  • some think if you write code really well, then you don’t need to comment. Not true.
  • Documentation and comments are there to inform, explain, clarify, warn, need maintenance
  • readme’s should make sense
  • tests are code, should also think about readability of these
  • failures should be addressed ASAP
  • KISS – Keep It Simple Stupid
  • DRY – don’t repeat yourself

Readable Code

  • follow conventions
  • meaningful names: variable, method, class, file
  • small, single purpose methods

Cleverness that reduces readability isn’t clever.

Sources

  • Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin
  • Refactoring: Improving the Design of Existing Code by Martin Folwer et al.

The Care and Feeding of a Crowd

  • Shawn Averkamp, University of Iowa
  • Matthew Butler, University of Iowa

Presentation Slides

DIY History

  • transcribe items in collection
  • omeka + scripto + mediawiki
  • still in development: want to add social media aspects/integration
  • err sorry, brain temporarily sort of died. See slides and I’ll go get a cookie to recharge

How to be an effective evangelist for your open source project Creating a Commons

  • Bess Sadler, Stanford University Library

Full Write Up by Bess herself

Lost a member of our community this year: Aaron Swartz

  • helped to define Creative Commons licenses
  • 3 versions: machine, human, and lawyer readable
  • code4lib should do the same principle
  • shared engineering practices are becoming more and more important
  • investment that’s worth it
  • please get code contributors to sign a contributor license agreement
  • can determine whether contract allows participation
  • don’t want to lose informal sharing, but law cases have happened and we need to protect ourselves

Building Code

  • what are we building?
  • we are building a culture, a commons
  • Fedora4lib – came early and rented a house together
  • Hydra = a community
  • cultivate a place where we can
  • teaching at Ruby on Rails workshops – too big a job to leave to a small group of people

Hacker Epistemology

  • how is knowledge acquired?
  • how do we decide what’s true?
  • collaboration with disregard of conventional mental thinking

Building the Community

  • need to expand and include everyone who wants to join
  • more steps in building a more inclusive community
  • adopted a code of conduct, because it was a good idea and making an explicit statement
  • need to let other people to know that we’re trying
  • “We are all imposters.” – just acknowledge it, we all feel that way, but bolster ourselves
  • allow ourselves to be seen even when there’s no guarantee of success
  • we can support each other
  • cannot be accomplished alone
  • want to craft a process for submitting issues

Thank you, code4lib!

The End

And that’s it! Until 2014.

nuzzling red pandas
Feel the Love. Happy Valentine’s Day

Code4Lib Day 2: Lightning Talks

Demian Katz – gamebooks.org, Geeby-Deeby, and the Dime Novel Bibliography Project.

  • interactive fiction books
  • Made a really big bibliography
  • people sending in more
  • put it in a big database
  • open-source project to adapt backend
  • MySQL db that models various types of entities, relationships
  • backend system to edit entities, enter data, edit relationships

Rachel Frick – LODLAM Summit 2013 and Challenge

  • linked open data in library, archive, and museum
  • had challenge to win cash prize
  • can still submit, just fill out form and make/submit video

Kenny Ketner – Occam’s Reader

  • allow libraries to lend ebooks to each other using document delivery model
  • compatible with IILiad
  • no training, no workflow change
  • can add formats incrementally (started with PDF)
  • basic interface that discourages abuse
  • access previously unaccessible resources
  • in alpha testing
  • Slides

Al Cornish – Orbis Cascade Alliance Shared ILS Project

  • primary service is consortial services
  • move to new system beyond traditional ILS
  • single shared system (vs. currently 37)
  • explore collaborative technical services, collection development
  • Alma + Primo selected, migration in progress

Makoto Okamoto – Crowd Funding for Library in Japan

  • culture of donation changed a lot after 3.11
  • share experience and metrics
  • key to success is setting up appropriate ticket

William Denton – Code4Lib 2013 Augmented Reality View in Layar

  • picking points of interest from two spots
  • 1: Google Places map
  • 2: Twitter search API – of the ones that are geolocated
  • Web service in Ruby and Sinatra, hosted on Heroku
  • Rainbows End by Vernor Vinge – go read it.
  • Slides

Rosalyn Metz – What I learned while I was away

  • learned about planning, budget, and time
  • time is the most important thing
  • track your time, might be spending too much time on things e.g. don’t spend more than 10 mins on a single email
  • can demonstrate where need help
  • Slides

Nettie Lagace – Recent Cool Fun NISO Activities

  • ResourceSync Framework Specification
  • Bibligraphic Roadmap Initiative
  • Slides

Chuck Koscher – Fundref

  • list of funders
  • what articles given certain funding

Andromeda Yelton – Five Conversations About Coding

  • computer science majors in 1995: yardstick of who is cooler than who dependent on the most arcane knowledge
  • boston python workshop 2012: women friendly course. Expecting to be judged.
  • chad nelson, monday night. It’s not free
  • bess sadler, yesterday. We have a problem with insecurity
  • important to recognized our limitations, but have this imaginary yardstick
  • ever done coding? majority. think coder? 1/2

Jeremy Morse – mPach: Publishing directly into HathiTrust

  • sorry, didn’t quite get this one

Rob Dumas – Git in Five Minutes

That’s all for today.

sleeping owl
How I Feel

Code4Lib Day 1: Opening Keynote – Leslie Johnston

Want to talk about communities and community building. It was a partial contextual shift as to her place in a number of communities.

Thought a lot about where she fits in. Have had a lot of identities, and thinks of herself as: nerd, geek, wonk, curator, archivist, woman, leader. Originally thought of herself as just another person, but everyone in this room should take on the role of leader.

Everything we do is part of the community, everywhere. Everyone in code4lib is part of a

community that succeeds through relationships.

Take the ethos of code4lib back to each organization.

leslie johnston doing the opening keynote

Software Development

Every software requires a community. Each person is part of it cares. Sustaining software requires a community of people who really care. We need to think about who uses our software. This

community is not just about people who write code,

it’s also about people use the software.

The most important thing is to work with those groups of users.

Communications

These communities are built using communication, inclusiveness, consideration, even more communication, and sense of ownership.

Need to think about users, stakeholders, researchers.

Everyone should read this blog post on backchannel conference talk.

Seen projects fail because they’re shared with the world but no one really takes ownership. Ownership goes both ways. Owning what you release, but also helping other projects be a success. Not everything fails, but it needs a community to thrive.

This is what we’re looking for in our communities and in our projects.

That they thrive.

You want a community that participates, looks out for each other.

What Defines a Successful Community or Project?

Participation. One project was a massive failure because no one participated.

Enthusiasm. Who would even want to fund it?

A sense of pride. ‘I’m part of that, made it happen, succeeded in part because of me.’

Learn from the history and the people who can be your mentors. Look at what you’re doing and what came before. Part of inclusiveness is acknowledging that you’re not the only person who has ever worked on the problem, who can work on the problem.

Adoption. A sign of success is that they’ve take it, use it, and contribute to it.

Now we will discuss.

Q&A Session

This supposedly not shy group, but is actually shy a lot of time.

Do we not think we’re not ‘real’ coders? Have the self imposter syndrome. But actually, she is a coder too.

Why does this community has to self-organize? Actually, awesome that this community has self-organized. Used to think every collection is unique and not doing the same thing, but we’re seeing emergence of communities that are realizing this is not true. For example, linked data community cross-fertilizing regardless of the type of collections they had. We self-organized was a sense of shared problem and shared passion.

No one organization can do it alone. We all need to work on it together.

Two most attributes to fail projects. One person thought it was a good idea, but no one else knew they were working on it. It didn’t succeed because there was no sense of participation, because no one was invited to participate. No one should work alone. We fail because we don’t collaborate.

How do you convince someone that they are a leader? Tell them that they are a success.

How do you adopt something when the leaders are not on board? ‘But everyone else is doing it, dad.’ Adoption by others. It’s really hard to be the first one though, we know.

Data-Driven Documents: Visualizing library data with D3.js

Bret Davidson, North Carolina State University Libraries

Workshop: Communicating the Library’s Value in Academia

The librarians had a half-day workshop where the activities focused on how we can communicate the value of librarians and the library to the rest of the university. Continue reading “Workshop: Communicating the Library’s Value in Academia”

Reflections on Communities through Collaborative Tools in the Government of Canada

With only two weeks left and after last night’s meetup, I thought I’d reflect a little on some of the Government of Canada (GC) initiatives I’ve been part of over the term that are outside of my assigned projects, most of which are fairly recent or new.

Young Professionals Network Committees

Admittedly, this is a departmental (not GC) group, but it’s worth a mention.

Many departments (if not most) have a Young Professional Network (even if not by that name). YPN has committees to organize events as well as other work to support staff at the department. I sat on and contributed to:

  • Retention and Renewal Report, another survey is going out to validate the results
  • Student Committee, where we’re currently trying to develop a new orientation guide for students in the department
  • Spend a Day with Senior Management, a job shadow event which has been approved by the YPN sponsor ADM

Contributing to the committees has been a good experience. It allowed me to meet other people working in different sectors and has given me a sense of accomplishment and contribution towards the department even if I’m not here to see the results.

Wiki Community of Practice – WikiCoP

My understanding is that my coworker started wikicop about a year ago in order to have people in the GC community meet every 1-3 months and share ideas, knowledge, and experience on their internal wikis as many departments are developing or have them now. Although I only got the chance to attend a couple, it was great to see what other departments were doing with their wikis and to participate in the discussions. I also got a chance to see a couple of the ways Confluence was being used, which was neat.

GCPEDIA

The GC wiki, GCPEDIA, is a great place for GC staff to share information GC-wide without making it public. There is a lot of great stuff including draft strategies, guidelines, and start up initiatives surrounding all aspects including social media and web usability. I didn’t actually take part in sharing much information, but I have been helping with maintenance. Most of it is day-to-day stuff like fixing broken/double redirects, categorizing pages/files, and page clean ups, but I have also:

  • participated in a wikibee (essentially you do a big clean up as a group in person) for UXWG (User Experience Working Group)
  • been helping with the migration to a new and much improved National Inventory of Bridgeable Students [internal link]

Doing wiki maintenance has helped me learn more about the different departments and what goes on in GC. I also got to know a few people through doing wiki maintenance and participating in the 2011 Best User Page Contest. It was lots of fun!

I think that’s one of the things that makes GCPEDIA interesting to work on. The very active (more permanent) people have been very encouraging (i.e. @jesgood and C. Au) and people will do little things to increase the sense of community and enjoyment, namely by making fun user boxes. I got a green belt/experienced contributor award (basically it’s a level up system based on how much you contribute to GCPEDIA), the 5th level, which I think is pretty decent for a single summer.

Web 2.0 Practioners – W2P

It’s kind of funny, because I avoided Twitter for the longest time. I didn’t think I’d have much use for it, and it just seemed like another social media platform, especially since I don’t have a phone with internet and lacked a laptop for the longest time, I didn’t see how I’d get involve with any conversation.

I was pushed onto twitter because of work. It helped that I got tweetdeck installed. Regardless, I was somewhat surprised by how much of day-to-day sharing between GC employees involved twitter. I shouldn’t have been, but then I used to work at an agency where you had no internet access.

It’s been a great source of keeping up with GC Web/technology news, finding interesting reads, and resources. But most of all, #w2p really taught me what a great community can be built through twitter. It’s been a rare experience for me to simply show up and be so welcomed into a group of veritable strangers. Being a little nervous about going by myself to my first #w2p meet, I was encouraged by many #w2p members most memorably by @spydergrrl (for various reasons includind the fact that she was a co-host). At the meet, I ended up chatting mostly with @mhellstern who introduced me to lots of other people. It was great.

The proof that #w2p can just suck you in (in a good way) is how involved I got. After only two meetups, I ended up co-hosting last night’s meet up. Thanks to @macjudith and her discussions with a friend, the meetup’s theme was to meet the (bridgeable) students of #w2p and I cohosted with @mhellstern (I didn’t even know she was a bridgeable student!). Each student/recent graduate got a couple of minutes to introduce themselves and “sell” themselves just a little bit. We had a great turn out, plus as always, great conversations and stories. I got to finally put a few more faces to twitter nicknames, especially the ones from my department! Not least of all, it meant I got to add another userbox to my GCPEDIA user page (see the fun?).

I will definitely miss #w2p, because unless I get a position in the area in the future… well, it’s not unknown that getting a group together like this outside the NCR can be difficult since this is where most GC staff work and where a lot of this type of work is done since this is where all the “headquarters” are located.

Sense of Contribution, Engagement, Belonging, and Community

I’ve frequently heard people on contract talk about how they don’t in any way feel connected to their department, or the government, especially as a student when you may conceivably never return in, but I didn’t get that feeling thanks to joining #w2p and other groups. There are of course so many different ways to get involved and to find out what’s going on in the GC world, and these are but a few examples, so I encourage GC staff, especially students to get involved; it doesn’t matter that it’s only for a short time, and newbies are welcomed!