I know this will be unpopular but I try to live a zero-config life. I just live with the defaults 99% of the time. I prefer not to be beholden to some special keyboard map or shell config or that essential plugin that does something very niche that you could simply not live without any more, because what if you do need to live without it?
If you ever change machine or do pair programming or whatever where you are not using your highly-tweaked config, and you are essentially a frustrated jibbering wreck and barely more competent than a 3 year old using a computer for the first time because there is only vi and not Emacs, or your "essential" key bindings are not there or your "essential" plugins are not there or horror of horrors it is vanilla bash and not zsh with your 9000 line config file.
These days I have learnt to abandon the configs, and learn to love the default life. Just open a vanilla laptop and guess what, it already has "your" config since they are all the defaults! Spend that mental energy and time on something else and get stuff done.
> If you ever change machine or do pair programming or whatever where you are not using your highly-tweaked config, and you are essentially a frustrated jibbering wreck
Not really, for much of the same reasons that I don't lose it when I visit a friend's house and find they stored their utensils in a different location relative to the sink: it is obvious that someone will set things up differently.
Ever help a friend, who being French, has an azerty keyboard? Defaults are also contextual and this is but one example. Heck if you are a windows/linux/mac user who occassionally helps people on another OS you will experience the difference in defaults. Being a touch typer, it was weird the first few times, but it is amazing at how quickly you learn to touch type on an azerty with just helping a friend. I even managed to help people with qwerty keyboards who insisted on using dvorak layouts.
So I don't find your argument for defaults convincing because I find my environment to be already more heterogeneous with respect to defaults than you seem to and modifying configuration is the only way to achieve some level of homogeneity for my own use.
Not always makes sense, especially when the defaults are counterintuitive.
Example: I never understood why tmux folks have chosen different key bindings than screen, as their product was meant to replace screen, not to be run like one inside another. But the brain has been wired over the years. Then I am always remapping tmux to ctrl-a.
There are also other examples when defaults have been made to satisfy some perceived but unrealistic expectation.
I can't speak to specifics of tmux/screen but, generally, one approach to this problem is to pick tools with the defaults you want. If a tool doesn't have good defaults, pick one that does. Sure, you have to be pragmatic about this—if no tool has good defaults, just pick the one with the best (and the best support for configuration...)
Well, it obviously depends on which tools you're talking about. For some types—terminal emulators, text editors—there are so many choices with near-identical feature sets that this approach can make sense.
Yeah exactly, in the said example, tmux survived because it had better features - who uses screen today? The key bindings confusion was a fixable annoyance. We weight pros and cons quite often and not necessarily based on a default configuration
I try to do this as well, with the notable exceptions of neovim, zsh, and tmux.
My zsh configuration, despite being quite large, has never broken in strange and hilarious ways when adopting a new version of zsh. The opposite is true for neovim, and to a lesser degree, tmux.
Nearly every time I install a neovim update, something breaks (often LSP-related). The devs don't seem to give a rat's ass about backwards compatibility.
They also introduce silly issues like this[1], which are innocuous but annoying, and are then super pissy with people trying to comment on the issue to add context/etc.
All this to say: I'm definitely in the market for a new editor that has better defaults. Having to ditch my vim muscle memory is non-ideal, though.
Yep -- saw that listed in the linked article. I'm going to give it a shot, but this bit of the article gives me pause:
> I will say that it takes some getting used to as it folows the selection -> action model, i.e. you need to run wd instead of dw to delete the next word.
It'll take...a lot of effort for me to break that habit.
> If you ever change machine or do pair programming or whatever where you are not using your highly-tweaked config, and you are essentially a frustrated jibbering wreck and barely more competent than a 3 year old using a computer for the first time
I was once pairing on the lead’s laptop and switched the keyboard to Dvorak. This was back in 2010 or so, when the input menu wouldn’t show on the lock screen by default. The lead could not type Dvorak, and of course I did not know their password. I remember that moment of silent contemplation keenly…
That’s to say, yes, and the sensation of being a frustrated jibbering wreck can be contagious :')
Maybe you are very average, or your tools are hard to configure or you are forced to work on other computers daily.
I have bad eyes so would be stupid to use regular font sizes instead of bigger fonts,
I also use a Zoom tool that has the shortcuts set to be easy to remember but require 2 hands to use so of course I change them to use them with one hand.
Most of the keyboard shortcuts use Ctrl so I remap it to a more comfortable position (it would be confusing for others to use my computer but this is not a shared machine).
I also use TTS software, the default voice speed is good for the average person but I maxed the speed , I can do things much faster.
I used Windows, Mac, GNOME but KDE is my system because I can configure it, like Windows Zoom tool had no way to reconfigure the keyboard shortcuts last time I checked and this tool was supposed to be created by people that think about accessibility.
Side story, my son is different, I installed a program for him, then hours later I asked about this experience and he complained that some keys were not set as he was used to but he managed, he did not consider to check and change the keyboard shortcuts, some people just prefer to suffer mental and body pain and adapt to the tool instead of adapting the tool for them (GNOME users are the supreme example)
> barely more competent than a 3 year old using a computer for the first time because there is only vi and not Emacs,
I think this is very exaggerated. I have git alias to "g" to save a few keystrokes, docker to "d", use a lot fd instead of find as it's better/more intuitive. I have a VSCode with the Go LSP. Sometimes I'm on systems without all of that, with plain vi/nano, and yes I'm slower but far from a "3 year old using a computer for the first time". I don't lose the speed I got from my experience of using a computer suddenly. I lose some of it, but not that much.
I would even say that it's more about managing emotions (I really really really don't like tools that don't work how I want to/needing to write more than I actually need) than raw speed, even if I also get raw speed.
> Just open a vanilla laptop and guess what, it already has "your" config since they are all the defaults! Spend that mental energy and time on something else and get stuff done.
It's like a few hours and I change laptops less than once a year. Also that's not actually true because you'll probably don't have Git installed, or a LSP, or the ssh config for your VPS, or your passwords, or any other stuff that you need.
> I know this will be unpopular but I try to live a zero-config life.
Same. I pick a distro and desktop that needs minimal tweaking. My Firefox setup is synched down from Mozilla's cloud. I add a few extra apps, via the simplest possible way. I don't touch themes or even wallpapers.
I started my career in software tech support. In that line of work, you need to be able to drive the basic standard config of all the software you support. It's counterproductive to customise your own machine, because if you learn to lean on any tweaks, you are lost when you're on someone else's box and the tweaks are missing.
So, don't. Get proficient with the standards and defaults, even if you hate them. For instance I've been using Vi since 1988 and I still detest it... but I can do the basics I need with it, and it's always there.
The less tweaking you need to do, the better. If you need custom-installed apps, so be it, but install them and learn to use the defaults.
I used to think like that. Now days I'm shifting again towards the other direction, more specifically I think it is good idea to move towards being in a setting where customized (and specialized) environment makes sense. Meaning that if projects and computers and people constantly shift and change around you, then sure, learning to live with defaults makes sense. But that also means working with one hand tied behind your back and at least for me ultimately unsatisfactory. That being said, don't put cart before the horse; first find that stability, the confidence that things are going to stick, and after that consider what customization makes sense.
I think todays culture where the things you work on and the tools you use is in constant flux is hurting us in this regard; it has made us too scared to truly invest deeply at a personal level on some specific thing.
I can understand that POV and would love to be able to do that, but as a neurodivergent person, I could never live that way. The default settings for the world are generally intolerable to me. I customize absolutely everything in my life. Without that, I’d be a jibbering wreck 99% of the time. If I have to forgo pair programming to function optimally the rest of the time, I’ll take that deal.
I would love simpler configs though. In my view, technology should adapt to humans, not the other way around. The problem isn’t that things are too configurable. The problem is that configuration is too difficult.
Basically i had to get the wave just right (animated backgroud, the app name is Wave) and it took a lot. it is ALL parametric
Launcher nova
I had to turn all my app icon blue with the Borealis icon pack (or something similar but blue, i just noticed a lot of tech app were blue and...lets make all of them blue)
Then i had find some way to organize better the app for suability and i admit the 4h was mostly login and authenticate all the apps i had
Don't use vi/emacs because someday I might only have nano/notepad
Don't use a computer because someday I might not have one
Don't use a refrigerator because sometime I might not have one.
Don't use a washing machine because someday I might not have one.
Don't use toilet because someday I might not have one
Don't use a shower because someday I might not have one.
Configs can be a 10x speed boost. The time spent getting familiar with a machine without, at least for me, is rare enough I can live with the few minutes of frustration. Otherwise, my configs are backed up so I can update the new machine to my preferences.
> Spend that mental energy and time on something else and get stuff done.
You'll waste mental energy on getting stuff done in worse conditions, in some cases even with a long-term risk to your health. All for a made up risk of
> you are essentially a frustrated jibbering wreck ... or your "essential" key bindings are not there
Nope, humans can hold multiple key bindings in their head.
So better invest some of that waste upfront and make your future self comfortable 99% of the time when you don't do pair programming or whatever
> it already has "your" config since they are all the defaults!
that made me laugh, thank you for that!
in practise, every distribution has different defaults and every version changes everything around. I've gone full autistic in my nixos install: xmonad, xterm, emacs. now I can keep the config frozen for the rest of my life. what if I find myself in front of a different computer? I'll tell them the same thing I tell windows people: I have no idea what's going on. sorry.
I moved to another country 15 years ago, but I was never going to learn a different keyboard layout after having already been quite proficient in my previous one. And if I use e.g. a Mac at work and Linux at home, I want certain special characters to be available with the same key combinations (for some reason, that's not the case by default), otherwise I'll just confuse myself.
I thought the same as you. I arrived in a new country, paniced at the foreign keyboard, had family send me my keyboard from home ASAP. It arrived 4 weeks later. I tried to use it but my fingers had already gotten used to the foreign keyboard and it would have been more work to switch back. So, I was wrong. I did get used to it. I got so used to it that when I moved back to my home countries I kept using the foreign keyboard for ~2 years. Until I got a laptop with a local keyboard. At which point I finally switched back on my desktops.
I understood this the "hard way" when I lost my highly tweaked emacs config.
Since then I keep a fairly light emacs config which largely revolves around pacakges to install and a few package-specific settings. But I mostly learn and use default emacs keybindings.
That config is published on a publicly available webpage and I can quickly pull it if I'm working with a new machine (happens fairly often).
I mean if you spend some time learning some automation tool, like ansible, you can pretty much have a custom setup easily on any laptop, I only modify my local config with ansible, and every time I have a new machine I have all my custom stuff right away
If you ever change machine or do pair programming or whatever where you are not using your highly-tweaked config, and you are essentially a frustrated jibbering wreck and barely more competent than a 3 year old using a computer for the first time because there is only vi and not Emacs, or your "essential" key bindings are not there or your "essential" plugins are not there or horror of horrors it is vanilla bash and not zsh with your 9000 line config file.
These days I have learnt to abandon the configs, and learn to love the default life. Just open a vanilla laptop and guess what, it already has "your" config since they are all the defaults! Spend that mental energy and time on something else and get stuff done.