INCF Leiden Hackathon

I am at the INCF neuroinformatics congress in Leiden and I am co-organizing an in-congress hackathon. An Etherpad is used to announce and coordinate tasks.

Participants

The following participants walked into the room during the 3 days that the room was open, presented themselves:

Shreejoy Tripathy, University of British Columbia
Richard Gerkin, Arizona State University
Zameer Razack, Bournemouth University
Tristan Glatard, McGill University, CBRAIN
Joris Slob, Leiden University
Barry Wark, Physion LLC
Stephen Larson, OpenWorm
Jeff Muller, EPFL-Blue Brain Project
Roman Valls Guimera, INCF

At first we started with very few participants, but there was a stream of people over the days, coming and going. Some exchanging knowledge, others just curious about the concept of a hackathon. Also, local researchers such as Joris Slob, who works with Ontologies and NeuroImaging were highly welcome, growing the neuroinformatics hackathon clique is always a good idea.

A special mention goes to Barry Wark, Physion CEO kindly sponsored this hackathon and briefly introduced us to Ovation, a great scientific management system that talks with many commercial cloud backends. Thanks Barry!

Hands on work

A hackathon basic principle is that of learning by doing. An early example of that started happening during the first minutes of the event via the collaborative integration efforts of Barry Wark and Christian from G-node. After a brief discussion, they both started coding Java bindings for NIX, a HDF5-based neuroscience exchange format. They used SWIG for those bindings so potentially, other programming languages could talk with NIX.

This is also a very clear, mutually benefiting, hands-on example of collaboration between industry (Ovation) and research institutions (G-node).

Another interesting initiative that surfaced during the event was a possible integration between CBrain workflow systems and INCF NIDASH neuroinformatics data model and reference implementation. Tristan Glatard and I went through the abundant ipython notebooks and documentation of NIDASH and after understanding the framework, proposed a quickstart for developers, which is coming soon.

The specific outcome from this would be to have an export provenance information fuctionality when publishing or sharing neuroinformatics research.

Meanwhile, Stephen Larson from OpenWorm got 2 INCF GSoC slots on 2014 edition. His particular mission was to improve packaging for PyOpenWorm alpha0.5 version that was produced by INCF OpenWorm GSoC student project and getting it ready for merge into master.

Stephen got to hear about the sorry state of packaging in Python but he took advantage of the hackathon time to fix and publish GSoC outcomes for easier public consumption.

Those in neurophysiology will love to hear that NeuroElectro API documentation was improved by Rick Gerkin together with Shreejoy Tripathy. It is interesting to see how much electrophysiology data can be extracted from literature, all the better if it can be queried via an API!

On my side, I simplified nipype (bummer here since it was fixed already) and pymvpa2 installation processes and revived interest in OpenTracker, a bittorrent tracker that could potentially be used as a more scalable data sharing backend for *-stars scientific Q&A sites.

If bittorrent had so much success in filesharing, why should not happen the same while sharing scientific datasets? Let’s lower the barrier for this to happen!

DIY hackathon

As Stephen Larsson from OpenWorm put very well anticipating the upcoming CRCNS hackathon:

  • Define the time and goals of the hackathon in advance that you have in mind and write them up.
  • Target your participants in advance and ask them to provide at least one-liners on who they are and what they do, and help you collaboratively make an ‘ideas list’. Good platforms for this are wikis (maybe a GitHub wiki), a Google Doc that is world editable, or as Roman used recently, Etherpad.
  • Lately I’ve been seeing folks use real-time chat more. Consider opening up an IRC chat room, or I’ve seen people liking HipChat, Slack, or Google Hangout (chat) for this
  • When the time comes, lead by example during the session by being there the whole time and driving the process. Maybe open up an on air google hangout if there is an in-person component and have people watch you hacking while interacting via chat / other collaborative media
  • During, try to collect a list of things that “got done”. This will be the meat you will use to demonstrate the effectiveness of the session to others who ask you to justify its existence :)

On that line, I’m looking at you, INCF Belgian node, who will hold such an event very soon.

Another important hint for such events is, in my opinion, to minimize the amount and time allocated to “speakers”. Doing should be prioritized over delivering a 30 minutes presentation, effectively moving away from traditional scientific congress formats.

Conclusions

Hackathons (or codefests) are meant to get things done, polished or spark new ideas and interesting collaborations.

This all happened with a relatively small amount of participants, but outcomes usually grow (to a certain point) the more engaged participants show up and work. See BrainHack as an excellent example of this.

INCF realized that hackathons should be considered as dedicated events, free from other (highly interesting) congress distractions and will continue to support them via Hackathon Series program.

A chained stream of science hackathons, such as the #mozsprint, celebrated a few months ago, helps in pushing tools, refinements and integrations forward. That is, standardized and interoperable neuroinformatics research, in line with INCF’s core mission.

More neuro-task proposals can be found over NeuroStars. Pick your’s for the next hackathon ;)