About Me

I started writing software at a young age on a shiny, new (and I assume insanely expensive) Apple IIe in the mid 80s. In college I studied Aerospace Engineering, and most of my software development work was in Computational Fluid Dynamics (CFD), which was the focus of my Master's degree. While in college, working on what I'm sure was a very important project, a friend came by and showed me something that would literally change the world - NCSA Mosaic - the first browser for the World Wide Web. I've been involved in some form of web or other software development since then.

I've worked on software of many kinds - Microsoft Office macros, web applications of various forms through several decades, web browser extensions, Windows thick client applications, and many others up to and including ground and onboard software to control manned spacecraft.

Over that time I've worked on, or with, a long list of languages, frameworks, and technologies, including (in mostly chronological order):

BASIC, Pascal, Fortran, C, C++, HTML, JavaScript/ECMAScript, CSS, Perl/CGI, VBScript/Classic ASP, SQL, HAL/S, Ada, VBA, ASP.NET, XML/XSD/XSLT, VB.NET, C#, Python, JavaScript/ECMAScript (again), web browser extensions, HTML (again), Node.js, Docker, Kubernetes, JSON Schema, shell/Bash, PowerShell, TypeScript, Rockstar, CSS (again)

These days I focus on open source projects, mostly automation and test tools. They're usually written in Node.js, sometimes in Bash, and almost exclusively running in containers. I use GitLab and GitLab CI, which I firmly believe is a better software development platform that GitHub (although I'll admit GitHub does have some better collaboration tools). I'm also a devout DevOps advocate and practitioner of continuous integration, continuous delivery, and continuous deployment (and yes, those are three distinct things).