About
Based in rural southwestern Ohio, USA. Coder by day, game master by night.
I am all about a good story: hearing, witnessing, or creating. Tabletop RPGs are my medium of choice. I consume books voraciously.
I believe in both the power of privacy and the power of sharing. People over profits. We must hang together or surely we will hang separately.
Socials
Stuff I Do
Volunteering
- Fosstodon - I am sometimes a senior moderator on the Fosstodon Mastodon instance.
Media
- Neon City Radio -- My cyberpunk radio show for jnktn.tv
- Neon City Studios -- My owncast server for streaming music, games, and other things.
- The Lair of Secrets -- I contribute words and voice to the site/podcast about exploring the sprawling caverns of gaming, hidden treasures of geekdom, and the unexpected intersections of reality.
Software
- MixTrackDisplay - A simple Flask web application to display the currently playing track in Mixxx DJ software. The application queries the Mixxx SQLite database to obtain track information and displays it on a web page. This page can be integrated into streaming software like OBS (Open Broadcaster Software) using a Browser source.
Gaming
- Savage Amber -- My friends and I wanted to play in the Amber setting, and Amber Diceless wasn't an option. Great material, but no one wanted to learn a new system. But we all liked Savage Worlds. And so, we have these documents. Available on Github.
- Savage Dresden -- I've been running a Dresden FIles game based in the Savage Worlds system. These are my adaptation notes. Available on Github.
History
I'm a web developer. I got started in 1995 on a site called Book Stacks Unlimited, which was the first online bookstore. From there, I moved into consulting, then startups, then a large corporation when I moved into management. I was a development manager for fifteen years. Then I came to my senses and ran back to the sanctuary of the code.
Back in 2005, as podcasting became A Thing, I worked with Evo Terra and Tee Morris to found Podiobooks.com. I wrote the initial code on a weekend, then refined it for a few years before handing off the project to a group of great devs. I also hosted a number of podcasts that were lost to time.
I am fond of role-playing games, especially D&D, Cyberpunk Red, and Savage Worlds. Worldbuilding/running games is one of my core hobbies.
PGP Key
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
F02x8IxdMLH/
=YxtQ
-----END PGP PUBLIC KEY BLOCK-----