> just a WM (XMonad), a browser (Firefox+vimperator), Emacs
> and a terminal (urxvt, which I only use occasionally)
Exactly my setup... now if only Firefox would not peg a CPU core or two in the background and slow down to a grind ever so often... (despite NoScript, uBlock origin etc.)
There's a lot of libraries that do the hard work for you though... Anyway, if an EKF is too much effort, you could also try the "Madgwick" filter:
Madgwick, S. O., Harrison, A. J., & Vaidyanathan, R. (2011). Estimation of imu and marg orientation using a gradient descent algorithm. In Proceedings of the IEEE International Conference on Rehabilitation Robotics
Maybe it is of limited use for non-emacs users, but imho it's a fantastic way to use git with a perfect balance between making simple things very easy to do and allowing (almost) anything you can do with the CLI while providing excellent visual feedback.
The Japanese keyboard layout is great for that! I am using Control on the Muhenkan and Henkan buttons left and right of the space bar and Alt on Alt and Katakana/Hiragana/Romaji buttons next to them. I also have Caps lock mapped to Control if pushed and Esc when released without another key (xcape) - works great!
As a side note, if you are already in emacs, you could write your articles in org-mode instead of LaTex.
It's gotten to a point where I am starting to see Latex exclusively as a language to compile to, not something you want to write yourself.
If you haven't used a well-configured org-mode, have a look at this demo for example https://www.youtube.com/watch?v=2t925KRBbFc. There's nothing out there (open source or proprietary) that comes close for scientific work in my opinion.
Also, are they counting all previous versions of the software instead of just the latest?
Moreover, I wonder how the human drivers in the statistics fare if you correct for drunk driving / using cellphone, etc. In my opinion, any autopilot worth it's name should be an order of magnitude better than the average human driver.
While I agree with you that urxvt is a great tool, I disagree with the suggestion that the terminal is "a solved problem" (or that vim is perfection). There is a lot of room for innovation, though not necessarily in the direction that Go Terminal is going.
Thanks for the kind words. Until I left academia I used to work with matlab a lot, and pyexperiment is probably a result of trying to get that experience while making scripts that can easily be shared along with the data needed to run them.
E.g., the issue with irreversible mutation of data is addressed in pyexperiment with rotating state (and log) files. For example if you store the state of your experiment in one run, and then change it in the next, you will get a backup of the old state with a numerical extension (by default up to 5 backups are rotated). Moreover, pyexperiment by default comes with commands to display stored state and configuration options (though they still need to be improved), and both are stored in formats compatible with a host of other software (including matlab).
Btw., along the same lines, I love ipython notebooks, but the way I use them makes them very hard to share, and compared to plain python scripts, version control is a pain (even with the usual hacks to make diffs readable).