How to deal with an aging brain. Entry: Naming it Date: Mon Feb 19 17:44:26 CET 2018 Time to accept it: it isn't as it used to be, and it's not getting better. For a couple of years now I've seen a steady decline in fatigue and working memory. I want to keep programming, so I need to re-tune my tools. Some ideas: - types: a large part of the problem is not catching small inconsistencies early enough. A good type system catches 99% of that. - automate everything. a working tool is the best documentation. - raise the abstraction level Practically, this means mostly Haskell and Rust. - Haskell: - build system - DSL for algorithm (modeling + code gen) - property based testing - Rust: operational code Entry: Shake Date: Wed Feb 21 22:37:32 CET 2018 Nice for incremental work. I think this is a keeper. Which moves the pointer to Rust to try next. Entry: Erlang Date: Thu Feb 22 11:44:55 CET 2018 So the thing is not that Erlang is bad. It is that I do not know how to use dialyzer properly. Type information is lost. One way around this is to add "check" functions that do nothing, but have a type signature. EDIT: It is hard to make the dialyzer precise enough. The best bet is still to add a lot of annotations. Entry: TLA+ Date: Wed Feb 28 10:58:46 CET 2018 https://en.wikipedia.org/wiki/TLA%2B https://twitter.com/Hillelogram