Hi.

My name’s Jeff. I’m a computer guy, personally and professionally, specializing in Python development and Unix systems administration.

Most recently I’ve been mixing the two disciplines, writing development tools to make administration easier and more automated. The catchy label for this is “DevOps”, but all that matters is that it lets me do two complimentary things I love.

For more on my professional career, please see my resume and hiring pages.

Why you might know me

I am best known for maintaining a handful of popular open source tools and libraries, mostly centered around systems administration and project management; the most visible one is likely Fabric. I’ve also spent a lot of time rubbing shoulders with various Python and Django luminaries & attended just about every PyCon in the 2010s (plus a few other smaller confs).

Where I am, and have been

Born in the early 1980s, raised and educated in Western Massachusetts through the turn of the century, I spent the 2000s in the New York/New Jersey metro area and the 2010s in the San Francisco Bay Area.

At the time of writing (early 2020s) I’ve moved back to New Jersey, likely for good – though not without regrets. The West Coast will always have a special place in my heart.

I’ve spent many cumulative weeks each in the Pacific Northwest and South Florida, and have fond memories of both. Finally, I don’t consider myself super well traveled globally, but have had the immense pleasure of visiting Japan, Hawaii, the Caribbean, Canada, and the UK.

Where (else) to find me online

My email address is jeff [at] bitprophet [dot] org. And as you can probably guess, my online moniker is bitprophet, with various permutations as needed:

  • Signal: bitprophet.01

And some older ones I’m not super active on anymore:

I’m not on Facebook; it doesn’t feel worth the time. Apparently they create entries for folks without accounts anyways, so…maybe I am on Facebook against my will? Kinda creepy.

In the past I’ve identified as “Cyrus” and can still be found using that name at MetaFilter and the FFVII Citadel (which I used to run, way back.)

GPG key

Below is the plaintext version of my GPG public key. It has been used in the past to sign PyPI packages, though this practice has fallen out of favor.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

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
u6pINQ==
=7x3O
-----END PGP PUBLIC KEY BLOCK-----