If you ever force push with git, you should really use --force-with-lease to avoid accidental clobbering. If you use magit, it's automatic!
miniblog.
Related Posts
One fascinating property of chess engine design is that a deeper tree search can be more valuable than a smarter board value metric.
If a metric is more accurate but more computationally expensive, it might not be worthwhile! It's a precision/brute force tradeoff.
All the spectre/meltdown hardening techniques have a significant CPU overhead.
I imagine CPU manufacturers have had to invest significantly in redesigns recently. Still, the additional overhead might force me to buy new hardware, and I guess others will too.
Type systems can be nominal or structural, they might force an option type, and they might even encode side effects (IO or exceptions).
I think the biggest single improvement (where compiles≈correct) is exhaustiveness checking. This produces thoroughness and often robustness.