Note: This post was first written on the 9th of December 2015
Hi! As I'm moving posts over to a new website, I'm, going to cross-post some of my older articles. Hope you enjoy!
- The Day Before - Preparation
- 4pm: Driving to Iowa State
- 7pm: Registration and Dinner
- 8pm: Let the Hacking Begin!
- 10 pm: Two Become Four
- High Hopes
- A Not-So-Rude Rude Awakening
- 1 pm: Getting Advice and Making Progress
- 5pm: Giving Up
- 11 pm: Spying on Other Teams
- 8 am: Another Rude Awakening...And Projects
- Reflecting on My First Hackathon
- What's Next
Having earned my driver's license over the summer, I was now free to drive wherever I want, whenever I want. Of the places I wanted to drive to were hackathons. With the power of Google, I came across Major League Hacking (MLH). As the "official student hackathon league", they are responsible for sanctioning hackathons across universities worldwide. While browsing their hackathons in North America, I came across HackISU which was hosted by Iowa State University, not too far from me. Having read numerous articles as to why attending hackathons would be great for finding internship opportunities, I set aside a weekend to attend HackISU.
Here's how it went.
The day before the hackathon, I packed the things I would use for the hackathon. Namely,
- My (broken) laptop,
- A rarely used Arduino starter kit,
- A 10,000 mAh battery bank,
- A spare battery for my Galaxy S5,
- A sleeping bag,
- A pillow,
- An unhealthy amount of energy drinks and Mountain Dew,
- A bunch of cables and
- Resume's for recruiters in case any of them want to give me an internship.
Having packed all that, I did my homework like the responsible1 college student I am 🤗.
After Calculus class, I headed off to Ames, 100 miles away. It was kinda scary since it was my first long distance2 drive. Since I'm writing this article, you can assume that I made it alive. After getting overtaken by only everyone, being scared of driving in the and navigating the ISU campus like a lunatic, I made it to the HackISU.
Registration was fine although they ran out of t-shirts. Having registered, I looked around to see what everyone else was and I got sad. Everyone seemed to have an idea as to what they were working on. Moments later, the event started and they went over the main agenda, the rules and code of conduct, the sponsors and the prizes. After that, we had pizza from Papa John's.
After dinner, I had to look for a team. It wasn't easy since most of the attendees were students at ISU, they already had their teams. I walked around the building where I stopped by the Hardware Lab. At that point, I came up with the idea of sending a notification whenever someone knocked on a door. While discussing my idea with one of the lab technicians, another person (let's call him EE guy) came in who seemed to have a better grip on hardware than I did. I then decided to team up with EE guy to work on the project.
As the two of us, we found two other team members, making us four. Let's call these guys CS Guy and CE guy. We discussed many ideas from image recognition with OpenCV to making a useless application like Yo. As we were finding an idea, an employee from Rockwell Collins came to talk to us. We asked him if they were making drones for the US Government (as Rockwell happens to be a government contractor) and he pleaded the fifth3.
Right next to us was a team working on an interesting project. They were trying to make an incredibly safe version of hot potato which would give you a slight shock whenever a potato hits your hand. After talking to them about their project, I connected to the internet so I could be more helpful to the team.
We finally had our idea- a black bean turret which would be controlled using an Oculus DK2 VR headset to aim and a Pebble Watch to fire. Not only did it involve the skills all of us were good with, we could learn a lot from making the project! Just as we solidified our idea, the MLH's hardware had arrived.
I went to get the VR headset and the Pebble Watch. While waiting, I got to talk to an employee from Workiva, a company which makes business productivity software, about our project. After talking to him, I got to check out the stuff we would need. They also had other equipment, such as
- Amazon Fire Phones #SAD4
- SnowShoes - pieces of plastic which allow for interactivity without RFID, Bluetooth etc.
- Oculus DK2s - a VR headset
- Leap Motions - a fancy motion sensor
- Pebble Watch Classic - The first ever smartwatch.
- Nest Cam - a wi-fi security camera
- Myo - a gesture control band5
- Muse - a brainwave sensing headband
Being able to use all that stuff was really cool, but we had to stick to the plan. I picked up DK2 and Pebble Watch, handed over my driver's license and credit card, and returned to hacking.
With our stuff and the realization that my teammates could get a free DK2 at my expense, we got ready to hack. And we started off strong in our assigned responsibilities.
I would program the Pebble Watch, EE guy would program the turret, CS guy would work with the Rift and CE guy would find a way to put it all together.
Within minutes I was able to get program a "Hello World" Pebble app using Pebble's amazing cloud based IDE CloudPebble. I was proud about this since I got something to work despite never having programmed in C.
Meanwhile, EE guy was able to design the 3D prints for the turret, which would shoot small airsoft pellets rather than black beans. CS guy was able to get the DK2 running on his laptop. As for CE guy... I didn't know what he was up to. He was a quiet guy so whatever he was doing could have been very important.
With this solid baseline, we now had to figure out how to stream video to the DK2. Getting videos to actually play on the DK2 was hard enough, what more an actual stream. Having had little sleep the night before and having to drive in the rain finally caught up to me, so I went to bed.
I suddenly woke up at 6:30 am extremely groggy. I didn't wake up because of a tap on the shoulder or a First Call. It was a slight "wake up" by one of the volunteers. Yet I felt so horrible.
If that wasn't bad enough, the pace we had started off with had started to fade away. While EE guy had the stream going, it had really bad latency. CS guy went AWOL and I still had no idea what CE guy what doing.
"No big", I thought to myself. I mean, I got "Hello World" running on a Pebble Watch. How hard would it be to detect a flicked wrist? Very hard it turns out. While memory management was totally new to me since I spent most of my programming life with garbage collected languages, I got the hang of it.
As for trying to get accelerator data, that was a whole different beast. I then decided to use their source code, but after two hours of hacking away, I got nothing.
At this point, we decided to scrap this idea. CS Guy was still AWOL and since he took his laptop with him, we couldn't work on the VR part of this project. Fortunately, we still had the original idea of sending a mobile notification whenever someone knocks on the door.
With this sobering realization6, it was time to get Subway for lunch.
After lunch, I headed to the Rockwell Collins booth to get my resume critiqued. The advice I got was to;
- Add an objective- so that the recruiter knows what I'm looking for.
- Fine tune the resume for the job I'm applying for.
- Fix the resume's layout- so that relevant information is quickly pointed out by the recruiter.
- Make more projects without an internship or relevant work experience, projects would help me stand out.
While I'm thankful for the advice, I can't help but note that all the resume advice has been very contradictory. Some want an objective, others don't. Some want projects on top, others want it on the bottom. Some love to see volunteering, others couldn't care less.
After the chat with the engineers, I went back to see what EE guy was doing. Turns out he was able to get the Arduino to pick up the door knock with the help of an oscilloscope7 and a piezo element8. It wasn't perfect, but it was amazing what he could come up with.
I went back to CE guy who was trying to get an a "Hello World" application to run on Android, which was really hard. I mean, @iamdeveloper gets it.
“Hello World” in Android development is 3 days of trawling through documentation, heavy cursing and an existential crisis.
It didn't help that my phone wouldn't connect to my computer in order to install the application.
We finally got the "Hello World" app running, but we had no idea how to work with push notifications. At this point, I gave up since this project was going nowhere. To celebrate my lack of will, I went to Buffalo Wild Wings and Starbucks. Once I came back, I messed around for hours, checking in on CE Guy and EE Guy every now and then.
EE Guy came to me since he needed help setting up the server. I didn't know a thing about servers, but a hacker from another team did, so they helped EE Guy. EE Guy got annoyed with the whole server setup thing and decided to implement what he learned from a side project.
I was in full "shove it" mode, so I decided to see what everyone else was working on. Some of the things I saw were
- a speedometer for a bicycle,
- Craigslist for textbooks,
- VR music kit,
- a Redbox-like8 DVD dispenser and,
- a Chrome Game of Wiki Races
The Wiki Races caught my attention since it was being made by high school students. Seeing the high school students with all this drive made me regret the time I spent as a kid. Then again, I ran a small business in high school, so that makes up for it.
Me: What was the best thing that happened in at this hackathon?
EE Guy: The windows are still intact and our laptops are in one piece
With the remaining time, I did random stuff, like reset my phone (which was so worth it)! I checked on CE guy who was still trying to get "Hello World" to work and I decided to catch up on sleep.
While I wasn't woken up violently, I was still incredibly groggy. CS Guy was still AWOL and EE Guy also went AWOL. I guess he finally snapped. Fortunately for us, the project worked...for two minutes! Ah well ¯\(ツ)/¯, I guess we'll have to go around and see what everyone else made which was the following
- Feed Me: An app that orders food for you after asking two short questions.
- A YouTube Playlist Manager - #meh10
- Get Me Food- Similar to the Amazon Dash Button, the only difference is that it's made for a college student's budget.
- MoBlocksMoProblems- These guys made a new mineral. A diamond sword I think.
- BookBuddy- Craigslist for Textbooks, complete with messaging and Vemno API Integration. I really hope this grows to become something bigger than just as weekend hack given how great the project is as well as the team members.
- BOT- Cool toy that comes with NFC enabled cards which tell it to dance.
- BalanceBot- a toy which never topples over.
- MimeSound- Think GarageBand for VR
- SafeTap- A Pebble app that lets you check in with your friends, if you don't check in at a certain time, a missing report is sent.
- Cybox- a personalized version of Redbox Boxes. Apparently, the creator has been wanting to make this for a long time.
- OffKey- I had a hard time understanding this one. Something to do with encryption I think.
- Tweet-Mapper- Performs sentiment analysis on tweets.
- Holographic Fighting Game- I never knew that you could make holograms from a monitor and some glass...
- The Boarding Firefly - Cool RGB longboard
All the projects can be found here. The projects which won awards were;
For my first hackathon, I did poorly since I didn't make anything and I gave up too easily. What this hackathon showed me was how much there is to learn. I mean, there are so many frameworks to learn, APIs to use and gadgets to hack. If I want to be of some value to an employer, I've got to make the most of college.
I also got exposed to a more vibrant tech/CS/engineering/hacking community which I don't get at my college. While I'm still socially awkward, I can assure myself that everyone else is socially awkward so my poor communication skills are met with more poor communication skills11.
From hackathons, I'm expecting to
- find a vibrant tech community,
- make something cool over the course of a weekend,
- win something after making the aforementioned,
- make some friends,
- learn something new,
- get employers to check me out,
- have fun and
- eat good food
This semester, I also got to go to MinneHack hosted by the University of Minnesota in the Twin Cities (Minneapolis-Saint Paul, Minnesota). I still didn't make anything, but I met some really cool people.
I wish... ↩
inb4 "I'll have you know that I've driven 12 hours from Somerandomplace, Iowa to $big_city". ↩
"Pleading the fifth" refers to the Fifth Amendment to the United States Constitution which gives one the right not to testify against themselves in criminal cases. In other words, refusing to answer questions that might result in self-incrimination. ↩
While this post was "published" in 2015, this post was revised in 2017 where Donald Trump became the 45th President of the United States after a rather...unique campaign. Part of that campaign involved Trump's idiosyncratic use of tweets, some of which express his feelings of sadness at some facet of American governance Basically, I didn't have any predictive meme capabilities allowing me to make a joke before it was used. ↩
In hindsight, using the Myo Band would have worked better than the Pebble Watch. ↩
More like a reminder... ↩
At least they made something... ↩
As much as I would like this to be true, I can't help but think of this piece of wisdom from Reddit. "If everywhere you go smells like shit, check your shoes". I really need to level up my social skills. ↩