We've celebrated a lot of big moments and launches over the last year – Facebook's 10th anniversary, Internet.org, and the new Hack language, to name a few. But while our teams were cranking away on major releases, we also took some time out for good old-fashioned hacking. We had 17 hackathons this year in Menlo Park, New York, Seattle, London, Vancouver, Tel Aviv, and even a castle and a museum! Facebookers started over 500 projects focused on product, infrastructure, data, and culture – some of which made it into the products over 1.3 billion people use every day. Here are some of our favorite hacks from 2014 – may they inspire your own hacks in the new year!
We've worked on improving the energy efficiency of our hardware steadily over the years through hardware and data center design, but earlier this year we also set out to improve the energy efficiency of our software. One major way we've saved energy is with Autoscale, which came to life in a Hackathon. Autoscale is a power-efficient load balancing system that allows us to reduce CPU consumption through adaptable decision logic and smarter distribution. In initial tests for one cluster, Autoscale led to a 27% power savings around midnight, and the average power saving over a 24-hour cycle was about 10-15% for different web clusters.
Knowing a hackathon was on the horizon, our London engineers refused to accept that flying drones indoors was a bad idea. With a strong desire to try more experimental hacks and foster community among Android engineers, a group got together and built programs for six drones using Android SDKs, like a "tour guide" drone that was programmed with a route to travel. But first, they “drone-proofed” the massive cafeteria, hanging netting from the rafters, blocking off the sprinkler systems, etc.
Most hacks focus on a well defined problem space and a set of well known tools. Sure, that approach works if you care solely about direct impact, but hackathons are also a great opportunity for exploring — for learning what we don't know we don't know. For this hackathon, we wanted to branch out and make a mess of things with some new Android technologies. Likewise, we really wanted to connect more with people doing exciting Android work in London. So, we had a plan: 1) Find some experimental Android tech, 2) Find some motivated engineers from outside of Facebook who wanted to use this tech to do awesome stuff, 3) Foster the Android community and have a lot of fun doing something a little crazy.
Our platform was the AR Parrot drone. This particular Drone has an Android SDK as well as a fairly decent NodeJS. You can find the developer docs here. As with any hackathon, we hit some snags. For instance, the Android SDK wasn't able to build on OS X when we started out. One team devoted their morning to making it possible to build the library. We also hit some fairly big snags with the stability of the drones. It seemed like every team struggling with a drifting drone for some of the day. Several teams attempted to stabilize the drones algorithmically, but we often found ourselves just fighting the lower level stability implementation.
The lesson we learned was that scripting the flight of the drones is probably not something that can be easily done in a single day. Rather, the teams that had more successful hacks avoided fine control of the drone's position, expecting that it would drift around a bit when hovering. In particular, a dancing drone project yielded a drone that, while still meandering around the space, actually pulled off convincing dance moves to the beat. Another interesting project combined an Android Wear watch's ability to accept speech input with the ability to control the drone remotely, creating a voice-controlled drone.
While the success of the hacks themselves was questionable, the primary goals were well-served – to try out some off-the-beaten-path technologies, do more experimental hacks, and to bring Android engineers closer together. It was certainly one of the more fun hacks, and maybe next round, they'll try Android-powered cars!
Mid-2013, Facebook started the @Scale technical conference series for engineers who build and maintain systems that are designed for scale. After hosting several smaller data, mobile, security, and sustainability-focused events at Facebook in Menlo Park, we put on a multi-track event at the InterContintental Hotel in San Francisco with speakers from 16 companies and 900 attendees. To help the attendees navigate the day and sessions, a small group put together an app with Parse at a hackathon.
Look for more apps built with Parse at next year's @Scale and F8! To build your own, check out parse.com/.
In October 2014, we launched osquery, an open source tool that makes it easier to maintain real-time insight into the current state of your infrastructure – from servers in the data center to personal computers of employees. An osquery deployment can help you establish an infrastructural baseline, allowing you to detect malicious activity using scheduled queries. This approach helps catch known malware (WireLurker, IceFog, Imuler, etc), and more importantly, unknown malware.
At Hack 45, the team created a “24 tables in 24 hours” challenge and invited the company to help them build new capabilities. For those who were unfamiliar with osquery, the team hosted development tutorials before the Hack to help people bootstrap their hacks and tables. The next day, the team released osquery at the Security @Scale conference, and are continuing to add new features.
LED performance monitoring
Inspired by Leo Villareal's “Coded Spectrum” art piece, engineer Olivier Notteghem built a custom LED display and diffuser with a wifi-enabled display chip to monitor infrastructure health through color-coded sequences of smoke test runs. He built the display as a decoration for the office, as well as to encourage his team members to write and maintain more automated tests. He's still putting the finishing touches on the software, but check out a video of the hardware here.
Midterm elections map
A group of engineers, data scientists, and policy team members got together at the hackathon before the U.S. Midterm elections to create a visual representation of people who were sharing with their friends on Facebook that they voted in the election. This map displayed the total amount of people who shared that they were voting, represented by the shades of color, as well as real-time sharing activity, represented by bursts of activity on the map during the course of Election day. The information displayed in the map was aggregated, and personal information like names were removed.
As our teams and offices grow, hackathons play an increasingly important role in maintaining our "move fast, be bold" culture and in forging bonds between people across the company. Cheers to a new year of crazy hacks, new features, and new friends!