Technologies I've worked with

(Not an exhaustive list.)

Programming Languages

Python is the language I know best.

I have also done a lot of C/C++, Java, Lisp, Scheme, and JavaScript.

Other languages that I have worked with, but am not an expert in: Ruby, Haskell, bash, C#, PHP, Perl, Matlab, and Visual Basic.


I am primarily a back-end developer (Django is what I know best), but I can do full-stack web development, including JavaScript, CSS, jQuery, etc. As you can tell from this site, I am not a graphic designer. I will be happy to work with a front-end designer if that is an important aspect of your project. Things I've worked with:


I know Linux very well. I use it on my desktop as well as all the servers I manage.

I can do systems programming (i.e. things like sockets, process control, IPC, threading, epoll, etc.). I have some basic knowledge of Linux kernel internals.

I can also do Linux system administration, server configuration, etc.

Scientific Computing

I have a background in math and physics as well as some knowledge of machine learning and signal processing.

I have worked on assorted computer vision and computer graphics projects which have included lots of OpenGL and image processing. I have also done some "big data" and machine learning projects. I am comfortable with many of the standard Python tools for scientific work, such as IPython, numpy, scipy, pytables, matplotlib, etc.

Other things I've worked with:


I have worked with Postgres, MySQL, and SQLite extensively, and redis to a lesser degree. I have done lots of database design and implementation and know SQL reasonably well.

GUI Toolkits

I've worked with Qt, GTK, WxWindows, and WinForms.


Embedded Systems

I have a little experience programming the Arduino and STM32 microcontrollers, and would be interested in doing more of this.