Chris McCormick - Curriculum Vitae / Resume

Keywords: Python, C/C++, Linux, Games, Web, Internet, Pure Data, Developer, Freelance contractor

Contact Details
UK Landline:+44 (0)2033934676
UK Mobile:+44 (0)7827675722
 
Australia Mobile:+61 (0)403399386
Australia Landline:+61 (0)864248317
Australia Address:9 Bussell Road
Wembley Downs
Perth, WA 6019
Australia
 
Email Address:chris@mccormick.cx
Jabber:chrism@mccormick.cx

Career Objectives

Summary: I look for work in the games industry, IT industry and the arts, that will challenge me and keep me interested. These days most of what I do is freelance consultancy work in the games industry, specialising in free and open source software and web technologies, but I am also interested in contracts outside the games industry. I enjoy programming in Python, C/C++, and Javascript, and I enjoy doing DSP (audio) development in Pure Data.


Employment History

McCormick IT Pty Ltd
Start Date: Apr 2003
End Date: -
Position/Title: Director/Developer/Consultant
Contracts:
  • Reality Jockey Ltd, London - Developing web technologies to interface with the RjDj app, desktop applications for doing procedural and collaborative music, low level DSP library code, custom Python code, iPhone code, Android code, Pure Data patches. (Python, Django, Objective C, jQuery, Javascript, MySQL, PostgreSQL, CouchDB, Amazon S3, Facebook API, iPhone, Android, In-app purchase, wxWindows, wxPython, sockets, Pure Data, C/C++)
    (Nov 2008 - )
  • Interzone Games - Developing web technologies to interface with Interzone's games, specifically their massively muliplayer online (MMO) football game; Interzone Futebol (Python, Pylons, Django, Javascript, MySQL, PostgreSQL, Opensocial API, Facebook API)
    (Jan 2008 - Aug 2008)
  • Glick International - Developed a site-specific speech synthesis installation called Master Of Prayer (Pure Data, Python, wxWindows, Mbrola, Mac OSX)
    (Aug 2007 - Jun 2008)
  • Advanced Tenement Services - Developed a mining tenement management system (Javascript, Python, MySQL)
    (Jun 2007 - Dec 2007)
  • Manifesto Games, New York City (remote contract) - Fixed bugs in the drupal/paypal payment gateway (PHP)
    (Apr 2007 - Jun 2007)
  • Summit Resources - Fixed PPTP VPN/Linux issues
    (Mar 2007)
  • Perfect Accent project (second phase) - R&D for a voice recognition like system (C, Python)
    (Jan 2007 - Jun 2007)
  • Studio Robot - PHP/MySQL/Paypal integration for an online mp3 retailer
    (Dec 2006 - Jan 2007)
  • Perfect Accent project (first phase) - Initial feasibility evaluation for a voice-recognition like system (C, Python)
    (Sep 2006 - Nov 2006)
  • Wayforward Technologies, Los Angeles (remote contract) - Developed Gameboy Advance code for "SpongeBob SquarePants: Creature From the Krusty Krab", published by THQ. (embedded C, ARM processor)
    (Apr 2006 - Jul 2006)
  • Davison Brothers Code to control stepper motors which drive stop-motion movie cameras on special tracks (Python)
    (Mar 2006)
  • Embedded Technologies Corporation - PHP/Sqlite code
    (Mar 2006 - May 2006)
  • Papercut Media Pty Ltd - Database design, integration, web development (PHP, MySQL)
    (Apr 2003 - Dec 2006)


Pixelbox Networks Pty Ltd
Start Date: Jan 2004
End Date: -
Position/Title: Technical Director
Responsibilities/
Achievements:

  • Company director
  • Systems/Network Architecture
  • Maintainence, development, and deployment
  • Support


Murdoch University
Start Date: July 2004
End Date: Dec 2005
Position/Title: Tutor
Responsibilities/
Achievements:

  • Tutored Game Design and Programming Semester 2 (two years)


HyperCube Pty Ltd
Start Date: Jan 2003
End Date: Dec 2006 (company deregistered)
Position/Title: Developer/Director
Responsibilities/
Achievements:

  • Produced an unpublished Gameboy Advance game. A space shooter called "Meltdown"
  • Produced an unpublished PC construction game called "Hypercube Destruction Set"
  • Game sound effects synthesis (Pure Data)
  • Music and game soundtracks
  • Game engine coding (C, C++, Python, OpenGL, ARM processor)
  • Maintained website (PHP)


PerthWeb Pty Ltd
Start Date: Apr 2000
End Date: Feb 2003
Position/Title: Systems Developer/Network Administrator
Responsibilities/
Achievements:

  • Systems development (PHP, Perl, ASP, InterBase, MSSQL, MySQL)
  • E-Commerce systems development (Camtech, ThinLink, online shopping)
  • Cryptography and commercial encryption systems (RSA, Blowfish, PGP, SSL, C, PHP, Perl)
  • Server administration (linux, sendmail, apache, proxy, backups, unix scripting)
  • Windows client software development (Delphi)
  • Multimedia systems development - video, applets (C, Java)


Sema Group, Belgium
Start Date: Mar 2000
End Date: Apr 2000
Position/Title: Network Administrator
Responsibilities/
Achievements:

  • Network and systems administration.


TAB
Start Date: Jan 1996
End Date: Jun 1996
Position/Title: Computer Operator
Responsibilities/
Achievements:

  • Mainframe systems administration
  • Shift work


Education/Qualifications

Institution: Murdoch University
City/Country: Perth, Australia
Qualifications: Bachelor of Science, Computer Science (GPA 3.613)
Completed: 2008

Institution: Central TAFE
City/Country: Perth, Australia
Qualifications: Certificate 3, Network Administration.
Completed: 2003

Institution: Curtin University
City/Country: Perth, Australia
Qualifications: 2 years of a 3 year Computer Technology degree (embedded systems development)
Completed: Not Completed due to work commitments

Institution: Hale School
City/Country: Perth, Australia
Qualifications: High School TEE (Calculus, Applicable Math, Chemistry, Physics, English Literature, French).
Completed: 1995

Institution: Jakarta International School
City/Country: Jakarta, Indonesia
Qualifications: Middle School (Maths, English, Geography, History, French).
Completed: 1993

Sessional lecturing appointments

Edith Cowan University, August, 2008
Gave a lecture on composition and video games
Edith Cowan University, October, 2007
Gave a lecture on procedural game content algorithms
Edith Cowan University, October, 2006
Gave a lecture on my electronic music composition practice
Edith Cowan University, May, 2006
Gave a lecture on procedural game content algorithms
Murdoch University, July - December, 2004
Gave five lectures for the course Game Design and Programming - ICT 207

Open Source Projects

The following is a non-exhaustive list of projects I have released as open source software which get a substantial number of downloads

KnobsAndSlidersDS/FUDIKaosDS - These two programs for the Nintendo DS let you build interfaces and send data to and from the handheld to music programs on your PC. They consist of about 1,000 lines of C code for the ARM processor, and get about 100 downloads per month.
http://mccormick.cx/projects/KnobsAndSlidersDS

Looper Advance - This program for the Gameboy Advance lets you compose looped music. It was written in 8,000 lines of C++ for the ARM processor, and gets about 30 downloads per month.
http://looper.mccormick.cx/

jsGameSoup - This is a framework for making games on the web without proprietary components.
http://mccormick.cx/projects/jsGameSoup

PodSixNet - This project is a multiplayer game server written in Python.
http://mccormick.cx/projects/PodSixNet

s-abstractions - This collection of abstractions for the Pure Data [DSP] prototyping language help users compose music using friendly, easy to use GUIs. This library gets about 30 downloads per month.
http://mccormick.cx/projects/s-abstractions

There is a list of some other software I have written at http://mccormick.cx/projects


Conferences/Residencies/Speaking appointments

  EuroPython, June 2009
Location Birmingham, UK
What Gave a talk on how we are using Python and Django at RjDj, to break our application out of the iPhone jail.
   
  Electrofringe (This Is Not Art Festival), August 2007
Location Newcastle, NSW, Australia
What Gave a talk on using games technologies in audio-visual/electronic music performance systems, including the Nintendo DS, Commodore 64, Wii-mote, and PC gamepads
   
  Nextwave Freeplay Independent Game Developer's Conference, August 2007
Location Melbourne, Victoria, Australia
What Sat on the organisational committee and chaired a panel
   
  GO3 Electronic Entertainment Expo, Mar 2007
Location Perth, Western Australia
What Sat on a panel discussion about developing indie games in Australia
   
  Linux.conf.au, January 2007
Location Sydney, NSW, Australia
What Gave a talk entitled "GNU/Linux on handheld gaming devices"
Gave a talk entitled "Dr. StrangeArt, or, How I Learned to Stop Worrying and Love Algorithmically Generated Content"
   
  Audiosity, Artrage, May 2006
Location Geraldton, Western Australia
What Site specific art installation using an EyeToy web cam, the ARToolKit and some custom Pure Data patches. Patrons of the system place tagged vinyl boxes into a grid to specify the order of an audio sequence of collected and manipulated field recordings from Geraldton.
   
  The Salvation Show, Artrage, October 2005
Location Perth, Western Australia
What Site specific art installation using an EyeToy web cam, the ARToolKit and some custom C code. Patrons of the system move tagged paper boxes in space to paint pink and black fading dots on a virtual canvas.
   
  Linux Conference Australia, April 2005
Location Canberra, ACT, Australia
What Talked at the embedded systems mini conference - 10 tips for Gameboy Advance development.
Played a live set (using custom Pure Data patches).
Gave a talk on developing for the Gameboy Advance using open source tools.
   
  Straight Out Of Brisbane festival, December 2004
Location Brisbane, Queensland, Australia
What Gave a workshop on developing for the Gameboy Advance.
Played a live set with "Chrism&Fenris".
   
  Australian Game Developer's Conferece, December 2004
Location Melbourne, Victoria
What Gave a talk entitled "Gameboy Advance: Using Open Source Tools".
   
  Electrofringe (This Is Not Art festival), October 2004
Location Newcastle, New South Wales
What Spoke on the No-Input panel (regarding feedback loops and circuit bending in music).
Played a live set with "Chrism&Fenris".
   
  Freeplay Independent Game Developer's Conference, May 2004
Location Melbourne, Victoria
What Spoke on gameboy advance development panel.
Spoke on open source gaming engines panel.
Spoke on console hacking hijinx panel.
   
  Residency at The Kitchen, March/April 2004
Location Perth, Western Australia
What Performed electronic music on a weekly basis at The Kitchen in Leederville, Perth, with "Chrism&Fenris".
   
  Electrofringe (This Is Not Art festival), October 2003
Location Newcastle, New South Wales
What Spoke on a panel entitled "Sonic resurrections" concerning work on music software for gameboy advance and 6510/6581 chips.
   
  Australian Computer Music Conference, July 2003 (uncredited)
Location Perth, Western Australia
What "Circuits with the past" with Christina Thomas and Eleanor Ingram - designed and implemented two Pure Data patches for interfacing with midi/cv light sensors, video playback, and audio triggering over two laptops communicating via UDP.

Skill Summary

Non Technical Skills: Good communication skills.
Quick to learn new technologies and skills.
Excellent writing ability.
Conversational french.

Programming Languages

Python
C/C++
Javascript
Pure Data
PHP
Java
SQL
Perl
Shell scripting (bash)

Interests

Composing, performing, listening to music.
Futsal, indoor soccer.
Game development.
3d Modelling and 2d Design.
Digital electronics hobbyist.