I am a software developer living in Ottawa, Canada. I have worked on designing and implementing virtual machines for over 20 years. most recently on IBM Java. I do a lot of photography as well as fishing as often as I can.
Masters in Computer Science • January 1988
My thesis was on multiprocessor garbage collection in Smalltalk systems. This was on stock multiprocessor hardware which had private local memory, no cache coherency which required a partitioned heap and used message passing to control execution. A garbage collection system with local and remote pointers was build on top of a message passing realtime OS, which allowed multiple Smalltalk systems to communicate and manage memory in a coordinated manner.
Bachelor of Science, Majored in Biology, with minor in Computer Science • May 1984
Member of Technical Staff • September 2020 - Present
I work on the developer tools team on developer experience. Our goal is to enable developers to quicky create applications on OpenShift, taking advantage of cloud developer technologies, and best pratices in leveraging modern runtimes for cloud native development.
Distinguished Engineer, Developer Experience CTO • Nov 2017 - September 2020
Distinguished engineer responsible for the Developer Experience for IBM WebSphere and Java runtimes.
Distinguished Engineer, Java CTO • January 2003 - September 2019
As Java CTO and IBM distinguished engineer, I am responsible for the Java virtual machine technology found in WebSphere and IBM products.
Software Developer and eventually CTO• 1988 - 2003
My role as virtual machine lead at OTI, I developer virtual machines for embedded systems, including real-time systems. Initially focused on Smalltalk systems, this evolved to include Java in 1996, and shipped in products from IBM, such as VisualAge for Smalltalk and Java, and WebSphere. I also worked on tools and open source ecosystems such as Eclipse.
My technology blog talks about software development in general, with Java, Scripting, Runtimes, Tools as a focus.Technology