So I've been toying with the idea of organizing a Hackathon in our department for a while. Wikipedia states a hackathon is:
An event in which computer programmers and others involved in software development, including graphic designers, interface designers and project managers, collaborate intensively on software projects.
I knew JHU had one at Hopkins: HopHacks recently, which I was excited about but could not participate in. After Googling recently, I found a Baltimore Hackathon. The office of the mayor is all about getting some hackathons going on in Baltimore (I love the comment “City funds will not be used for the purchase of alcoholic beverages”). I love this idea: a hackathon on city data will be hugely impactful, and it's a one-time chance to get access to it without government red tape!!“
HopStat Hack: a Hopkins Biostat Hackathon
The type of hackathon I want to do is a coding event, not producing prototypes or anything "physical” like doing soldering or programming circuit boards. While that sounds awesome, I don't want to burn down our department since I don't know what I'm doing. Now, what exactly am I talking about with a Hackathon?
I'm talking about getting a bunch of coders in a room, a bunch of food/drinks (and later some alcoholic drinks, to take advantage of the Ballmer Peak), and charge them with a problem at hand and a general guideline how to solve it. The guideline will be flexible, as unexpected problems always come up. There may be data available to solve the problem, but the data may be scraped or hacked from somewhere.
Why do a hackathon?
Why can't you do the project over time like other projects? I would like to list some reasons:
- There is a deadline. Whether it be 1 day or 3 days, there is an end, and it's soon. In academia, that is not always common, but I feel like it helps push people in a positive way (especially if the deadline is not met then nothing terrible happens)
- People are busy. If you ask someone to be a on a project, they will likely say no. Asking them for one day (and providing food), they'd be more open.
- It's hard to get a large number of people together for longer than a day. It's sometimes hard to even get them for a 1 hour meeting.
Here are some ideas we have toyed around at tea time:
- Make a fantasy football-type of system for an academic department. Metrics would be like: citations, grant money, years, tenure. I think it'd be interesting to think of metrics people choose to grade departments.
- Calculate Group h-indices. I don't know how they calculate the rankings, but it's a comparative tool. Even if you don't believe in h-indices.
- Create a longitudinal wordcloud. In that sense, it's a “3D wordcloud”, but that's reserved usually for this.
- Use Open 311 data to create statistical maps based on call data. For example: “Where's the most reported litter in the Baltimore?”
- Clean a large dataset (maybe with a data manager) for a specific outcome. I'm looking at you claims data.
Overall, I like the idea of “borrowing strength” from your fellow coders to get something done and get it done in one day. Also, I like the name hackathon. It's like a workshop where you get to dictate the outcome, be part of a team, and learn from fellow coders. Now, I'm going to work on getting the department to fund it.