This is the central website of Matthew Walton, a software engineer based in Nottingham.


As my job implies, I like (and detest) computers. I'm a free software enthusiast and like to program, although never get as much of that done as I hope to. When you write (proprietary) software all day, it's difficult to consistently summon up the energy or enthusiasm to then work on open source software in the evening, especially with so many other things to do.

I read a lot, and like to write. I used to do the annual National Novel Writing Month event, but now I spend all year poking at the edges of what may eventually become a proper novel. It is my ambition to eventually produce something publishable, but as with so many things I keep getting distracted.

My other activities include computer games (although they have been taking up rather less of my time lately), aikido (I'm currently ranked at 1st kyu and I also hold a level 1 coaching certificate), playing the recorder (no it's not just for school children) and viola da gamba (also called simply the viol), singing (I'm a tenor), cooking and the odd bit of gardening. In 2009 I took two ABRSM exams: grade five singing (distinction) and grade six recorder (merit). I'm hoping to take grade seven singing and grade 8 recorder in 2012, but past ambitions along those lines have been delayed so I'm not going to lose any sleep over it. I will take the exams when I'm ready and no sooner.


I make my living as a software engineer, so my primary skills lie in programming. I'm currently working mostly with .NET on Microsoft Windows, most of the code being in C# with a bit of F# here and there. I'm lucky enough to be able to use the newest versions of the .NET tools, so we've got quite a lot of interesting toys to play with. Some of them even turn out to be useful, and I've been particularly impressed with the Reactive Extensions to .NET (Rx) library.

Before September 2011 I had a less adventurous job in which I regularly wrestled with a vast multithreaded and rather old C++ codebase that I don't miss at all.

My education has led me into contact and some experience with Haskell, Epigram and Prolog, and I've also done some C# (with Mono for the slowly-gestating Paranoia Open Game System project), PHP and Pascal. I'm familiar with the GTK+ user interface toolkit's C, C++, Haskell and .NET bindings and have a working knowledge of SQL.

On the cutting edge, I've been keeping abreast of the development and implementation of Perl 6, for which I am working on the implementation of the library. You can view the primary git branch here at github.

Through freelance work I have gained a basic knowledge of Asterisk AGI, particularly using the AGI module for Perl 5.

I have a BSc (Hons) in Computer Science from the University of Nottingham, and I'm a Sun Certified Java Programmer for Java 6, but just because I have a Java certification doesn't mean I like programming in Java.

Other Places

My blog is hosted on my other domain. I might move it here eventually. It has much more content, and has had some actual effort put into its design. I still don't update it very much.

My LinkedIn profile is a more professional-life-oriented view of my experience.

My twitter account, my Flickr stream.

I'm also on Facebook, but I don't add people as friends just for the sake of having a large network.