My personal projects and professional focus has been primarily in software engineering. Being able to make things that help people, including myself, accomplish more is a joy that lights up my brain.

Graph View

Recent Posts

Show 31 more posts
  • The Advantages of Advantage: Intro to Probability Convolutions

    — What *is* the advantage of rolling with advantage? Exploring dice roll combinations and probability convolutions. (8 min read)

  • Dice Roll Distribution Widget

    — Discover the probability distributions of different dice roll combinations (1 min read)

  • Widget System Reference

    — Lite reference documentation of the Quartz MDX widget system (1 min read)

  • Quartz Widgets: Graphs, Galore!

    — I killed 4 of my blogs trying to implement MDX support. Will this one be next? Using MDX with Quartz to create interactive graphs, diagrams, and demos — clear as day. (9 min read)

  • LLMs; or, How to Run Your Own Hostage Negotiation

    — LLMs: Are we doomed to die, or born to garden? I'd like to make the case that AI is less like Terminator, and more like tomatoes. (8 min read)

  • Intro to Event Storming

    — Notes from learning Event Storming for domain-driven design. Thoughts on phases, color-coded chaos, and how to transition from fast pitches to full products. (6 min read)

  • AI Policy

    — I may not have any control about how AI affects me, but I can at least make a policy for how I use it. (3 min read)

  • Kickoff: Season of Systems

    — I'm learning to live with the systems that stole my beloved em-dash. A season dedicated to negotiating how to live with the agentic models that have turned my career upside-down. (8 min read)

  • LLMs: A Primer Presentation for Our Newest, Scariest Tool

    — An engineer-focused primer on the mechanisms that drive Large Language Models. Basics on how we got here, how they work, and how to use them without feeling an apocalyptic dread.

  • Terraform LocalStack Testing

    — $70/mo/seat? Just using live AWS may be cheaper. An evaluation of LocalStack as a testbed for Account Factory Terraform. (5 min read)

  • The Simple Economics of Open Source

    — Why do we do what we do? "Egoboo." Exploring economic models of OSS contributions beyond altruism and ego.

  • Feeling Right, Nothing Done: Don't Be the Death of Consensus

    — Classifying opinions as "strong" or "weak" to stop wasting hours in fruitless engineering debates. How consensus can beat being "right", and an open letter for the tactically apathetic. (7 min read)

  • Before You Slabtop Your Laptop: A Brief Warning

    — PSA: Check if your laptop needs an LCD for POST before removing the screen. Learned this the hard way after 5 hours and a fried motherboard. Learn from my dumb mistakes. (2 min read)

  • GPTinglish: Unnatural Language Processing

    — The only market crashing is the market for sanitized language. Stay human. Embrace typos. (7 min read)

  • Turning SelfControl into Self Restraint

    — Building a Raycast plugin to schedule website blocks — because checking news "just one more time" destroys flow. Automate SelfControl and self control: take your laptop back. (4 min read)

  • Some initial thoughts about time tracking

    — TODO. (1 min read)

  • Breaking Ground on Digital Gardening

    — Why I stopped hoarding 60%-done drafts and started publishing messy thoughts instead. Embracing digital gardening, from-chaos-to-cultivated, and a healthy dose of imperfection. (3 min read)

  • The Over/Unders of Over- and Under-Engineering

    — I've learned so much in my career — so why do I finish fewer projects than I used to? Over-engineering: it's easier to be bad at something on accident than on purpose. (2 min read)

  • In Review: The (bad) 2017 Robloxaville Remaster

    — How over-engineering killed a 3-month remaster of an old ROBLOX game. Looking back at the depth of Dunning-Kruger, and how good code doesn't make a good game. (2 min read)

  • Don't Double Down: Structured Streaming to Wrangle Data

    — Stop reprocessing your entire dataset every time new data arrives. A practical guide to Spark Structured Streaming with code examples and cost logic. (9 min read)

  • Littlefield Simulator: The Art of Laziness

    — Efficiency: spending six hours building a web scraper to avoid five minutes of daily work. Automating a business simulation because checking in is for chumps. (8 min read)

  • The Unbearable Weight of ROBLOX Celebrity

    — Being famous online in 2009 is the highest high I'll ever reach. A love letter to the coolest dork I know, hatemail for client-side exploits, and a limitless supply of Monopoly dollars. (11 min read)

  • Say Goodbye to Untitled (5) — GitHub Actions for Resumes

    — Set up continuous integration to auto-update your resume everywhere. Overleaf, GitHub, and LaTeX automation for the perpetually disorganized. (6 min read)

  • Hello, Blog! (Posts by a dummy, for other dummies)

    — The obligatory "Hello!" post to suss out what this site will be. Python examples as unnecessary as the post itself. (1 min read)

  • Entries to SOME 1

    — Stable matching, optimal stopping, and Bachelor analysis - visualized with some care. (1 min read)

  • Utah Office Consult

    — People problems are the hardest engineering problems. A consult on thinking out-of-the-box to explain morale problems in small companies.

  • College Admissions and the Stability of Marriage

    — My college presentation on the Gale-Shapley paper, recorded on an iPad, like a true professional. Non-market environments, matchmaking lattices, and gratitude for good professors. (1 min read)

  • Reading the Room with Beethoven

    — A HackTheU 2019 project for real-time live captioning using remote microphones. (2 min read)

  • What *are* Supply Chains, Anyway?

    — A first foray into network visualization: messy graphs, abject terror. Early data viz experiments searching for supply loops. Bad graphs; interesting questions. (2 min read)

  • Scratch Piano Application

    — An educational waveform visualizer written in everybody's favorite programming language: Scratch. (1 min read)

  • Quicksort: Every CS Student's Favorite Algorithm, Scratched Up

    — Implementing QuickSort in Scratch. Its only real-world accomplishment? Wearing out my mouse's scroll bar. (1 min read)