N Murdoch's Home Page
I am keeping the tone of this page informal. it's largely for my own reference.
Education
- Studied at the Applied Math Department, University of Western Ontario, 2011-2014
- Master of Mathematics, Computational Math. University of Waterloo, 2009-2010
- Bachelor of Mathematics, Computational Math with an option in Earth and Space. University of Waterloo, 2005-2009
Programming
Through the courses I took and various personal interest, I've written code in quite a few languages. Presented in approximately the order I learned them. Currently Python is the main language I use.
- HTML - Elementary school introduced me to it; I learned the minimum necessary to write my own website.
- Turing, QuickBASIC - High school programming classes used these. The most I ever did was software render a rotating cube in VGA mode 13h (yes, this was 2003, it was not modern hardware).
- SCM Triggers - Star Craft's map editor includes a visual programming language. Seems to have influenced the way I expect code to work since it was the first hobby-language I used.
- Java - First year University of Waterloo programming classes used it. After the course final checkers program, and a small web-embedded calculator, I lost interest in it.
- LaTeX - First year courses also introduced me to TeX. It's now my preferred word processing environment. I used it to write my Masters thesis, as well as other course projects.
- MATLAB, Maple, C++ - Encountered these in university courses as well. Learned enough to get things done, didn't like them enough to use further.
- R - I inherited interest in this from my father, a statistician. For my Master's program and research assistant work afterward, I almost exclusively coded in R when possible, although more for the vector based math than the statistical packages.
- qscript - The proprietary scripting language used by Racer. Used to add features missing from Racer, like buttons to open car doors, and working trailer hitches.
- Cg - C variant used in OpenGL vertex & pixel shaders, used by Racer. I debugged, optimized, wrote my own functionality, added fake ambient occlusion calculations, etc.
- Javascript - The advent of HTML5 Canvas made this more interesting to me - graphics programming directly into a browser, with few software/hardware requirements - good for hobby projects with small non-technical audiences. I never really finished any projects using it, though.
- Python - Some friends were writing a project in Python, and recommended it. I learned it fairly quickly from a website, and have used it in several projects - notably an app for Assetto Corsa, and a website hosted on Google AppEngine whose webserver is entirely python, whose source is on my GitHub account.
- Perl, C, lua, HLSL, Processing ... - I've debugged code in a variety of other languages as the situation required. I don't really know the languages but I've run code I wrote in them.
Hobbies
Racing Games
I've split this into pages that go into more detail. I've spent more time modifying the games than actually playing them.
- Midtown Madness 2 - the first game I spent a great deal of time on - most of the 3D art I did around 2002-2005 was for this game.
- Racer - Between academic work, I devoted a fair amount of my spare time to the free racing simulator Racer. The graphical aspects are much more open, so that's where most of my effort has been focused.
- Assetto Corsa - In 2013 I became enthusiastic about Assetto Corsa, another racing simulator. It's had better developer support than Racer, so I moved on.
Other Stuff
I have an Arduino that I mess around with occasionally. Currently it displays the title of the music I'm listening to via helpful Python running on my desktop. I sometimes construct paper polyhedra.
When I travel, I usually upload photos to Flickr.
Contact
My email address is nmurdoch at gmail, anything at nmurdoch.ca, or there's my facebook page. I'd prefer email, though.