I’m certainly not a person who has strong opinions about programming languages. My personal and professional decision graph around language choice is:

flowchart TD
    A[What language<br/>are you most familiar with?] --> B{Will it get<br/>the job done?}
    B -->|Yes| C[Use that language.]
    B -->|No| D[Repeat.]
    D --> A

That said, I do break out languages according to the task:

Graph View

Recent Posts

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

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

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

Show 12 more posts
  • 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)

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