Photo of Richard Mortier

Released Code


Personal Containers are an experiment in enabling you to collate and control your digital footprint. At the moment the focus is on collecting and managing your own data; future goals include developing ways to enable others to interact with your data for mutual benefit, while still retaining ultimate control yourself. The code is available under the GPLv2.


This is an experiment using Open vSwitch and NoX to control a wireless Linux access point as part of the wider Homework project. The repository contains snapshots of both Open vSwitch and NoX (as git submodules no less), as well as the Homework specific control script which currently provides basic PERMIT/DENY functionality based on MAC address and exposed via a simple web services interface.


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.


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.

Miscellaneous Scripts


bberry: parse RIM Blackberry backup (.IPD) files, extracting contacts
bib2json: convert BibTeX files to JSON
cal: replacement for Unix cal command: similar output, more options
ghpy: wrapper for GitHub REST API; currently can retrieve private collaborators
ip2as: lookup the AS owning an IP address
jsonpretty: pretty print JSON from stdin
num: print number in selection of useful bases
skrype: parse and print Skype .dbb logfiles
slots: compute number of people that can make each slot of a set of available times
tdump2txt: filter to pretty print tcpdump -x output


tt: module timetables
reg: module registrations


rfc2bib: convert IETF RFC index text file to BibTeX
id2bib: convert IETF Internet Draft index text file to BibTeX


envfns: environment manipulation shell functions
filefns: filesystem related shell functions
numfns: number base conversion shell functions
pdfmerge: merge set of PDFs into one


glob: glob shell function as binary
loadup: ensure n-of-m jobs in a batch kept running until batch completes
nohup: nohup shell function as a binary
range: Python’s range() builtin, for command line use