The Tomorrow Corporation has built its own game programming stack with live reload, time travel debugging, and even the ability to serialise the entire game state and replay it between testers!
Programming is a team activity: the vast majority of projects have multiple contributors. Yet all the films I've seen show a solo programmer at a keyboard.
Difftastic update: I've rewritten the tree diffing logic to use Dijkstra's algorithm similar to Autochrome.
It works amazingly well! Note how it recognises both parent and children unchanged nodes in the lisp example. You can even see me refactoring Rust to use if-let.
One thing that bothers me about today's diffs: we often read changes in a format that patch can consume!
Diffs are largely read by humans, but we have to mentally parse "@@ -40,7 +40,9 @@". Which line is line 40? Is it the first visible line, or the first changed line?
Diffing trees and printing them in a comprehensible way is extremely tricky. I'm hoping to get something I can release once I've hammered out the bugs.
This is really neat: an online collection of programs that can pass the type checker but fail at runtime, in a bunch of languages (Java, Scala, OCaml, Haskell, Rust): https://counterexamples.org/runtime-misinformation.html
It also discusses the design tradeoffs that led to these behaviours.
Ridiculous, brilliant and absurd: dynamically generating a keyboard layout based on the most common letters that you're typing right now! https://github.com/shapr/markovkeyboard