Writing
Everything I've written since 2014, newest first.
2026
- Moving off of Turso
- Avoiding SQLite Database Locks in Production
- Ruby on Rails Died Today
- Minitest is better than RSpec for AI Agents
- LLM astroturfing is killing Reddit
- Optimizing your site for LLMs
- Self-Host any Docker image using Kamal
- On Writing the TOCFL B Band speaking and writing test
2025
- Made A Language Learning Charades Game
- Using whichlang.cr for language detection
- Using marisa.cr for Efficient String Storage in Crystal
- Why Can't I Find My App On The Google Play Store?
- Ruby Gems For Pulling Dictionary Words
2024
2023
- Test Your Chinese Using This Quiz
- Using Sidekiq Iteration and Unique Jobs
- Using Radicale with Gnome Calendar
- Why I Regret Switching from Jekyll to Middleman for My Blog
2020
2019
2018
- Generating Better Random Numbers
- Image Magick Tricks
- My Game Dev Process
- Unit Manager Code Snippet
- Recommended Game Dev Reading
- Healthbar Code Snippet
- Unity Plugins I Use
- Tools I Use
- Switched to Middleman
2016
- Chain Design Pattern
- Creating a RPG Database in Unity
- Favorite Hub Aliases For Git
- Why I Stopped Using Linux
2015
- RTS Unit Selection in Unity
- Unity RTS Game Architecture
- Using Locomotive CMS on Heroku
- Simple Karma Task for Gulp
- Make Better Error Messages
- Proper Git Rebasing
- Remapping Caps Lock in Ubuntu
- Mastering Git Log
- Pathfinding in Unity3D Continued: Moving
- Why I Stopped Using Bitwise to Round
- Pathfinding in Unity3D
- Favorite Vim Plugins of 2014