In short I'm just a guy who probably spends far too much time on computers.

A longer version of the above would be a guy that started mucking around with computers at aged 4, on the ZX Spectrum, and never stopped. I progressed through the Amiga 500, learning assembly and AMOS along the way, and ended up on PC learning pretty much any langauge I could get hold of (currently the list includes C, C++, C#, Delphi, Java, JavaScript, Python and Verilog along with a few brief flings with Visual Basic, Erlang, F#, Ruby and PHP).

I tend to spend most of my time using Windows, but run Linux on my servers and other embeded projects (if there's an OS at all) and I spent a few years using and digging around inside Mac OS X. Obviosuly I've got my own OS on my projects list, but haven't got that far yet, especially as I decided I wanted to design the CPU to run it on and the compiler as well.

As well as software I'm quite happy to experiment with hardware so I've had fun playing with PIC, AVR and ARM in various microcontrollers. My PCB designing skills are coming along and I'm starting to get the hang of fine pitch soldering (those 0.5mm BSC QFP packages can be 'interesting' to solder by hand).

When it comes to reading you're probably as likely to find me reading manuals or specifications as you are fiction. Obviously working in computing it never hurts to know how things work, even though I don't think I'll ever need to implement a USB 2 interface from scratch. That said, it's amazing how often something random I've read comes in handy when trying to work out why something isn't working.