codes

Most of the code I write is available via my Github account – pull requests always welcome! – but I thought I’d collate links to some of the larger codebases I’ve been involved with as well as some of the Github organisations I’m involved in.

Mirage 2010–date

MirageOS is a framework for creating unikernels that revisits of library OS work from the 1990s joined with the application of functional programming techniques (specifically, the OCaml language) and the of the Xen hypervisor. Compact, efficient, lightweight, self-contained, MirageOS unikernels can be generated from a single codebase to target anything from the cloud to small form-factor ARM devices. Our current focus is on support for the Internet-of-Things and the use of MirageOS to produce infrastructure that can be deployed by non-expert users as part of the HDI agenda.

Dataware 2011–2014

Developed through Horizon Digital Economy Research, Dataware represents a set of prototype services enabling control over access to personal data. Presents data via web services, and controls access via a personal catalogue. Third-parties access personal data by requesting permission via the catalogue, allowing accesses to be audited and managed.

Homework 2010–2013

Developed during the Homework project, the Homework router reconstructs the home router informed by ethnographic study of home networks ‘in the wild’. Uses OpenFlow (Open vSwitch and NOX/POX) to provide novel interrogation, control and policy interfaces to a home router.

Karaka 2007–2009

Developed at Vipadia Limited, this is a scalable software system implementing a distributed Skype-XMPP gateway released under the GPLv2. Copyright was acquired by Voxeo Corp. in January 2010.

PyRT 2001–2002

I developed the Python Routeing Toolkit while at Sprint ATL, who released it under the GPLv2. It comprises code for collecting and analysing routeing data. This package currently collects BGPv4 and ISIS, and dumps and parses MRTD files including MRTD TABLE_DUMP files (as available from, e.g., RouteViews and RIPE/RIS). A number of utilities for manipulating these dumps are also provided. Since the code on Sprint’s website appears to be orphaned, I have created a github repository here for it. I have also subsequently written an OCaml MRT dump parser as a learning exercise.

Copyright © 2009–2017 Richard Mortier