About me

I started out as a physicist, but more recently I’ve been working as a freelance programmer and data analyst. I’ve worked in programming-centred jobs for a little less than 30 years, in fields as diverse as climate model development, programming language tools, and sonar (naval and scientific). I’ve also spent a lot of time thinking about effective scientific data visualisation: there’s a portfolio of selected images here.

I have a sort of programming bio here, and here’s my CV.

I’m available for contracting work — take a look here if you have an interesting project you think I could help you with!

Things I’ve been paid money for

Using:

Python, JavaScript, Go, C, C++, Haskell, Fortran (77 & 95), R, Ruby, Java, Lisp (Scheme, AUTOLisp, proprietary dialects), APL, SQL, Mathematica, Matlab, ArcGIS, Perl, NCL, PHP, MPI, Trilinos, SNMP, X, Motif, Povray, Tcl/Tk

to do:

  • Embedded software development (networking, signal processing)

  • High-performance web infrastructure (“Caching as a Service”)

  • Web applications (back-end and front-end)

  • Climate & vegetation modelling

  • Data visualisation

  • Applied dynamical systems

  • Parallel programming

  • Machine learning & dimensionality reduction

  • Statistical modelling

  • Scientific data analysis

  • Naval sonar performance analysis

  • Scientific sonar data analysis and interfacing

  • Distributed applications & low-level network programming

  • GUI programming

  • Programming language tools

  • Atmospheric radiative transfer

Other things I know about

  • Functional programming (especially Haskell)

  • Other LISPs (Common Lisp, Clojure)

  • Web programming (mostly in Haskell with Yesod; JavaScript)

  • Metalworking & workshop engineering

  • Mechanical design (AutoCAD)

  • Forth, some DSP assembler