Monday, 21 September 2015

Ten hackathons and counting…

Holy shit, it's been nearly a year since I've published anything on here. Guess this is a good time as ever to publish something, especially if it's fresh on my and a community I'm a part of's minds. Furthermore, I've been pretty unproductive this entire day (Sunday) so if this post is one item of productivity…

Said community includes those affiliated with Unhackathon, a hackathon I've sang the praises of and will continue to do so…more of that in a bit. What really got me tipped over to write this stems from two sources: a reflection after my time at MHacks VI, my tenth hackathon, and an unfortunate happening at Hack the North this past weekend, for which a fellow hacker community member wrote his own reflection on hacker culture on. I won't go into what exactly happened at Hack the North nor what Rodney wrote; you can check them out yourself.

On my side of things, I'm still gazing at this figure: ten hackathons since spring semester of freshman year. I didn't know what I was doing at HackPSU that spring semester freshman year, and to an extent, I still don't know what I'm doing even after a week or so removed from MHacks. And that's fucking okay; after taking the infamous Sociology 119 class at Penn State fall semester sophomore year, I realised that even a state of confusion over a subject is perfectly okay, especially when a complete picture of the subject has not yet been established. Furthermore, the company I interned at this past summer gave us all shirts with "never stop learning" on the backs.

If riding and racing my bikes (yes, that's plural) is considered pushing limits in physical ability and health, then going to hackathons and actually working on projects means pushing my limits in intellectual applications and health. That fateful HackPSU had me in a team with the then-president of our ACM chapter and two other first-time hackathon participants, one of whom the same semester as I and the current president of our ACM chapter. It really helped that we decided to work in PHP, something all of us knew at a semi-production level, for our hack that we, along with everybody else who submitted something at the end, demoed in front of the whole audience (because expo-style initial demos weren't a thing yet). I think that experience really showed how quickly I learnt how to apply the theoretical concepts from computer science classes into the various frameworks, APIs and programming languages I barely understood up until that point. But most importantly, it was a fun experience working with people I never had the chance to before even though we knew full well that we weren't anywhere close to "winning".

Fast forward to my first two PennApps, Fall 2013 and Spring 2014, respectively. The two hacks I worked on were still not even close to "winning" but that's still fine. The whole point was to work on stuff as a vehicle to apply classroom concepts and some wacko ideas to reality, ie frameworks, APIs, etc. Furthermore, other people actually cared about what we were making and how they could help! And when I say "other people", not only do I mean other hackathon participants, but even the sponsors came around to all the hacker spaces and struck up conversation even if it had nothing to do with hacking or what they sponsored the event for. This kind of coming together and interaction was what I had thought made hackathons magical.

My next hackathon, Unhackathon 2014, to this day is still my all-time favourite hackathon. Despite having everything that could possibly go wrong for the organisers, namely being unable to book coach buses from various areas and Stony Brook University (the hosting school) denying use of their facilities for the event (but then AlleyNYC coming thruuuu), I most definitely had the most complete experience out of all ten hackathons I've attended. Not only was the food plentiful and event shirts painted, everyone there, including the organisers, sponsors and regular participants, openly talked with one another about what they were working on and how to develop with various languages, frameworks and APIs. Despite my personal reservations regarding my abilities, I ended up helping another team with certain Python language features while the rest of my team took a nap. I even let a live-blogging hacker from Montreal use my Wacom (which died a few months later). Although I couldn't stay for the closing ceremony due to my ride back to school leaving during that time, the prizes were all non-monetary, which really discouraged much of the ulterior motives that permeates current hackathon culture.

Has this magical feeling changed? Oh hell yes. Starting this calendar year, PennApps Winter 2015 to be exact, I started exploring hardware hacking. I was having trouble sustaining the process of either coming up with my own ideas or working on my teammates' ideas for software hacks, but the other motivation stemmed from how an increasing proportion of winning hacks involved hardware hacking in some way. As a result, I started planning out hardware hack ideas in advance, partially out of a necessity to get parts or have access to them beforehand, and even trying to scrutinise who I would work with in advance. This was all part of trying to get to a formula of "placing" within the top ten. But after my two most recent hackathons, PennApps Fall 2015 and MHacks VI, where my teams didn't demo anything at the end of hacking, I'm starting to realise that this elaborate process of vetting potential teammates, sometimes idea planning but most definitely trying to decipher the "winning" formula in advance may be causing some burnout. Additionally, I'm seeing less of the spontaneous sponsor and organiser interactions and more entitlement to travel reimbursements, good hacking conditions and adequate free food. Perhaps certain hackathons are trying to grow too big, trying to attract too many people and too much sponsor money from megacorporations with desperation for return on investment, userbase and talented labour. And speaking of entitlement, it seems like sponsors providing API prizes are expecting teams to develop hacks that include them; consequently, some teams make it a point to include as many of them as possible in their hack.

I'm no developer evangelist and don't see me morphing into one anytime soon. I'm of the firm belief that not everyone should know how to program or anything beyond basic computer science concepts, but I will support those who possess their own motivation to break into this technology scene. With the amount of hackathons I've participated in and the experiences from them, there's a small obligation to help those much less experienced but as internally motivated as I at these events. Part of the reason why I enjoyed Unhackathon so much and the main reason why my MHacks VI experience didn't turn into a complete shitshow came from helping people on other teams. Apart from what I already described in a previous paragraph regarding Unhackathon, nearly everybody in my part of the hardware hacking room at MHacks asked me for help on how to set up their Raspberry Pis and used the $30 monitor I bring to pretty much every hackathon now. Helping others out is a good break from working on my own projects and it even provides insight on others' motivations, methods of attack, etc. Some of this stems from my teaching assistantship for a class, but that's besides the point.

A huge selling point of hackathons for me is meeting and working with people I had never heard of in an unfamiliar place. Every locale's hacker culture will feel different, not only by geographical location, but the people who make up that place's hacker culture, what needs they have and their accomplishments. It therefore angers me when I find out, by my own observations of hackathon organisers I know and from Rodney's post I linked earlier, certain hackathon participants take travel reimbursements to hang out with friends without intending to work on something there (I have no problem when they pay out of their personal budgets, without crowdfunding, etc). While I may have some carryovers from previous hackathon teams for other hackathons, I always strive to work with at least one person I've never worked with before. But apart from the participants, I also hope for interaction with the local technology companies, be them startups or medium-sized companies, so when the megacorporations and other companies from out-of-town sponsor hackathons with money and API prizes, the local feeling gets eroded.

Nonetheless, I'll probably be at HackGT this weekend and either Kent Hack Enough or HackNC in another two. Let's build stuff for the fun, not the bling. And while I have already made up my schedule for this semester, things can change if it's for the better. I will most definitely be on the lookout for smaller, more intimate hackathons for the remainder of this and the first half of next semester. (I hear Unhackathon will have another full edition then!)