Several of my personal code projects are hosted on my public Github account. However, most of them are sequestered away in a private repo, as I describe elsewhere.


I actively use the language, and have done so since before the Turn of the Century. I’ve built, and now maintain

Plus a couple of other one-off experiments that I’ve end-of-life’d.

And of course, there’s all of the increasingly legacy client-side code which you’ll find on my various sites. There’s plenty of it, and it’s on the slow train to Dustware.


I did my share of Rails work for previous employers, and in the process I grew to love the Ruby language. I use it for practically anything I need to do from the command-line that bash won’t cover.

So, let’s see here. I’ve got

Oh, oh! – and who could forget the Plugins and Tags I wrote for the Jekyll framework which statically builds my Shiny New Blog.


This project would be the Chef-based provisioning toolkits for my three individual server instances. Well, technically one of them runs in DigitalOcaan and monitors the other two.

I hand-built my first AWS instances back in 2009 on top of crusty old Fedora 8s. I wrote Capistrano tasks to interact with AWS, then eventually automated their reconstruction from my detailed notes.

Funny story, that …

In Spring of 2017 – recent to this writing – one of my Reserved Instances ran out, so I decided to save some money. It looked like transitioning from an m1.small instance to a t2.small would be a cost reduction. At the same time I decided to upgrade Ubuntu from Trusty 14.04 – which had been truly trustworthy – to Xenial 16.04. This wasn’t so bad, once I had fought through some Vagrant issues and migrated my services from Upstart to Systemd.

But having gone with a t2.small, I had to use Amazon’s VPC. And the ancient amazon-ec2 gem – which was awesome in 2009 – didn’t support the VPC. And I’d written all the code in Ruby 1.8.7 – which was awesome in 2009 – and that little gem couldn’t cross the 2.x barrier.

At the same time, I’ll probably need to upgrade from Capistrano v2 – which was awesome in 2009 – to v3 (or later). My health-check scripts even needed porting up to Ruby 2.3.x, thanks to SSL support divergence.

Sometimes your herd of yaks just up and demands to get shaved :scissors:


Shocking as it may seem, I continue to run a Spring + Hibernate app that provides the data layers which back my radio station.


Oh, yes. It’s also the static site generator for Ambience for the Masses. The stack uses JTA, JMX, JSTL Taglibs, RSS, XDoclet, Ant scripts – the whole ball of post-EJB TLA wax. My first commit on it – from back in CVS-land – was July 15th, 2005.

I also have an overblown Ant + XSLT-based generator for an some prior design of my personal site’s root page.

All of these solutions still work to this very day. And really, isn’t that just the beautiful thing about the JVM :blush: .


Nope. None of that yet.

Also, no Erlang, Scala, Go, Rust, Swift, Kotlin, OCaml, TCL, C# or Objective C. And while we’re on the subject, there’s no Fortran, Lisp, Logo, Ada, Smalltalk, COBOL or C++. Just start naming languages … it’s probably “nope” for all of them.

Hmm. Maybe there’s some archived Pascal code, atrophied Perl scripts, or plain old K&R-quality C that I’d rescued from the floppy disks of my youth.

Although of course, there’s always that One Exception;

Visual Basic

Yeah. I have a mess of archived VB code.

Does it run?

Hell no !

I do have multiple functioning Windows XP VirtualBoxes on hand, but I’ve never installed the VB tooling on any of them. Frankly, I’m quite content to leave it that way.

Sadly, all things must pass … though some things less sadly than others.