Please note: the information in this résumé is not necessarily being kept up to date since I am not currently looking a new position or contract.
Site 11, Comp 9
Mayne Island, BC V0N 2J0
Web site: www.epiphyte.ca
- I have been programming professionally for more than eight years, and have been programming in my spare time for fourteen. The current phase of my career has been in digital media distribution. Prior to that, I spent four years in the video game industry, working on games for the PlayStation 2, Xbox, Nintendo GameCube, and Nokia N-Gage. Before that, my professional work was writing web applications using various technologies including XML, Java Servlets, Perl, ASP, and Cold Fusion, and database applications. I am always interested in expanding my horizeos, but am also happy to use my existing expertise. I am proficient in many programming languages, environments, and operating systems, and can pick up new ones in the blink of an eye.
- Programming Languages:
Very experienced with: C, C++, Java, PHP, Python, Perl
Significant experience with: Ruby, Scheme, Eiffel, Modula-2, Pascal, i386 assembly Language
- Operating Systems:
Symbian, GNU/Linux (Debian, Slackware, Mandrake, Red Hat, SLS), SunOS/Solaris, OpenBSD, FreeBSD, Digital Unix, Windows 3.1/95/98/NT/Me/2000/XP, MacOS, OS/2, BeOS, TRS-DOS and MS-DOS
- Graphics Programming:
OpenGL, Renderware Graphics (PC, Xbox, PS2, Gamecube), Direct3D, Maya (MEL) scripts, Photoshop plugin development
- GUI Programming:
Win32 API, MFC, X Window System, wxWindows, Java AWT/Swing, Python/TkInter
- Video Game Systems:
PlayStation 2, Xbox, Nintendo GameCube, Nokia N-Gage
- Web Programming:
- System/Network Administration:
Un*x system administration, SSH, VPN, firewalls, Sendmail, Exim, and Postfix mail servers, POP3 and IMAP servers, DNS, BIND name server, FTP servers, gopher, VNC, Majordomo mailing list manager, Samba.
Oracle 8i development, worked with Oracle 7.3, and 8. Microsoft SQL Server 7.0 and 6.5, SQL, PL/SQL, Transact SQL, Microsoft English Query and OLAP, MySQL, PostgreSQL, Microsoft Access
Sep 2005 – presentINgrooves.com, San Francisco, California
Principal Software Engineer (Contract, Remote)
Oct 2004 – May 2008Ian Thompson, Parker Island, B.C.
- Caretaker for a 19-acre property on a small gulf island. Duties include general yardwork, repairs, and maintenance.
Nov 2004 – May 2005Omega X Wars, Columbus, Ohio
Game Programmer (Contract, Remote)
- Creating Java server and Flash network API for a massively multiplayer online game.
Feb 2005Natalie Shumka, Victoria, B.C.
Web Designer (Contract)
- Implemented and created part of the design for artist Natalie Shumka’s web presence at natalieshumka.ca.
Dec 2004 – Jan 2005myu.com.tw, Taiwan
Web/Database Developer (Contract, Remote)
- Programmed, created database, and created elements of the graphic design for a myu.com.tw, web site that connects students with language teachers in Taiwan.
Sep 2003 – Jan 2004Blue Shift Canada Co., Victoria, B.C.
ESPN Major League Baseball (PS2)
- Improved PS2 texture compression, provided programmer and technical support to 3D artists, managed art data.
May 2003 – Aug 2003 Apex Reforestation, Prince George, B.C.
Brush Clearer (Seasonal)
May 2002 – Apr 2003 Exile Interactive Inc., Parksville, B.C.
Junior Game Programmer
Sega World Series Baseball 2K4 (Xbox, PS2)
- Wrote UI of and maintained a multi-platform texture compression tool.
- Created a multiplicative-to-subtractive lightmap converter.
- Maintained and modified PS2 texture compression codecs.
- Ported a stadium viewer to Xbox and PS2 and added features.
- Optimized art asset version control system.
- Defined project structure, setup version control and Wiki Web (collaborative web-site), setup VPN for off-site employees, implemented controls, camera, HUD, audio, and event system on PC and Gamecube.
Sep 1999 – Apr 2002 Success Information Systems Ltd., Victoria, B.C.
Managing Partner and Lead Web/Database Programmer/Technical Architect
- Lead developer of team that developed a J2EE (JSP, Servlets, EJB) web application for iPlanet Application Server providing the front-end for administering the system data in an Oracle 8i database.
- Designed and implemented a reusable framework for building web applications that front a database.
- Setup the development environment using Jakarta Tomcat (Servlet engine) and Jboss (EJB server) and production environment using iPlanet Application Server.
- Designed a multi-tiered application architecture for wireless services.
- Developed Java Servlets, Enterprise JavaBeans, and server application written in Java.
- Designed and implemented a database using Oracle 8i. Wrote Servlets that generate Wireless Markup Language for communication with mobile phones and other wireless devices.
- Designed an XML based protocol for communication between client and server.
- Setup development environment using ServletExec and Jetty, created coding standards, frameworks, etc.
- Managed five person team of programmers writing a Java Servlets based web application for maintenance of data in an Oracle database.
- Developed Java Servlets.
- Oracle Database Engineer for the project.
- Setup and day-to-day running of Sun development and production servers, numerous Oracle tasks, PL/SQL development of stored procedures, CFML (Cold Fusion) development, development of scripts (Python, Perl, Unix shell scripting) to automate tasks such as nightly FTP transfers.
- Database Engineer for the project.
- Modified an existing application to use a Microsoft SQL Server 7.0 database inplace of a Microsoft Access MDB.
- Wrote code which automatically manages the links to SQL Server in an Access front end database.
May 1997 – Feb 1999 Zerius Development Inc., Victoria, B.C.
Forest Renewal B.C.
- Lead developer for web application with user security, preferences, and portfolio system using Apache mod_perl, C, and a MySQL database, running on Linux.
- Designed data model.
- Ported to Windows and Linux from Macintosh, graphics coding, gameplay.
- Numerous behind-the-scenes and front-end CGI programs for Canstock.com, including parts of the portfolio system, all of Dataline and constantly updating stock tickers on sites such as www.transcanada.ca and www.bce.ca.
- Wrote code to stream stock market information from NAQ satellite feed to flat file database running on Solaris.
May 1997 RankTracker, Victoria, B.C.
Web Programmer (Contract)
- Developed a web-based tool that automatically queries the most popular search engines in order to aid a web master in determining how easy his web site is to find, and to improve the search results.
- Implemented as a CGI script written in Perl.
May 1995 – Apr 1997 Hyperion Business Corporation, Victoria, B.C.
System Administrator and Web Programmer
- Developed CGI programs in Perl and designed web sites. Administered a Digital Unix (OSF/1) Internet server.
- Installed and managed Apache web server, sendmail MTA, wu-ftpd FTP server, Majordomo mailing lists, and many others.
- Setup secure web server with Stronghold.
1995 Canadian Information Processing Society, Victoria, B.C.
Web Designer (Contract)
- Created prototype for web version of the CIPS newsletter and demonstrated it at a meeting.
1992 Stellar Systems Group, Inc., Victoria, B.C.
BBS System Operator (Contract)
- Setup and maintained a BBS for employees to access their e-mail and the network from offsite and home.
Mar 1999 – Aug 1999 Auroville, Tamil Nadu, India
Web/Database Programmer, Network Engineer
- Spent 6 months in this international township in southern India.
- During this time I did some volunteer work, including working in a tree nursery, setting up Linux-based network servers and firewalls, and training people to write web applications.
Additional Personal Projects
I have also completed many personal software projects, many of which can be found at my web site (http://www.epiphyte.ca/). These include:
- (1996-2003) A software Vocoder (voice transformer) written in C.
- (1996) A modular sound synthesis applet/application written in Java with an object-orientated interface. This has been in use as a teaching aid at Columbia University (New York, USA), De Montfort University (Leicester, U.K.), and National Taiwan Normal University (Taiwan).
- (2001-2002) A gateway that allows browsing of Gopherspace through any HTTP web browser written using Java Servlets and JSPs.
Sep 1995 – Dec 1997 University of Victoria, Victoria, B.C.
- Completed 2nd year Computer Science with 7.14 (A-) GPA.
- I speak and understand Dutch in addition to English.
- Dual Canadian/Dutch citizen, which allows me to live and work throughout Canada, the European Union, Aruba, and the Netherlands Antilles without needing a visa.
- Avid bicyclist, kayaker, hiker, camper, and traveller.
- Available on request.