Fivium Hack Day (2014)
As you can probably tell from this blog, I go to a fair amount of hack days and coding events in London. I like these events as it gives you a completely open playing field to work on pretty much any project you like and use any tools and languages you want. Unlike regular work where we have technical debt, paying customers and Gantt charts.
While talking to people in the office at Fivium, the company I work for, about these events sometimes people show an interest and come along, as Matt and Stephen did with Music Hack Day 2013. But not everyone has the time to spend an entire weekend coding away from home and families and not everyone wants to work on whatever the event theme is. Some people also worry about being the worst one at a hack day as they don’t know how their skills stack up against developers from all over London, the UK and the world.
This year however Fivium decided to have a company-backed hack day where any of the staff could spend a Friday afternoon to Saturday afternoon developing whatever they liked in the office. Ideally projects would be somewhat work related, but not related to any client work as that wouldn’t be any fun!
We had prizes on offer to try and entice people to come along and develop something good, and thankfully it seemed to work. For a company of 30-40 people we had around 20 attend, and the projects people worked on were all interesting, useful or funny.
Everyone arrived around lunch and set up base in the Fivium board room, with the wall opened in to the kitchen for some hacker-overflow desks. I invited all the Fivium UK staff as well as the students who would be joining us in the summer. The students thankfully could come along and hopefully got a preview of how we all work together and got to see the kind of code we can churn out.
The schedule I made up had us starting at lunch, talking about projects and getting in to teams of two or working individually. Then starting coding to 5pm.
At 5pm I set up a quick stand-up chat to make sure I hadn’t forgotten to organise anything, people were working okay and could talk about how things were going.
Matt isn’t only a great developer he’s an awesome designer too. He hooked us up with a logo, stickers (printed by Moo) and t-shirts. Though I wasn’t a great fan of the sticker where I was photoshopped to look like the Jenkins logo…
Over the course of Friday evening we had a few drinks, put some music on, and got some pizzas from Homeslice. People were free to head home and work remotely though most people stayed until the last tubes were running.
A few of us stayed in the office overnight, some working through the night but most making box-forts under desks to escape the motion-sensing fluorescent office lights.
Most people who went home were back on the Saturday before lunch time and got straight back to working on their projects. I spent most of my time wandering round making sure things were running smoothly and distracting people from working.
Then at around 4pm everyone finished up what they were doing and checked in their code to prepare for demo time. To help with the demos I put together two projects, one using python to control a Novation Launchpad MIDI controller as a time-display, where all buttons started green but one by one turned red to help people check if they were going to overrun on time.
Another was a Twilio-based text to vote system. As people did their demo I noted the project name down. After all demos were done people could text in the name of their favourite project to a special number and my website would generate a screen to show which project one. As you can see from this screenshot the chat project by Matt won over all, Bens No-tea-fy came second and Wills Autonumlock came third. Note that projects with 0 votes didn’t show up.
Matts chat project was a websocket-using, PHP backend HTML/JS frontend multi-room chat program. It had some great features like drag and drop file uploads, inline image embedding, source code highlighting and was generally very polished. This won first place and a Pebble Watch.
Bens No-tea-fy project was a tea-notification system where people in the office could register their tea-making preferences and when they wanted a brew. Then mugs with personal QR codes could be scanned in the kitchen to find out what tea/coffee should requirements there were, and finally the system would notify all hot-drink-users when their drinks were made. It was written in JS and worked surprisingly well, and it also solved a common problem for an office of tea drinkers, earning it second place and Ben a Samsung Galaxy Tab 3.
Will worked on a C++ program that noticed when an external USB keyboard was removed and turned numlock off. This might not sound like an issue but we all use laptops at work with external keyboards usually and numlock on. When we remove the keyboard to take a laptop to a meeting and forget numlock is on it leads to a frustrating first few words mixed with numbers from the laptop keyboard, so this was a much anticipated project. I didn’t get a photo of it as there wasn’t much to see, but it won third place and Will a Rat7 mouse.
Other notable projects I found photos of are Pete’s fridge monitoring system. We have a can fridge in the office so people can grab a chilled can when they need a sugar boost. Unfortunately some people take cans out and don’t replace them, leading to annoyed people later who have to have a cupboard-warm can.
Pete used Angular JS and a lot of custom JS written colour-matching code to use a webcam to monitor the amount of cans on the shelves in the fridge and send out alerts if the shelf was looking empty.
While a good concept it required a lot of set up, was very flaky and most unfortunately it needed the fridge door to be open to stop reflections showing up and confusing the code.
Two teams also worked on a project to take pubs listed on an internal trello board, where we rank and categorise pubs, and have a website to randomly pick a pub and show details about it, such as their website and google maps navigation. While the projects were sound they suffered issues during the demo and unfortunately didn’t win any prizes.
We did also have a prize for any project related to FOXopen, the framework we develop and use in-house. John won this with a great project that would help our developers debug screens when doing regular work. He won a bunch of fox based goodies including a fox onsie, which for his dignity I won’t post a photo of.
In general the event worked out well. People seemed to have fun, the network stayed up, people got fed and we managed to show off what we can all do when unconstrained. Everyone seemed to give me good feedback so hopefully we’ll get to have another internal hack day again soon.
All photos were taken by Matt Eason, Phil Porter or found on the Fivium UK Facebook page.