Straddling between environments

From razwiki
Jump to navigation Jump to search

I mess around a lot in different environments that compete for mindshare: macos versus windows versus ubuntu, vim versus emacs. I find that over time I integrate the best of all environments in one environment (usually the most flexible one, like emacs).

One example of this approach working is https://github.com/noctuid/evil-guide - it is a guide about using vi keybindings in emacs, and it has a lot of sensible configurations enumerated. Similarly spacemacs takes the best of emacs and vim, and even has nice opinionated shortcuts like lowercase s to surround, whereas in vim the default is S. But lowercase s is redundant with c so spacemacs opts to use c for replace-and-insert and s for surround.

Operating systems is a bit trickier, but it forces standard compliance; or at least the awareness of differences between operating systems. MacOS has terrible window management, for example; windows has good window management but bad keyboard shortcuts. Ubuntu has really bad defaults but great customizeability.

But honesetly it's a bother that there is all this fragmentation sometimes. Apple is the champ of taking their ecosystem really far in a given direction and eschewing backwards compatibility for performance, form, and function. Windows has decent backwards compatibility guarantees but tons of competing APIs, like autohotkey 1 versus autohotkey 2 (at least autohotkey 1 still works; for a while the latest macos which I compulsively upgraded to had no karabiner and I spent hours trying to replicate my setup in hammerspoon and lost a lot of functionality until karabiner-elements came out (which had a different syntax and a different feature set)).

Ubuntu and linux in general is a mixed bag; some things work really well, like service management and command line tooling, unsurprisingly. Hardware support is full of pitfalls, for example I noticed my framework computer waking up after I closed it, so the screen was open even though the computer was physically shut. Wifi doesn't work with the intel wifi chip on debian (this is not debian's fault, I respect their stance towards free software). Simple things like the trackpad scroll speed are wildly erratic, and depend on things like whether an application is configured to run under x or wayland.

Phones exhibit this disparity to an extreme; you're either in Apple's walled garden or out in the wolves with rudimentary phone software and a lack of third-party app development, Second party app development, now, that's you!!