Matthew Steel


Programming projects


Duress-codes for encrypted data.

Unduress solves the problem of attackers having backed-up copies of your data and means to physically intimidate you. Any attempt to decode your data with the duress password will render it forfeit permanently. Moreover, duress- and decryption-codes are impossible to distinguish by prior to their use.


An experiment in raycasting and strange geometry.

Esssse renders scenes according to a unique "stained-glass" scheme. It casts rays on the vertices of random Delaunay triangulations and interpolates colours in between. The scene geometry is described by an adjacency structure of rooms with transformation matrices between each, allowing for the description of simple worlds inspired by M.C. Escher and Lewis Caroll.

Equilibrium Solver

A solver for the User-Equilibrium Traffic Assignment Problem.

Equilibrium Solver is a fast numerical algorithm to determine a city's steady-state traffic flow, given

Equilibrium Solver has been relentlessly benchmarked and optimised for memory and runtime use ("look ma, no cache-misses") because I apparently had nothing better to do when I was a student.

Bed and Breakfast

A mixed integer program solver (branch and bound, revised simplex method).

Bed and Breakfast is a proof-of-concept solver of mathematical programs of the form

min x,y cTx+ dTy
s.t. Ax=b; By=e;
     x≥0; y≥0; y integer.