Graph View

Recent Posts

Show 40 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)

  • Review: Season of Rhythm

    — Looking back at my year-long attempt to build up long-lasting habits. A retrospective on routines, remote work transitions, and learning the art of slow-and-steady. (7 min read)

  • Welcome!

    — Articles for the data and engineering consulting practice Chaotic Good Computing, as well as personal notes by Spencer Elkington. (1 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.

  • Typst Resume Template

    — A beginner-friendly resume template in Typst — 100% less LaTeX, 100% more opinions. (38 min read)

  • 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.

  • College Admissions and the Stability of Marriage

    — A dive into the hottest algorithm of the 1960s: Gale-Shapley matchmaking. Who knew that the mysteries of the heart could be solved with a matrix?

  • 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)

  • Caveat Lector: Reader Beware

    — I'm embracing being wrong on the internet in an effort to learn in public. A disclaimer on digital gardening, dead pixels, and the fear of terminal online-ness. (3 min read)

  • The Quest to Slay The Goblin

    — My life devolves into sleep-eat-procrastinate cycles without structure—I call this "The Goblin." Productivity tools, hating on hustle culture, and a new definition for horticulture. (2 min read)

  • Some initial thoughts about time tracking

    — TODO. (1 min read)

  • Quantitative Analysis of Markets & Organizations

    — My time at the University of Utah was longer than I'd planned, cut shorter than expected by COVID-19. I was very lucky to have mentorship to push me across the finish line. (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)

  • Kickoff: Season of Rhythm

    — "Fight or flight" is a rough way to treat white-collar life. My Season of Rhythm is dedicated to transitioning from constant sprints to slow-and-steady. (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)