I started working with IETF protocols in 1988, implementing a mail transfer agent (RFC822) for the Amiga Operations System, including interfacing it TCP/IP sockets over SLIP, via a Sun 3/60.

In 1993, I was responsible for bringing web technology to the biology department at Carleton University, running the second web server in Ottawa, to support the journal Conservation Ecology. There were few web servers around, I ran Plexus, written in perl, which spoke TCP/IP directly. At the same time I worked on a project to bring an X-windows interface to a new OOP language called Self. This involved X-windows protocol work at the bit-level.

In 1994, I joined a company, Milkyway Networks, as Manager System Software. We built firewalls, and I was involved in every aspect of the system, from building the Sunos/Solaris and BSDi kernels, to defining the product opportunities. I implemented a proprietary VPN technology, replaced it with another proprietary solution based on Entrust. I reviewed and implemented SNMPv2, and participated in the debates about the various security models for SNMP, which lead to v2c and v3. I lobbied to implement IPsec for our VPN, but that project was not resourced. I started to use SSH for absolutely everything.

In 1996 I attended my first IETF meeting, and contributed to the security discussions for mobile IPv4 and IPv6, and the relationship between IPsec and firewalls. I got involved with SSH Data Security, and in 1997, I joined the company to build the IPsec/VPN product. We built for IPv4 and IPv6 simultaneously.

In 1998, I joined Solidum. Solidum made devices that can implement network policies, including IPsec Security Policy Database, and IPv4 and IPv6 routing. As employee #4, I did everything, including pre-sales.

In 2001, I became the technical lead for the Linux FreeS/WAN project, and brought test driven development and agile methods to the project. During the remaining 3 years that this project was funded, we implemented all sorts of things relating to public key protocols. Two RFCs were published: RFC4025 and RFC4332. I co-authored two other RFCs on IPsec security policy: RFC5386 and RFC3586.

While I was a SunOS and (Net)BSD guy through the 1990s, in 2001, I became a Linux desktop user in 2001. I still run NetBSD, and I've had tunneled (now native) IPv6 at my home office, run through BSD and Linux routers since 2000. I am AS26227.

In 2007 to 2009, I was involved with xdsinc.net/SIMtone.net. We planned to have upwards of 5000 virtual machines per cabinet, and several hundred cabinets of machines. We designed the entire project to be managed via IPv6, and to assume that IPv4 was in limited supply. I brought IPv6 programming and management to a team of 3 programmers, and 6 operational people.

In 2010, I architected an IPv6 first solution for a fiber build in eastern Montreal, and I currently run it as AS26413.

In 2009, I was a lead participant on the ISACC's Canadian IPv6 Task Force.

In 2011, I was a lead organizer for the Ottawa IPv6 Summit.

From 2011 to the present I am the lead developer on a PPPoE Broadband Network Server (BNS), adding DHCPv6 and OSPFv3 to the system. It was deployed to a growing number of customers. As part of this work, I participanted in the RFC3314bis (DHCPv6) rewrite.

From 2010 onwards, I have been involved with the ROLL RPL and 6tisch WGs.