Projects
Physical
Folding Rings - My masters project. These fold from a bundle into a square or rectangle. Crucially the mechanism has only one degree of freedom. I'm not sure there is a practical application though!
Magnetic Wooden Knife Rack - Much nicer than metal ones!
Cider Press - Mmmm cider! (That's hard cider to you Americans!)
Etched Glasses - Acid-etched glasses. These are made by using vinyl as a mask for glass-etching cream. I have shot a video tutorial explaining how to make these, but have yet to finish edit it.
Picture Rail Shelves - Shelves that hang from your picture rail! Laser-cut MDF. Really just a proof of concept. They are not very strong. You don't have a picture rail? Heathen!
Unpickable Lock - A design for a totally unpickable lock! (Work in progress.)
Software
Android Apps - I've written some Android apps, modified others. Here they are.
Oddsocks - A useful and easy to use password-protected SOCKS5 proxy. Scroll down to the readme on github for more information.
Robocut - Linux/Mac software for cutting SVG files on a Graphtec Craft Robo 2 (or possibly 3).
Eve - An sslstrip-like MitM app for Android.
WebMS - The software that runs this site. Allows simple dynamic markdown-based page editing.
Midlets - Apps for dumbphones I wrote years ago, including a rather nice offline map of London, and a tube map. These are all pretty obsolete, unless you refuse to buy a smart-phone for some weird reason.
Beattrack - Automatic beat detection. This was intended to be an editor for DDR/Stepmania step files based on live (variable BPM) music. Unfinished though.
Mapview - For viewing Ordnance Survey MasterMap GML files and exporting high quality PDFs.
PDFSlice - A program for cropping PDFs.
Augmented Reality Ultrasound - Sounds cooler than it is!
HTML5 Canvas Slippy Map - Slippy map (like Google Maps) implemented with the HTML5 <canvas> element.
HTML5 Canvas Aliasing Test - It can be tricky to get a <canvas> that doesn't have annoying aliasing issues. These are some tests and details on the problem.
libsmbmm - C++ wrapper around libsmbclient. I used this and libsqlmm to create an amazing SMB search engine that was awesome at university. Some people rewrote it in PHP after I left because they were not able to handle its awesomeness.
libsqlmm - A C++ library that allows you to use several (currently MySQL and PostgreSQL) databases without changing code.
Squares - A native OpenGL copy of the flash game Squares2.
How-tos
Speaker Polarity Test - A simple way to get the polarity of your speakers right.
Read android web browser passwords
Tomato - How to install Tomato on an Asus RT-N16 router from Linux.