I'm a former IBMer and a former CBCer. Currently I'm the tech lead at Vubble, a digital media company.
On this verbose website you can read about what I do, my past and present jobs, and how to get in touch with me. There are also some anecdotes about how I started coding.
I've been building websites since the mid 1990s. I've done plenty of front-end (client-side) and back-end (server-side) development.
I still like jQuery because it gives me a satisfying amount of low-level control while abstracting browser quirks and non-standard syntaxes. But I've also used AngularJS for sites with that need more complete interface-to-database synchronization.
Over the years I've worked most often with PHP and MySQL. I've built many sites and systems from scratch, but I've also taken advantage of various frameworks including Drupal, Movable Type, ExpressionEngine and CakePHP.
I've also done plenty of WordPress work and I'm comfortable spinning off and customizing a child theme from a commercial third-party theme. When the need is there, I'm also happy to get my hands dirty and build a custom plugin or widget to solve a client-specific problem.
Moreso than ever, I find myself writing code that links multiple systems together. Like almost everyone, I've settled on RESTful APIs with JSON as the cleanest solution for sharing data, and I've found the StrongLoop (LoopBack) framework to be a quick and easy way to get those running with NodeJS.
While writing code is the most enjoyable part of web development, there's a lot that needs to happen around it. Of course I use GIT to manage and version-control my code, most often with BitBucket as a repository (and it has a handy simple issue tracker, as well.)
I've become somewhat emotionally attached to Sublime Text as a lightweight editor that is just helpful enough without being intrusive. I know my way around Windows, Mac OSX and the Linux command line, and I'm mature enough to admit I prefer nano over vi.
I am the tech lead at Vubble, a digital media company founded by fellow former-CBCers Tessa Sproule and Katie McGuire. Vubble is all about quality online video, combining human curation with algorithms to help us broaden our views and escape our social media bubbles.
At Vubble I'm responsible for the technical implementation of all our core tools and systems — that means our website, content management tools, payments, embeddable video feeds, APIs and anything else that comes down the pipe.
Some of the projects I have worked on over the past few years:
Boulevard Design is a graphic design studio in Aurora, Ontario. Their portfolio website demonstrates the wide array of projects they've completed over the past decade. I implemented the provided design as a fully-responsive static site atop a Bootstrap framework, and included a "lazy load" jQuery plugin to reduce the impact of the necessary high-quality images.
Ontario Genomics is a not-for-profit intermediary organization funded by the Ontario government. Working with Swerve Design, I implemented the provided designs as a static, fully-responsive single-page microsite that summarizes a report released in 2018. The detailed content is made more approachable through use of prominant images, transitional animations and modal overlays.
Top Stitch is small business offering quilting and embroidery services in Newmarket, Ontario. I launched a Wordpress website to help them promote their services, styling a third-party theme and coding a custom shortcode plugin to estimate costs for quilts based on dimensions and stitching features.
Transforming Faces is a Canadian-based charity that provides comprehensive cleft care for children born with cleft lip and palate and their families. Working with Design for Good I created a Wordpress child theme, implemented the provided designs, migrated their extensive library of existing content, and configured plugins to facilitate their future content growth.
In 1998, I completed my Computer Science degree at Ryerson University in Toronto and graduated into the madness of the original Dot-com Boom. Tech graduates were in high demand and, like many of my classmates, I had my first job lined up months before graduation.
That first job was at an agency where, after some brief online training, I was sent to work at Royal Trust in Toronto's Financial District. There I wrote PL/SQL queries and C++ scripts to process customer and financial data ported from a mainframe. I learned a lot, but the work culture and then-dated technologies of the finance industry didn't appeal to me.
By the end of 1998 I had moved to the IBM Toronto Lab, where I worked on the Websphere Commerce Suite product family. Initially I was a Function Tester, writing and automating test cases to ensure that each software build worked correctly based on the original specifications. Later I became a Team Lead, supervising teams of up to 10 testers and presenting progress reports to senior management.
I learned a ton about the software development cycle, but as a hands-on person I wanted to write my own code, and be more than a single cog in a larger machine.
In 2003 I left IBM and took a brief hiatus from the tech industry to backpack in Costa Rica, Europe and Morocco.
In 2007 I began working for the CBC where I built and maintained websites for many high-profile Canadian TV shows including Dragons' Den, Steven and Chris, The Hour with George Stroumboulopoulos and Battle of the Blades. I was also involved in the creation and integration of special digital projects such as contests, interactive games, second screen applications and reality TV voting integrations.
The CBC was my first exposure to working in media, which appealed to me, and it was exciting to contribute to websites visited by millions of Canadians.
In 2015, I left the CBC to take on my current role at Vubble.
On Christmas morning in 1985 I opened my biggest present and was initially a bit confused. Was it a fancy typewriter? No, it was a Commodore 64.
My parents didn't know much about computers but had prophetically determined that one would make a good gift for a nerdy 10-year-old. My dad had settled on the Commodore 64 after some assistance from a slightly bewildered salesperson at Canadian Tire, who was probably more used to selling car parts than computers.
The Commodore 64 had already been on the market for 3 years at that point and wasn't technologically cutting-edge, but it made for a very approachable introduction to computing. Since the computer came with only one cartridge game (the excellent Jumpman Junior) I soon began exploring what else it could do, with the assistance of the owner's manual.
One of the quirks of the Commodore 64, compared to today's computers, was that it booted directly into a prompt that ran commands in the BASIC programming language. This sort of exposure to the underlying workings of a computer would be unthinkable on a slick modern touch device.
I began working through the BASIC examples in the manual, writing code to create interesting patterns, simple animations, and interactive quizzes. I became familiar with the fundamentals of coding such as variables, arrays, loops, and conditions — and most importantly, how to conceptually break a larger task into a series of smaller, logical steps.
For my birthday that winter my grandmother bought me a subscription to Ahoy! Magazine, although she likely had no idea what it was about. That quirky publication provided me with my first exposure to the creative possibilities of computers. Most appealing to me at the time was that the magazine printed the source code for games, which readers could type in and run. This, by implication, also suggested that one person could conceive, build and publish a computer game all by themselves — a concept that was new and inspiring to me.
Over the next 5 or so years I spent countless hours in front of the computer, learning new programming concepts in BASIC, and even dabbling in (but never mastering) Assembly Language. Though I was limited by a slow processor, 16 colours and a 40-by-25 character display, I attempted to create every type of game I had ever played, from text adventures to RPGs to side-scrolling adventure games.
Unfortunately, my ambitious goals tended to exceed my abilities by just a little bit, so few of my efforts were ever finished in a polished state. Without the Internet or outside help, any problem that I ran into could prove a fatal roadblock, and I'd eventually have to start over with a different idea. But the process taught me persistence, and I learned the satisfaction of struggling for hours or days with a difficult problem before finally breaking through and finding a solution.
That cycle of effort and reward remains the core appeal of programming for me to this day, though thankfully I now have the added advantages of adult concentration and an Internet full of helpful documentation to help ensure my projects come to fruition.
As a teen I continued to code, briefly on an Amiga 500 and then on a succession of PCs as I moved into my university years. But I still have a soft spot for the Commodore 64, which had more personality in its meagre 64K of RAM than any modern smartphone.
I live in downtown Toronto with my wife Josie.
When we travel we update our travel blog at GotAway.ca.
I have a profile on LinkedIn but I don't go there very often.
I post my paintings of cityscapes and landscapes at CityPainter.ca and my digital generative art experiments at Genartive.com.
You're not a spammer, right, so why not send me a message?