I use an Ultimate Hacking Keyboard as my main keyboard. I lug it from home to work and back again to be able to use it whenever I’m at a computer.
Also, despite being Norwegian and using a Norwegian keyboard layout for the first 20 years I’ve used a computer, switched to US International as my main keyboard layout in 2020.
I use fish as my shell of choice, and I’ve set up a few aliases and shortcuts to make my everyday worklife a bit easier.
I’ve made choices because I’m more comfortable doing what I do for around 12 hours a day: type and work on a computer. The keyboard is fantastic, and while expensive worth every penny. The layout switch was hard, but worth it for the added comfort when I’m programming. Using fish sometimes requires a bit of extra work when there isn’t a ready-made solution.
When I mention my keyboard, my keyboard layout, or my choice of shell, fellow programmers or computer nerds may think it sounds like a nice setup, but always brings up the following point:
“But what if you’re using another computer?”
It might be another physical computer, or a remote computer which I’ve ssh-ed into. What then?
I make due!
It’s not like I’ve forgotten how other computers work, just because they don’t function exactly like mine. I haven’t forgotten how other keyboards’ keys are laid out, how a Norwegian keyboard layout is, how other shells work, or what the (approximate) commands are for my aliases.
I might use these other computers for maybe (maybe!) 1% of the time I spend on a computer each month. Why in the world should I give up my other comforts for that 1%? I can bear being less productive and less comfortable 1% of the time, if it means i am more productive and comfortable the other 99%.
Don’t optimize for the 1% of the time your not on your computer. You’re missing out.