Joseph Choe
The Hyperstack!
Bending cmixer to my will!
Personal Technology
The Plaintext Web
Building a Dictionary CLI!
Why I've Never Owned a Smartphone
Filtering Mail with Ruby!
ksh job control!
runit with control!
runit with snooze!
runit with logging!
Running with runit!
Automated Build Systems with fwa!
Writing My Book with LaTeX!
Scheduling with at!
The Speedmaster
Notifications with herbe!
UPDATE: Compiling Ruby from Source!
A Year of New
Extracting URLs with urlview!
The Slow Watch
OpenBSD on a Proxmox VM!
RSS with sfeed, fdm, and mblaze!
On Reading Thirteen Witches - The Memory Thief
Mail with OpenSMTPD, fdm, and mblaze!
A Year of Writing
OpenSMTPD on the Local Network
Dynamic DNS
Company Loyalty
WireGuard on OpenBSD
Compiling Ruby from Source
Outage
Exploring Ruby CGI
Provisioning an NTP Server
Installing OpenBSD on a Proxmox VM
The New Framework
Foundering Down to the Ground
Punitive Measures
A Better Technical Interview
Developer Error
Lessons Learned Making Videos
Farming Metaphor
Personal Infrastructure
Building a Cron Scheduler
Deploying Eventide to Heroku
Building a Welcome Email Part 2
Building a Welcome Email Part 1
Rack Data Validation
Personal Ruby Development Environment
Rack - The BEST Ruby Web Framework
Event Sourcing - Snapshots
Event Sourcing Tutorial in Ruby
Work in Progress: June 2021
Personal Tech Stack
Full Capacity
Overtime
Sucker Punch
Allergies
Don't Repeat Yourself
Not Just a Code Monkey
Event Sourcing, Part 4: View Data
The Plug and Chug Developer Mentality
Getting the Brown Out
That's Impossible
Trust No One
Event Sourcing, Part 3: Publish and Subscribe
No Pokémon in This Arena
Jordan Peterson Hasn't Read the Bible
Really Simple Syndication
Event Sourcing, Part 2: Email Uniqueness
Be a Snoop
My Ruby Development Environment
Technical Assessments Are Dumb
Event Sourcing, Part 1: User Registration
My Favorite Browser (Or Why It Doesn't Matter)
Why I Don't Have a Smartphone
A PayPal Ruby primer
To Begin Anew