Hacker News new | past | comments | ask | show | jobs | submit login

Way too many configs, too many dependencies, too much fiddling around for my taste. I work on a lot of different servers and nowadays prefer no plugins, none to absolute minimal configs, and defaults everywhere.

Unless it's a first-class, integral part of the experience (like VS Code), I don't even bother with any visual adjustments. It just adds cognitive dependencies and would only be there to satisfy some arbitrary aesthetic sensitivity. That's no good when things in the wild are rough and dirty. I don't want to be conditioned to some fragile setup of plugins upon plugins upon minute adjustments that only works perfectly in some certain pristine environment.

I enjoy having zero friction when moving around computers. I enjoy getting things done anywhere without anything ever getting in my way. It's very liberating.




This is the same way I feel about CLI only tools. Too much fiddling around with hidden switches and config files for my taste. I'd much rather use a straightforward GUI like VSCode instead of some monstrosity like VI/VIM/Emacs/whatever.

Rote memorization of commands is a ridiculous way to interface with computers in 2019 IMO. I consider it a failure of modern computing every time I have to use a CLI.

Mostly, I blame the automation zealots who have thrown out the discoverability baby with the GUI bathwater. Yes, CLIs are easy to automate. Yay! Why not automate them with a GUI then?


I can't think of a reason why discoverability necessarily needs to be hard in CLI apps. I think all apps, including CLI apps, should have a fuzzy search for all commands.

ZSH takes some steps in the right direction with this, with how it handles tab completion.


That reminds me of myself. I remember when I moved from screen to tmux and the default "master" key changed from ^A to ^B. All the time lost changing it back to ^A in .tmux.conf. In the end I simply got used to ^B and that's what I have.

I've gone as far as to open bug tickets for open source projects arguing that the defaults should be changed so I don't have to configure as much software when I move to another computer :D


The problem I have with ^B is that the b is too far away from ctrl. A is much closer, which makes it a much faster one-hand press.


Yes, defaults are super important! And in my opinion one of the big shortcomings for many cli applications.

I try to keep the defaults when they make sense, and I try to make my configs add to the experience but not change it too much. So it's nice if it's there but I'm still productive on a clean system.

But ^A in tmux is one of those changes, I think ^A is so much more ergonomic (and used alot) that I have it remapped for that reason. But I still have to remember the default binding.


> open bug tickets for open source projects arguing that the defaults should be changed

I sort of feel like there should be something like a POSIX compliance standard for keybindings. But the Vim/Emacs divide is pretty big.


But I think this really depends on your work-enviroment. If you have a lot of different servers I understand that this could get really annoying, especially with all the context-switching. But I just have to work with a few (where I have a minimal setup without zsh) and have all the bells and whistles on my laptop. And I am really a fan of zsh and the spaceship-prompt (the one the author recommends). Easy to set-up and very usefule!


But I think this really depends on your work-enviroment. If you have a lot of different servers I understand that this could get really annoying, especially with all the context-switching.

I wonder why people even work on remote servers? I write the server configuration as a Nix expression and deploy it on a remote machine. This has many benefits - machines become reproducible, you can use your local tools to edit the configuration (I use emacs with nix-mode), and you can deploy the same configuration in a virtual machine for testing with e.g. nixops.

On remote machines that I use interactively for e.g. machine learning, I set up nix + home-manager to have exactly the same configuration and packages as my local machine. On a new machine, I just install nix, checkout my home-manager configuration from git and run home-manager switch.

This setup adds a lot of additional benefits as well, I can always roll back to a previous generation of my configuration, I can use a package that I don't want to install with nix-shell -p <package>, and I can set up local environments with custom packages with nix-shell + direnv.


Nix tackles the problem, but (my impression) requires a complete buy-in and is not really a gradual step. I have also heard bad experiences with mac os.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: