Scott Liu
  • Home
  • Blog
  • Poetry
  • Close Readings
  • Teaching a Neural Network to Play Captains Mode, Part 9: The Race

    2026-08-25 · by Scott Liu

    Last time I was beaten by a lookup table and promised to race it properly. I ran the race. The model loses the first half and wins the second half, and the exact place where it takes the lead turns out to be the whole answer.

  • Teaching a Neural Network to Play Captains Mode, Part 8: Outperformed by a Lookup Table

    2026-08-18 · by Scott Liu

    Six experiments in a row did nothing. So I stopped running experiments and spent a week trying to find the flaw in my own work instead. I found it on the third day, and then I found four more.

  • Teaching a Neural Network to Play Captains Mode, Part 7: The Answer Key

    2026-08-11 · by Scott Liu

    My model gave me a piece of draft advice so good that I immediately stopped believing it. This is the post where I build something that can tell me whether advice is any good -- and then find out that half of what I was proud of was memorization.

  • Teaching a Neural Network to Play Captains Mode, Part 6: Buying a Search

    2026-08-04 · by Scott Liu

    I have been picking hyperparameters by vibes for four months. This is the post where I stop, work out what a real search would actually cost, and then spend a week making it affordable -- two hours of which turned out to be me not restarting a process.

  • Teaching a Neural Network to Play Captains Mode, Part 5: Twenty-Six Million Matches

    2026-07-28 · by Scott Liu

    I went to top up my training data and came back eighty-five minutes later holding every public Dota game played in the last eight weeks. I have not stopped poking at them since, and the first thing they told me is that Bristleback is a completely different hero depending on who is holding him.

  • Building Was Never the Hard Part

    2026-05-25 · by Scott Liu

    For years, the small ritual of building my own custom game client became a tax I paid every time I wanted to play. Turns out the chore wasn't really about the build -- it was about everything I had to do *after* it.

  • Teaching a Neural Network to Play Captains Mode, Part 4: Eighty Jobs and a Map of Heroes

    2026-04-19 · by Scott Liu

    I queued eighty hyperparameter experiments and watched a number crawl from 56% to 58%. Then I looked inside the trained model and found a map of Dota heroes it had never been given -- and, later, went back to check whether the map was really there.

  • Teaching a Neural Network to Play Captains Mode, Part 3: Three Coffees and a Job Queue

    2026-03-22 · by Scott Liu

    My model finally hit 56% by learning Herald-tier drafts. To squeeze any more out of it, I needed to run a lot of experiments. To run a lot of experiments, I apparently needed to build my own distributed job scheduler first.

  • Teaching a Neural Network to Play Captains Mode, Part 2: My Hypothesis Was Backwards

    2026-03-01 · by Scott Liu

    I assumed high-skill Dota players would be more predictable than low-skill ones. I was so confident about this that I built half the project around it. The data, when I finally bothered to ask, told me I had it the wrong way around.

  • Teaching a Neural Network to Play Captains Mode

    2026-02-24 · by Scott Liu

    I wanted to know which Dota 2 hero to pick during drafting. Answering that took 200,000 matches, a Transformer, and an unexpectedly long argument with myself about what it means for a model to "know" a hero exists.

  • Fighting the IPv4 Tax with a CDN Side-Quest

    2025-09-27 · by Scott Liu

    The story of how a friend's connection issue led me down a rabbit hole of network architecture, culminating in a creative (and free) solution to support legacy IPv4 users without paying the new IPv4 tax.

  • Teaching My Wardrobe Some Style

    2025-09-20 · by Scott Liu

    For years my wardrobe app was a well-organised, completely silent catalogue of my clothes. It knew what I owned but nothing about how I dress. After a month of work, it finally has opinions.

  • How Hard Can It Be To Paste Text To Yourself?

    2025-08-23 · by Scott Liu

    I was tired of emailing files to myself, so I built a simple replacement in a weekend. As usual, prototyping is fast but building a truly polished application takes attention to detail and relentlessly high standards.

  • My Cloud Server Has a Secret Friend in My Closet

    2025-08-09 · by Scott Liu

    The story of how I hit a resource wall on my personal cloud server, rejected the boring and expensive scaling solutions, and built a hybrid solution in my closet

  • The Guard Who Locked Himself Out: Breaking a Service-Level Deadlock

    2025-08-03 · by Scott Liu

    The tale of how I accidentally created a perfect, inescapable circular dependency between my authentication and metrics services, the "Aha!" moment I was very pleased with, and the part of the fix I forgot I had written.

  • The Mystery of the Missing Elephants

    2025-07-31 · by Scott Liu

    When a card in my new analyzer had a high score but vanished from the recommendation list, I began an investigation to solve a seemingly impossible paradox. This is the detective story of how I solved the mystery of the missing elephants.

  • I Over-Engineered My Magic: The Gathering Cube, and It Was Glorious

    2025-07-28 · by Scott Liu

    The story of how I replaced my manual Magic: The Gathering cube curation with a custom-built web application, learning critical lessons about data, performance, and why the absence of a price can sometimes mean "infinitely expensive."

  • GitHub
  • LinkedIn
  • Bluesky

© 2025 Scott Liu. All rights reserved.