Elastic - RTP, NC (2019-present)
Working on
Kibana Alerting
at
Elastic.
Principal Software Engineer
NodeSource - RTP, NC (2015-2018)
Making life better for Node.js developers at
NodeSource.
Senior Node Engineer
- Worked on backend of NodeSource products, including
N|Solid
and
Certified Modules
- Adapted the Cloud Foundry buildpack for Node.js to N|Solid at
nsolid-buildpack-cf-v3
- Adapted the Heroku buildpack for Node.js to N|Solid at
heroku-buildpack-nsolid
- Various cloud-y activity in AWS, including Lambda, S3, SQS, RDS, ElastiCache,
Elasticsearch, ECS, ...
IBM, Bluemix Developer Advocate - RTP, NC (2013-2015)
Bluemix (now IBM Cloud) is IBM's platform-as-a-service
offering, built on the open-source
Cloud Foundry project.
Senior Technical Staff Member
- Started playing with Cloud Foundry in 2013 - "the VCAP days"
- Provided help for users of Bluemix; whatever customers needed
to become successful with the product, via private engagements and
public support channels such as the public Bluemix forum
- Authored numerous blog posts and sample applications showing off
aspects of the platform
- Presented at meetups, conferences, customer sessions
- Primarily focused on node.js as runtime
- Developed the cfenv
and
cf-node-debug
node packages, making it easier to use node.js on Bluemix
IBM, WebKit/Cordova Contributor - RTP, NC (2009-2013)
IBM's initial contributor to the
WebKit project, to
get some skin in the game. Segued to a role contributing to
PhoneGap / Apache Cordova.
Senior Technical Staff Member
- Focused on improving WebKit's Web Inspector debugger
- Added support for "named eval()'s"
- Added "watch panel"
- Added initial support for console.table()
- Added support to display HTTP headers and data for XHRs
- Number small fixes/enhancements
- Developed
weinre
(WEb INspector REmote)
to enable some amount of debugging on mobile devices, while waiting
for the real thing to land in the device browsers
- Contributed weinre to PhoneGap, which shortly became Apache Cordova
- Contributed to design and implementation of initial Cordova core code
- Implemented sample plugins, including initial bar code scanner for iOS
IBM, Rational CTO Team Member - RTP, NC (2008-2009)
The Rational CTO team performed various tasks to ensure Rational was
making the best use of current technologies in their products.
Senior Technical Staff Member
- Contributed to the design of the
Jazz Foundation Services
- Consulted for Rational product development
- Early investigation on usage of cloud-based computing for Rational products
IBM, Project Zero - RTP, NC (2006-2008)
The Project Zero/WebSphere sMash project was
created to provide agile programming capabilities to web-based application
developers.
Senior Technical Staff Member
- Coordinated IBM's involvement with the PHP community
- Developed REST-based modeling tools
- Worked on the Project Zero web-based IDE
IBM, Rational Team Concert - RTP, NC (2005-2006)
The Jazz project was a reboot of IBM's
source code management and other program lifecycle management capabilities,
with a focus on Eclipse and web front-ends.
The technology is currently shipped in IBM's product
Rational Team Concert.
Senior Technical Staff Member
- Converted a fragile, unscalable web services framework to a dynamic
system, eliminating lots of boilerplate and providing a more agile
services framework for developers
- Developed Java- and JavaScript-friendly remote web services framework
and client libraries
OTI, Smalltalk and Java - Raleigh, NC (1997-2004)
Object Technology International
(OTI) was acquired by IBM in 1996. I worked on assignment to OTI during
this time frame, performing various roles such as Raleigh Lab Director,
and Tech/Team Lead for several projects.
Senior Technical Staff Member
- Analysis work for IBM Director-ish folk who
needed to keep abreast of Open Source Java technology.
Lots of reading and playing with stuff.
Tracked the Apache Geronimo project quite closely, before IBM's
purchase of Gluecode (employer of Geronimo developers)
- Lab Director of the OTI Raleigh lab, coordinating all work going on
in the lab with other OTI labs and management
- Tech/Team lead for the embedded GUI libraries for the WebSphere
Device Developer (WSDD) runtimes, including MIDP, AWT, P3ML, BMG,
and Degas/EGFX
technologies
- Co-wrote initial Eclipse SWT port for QNX/Photon
- Worked on operating systems/libraries
including PalmOS, WinCE/PocketPC, Qt, SymbianOS, and devices such as
Palm Pilot, HP/Compaq iPAQs, Nokia
Communicator.
- Worked on deeply embedded systems using QNX and
MontaVista Linux on development boards such as the Motorola MobileGT
platform and Intel CerfCruiser
- Designed/developed the audio interfaces for
MIDP 2.0
for the initial
releases of this functionality for the Websphere Device Developer product
- Lead developer of the
jxeLink
project, an embedded java linker
- Project management for two releases of the VisualAge MicroEdition product
- Embedded Smalltalk product development, including the Network Vehicle
concept car for Delco for Comdex '97, working with Delco, General Motors,
and Sun
IBM, VisualAge Smalltalk - RTP, NC (1993-1997)
Various jobs related to Envy/Smalltalk and the product based on that,
VisualAge Smalltalk.
Senior Software Developer
- Lead developer of the
Web Connection
feature of VisualAge Smalltalk
- Developed the the initial prototype of the VisualAge Java version of
the Web Connection feature, using the nascent Servlet technology and
pre-historic native server plugin libraries
- Designed / developed the communications layer (TCP/IP) and
GSS-API security API usage for the
Distributed Smalltalk feature of VisualAge Smalltalk
- Developed the initial port of Envy/Smalltalk to AIX
IBM, CORBA on DCE - Cary, NC (1992-1993)
Member of a small team that developed an OMG
CORBA implementation
on top of
DCE
for OS/2 and AIX.
Staff Developer
- Focused on the core libraries for the CORBA runtime for clients
- Co-authored official OMG CORBA IDL mappings for Smalltalk
IBM, Hickory text editor - Cary, NC (1991-1992)
Work on the Hickory text editor and follow-on Multi-Line Edit (MLE) Control for OS/2.
Software Developer
- Designed / developed the REXX macro interface into the Hickory editor
control
- Created numerous core and demo macros for the Edge editor, the sample
editor we shipped that used the editor control
- Designed / developed the text model for the follow-on to the Hickory editor,
a complete rewrite from OS/2 16-bit to 32-bit
IBM, Natural Language Processing - Bethesda, MD (1989-1991)
Base language dictionary access code (eg, for spell-checkers) and
advanced language parsing systems.
Software Developer
- Designed / developed dictionary building tools and dictionary
access APIs for the grammar checking editor
CRITIQUE
for both
VM/CMS and OS/2
- Designed / developed text-processing algorithms
for use in the natural language processing Twain library
for OS/2
IBM, Master Product Inventory - Lexington, KY (1985-1988)
Software developer for IBM's primary database of every hardware product
it sells.
Software Developer
- Developed batch programs for MVS
- Developed interactive CICS programs for 3270 displays
- Created programming tools as development aids for VM/CMS and MS-DOS,
using REXX
- Local expert on Intertest, a graphical step-mode debugger for CICS
programs