I like problems and puzzles particularly those which can be scripted or which require coding (the computer kind) to solve. I often find that looking for a problem to solve is harder than coding the solution. Debugging is a different sort of challenge, although just as fun — assuming the source of the error isn't a missing semicolon or some other kind of typo.

I write a lot of Python, although web projects involve JavaScript and, rarely, PHP. I try to use the right tool for the job although that tool is never Java. Sometimes C is the right tool. Sometimes bash is the right tool. Sometimes perl is the right tool because bash isn't quite powerful enough. I started out programming in Ruby but now I prefer Python for reasons which are mostly non-technical. I dislike Rails but I like Django. Generally, I write web applications over desktop software due to portability issues. I do write django but my projects in django seem to be websites whose source I keep to myself.

I spend most of my time in Terminal and Emacs. The only activity which I have found to demand a GUI is web browsing due to images and video not displaying well in lynx. I prefer open source software and generally use Debian GNU/Linux or Arch Linux. Everything I code is covered by the GNU GPL v3 or later unless stated otherwise.

If you have a problem which you think I can solve for you and you're willing to pay me money in order to solve it, it is possible to contact me by sending an email to the account 'jobs' on this domain name. If you have a general inquiry or just want to contact me, you can send an email to 'info' instead. Most of my projects are on github — pull requests and issues are always welcome.

My Projects

My github account page

Letter Frequency

English letter frequency order goes something like "ETAOINSHRDLCUMWFGYPBVKJXQZ". Figuring that infrequently used letters were as good a source for a domain name as any, I picked xqz and found the .ca to be open.