The level of sophistication in tool-assisted speed runs of video games is really impressive.
"Both bosses are incredibly annoying: they are liable to desynch on any changes to earlier levels due to differences in the RNG." https://tasvideos.org/2416S.html
miniblog.
Related Posts
It's incredibly hard to explain adversarial problems to users. I see gamers sincerely asking "why doesn't the publisher just fix the cheater problem?".
This is exacerbated by the fact that sharing too many details of anticheat can make the problem worse.
I've really come to appreciate OCaml's notion of generics. It doesn't have subtyping, so e.g. you have an `int list` or an arbitrary `'a list`, but nothing inbetween.
As soon as you add constraints like Java's `List<? as Foo>` it become incredibly hard to produce good errors.
Uniform function call syntax (UFCS) is nifty: I can write foo(x, y, z) or http://x.foo(y, z).
Dot syntax for calls works incredibly well for IDE completion. Are there any languages that explicitly offer UFCS so the IDE experience is better?