This is a strange one, I've noticed that when it comes to programming and the tools I use write them I am super particular. The slightest change in feel, speed is noticed. I find it strange because, outside of this one area, I'm quite loosey goosey. I'm not really particular about a lot of things. But if I care about the thing, it's different. That's a very small list too. I'm particular about how I warm up or hold the barbell when working out, or how the motorcycle feels the slightest bit strange.
It might be most pronounced when programing, I'm really pedantic. Starting from what stays on the desk, the keyboard, the resolution of the screen to begin with. But then it gets more particular. I use Pop OS as my daily driver, simply because I get window tiling out of the box. I have ten workspaces configured, you can switch between them by pressing super + 1...0
. I used i3 for this, but with a couple of commands I get the only feature I used a window manager for, the ability to switch between workspaces using super + <num>
. Each workspace is designated to one tool only. One is for terminal, in full screen mode, no edges, no bars or any of that bullshit. Two is the browser, six is Spotify, eight and nine are Discord/Slack and the password manager.
I spend the most time on the terminal, which is the default gnome terminal. I've tried a few terminals over the years, but the default gnome one with zsh
is really good. Obviously if there is Tmux, and I'm always in a Tmux session, always. Then it's Neovim as the editor. I don't know what the fuss is about, I have one config for the last four years, I had one major re-write when I moved from vimscript to lua (I was using vim before). Every year, the number of plugins have gone down slowly and it's at a point where, it's only the things I use regularly. It's not something that needs changing, I update the plugins rarely because editing text is not that hard, not something that needs regular updates. That's it on the terminal, I use git from the terminal, and fix conflicts in Neovim, vim fugitive makes it stupid simple to fix conflicts and do everything else git.
Finally, I prefer, using tools as they were designed to. To give you an example I prefer SQL over ORMs, git CLI over anything else. It feels a bit strange at first, but over time you figure it out. So you can either figure out how the abstraction over your tools work or the tool itself. Sure the abstraction is easier, but for a little bit more effort, you can really understand the thing that you use. If nothing else, you will learn how to learn hard things or things that seem hard. The more of these things you learn, the less that will intimidate you. After a few, you'll start to see the essence of programming itself. I haven't gotten there yet, but I'm in no hurry, I love programming, and all the other peculiar tools I use to do it.