Everything open source
May 16–17, 2016: Training & Tutorials
May 18–19, 2016: Conference
Austin, TX

System software goes weird

Justin Cormack (Docker)
2:40pm–3:20pm Thursday, 05/19/2016
The New Stuff
Location: Ballroom C Level: Intermediate
Average rating: ****.
(4.40, 5 ratings)

Prerequisite knowledge

Attendees should have an interest in systems programming topics as well as programming experience. No experience with systems programming is necessary.


When the going gets weird, the weird turn pro.—Hunter S. Thompson

For decades, system software has been on its own path, diverging from the wider software practice in many respects: C has been the exclusive language; operating systems are monolithic among the largest software projects; occasional releases, rather than continuous delivery, is the norm; and testing is often relatively limited given the sizes of the projects.

But recently a diverse set of open source projects have taken standard programming practice and applied it to systems problems, producing software that looks very different. Justin Cormack explores a selection of these systems, in areas such as networking, security, and operating systems, and outlines what we can learn from them, how they are useful, whether they are useful, how much fun they are, and whether worse is better.

Justin discusses a range of projects, including Snabb Switch, which implements a 10-gigabit ethernet driver in LuaJIT, a scripting language often used in games, and can switch multiple 10G streams on commodity servers. It aims to be an Emacs for networking applications. Justin also looks at network stacks in functional languages, perhaps an unusual idea, and explains how unikernels are turning them into a new type of application that does not need a traditional operating system. While this software is unlikely to replace our current stacks, that is not the intention—it is to try to make new, more agile applications that need what have traditionally been “system” components.

Photo of Justin Cormack

Justin Cormack


Justin Cormack is an engineer at Docker with an interest in making systems software more accessible and secure.