Blog
Featured
Thoughts
BirdNet-Go: But We Have Bird Monitoring At Home
I love birds. So I decided to self-host BirdNet-Go in order to monitor the bird noises around my house.
I Picked A Really Weird Time to Try Out GrapheneOS
I rush out a blog post from my hastily scribbled notes since its suddenly a timely topic. I've been trying out GrapheneOS and have a lot of opinions about it.
All Personal Blogs Die, But Mine Came Back As a Ghost
Discussing moving my blog to Ghost after using Jekyll for over a decade because ActivityPub is really exciting.
Ricoh GRIII in Japan
My experience using the Ricoh GRIII as my primary camera on a trip around Japan.
Post Race Report: Boston Run to Remember
I discuss my research, training and experience for the Boston Run to Remember. It went really well!
PyCon 2025 Saturday - Talks
Notes on all the talks I attended at the final day for PyCon 2025.
PyCon 2025 Friday - Keynote and Talks
Friday was the second day of PyCon 2025. Cory Doctorow gave an amazing keynote.
PyCon 2025 Thursday - Tutorial Sessions
Notes from my first day at PyCon 2025. Thursday was Tutorial session.
Automatic Conversion of Article HTML to SSML For Text To Speech
Examples of using Kotlin to convert articles into SSML For Text-To-Speech in a new Podcast web app I'm working on.
Google Cloud Platform with Gradle Kotlin DSL
Converting the Groovy Gradle configuration for Google Cloud Platform to the Kotlin DSL
Labeling Web Page Category with Mechanical Turk
Setting up a project on Mechanical Turk to label categories of web pages.
Media Center Series Part 3: Simpler Raspberry Pi 4
Notes on using Wireguard with Docker on a Raspberry Pi 4
Media Center Series Part 2: Wireguard with Docker on Raspberry Pi 4
Notes on using Wireguard with Docker on a Raspberry Pi 4 compared to OpenVPN.
Media Center Series Part 1: Install Docker With Ansible
Using Anisble to provision Docker and Docker Compose
Glassistant Google Assistant on Google Glass Part I
Bringing Google Assistant to the Google Glass using the Java Assistant SDK
KPOI A Kotlin DSL for working with Apache POI
Leveraging Kotlin language features to build a DSL for writing spreadsheets with Apache POI
Migrating from a RDS Postgres Instance to Aurora Serverless
Updating Soup Bot to use the now publicly available Aurora Serverless as its data store.
Kotlin Bencode Decoding and Encoding
Implementing a torrent bencode encoder and decoder in Kotlin
Spring Fu Test Project: Link Unfurling Service
A example project to test out Spring Fu by creating a link unfurling service.
Soup Bot: A Slack Bot That Scrapes Specials Menus From Instagram
Creating a slack bot that scrapes specials menus from instagram that runs on off of AWS lambdas.
H320 Research Paper Response: Understanding Regression Failures Through Test-Passing and Test-Failing Code Changes
I once read a paper about regression tests.
H320 Research Paper Response: Fine-Grained Version Control System for Java
I once read a paper about version control.
H320 Research Paper Response: Simplifying and Isolating Failure-Inducing Input
I once read a paper about testing.
Monads, Not a Thing I Made Up
"A monad is just a monoid in the category of endofunctors" they say.
Portal 2 Computability
In which I get very excited about realizing a game is Turing complete.
Upgrading Dropbox to 16gb for Free
Where there is a will (for cloud storage), there is a way (for cloud storage).
Haskell Nirvana
From when I was once very obsessed with Haskell.
Parasail Alpha 0.2 Release
Wherein I was excited about a programming language, but never ended up trying it.
Installing Reddit From Source
Wherein I once attempted to make a contribution to Reddit.
My Wallpaper Collection
it seems I used to be very excited about wallpapers.
Extracting Music From Portal 2
This post is a part of my blog paleontology series. I dug up and restored this post on 2025-08-11. I&
Standout Hi-Fi Chiptunes
What can I say, I used to like the beep boops.