Convert most http: links to https:
[wiki.git] / runninghackathons.mdwn
1 leonidg's notes for running a hackathon
2 =======================================
3
4 This is basically just a braindump I made while running Pterohacktyl
5 (2010-06-26).
6
7
8 Before:
9 =======
10
11 Announce the hackathon at the SIPB meetings coming up to it.
12
13 Send out an email to sipb-announce@mit.edu, mentioning date, time,
14 place, name, etc.  Sound excited and enthusiastic.  Add a "tl;dr" for
15 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. 
16
17 Create a Facebook event.  You probably want to be an administrator of
18 the SIPB Facebook group for this.
19
20 Add it to the SIPB Google Calendar.  You need to get bits for this as
21 well, obviously.
22
23 Advertise the event on your Zephyr class.
24
25 Send a reminder email the day before.
26
27
28 Expenses:
29 =========
30
31 SIPB allocates $150 to a hackathon (assuming approval of the vice-chair).
32 Most of this should be used on
33 food (see below).  If you have extra money, you can be creative.  For
34 Hackasaurus Rex and Velocihacker, we purchased prizes off of ThinkGeek
35 and raffled them off on the hour.  It was reasonably popular.
36
37 You should expect to spend, out of pocket, most of the $150.  You will
38 be reimbursed by SIPB.  Make sure to collect itemized receipts for all
39 purchases and put them in an envelope in the treasurer's drawer
40 ("incoming" folder).
41
42
43 Food:
44 =====
45
46 Purchase snack food at La Verde's.  Two 2-liter bottles of soda, two
47 large bags of chips and two jars of salsa have served us well in the
48 past.  Greg Price also suggests hummus and baby carrots as good
49 alternatives.
50
51 You will also want to purchase dinner food.  Ask around for
52 preferences.  In the past, we have purchased large amounts of Indian
53 food, including 20 mango lassis.  If you call and ask to talk to the
54 manager, you can likely get a small discount.
55
56 (N.B.: Dhesi Daba is not a good choice for cost efficiency reasons.)
57
58 It is generally a good idea to have a good idea what people actually
59 want.  In particular, take note of spiciness and vegetarian
60 preferences.
61
62 You should order food well enough in advance that the restaurant has
63 time to prepare and deliver it by the time you want it, but also not
64 so early that you don't have a good sense of how many people are at
65 the Hackathon and what they want to eat.  Probably around 2-3 PM is
66 the best time.
67
68 You can in fact order food from Mary Chung's if you have people ready to pick it up.
69
70 Technical stuff:
71 ================
72
73 Login script:
74 -------------
75 (Make sure you are on moira group sipb-www, as you will need to create
76 files in that locker).
77
78 For statistical purposes, it is useful to know how many people came to
79 the hackathon.  A simple Python app is available at
80
81     /afs/sipb/project/sipb-www/web_scripts/hackathon-signin/
82     https://sipb.mit.edu/hackathon-signin
83
84 The file
85
86     /afs/sipb/project/sipb-www/web_scripts/hackathon-signin/HACKATHON_NAME
87
88 contains the name of the current Hackathon.  This script will record
89 the users' input in YAML-encoded text in the file
90
91    /afs/sipb/project/sipb-www/web_scripts/hackathon-signin/records.txt
92
93 You can use this file for raffles (for prizes), statistics, spam,
94 stalking, etc.
95
96 Wiki:
97 -----
98
99 After this, you should create relevant pages:
100
101    https://sipb.mit.edu/hackathons/<HACKATHON_NAME>
102       Take a look at, e.g. https://sipb.mit.edu/hackathons/velocihacker/
103       for ideas.  Also, have https://sipb.mit.edu/hackathon and
104       https://sipb.mit.edu/<HACKATHON_NAME> redirect to this page.
105
106    https://sipb.mit.edu/hackathons/<HACKATHON_NAME>/projects This
107       should be a list of projects that are being worked on, including
108       people and locations.  Have an item for "your project here!" or
109       similar.
110
111       Also have https://sipb.mit.edu/<HACKATHON_NAME>/projects redirect
112       there.
113
114 Note that the wiki has no "create page" button, and there is no "edit"
115 button on pages that don't exist.  To create a new page, go directly
116 to
117
118     https://sipb.mit.edu/<NEWPAGENAME>
119
120 and click on the question mark.
121
122 To add a redirect on a page, the wiki code you want is
123
124     [[!meta redir=<DESTINATION>]]
125
126 Zephyr:
127 -------
128
129 Encourage discussion on zephyr, either on -c sipb or 
130 -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.
131
132
133 Social stuff:
134 =============
135
136 A hackathon is every bit as much a social event as a technical one, if
137 not more so.  It provides a unique opportunity for people to meet each
138 other and work together in informal environments, and for people to
139 get to know SIPB (and vice-versa).
140
141 As organizer, you should make every effort to talk to new people.
142 Make sure they feel welcome, answer their questions (and ask them
143 some!), and generally try to make sure they are engaged and
144 entertained.  It is very easy, especially near the end, for SIPB
145 regulars to get into a niche and for new people to feel excluded.  Try
146 to make sure that that doesn't happen.
147
148 Projects:
149 =========
150
151 Someone should try to help people find projects they are interested in.
152 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.
153
154 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.
155
156 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.
157
158 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.
159
160
161 Afterwards:
162 ===========
163
164 In general, it seems that Hackathons end with mostly hardcore SIPB
165 members sticking around the office (which is, of course,
166 understandable).  You should make sure that you clean up the office
167 (if you have to leave early, either clean up before going or delegate
168 someone else to do so).  If you want, you can try to organize a small
169 event (e.g. movie night).  Note that movie nights should not be
170 organized as official, public SIPB events (which the hackathon is) for
171 legal reasons.
172
173 Send a follow-up email, discussing stats, thanking people for coming,
174 etc.  Mention it at the following SIPB meeting.