leonidg's notes for running a hackathon ======================================= This is basically just a braindump I made while running Pterohacktyl (2010-06-26). Before: ======= Announce the hackathon at the SIPB meetings coming up to it. Send out an email to sipb-announce@mit.edu, mentioning date, time, place, name, etc. Sound excited and enthusiastic. Add a "tl;dr" for lazy people. They traditionally start 1pm and go until 11pm or so. Any earlier and people don't wake up early enough and the office is lonely. Create a Facebook event. You probably want to be an administrator of the SIPB Facebook group for this. Add it to the SIPB Google Calendar. You need to get bits for this as well, obviously. Advertise the event on your Zephyr class. Send a reminder email the day before. Expenses: ========= SIPB allocates $150 to a hackathon (assuming approval of the vice-chair). Most of this should be used on food (see below). If you have extra money, you can be creative. For Hackasaurus Rex and Velocihacker, we purchased prizes off of ThinkGeek and raffled them off on the hour. It was reasonably popular. You should expect to spend, out of pocket, most of the $150. You will be reimbursed by SIPB. Make sure to collect itemized receipts for all purchases and put them in an envelope in the treasurer's drawer ("incoming" folder). Food: ===== Purchase snack food at La Verde's. Two 2-liter bottles of soda, two large bags of chips and two jars of salsa have served us well in the past. Greg Price also suggests hummus and baby carrots as good alternatives. You will also want to purchase dinner food. Ask around for preferences. In the past, we have purchased large amounts of Indian food, including 20 mango lassis. If you call and ask to talk to the manager, you can likely get a small discount. (N.B.: Dhesi Daba is not a good choice for cost efficiency reasons.) It is generally a good idea to have a good idea what people actually want. In particular, take note of spiciness and vegetarian preferences. You should order food well enough in advance that the restaurant has time to prepare and deliver it by the time you want it, but also not so early that you don't have a good sense of how many people are at the Hackathon and what they want to eat. Probably around 2-3 PM is the best time. You can in fact order food from Mary Chung's if you have people ready to pick it up. Technical stuff: ================ Login script: ------------- (Make sure you are on moira group sipb-www, as you will need to create files in that locker). For statistical purposes, it is useful to know how many people came to the hackathon. A simple Python app is available at /afs/sipb/project/sipb-www/web_scripts/hackathon-signin/ http://sipb.mit.edu/hackathon-signin The file /afs/sipb/project/sipb-www/web_scripts/hackathon-signin/HACKATHON_NAME contains the name of the current Hackathon. This script will record the users' input in YAML-encoded text in the file /afs/sipb/project/sipb-www/web_scripts/hackathon-signin/records.txt You can use this file for raffles (for prizes), statistics, spam, stalking, etc. Wiki: ----- After this, you should create relevant pages: http://sipb.mit.edu/hackathons/ Take a look at, e.g. http://sipb.mit.edu/hackathons/velocihacker/ for ideas. Also, have http://sipb.mit.edu/hackathon and http://sipb.mit.edu/ redirect to this page. http://sipb.mit.edu/hackathons//projects This should be a list of projects that are being worked on, including people and locations. Have an item for "your project here!" or similar. Also have http://sipb.mit.edu//projects redirect there. Note that the wiki has no "create page" button, and there is no "edit" button on pages that don't exist. To create a new page, go directly to http://sipb.mit.edu/ and click on the question mark. To add a redirect on a page, the wiki code you want is [[!meta redir=]] Zephyr: ------- Encourage discussion on zephyr, either on -c sipb or -c $HACKATHON_NAME. Don't spend a bunch of time trying to get people set up on zephyr. Consider asking Matt Goldstien (austein) to set up a gateway from a zephyr class (not -c sipb) to an AIM gateway. Social stuff: ============= A hackathon is every bit as much a social event as a technical one, if not more so. It provides a unique opportunity for people to meet each other and work together in informal environments, and for people to get to know SIPB (and vice-versa). As organizer, you should make every effort to talk to new people. Make sure they feel welcome, answer their questions (and ask them some!), and generally try to make sure they are engaged and entertained. It is very easy, especially near the end, for SIPB regulars to get into a niche and for new people to feel excluded. Try to make sure that that doesn't happen. Projects: ========= Someone should try to help people find projects they are interested in. One way to do this is to have enthusiastic happy person who knows whats going on at the door greeting people, asking what their interested are and routing them to the people leading those projects. It is also useful to have tasks listed on the whiteboard, with the language noted. This helps the greeter describe and point people at relevant projects. This requires that someone within each project to take time and sit down figuring out tasks. The goal of getting people working on projects is not so much to get work done, but to make the newcomer feel that SIPB is a place they can be successful and have fun hacking. The thing to avoid is someone who just doesn't know what they are doing sitting in a corner banging their head against something and ultimately giving up in frustration. This is difficult though because someone who is new won't really know what questions to ask and might be shy about asking them. Setting people up in pairs seems to be useful, as they will already be asking each other questions. Also if one person is stuck, they might just be self-conscious about it and quietly give up. If two people are stuck, they might be more likely to ask for help. Afterwards: =========== In general, it seems that Hackathons end with mostly hardcore SIPB members sticking around the office (which is, of course, understandable). You should make sure that you clean up the office (if you have to leave early, either clean up before going or delegate someone else to do so). If you want, you can try to organize a small event (e.g. movie night). Note that movie nights should not be organized as official, public SIPB events (which the hackathon is) for legal reasons. Send a follow-up email, discussing stats, thanking people for coming, etc. Mention it at the following SIPB meeting.