Smalltalk is the only language I know of where you can have multiple debuggers, with different stacks, in the same instance.It's liberating.
Related Posts
`init` feels like an unhelpful name in OO. It doesn't give you an initial value, it initialises the instance that has already been created. Developers are often surprised that init doesn't return the instance, because they have a strong association with `new Foo()`.
Perhaps `finish` would have been a less confusing name?
It is remarkably hard to escape command line arguments safely on Windows, and the standard libraries of multiple languages have needed patching: https://flatt.tech/research/posts/batbadbut-you-cant-securely-execute-commands-on-windows/
I've written difftastic packaging instructions: https://difftastic.wilfred.me.uk/packaging_difftastic.html
The different distros have taken different approaches, so I'm trying to help with common gotchas — don't forget the man page!
Feedback welcome, especially if you've ever packaged something 🙂