The Web is remarkable in how simple is to put something up on it. It's predominantly HTML, CSS, and JavaScript, just sometimes generated and served in clever ways. I picked up (X)HTML and CSS as an amateur webmaster. Education provided an appreciation for JavaScript and an introduced to PHP. The need for a test environment drove me to learn how to set up a basic Apache Web Server on local systems. Work sent me tinkering with XSLT.

It's no surprise that I can look back on the small trail of sites I've made and trace a pattern of increasing sophistication. Nonetheless, I regard website design and implementation as something fun to do "on the side".

Below are some of the notable sites I've worked on.

Primary Access Node

The Primary Access Node (PAN) was my first website. It was first developed in the early 2000s and has evolved ever since.

The current design uses a PHP program to marshal the resources needed for an XSL transformation to generate the markup. A simple cache allows markup to be reused between updates, and the occasional image galleries are implemented with jQuery.

Project Rho

Project Rho is the website of the esteemable Winchell Chung (a.k.a. Nyrath the nearly wise.) In 2010, I volunteered to improve the layout, appearance, and maintainability of the Atomic Rockets section; this was joined by similar work to the sibling 3-D Starmaps section in mid-2012.

Both sections used PAN's website framework program to generate dynamic web pages. As the first exposure to requirements beyond my limited view, Atomic Rockets was, and is, a significant influence on the evolution of the program.

NavWeaps is the website of Tony DiGiulian and, like Project Rho, is a child of the early Web. In early 2016, I volunteered to improve the site's navigation and, to lesser extents, its appearance and maintainability. I applied a simple template program derived from the one used for the TTC subway transfers section, rather than the more complex website framework used by PAN.

Aviya Technologies

As a coop student, I had the privilege of working at Aviya Technologies during the summer of 2010. As a secondary endeavour I took a leading role in redesigning the company's main and careers websites. The was done between May and August 2010. Both sites used a near-identical backend based on Primary Access Node version 6.

Unlike PAN version 5, version 6 drew on XML data files and used XSL transformations for markup generation. Unlike the PAN's version 6, Aviya's variant could pick one or many XSL transformations, depending on the type of page being generated. For example, one transformation created a page with a tabbed pane layout, but another was used to create the index page with the Flash navigation wheels.

Before the upgrade, the main and careers sites did not use a code generation backend, and both were designed differently. The careers site was one large Flash application, unlike the more conventionally designed main site. One challenge when “porting" the careers site was including the functionality to change the background Flash movie played on the index page, based on which other page on the careers site the visitor was coming from.


Web development seems to be a natural adjunct to conventional desktop application, especially as environments like Microsoft's ASP.NET and Oracle's Java EE blur the line between what can be deployed over the Internet using predominantly desktop development skills.

Web applications are closer to my usual haunts of desktop development.


Foghorn is a web-based project management system completed in May 2010. It was developed over a year by a team of four students, including myself, to fulfil a degree program requirement. The client for the project was NRT Technology Corporation. Foghorn's design carried out in UML, with the final implementation being done using Microsoft ASP.NET with C# code behind, and SQL Server.

Notable features include AJAX-enhanced web interface, customizable user access control and management, and extensive change logging.

I had the pleasure of working with Kaitlyn Callow, Tommy Lee, and Steven Weerdenburg.



Processing.js (Pjs) is an open source JavaScript port of the Processing Java-based language used for electronic arts and visual design. Pjs paints on the HTML5 canvas element. It was my first open source programming project I was seriously involved with as a contributor.

In September 2009, I joined a team of students assembled by David Humphrey to give Al MacDonald a hand in completing the port, who in turn had inherited the project from John Resiq. In the following eight months, the project incorporated the infrastructure needed to accommodate multiple contributors. These included online code repository, online issue tracker, and testing an automated testing framework. By May 2010, the port was 80%+ complete.

Since then my own contributions have slowed to a trickle. My poor defence is that I am already stretched thin by other endeavours which need my attention, whereas Pjs is in good hands already.

Primary Access Node

Primary Access Node user