Beyond Leave Tables: A State-of-the-Art CNN Static Evaluator for Scrabble
Saturday, Jun 21, 2025
I’ve trained a convolutional neural network that beats our long-standing equity engine (HastyBot’s static evaluator) in direct play - 51.7 % win rate over 250K self-play games - making it, as far as we know, the strongest pure static evaluator in Scrabble today. In this post I walk through the feature set (board image, rack, bag, tempo, power-tile counts, more), the training pipeline, results, and why a value-only CNN is already changing how we build BestBot’s Monte Carlo search. Code, weights, and data scripts are all open-sourced for anyone who wants to tinker.
read more
WordVault - a new spaced repetition web app for learning words
Sunday, Oct 13, 2024
I just released a new web app for learning words called WordVault. Read more about it here.
read more
How to unf*ck Arch Linux
Wednesday, Jun 28, 2023
Arch Linux is the main system on my desktop computer. I love it but sometimes it screws up. Here are some tricks for unscrewing it up.
read more
Exhaustively solving Scrabble endgames using chess programming techniques
Wednesday, Jun 14, 2023
Scrabble endgames are computationally difficult to solve exhaustively. I used some chess programming techniques to greatly speed them up.
read more
Se7en is a great film
Tuesday, Jul 19, 2022
When I was 11 or so my friends and I snuck into Sesevenen (Se7en). I remember being excited that this was an R-rated movie and that we were going to see some cool violence or whatever. However, my main memory of the movie was that it was a disappointing slog. I think at the time I wanted something like an R-rated version of Independence Day, a movie I enjoyed very much. Or stylized violence ala Tarantino, not some film noir I didn’t really understand.
Let's Listen - Falling for You
Saturday, May 28, 2022
Weezer’s Falling For You is an amazing song
read more
2022 is finally the year of Linux on the desktop, and I can prove it
Friday, May 13, 2022
Linux provides the best and most cost-effective desktop experience.
read more
Profiling a Go-language Production Server
Wednesday, Apr 27, 2022
A few months ago, I noticed my app was having CPU spikes. Read on to see how I diagnosed the issue on a running production server.
read more
Scrabble is nowhere close to a solved game
Sunday, Feb 13, 2022
I have found that in the literature about games and AI (artificial intelligence) that Scrabble is invariably referred to as something of a “solved” game, in the same way that Chess, Go, etc are “solved” by AI —in these latter games, there exist AIs that have superhuman performance and can basically beat any person.
read more