Cloud and Open Source Developer and Organizer
My contribution history to Open Source projects has been varied, both by project and language, over the last 15 years. I am a quick study in new environments, and am always up for learning something new. (Further details can be explored at my Ohloh.net and github.com profiles.)
IBM (Nov 2016 – Present)
Cloud Architect – IBM Quantum (Jan 2019 – Present)
Part of IBM’s Quantum Development organizations with a focus on cloud enablement for Quantum Systems, and creating a model for building cloud native applications.
Onboarded the entire IBM Quantum Experience from legacy hosted cloud foundry to Kubernetes, including building a custom CI/CD deploy system to make it easy for developers to deploy code by committing to specialized branches.
Designed and Developed a fair share scheduler microservice based on nodejs and Postgresql. This provides a REST API for fairly managing the work submitted by users to the Quantum system, and ensuring that each receives their alloted time over the course of a month. The scheduling logic was implemented in SQL to allow efficient processing of past job data in making future decisions.
Built up an Infrastructure as Code model for managing cloud resources based on Terraform and Ansible. Let a combined devops / application development team to expand the scope of the Quantum cloud services to additional geographies.
Led effort to onboard Quantum service as a metered service as part of IBM Cloud. This involved substantial additional security and audit enhancements to the entire software stack.
Developer Advocate (Nov 2016 – Dec 2018)
Part of IBM’s Developer Advocacy organization, focusing on maintaining and building direct Developer relationships with a concentration on Cloud Infrastructure and Open Source Development.
Continued leadership in OpenStack project, including moving forward long time efforts such as global request ids between REST web services, and a unified quota model between all services.
Created demonstration application using microservices on Kubernetes and MQTT to provide real time CO2 intensity of energy on the NYISO Grid (like at ny-power.org). Presented the architecture and pattern at IBM’s Index Conference, Texas Linux Fest, and OSCON.
Created Application Developer-centric Kubernetes 101 workshop to give developers a flavor of what Kubernetes provides to make their lives simpler. Presented workshop to audience of 140 at Usenix LISA.
Created demonstration Hybrid Cloud healthcare application that bridged legacy System z health application into a React.js front end. Will be used in demos and presentations in 2019 and beyond.
Represented IBM at technical conferences presenting on technologies of interest.
Hewlett-Packard (Apr 2014 – Oct 2016)
Part of HP Cloud Team working on OpenStack upstream. Focus areas include Nova Compute, the Upgrade story in OpenStack, the upstream QA toolchain, the OpenStack API, and overall interoperability between OpenStack implementations.
Created the microversion API approach to provide a discoverable way to evolve OpenStack APIs over time. Helped implement this in Nova, as well as worked with other teams to bring this approach into their projects. Created a new approach for API documentation with the os-api-ref effort, that has enabled OpenStack teams to vastly improve the quality of their documentation.
Created plugin interface to DevStack (project to quickly setup development environments for OpenStack) to make it easy for projects to plugin into the DevStack interface for building custom development and test environments. DevStack plugins by OpenStack project teams now nearing 100.
Maintained the Grenade upgrade testing toolkit, which ensures basic upgrade hygiene in core infrastructure projects (identity, networking, block-storage, image management, and compute/vm services). Created a multinode model for running Grenade that allows testing mixed versions of software to simulate a rolling upgrade. Built a plugin interface to allow a wider range of projects to use this infrastructure for upgrade testing. Been one of the strongest advocates for the upgrade story in OpenStack.
Created and ran the OpenStack Bootstrapping Hour, which provided onboarding videos for people diving into OpenStack.
Samsung Research America (Nov 2013 – Apr 2014)
Part of the emerging Open Source Group in Samsung Research America. Focused on OpenStack upstream leadership and collaborating with teams with Samsung Electronics on OpenStack related projects.
IBM (1998 – Nov 2013)
Over 12 years of development and leadership at IBM’s Linux Technology Center. Specializing in getting engaged in nascent Open Source projects, and helping projects grow to be sustainable communities. Focus on clustering, virtualization, and cloud technologies across a myriad of language and execution environments. Prior to that I was a developer in IBM’s Global Services team specializing in web technologies, and part of the IBM Sydney Olympics 2000 effort.
OpenStack (2012 – present)
First IBMer with code accepted into the OpenStack project. Spear headed the IBM engagement with the OpenStack community moving us from virtually non-existent in the Essex Release (Apr 2012), to 7th overall in the Folsom Release (Sept 2012), to 3rd overall in the Grizzly Release (Apr 2013).
Core contributor (having approve or reject authority on patches) on Nova (compute service), DevStack (opinionated installer for developers), and Tempest (integration tests), and a number of smaller efforts.
Project Technical Lead (PTL) for the OpenStack QA Program (Jun 2013 – April 2014). Consistently in the top 20 contributors to OpenStack and top 5 reviewers of code submissions to the project.
Directly lead team of 12 within the IBM Linux Technology Center in our engagement in the upstream OpenStack project, creating focus areas around QA, Upgradability, and API stability. Consulted and mentored an additional 50 – 100 IBM developers throughout various organizations (Tivoli, Systems Group, Websphere, Software Group Standards, IBM Global Services, IBM Research) in both their OpenStack upstream engagements, as well as their use of OpenStack within IBM products and services.
Worked with large IBM customers (gov and financial) on early stage OpenStack prototypes. Provided support around Nova configurations for POCs.
NFS Ganesha (2010 – 2011)
NFS Ganesha is an alternative user space NFS server, written in C. Led a team to evaluate and harden NFS Ganesha for the IBM Storage products. NFS Ganesha was a very small project with only a couple of contributors, so this effort also required working with the maintainer to restructure the project so that it could become a self sustaining community. Developed GPFS (IBM parallel filesystem) plugin for the Ganesha project. Orchestrated a very tricky set of re-licensing, requiring local legal team in France, from CeCILL-C to LGPL to allow for production inclusion. Lead team of 4 IBM members to become a key part of the Ganesha community, and attract other organizations into
the fold. Ganesha is now a vibrant Open Source project.
OpenSim (2007 – 2009)
OpenSim is an Open Source implementation of the Second Life protocol written in C#. It can run under .NET or on the Mono environment in Linux. Engaged community at inception (project was < 4 months old) upon direction of an IBM Virtual Worlds Emerging Business Group. Became one of the founding 4 and grew project to a 20 person open source development community. Developed optimization for data store paths to multiple databases. Established internal OpenSim grid to showcase technology within IBM. Developed prototype molecular visualizer with IBM research. Established continuous integration system in the community.
Xen (2005 – 2007)
Led team for building management and other value add extensions to the Xen hypervisor, including innovative copy on write storage layer, physical to virtual migration, and verification system which enabled Xen 3.0 to ship on time with a quality level suitable for IBM. Proposed and led Speed Team project for more tightly integrating Xen with IBM hardware. Development largely done in Python.
Carrier Grade Linux Tech Board Member (2004 – 2006)
I was IBM’s Technical Representative to the Carrier Grade Linux working group of the OSDL from 2004 – 2006 as an additional part time responsibility on top of my technical role. I took over the Serviceability subsection of the specification and worked to ensure a vendor neutral specification that could be implemented by Linux vendors.
OpenHPI (2003 – 2005)
Participated in design and implementation of open source implementation of SA Forum Hardware Platform Interface specification (a C shared library that provides hardware control and reporting in an abstract way). Led a cross divisional team within IBM to develop both infrastructure and hardware specific plugins for the OpenHPI project.
SystemImager / OSCAR (2001 – 2003)
Joined LTC in open source clustering and high performance computing. Merged existing IBM LUI open source project with SystemImager (massive Linux cluster installation tool). Extended SystemImager to work on Itanium and PowerPC platforms. Development largely done in Perl.
Created installation component of OSCAR, open source HPC in a box project. Developed graphical front end in Perl-TK and packaging approach for OSCAR which is still used today in the project.
Additional Open Source Contributions
I’ve written or contributed to many other Open Source projects. Some of the more notable or active ones listed here.
- Home Assistant – Open Source home automation, written in python. Have merge authority on the project with over 50 patches contributed. These include the addition of hardware platform components, enhancements to the Polymer UI, and helping build out the testing infrastructure for the project. I’ve also contributed to numerous libraries consumed by Home Assistant for communication with network APIs for Unifi wireless controllers, Philips Hue smart lightbulbs, and Yamaha network enabled stereos.
- Drupal Modules – I maintain the Drupal based website for MHVLUG, which includes a few custom modules to automate publicity for the group. These include:
Additional Notable Personal Projects – Dormant
- icalendar.rb – took over maintainership of icalendar.rb library for 3 years, most active icalendar library for Ruby, helping integrate community patches and fixes. Recently handled project over to another maintainer to ensure longevity of project.
- inviter – Open source ruby on rails based online RSVP tool. Done as an open replacement for the evite service.
- Where is IO – Android application implementing Astronomical Algorithms to show the location of Jupiter’s moons over the next 72 hours to aid with observations. One of the first Astronomy application on the Android market. Now largely defunct due to far more professional programs in the market.
Community / Non Profit Experience
NY State Coordinator – Citizens’ Climate Lobby (2021 – present)
Part of the state coordinator team for CCL to help set strategy for climate engagement across NY State’s 22 CCL Chapters. Worked to establish Statewide Senate Action team to push for carbon pricing and strong climate legislation as part of the Build Back Better Act.
Group Leader & Volunteer – Citizens’ Climate Lobby (2017 – present)
Organized the local chapter for Citizens’ Climate Lobby for the NY-18 congressional district, working to pass the bi-partisan Energy Innovation and Carbon Dividend Act. Coordinated local volunteers in grassroots outreach, direct lobbying of our congressional rep, engaging with local media on climate, and working with local business leaders and community organizations to endorse strong action on climate change.
Founder and President – HV Open (2003 – 2019)
Created and still running the HV Open group (originally started as Mid-Hudson Valley Linux and Open Source Users Group) in 2003 to serve as an information sharing resource around Linux and Open Source in the Mid-Hudson Valley. This organization has been an anchor of the local technical community, drawing from 25 – 45 people per monthly lecture, as well as creating a spring board for other local technical groups to emerge, such as the Squidwrench hacker space.
Technology Volunteer – Poughkeepsie Farm Project – (2009 – 2014)
Contributed technology expertise to help raise the profile of local Community Supported Agriculture organization. Designed and implemented a refreshed website based on Drupal working from donated design PSD files. Took over maintenance of Drupal epublish module to provide an automated system for assembling, emailing, and printing news letters based on content contributed to the website. The increased visibility and professionalism of the new web presence helped the organization land a $100,000 USDA grant to address food insecurity in the city of Poughkeepsie (and was the smallest of the 10 organizations to qualify for this grant). Implemented a transition to Google Apps for the organization to help with data retention during staff and volunteer turn over, which had been a historic issue.
Public Speaking and Articles
I’ve been an active public communicator since 2001, presenting at many conferences and technical forums over the years. Public speaking engagements and related articles include:
- Developing Applications with Kubernetes – USENIX LISA
- Streaming Realtime Data with MQTT – HV Open
- Kubernetes 101 – NY IBM Code Meetup
- Adding MQTT to your Toolkit – OSCON
- Adding MQTT to your Toolkit – Texas Linux Fest
- Geothermal Heating / Cooling – IBM Indexconf
- Adding MQTT to your Toolkit – IBM Indexconf
- Building an IoT Weather Station – HV Open
- REST API Microversions – API Strat
- “Why we can’t have the Internet of Nice Things” – OpenWest
- Why we can’t have the Internet of Nice Things: A home automation primer – Article on opensource.com
- Moving Mountains: Landing Large Scale Changes in OpenStack – OpenStack Summit
- “Why we can’t have the Internet of Nice Things” – MHVLUG
- How do you even test that? – MHVLUG
- Minimal OpenStack – MHVLUG
- Minimal OpenStack – Cloud Open North America
- The Big Tent – A Look at new OpenStack Governance (co presented with Thierry Carez) – OpenStack Liberty Summit
- Juno Summit Update – OpenStack NY Meetup
- “When will then be now?” – Time in Software – MHVLUG
- OpenStack in 10 Minutes with Devstack – Cloud Open North America
- Elastic Recheck – Tools for Finding Race Conditions in OpenStack – OpenStack Juno Summit
- Life as an Open Source Developer – Hudson Valley Tech Meetup
- Software Engineering 2.0 – Invited Lecture at Vassar College as part of the Asprey Lecture Series
- Soup to Nuts: how an idea becomes an OpenStack commit – OpenStack Havana Summit
- OpenStack Overview – Opening of IBM’s Wallstreet KVM Center of Excellence
- Deploy KVM in your Datacenter Today – Panel Member at Linux Foundation End User Summit
- Open Cloud in the Enterprise – Panel Member at Linux Foundation End User Summit
- Open Source the OpenStack Way – Cloud Open North America
- Towards an Open Cloud with OpenStack – MHVLUG Meeting
- Getting Involved in Open Source – MHVLUG Meeting
- Introduction to Python – Vassar CS Student Requested Talk
- Distributing the Future, the hows and whys of being a Tech Volunteer – Poughkeepsie Chapter of the ACM
- OpenStack – Panel Member at Open Source Software Institute
- Solar System in your Pocket, and introduction to Android Development – Poughkeepsie Chapter of the ACM
- Building a Community Site with Drupal – MHVLUG Meeting
- Adventures in Android Development – Central PA Open Source Conference
- Git – MHVLUG Meeting
- Open Source Development – Poughkeepsie Chapter of the ACM
- A Decade of IBM’s Open Source Involvement – Ohio Linux Fest
- OpenSim – Ohio Linux Fest
- Ruby on Rails – MHVLUG Meeting
- Puppet – MHVLUG Meeting
Master of Science in Computer Science – 2009
Marist College, Poughkeepsie, NY
Bachelor of Arts in Physics – 1998
Wesleyan University, Middletown, CT