Maker Days is what you get when you take a team of 20 or so developers, feed them sugar and a pseudo-scientifically regulated amount of beer and sit them down at a computer for an extended period of time: An in-house hackathon arranged a couple of times a year here at SpeedLedger.
We form small teams around interesting or novel challenges and go at it. Some times the tasks are technically advanced dares on the outer rims of known code-space; other times, more banging rocks together in the hopes of having them throw beautiful sparks.
To kick things off we met for lunch at John Scott’s stable: A local pub with free access to a projector for presentations. As we ate we shared our ideas and formed loosely knit teams to take them on.
The actual event started Wednesday, two days after our lunch meet. With an array of snacks and caffeinated beverages at our disposal, we donned our mandatory MakerDays 2016-shirts and set to work. We were heroes.
Two days later we emerged from our makeshift cave to present the result of our labour. Each team got 5 minutes to give a brief recap of the original idea and the end-result. Encouragingly, all participants had something to demo and presentations proceeded with only the briefest technical hiccup.
So what wondrous creations did we come up with this time?
Thanks for asking!
- Das blinken lights
This mysterious LED-adorned box houses a Raspberry Pi programmed to detect mobile devices on the local network. It doubles as nerdy christmas decoration.
- The SpeedLedger Button™
Ah, the button. So succinct, so tantalisingly clickable.
“Why don’t we make a few for our partners’ admin websites, so that they may synchronise stuff like their member registry and what not?” mused Per, and so he did.
- Frikkin’ Flags
Dynamic and highly configurable feature toggles to let us try things out for a select group of users — like A/B testing — or simply activate and deactivate a service-feature without having to redeploy. Implemented using LaunchDarkly. (Note: No flags were harmed in the process of development.)
Based on the theory that everyone loves geometric shapes and random intermittent noise, one brave team set out to visualise user interaction events in almost-real time. The events were dirty polled from Elasticsearch and linearized so that they played one after another, rather than all at once much like a grand piano hitting concrete after being dropped from a tall building.
A lot of our intra-service communication is done synchronously even when it would be simpler to use an asynchronous data flow. This project experimented with exposing streams of logging events to consumers, using Kafka so that interested parties wouldn’t have to resort to dirty polling.
Finding Clear Reports’ PDF generation capabilities “slightly cumbersome” (“… holy crap, just look at all those boxes crammed on top of each other!”), another Per came up with the idea to replace it all with a custom-built report tool using HTML5 and CSS3 for layout.
Lastly a team of talented designers managed to freshen up the careers section of our website.
Awesome work everybody!
Last year we had some issues with screen sharing between teams; each team were responsible to share their presentation over the network so that remote location participants could partake. This year we opted for a simpler solution by having the teams connect directly to the projector and offering a video stream to remotes. Much simpler.
All in all, the event was a triumph (I’m making a note here, huge success). Most of the projects initiated were completed and the overall experience was rewarding.
Two days of hacking feels like a reasonable timeframe for hackathon projects; any less and we would be rushed to produce a viable candidate. It would be interesting to see what we could do with three days.