Matthew Toseland (toad_)

This is Matthew Toseland (Toad)'s server.


For 11 years I was the chief developer for Freenet (a full time, paid role, working on awesome technology for an open source project, thanks to the generosity of our sponsors). Freenet is an anonymous filesharing system designed both to ensure freedom of speech (or more specifically, freedom to publish data for anyone who will listen) in the West, where it is threatened surprisingly often (usually by corporate or cultish interests but increasingly by government), and for underground friend-to-friend "darknets", possibly in China etc. It supports static web sites, searching, forums, IRC, Sone (a cross between facebook and twitter) and filesharing, with more on the way. It is immune to the slashdot effect, and allows you to publish anonymously from almost anywhere without relying on the corporate/NSA "cloud", and is extremely hard to block (at least in darknet mode). Give it a go, or even donate!.


My professional experience is mostly in Java 6 (and earlier; I've played with other languages but not used them professionally in any significant degree). This includes networking (UDP, some TCP, p2p and f2f topologies, reliable unordered link layer, nio some years back), crypto (link layer, keys, etc), security in general (crypto, cross-site scripting / HTML filtering, Freenet-specific attacks), the db4o object database, performance tuning and optimisation (some profile-driven work, memory, disk I/O), unit testing / simulation, and more, on all levels from debugging mine or others' code through all kinds of architecture and volunteer coordination / student supervision.

My future?

I am starting Computer Science at Cambridge in October. I have stepped down from my role as chief developer for Freenet, and have handed over the day to day maintenance to others. I will however work on finishing fixing the client layer this summer. I am interested in paid summer placements for 2015, and if I get into the master's year, for 2016. Once I graduate (in 2016 or 2017) I will be available for work. I want to study Computer Science so that I have time to pick up all the parts of CS that I've not been able to pick up on the job, either because they're hard to pick up without extensive study, or because I haven't had time. I want to determine whether the academic life is for me (if I do well in Master's year I may try for a PhD), and to have a wider choice of roles. If you can offer me a placement for next year, please get in touch! Long term, I'd like to work in a role that makes some sort of difference to the world: money is good, but it's not enough. I care in particular about climate change, online freedom, and poverty/social justice, and technology and computers are vital in all these areas, often in surprising ways. Obviously there are many jobs that are useful in some sense, but I'd prefer to keep out of the areas of mass-privacy-violation-as-a-business-model (web 2.0 etc, advertising), and anything to do with fossil fuels, aerospace or banking.

Professional ethics

I have joined the Association for Computing Machinery, which is very good value for money for journal access alone. However their code of ethics requires respect for software patents. I do not respect software patents. See here for a longer explanation.

Stuff hosted here:

Contact me

Powered by Debian.

Debian Apache