I think these tips all make a lot of sense in realms far beyond emacs. Anywhere tech debt creeps in… Other editors, Linux desktop configs, software build tool systems, and software development itself. There something alluring about tweaking a system to be customized in a “perfect” but personally way… but it often only bites you in time. the longer I work with computers the more I appreciate resisting unnecessary connivance tweets, and learn to live with the defaults :)
One of the most painful tweaks I have made is switching to a non qwerty keyboard layout… this basically forced me to reconfigure loads of software, which all just feels like a mess of unnecessary work and maintenance. Especially since I use vi like bindings wherever possible and all vi mode defaults are qwerty based. I often consider scraping it all and going back to qwerty, but I’m not sure if I’m ready to relearn basically all my muscle memory for all software again. So for now I try to keep things the way they are, and resist adding complexity when possible.
> There something alluring about tweaking a system to be customized in a “perfect” but personally way… but it often only bites you in time. the longer I work with computers the more I appreciate resisting unnecessary connivance tweets, and learn to live with the defaults :)
I find the idea of optimising for being able to work on a brand new computer with default settings ludicrous, because it's completely at odds with the reality that I use the same computers for years on end and hence that's the mode I should optimise for.
As an analogy, if I only leave my home town every once in a while, I'm not going to live out of a suitcase 365 days a year, just to cultivate a sense of virtuous minimalism.
I totally agree with this point. I didn’t mean to advocate for no personalization, I think making a personal setup is crucial for having a usable work station, I don’t believe in one size fits all. it’s just that I have wasted an insane amount of time overdoing my customization, re doing it, and undoing it, and think that the article made some good points about how to prioritize what is worth customizing :)
> I find the idea of optimising for being able to work on a brand new computer with default settings ludicrous, because it's completely at odds with the reality that I use the same computers for years on end and hence that's the mode I should optimise for.
While I mostly agree with you, there are legitimate reasons to not "over-customize" things as well:
- The more you configure your environment, the more custom code you commit to maintaining over time. That maintenance typically requires some time and effort per year, especially after major software updates. In that sense, customization really is an "investment", and it can be either a good or bad investment.
- Some people work on servers where you can't just install or configure everything you want. For me, this made me switch back from e.g. Fish to Zsh: Some servers require me to use Bash, and switching back and forth between Zsh locally and Bash remotely is painless since their syntax is mostly similar, whereas switching between Fish and Bash on a daily basis was quite painful. (I tend to write a lot of for-loops etc. interactively when I'm using a shell.)
- Some people work frequently on other people's laptops. For instance, teachers, IT support, etc. I can imagine that for these people switching to say a Moonlander Dvorak keyboard would make their day job quite annoying, even though that might be a very good investment for e.g. a software developer.
> As an analogy, if I only leave my home town every once in a while, I'm not going to live out of a suitcase 365 days a year, just to cultivate a sense of virtuous minimalism.
On the other hand, other people do work as flight attendants, and probably do want to keep their bag packed and ready to go...
Likewise, probably the people that mention they want to work efficiently on "unconfigured" systems say this because it is a legitimate pain point for them.
Indeed. I was talking entirely about the idea of doing it by choice, not by practical necessity.
The server angle is quite often mentioned one level up from configuration files to advocate choosing e.g. vi, period, since it's guaranteed by POSIX to be available. But I think that angle is actually becoming less convincing over time, because poking around on servers in interactive sessions is becoming less common now that ops has had a lot of time to evolve.
To be fair to slugbyte_, I was not entirely responding to them and in part was just having a general rant against asinine forms of minimalism (which I think are somewhat common in dev circles and have on occasion fallen into myself).
I have to use different computers for work and hobbies, so I like that I can get some of my configs to match and therefore can allow muscle memory to handle a lot of my daily driving. if I had to use different editors, for example, it would be really irritating.
Any adjustment, customization, etc should save you more time than it consumes.
Some customizations are a no-brainer because you know and constantly use them, and they are simple. The farther from often-used functions, the less customization pays off. The more complex is your custom layer, the more expensive its upkeep is, so its benefit should be proportionally huge to be worth the time.
Tweaking something because it's sort of neat to have is just a way to play, to bring a bit of joy into your day. Recreational activity is important, but it should not be mistaken for productivity improvement. It also should not burden you with recurring maintenance costs.
> Any adjustment, customization, etc should save you more time than it consumes.
That's not the metric I use universally. Sometimes I commit to maintaining a customization that takes more time than it saves me if it affords me convenience or comfort. For example, I update key binds to be more comfortable, even if they take time to maintain over releases and take longer to type, just to save myself muscle aches. I do the same with getting my color scheme just right, as my astigmatism makes using many default color schemes painful.
So, I spend quite a lot of time customizing my config not for saving time or speed, but for comfort due to uncomfortable defaults.
I don't know how long you use another keyboard layout, but I would urge you to try qwerty for a week or two and you may be surprised how quick you can switch. I don't mean at full speed. It may be bad advice as I base it on my experience with using German layout and azerty at times (I use Polish programmer's layout which is just US with AltGr). The odd pair swap (z/y) is not really big, but all the special characters were a bigger thing for me.
One of the most painful tweaks I have made is switching to a non qwerty keyboard layout… this basically forced me to reconfigure loads of software, which all just feels like a mess of unnecessary work and maintenance. Especially since I use vi like bindings wherever possible and all vi mode defaults are qwerty based. I often consider scraping it all and going back to qwerty, but I’m not sure if I’m ready to relearn basically all my muscle memory for all software again. So for now I try to keep things the way they are, and resist adding complexity when possible.