5 ms·
It's weird how the circle of life progresses for a developer or whatever. - When I was a fresh engineer I used a pretty vanilla shell environment - When I got
by oceanplexian 1y ago
It's weird how the circle of life progresses for a developer or whatever.
- When I was a fresh engineer I used a pretty vanilla shell environment
- When I got a year or two of experience, I wrote tons of scripts and bash aliases and had a 1k+ line .bashrc the same as OP
- Now, as a more tenured engineer (15 years of experience), I basically just want a vanilla shell with zero distractions, aliases or scripts and use native UNIX implementations. If it's more complicated than that, I'll code it in Python or Go.
- D13Fd 1y agoI would still call my Python scripts “scripts.” I don’t think the term “scripts” is limited to shell scripts.
- trenchpilgrim 1y agoWhen I had one nix computer, I wanted to customize it heavily. Now I have many nix computers and I want them consistent and with only the most necessary packages installed.
- ozim 1y agoBesides many nix computers I also have wife, dog, children, chores, shopping to be done. Unlike when I was young engineer I could stay all night fiddling with bash scripts and environments.
- soraminazuki 1y agoWhat does your wife, dog, children, chores, and shopping have to do with custom configuration and scripts? Just set up a Git repo online, put your files there, and take a couple of minutes to improve it incrementally when you encounter inconveniences. And just like that, you made your life easier for a marginal effort.
- 1718627440 1y agoThey compete for time.
- mlrtime 1y agoDon't even try to explain the scripts to wife*, try the dog. At least he'll understand it just as much and be enthusiastic to hear it! *may not be applicable to all wives, ymmv.
- TsiCClawOfLight 1y agoI thought my wife latex, she loves me for it :D
- soraminazuki 1y agoI'm saying that makes no sense, as I've wrote in the comment you're replying to.
- 1718627440 1y agoHaving a wife increases the opportunity costs of the time you spend on maintaining the scripts and also increases the costs while writing these (when the wife is nagging).
- sestep 1y agoFor anyone else reading this comment who was confused because this seems like the opposite of what you'd expect about Nix: Hacker News ate the asterisks and turned them into italics.
- Ferret7446 1y agoI don't get why this is a problem. Just stick all your configs in a git repo and clone it wherever you need it.
- trenchpilgrim 1y agoI run two OSes. So two variants. Some are desktops, some laptops, some servers. Different packages installed, different hardware. Three more variants. Yes, I do have a script to set up my environment, but it already has a lot of conditional behavior to handle these five total variants. And I don't want to have to re-test the scripts and re-sync often.
- nonethewiser 1y agoOn the other hand, the author seems to have a lot of experience as well. Personally I tend to agree... there is a very small subset of things I find worth aliasing. I have a very small amount and probably only use half of them regularly. Frankly I wonder how my use case is so different. edit: In the case of the author I guess he's probably wants to live in the terminal full time. And perhaps offline. there is a lot of static data he's stored like http status codes: https://codeberg.org/EvanHahn/dotfiles/src/commit/843b9ee13d949d346a4a73ccee2a99351aed285b/home/bin/bin/httpstatus https://codeberg.org/EvanHahn/dotfiles/src/commit/843b9ee13d... In my case i'd start typing it in my browser then just click something i've visited 100 times before. There is something to be said about reducing that redundant network call but I dont think it makes much practical difference and the mental mapping/discoverability of aliases isnt nothing.
- jamesbelchamber 1y agoI am going through a phase of working with younger engineers who have many dotfiles, and I just think "Oh, yeh, I remember having lots of dotfiles. What a hassle that was." Nowadays I just try to be quite selective with my tooling and learn to change with it - "like water", so to speak. (I say this with no shade to those who like maintaining their dotfiles - it takes all sorts :))
- dbalatero 1y agoI've been programming 30 years and I really don't find it a hassle: - if you commit them to git, they last your entire career - improving your setup is basically compound interest - with a new laptop, my setup script might cause me 15 minutes of fixing a few things - the more you do it, the less any individual hassle becomes, and the easier it looks to make changes – no more "i don't have time" mindset
- denimnerd42 1y agoI prefer using kubectl than any other method so i have plenty of functions to help with that. I'd never consider using python or go for this although I do have plenty of python and go "scripts" on my path too.
- planb 1y agoYeah - been there, done that, too. I feel like the time I gain from having a shortcut is often less that what I wound need to maintain it or to remember the real syntax when I'm on a machine where it's not available (which happens quite often in my case). I try to go with system defaults as much as possible nowadays.
- eikenberry 1y agoPrepare to swing back again. With nearly 30 years experience I find the shell to be the best integration point for so many things due to its ability to adapt to whatever is needed and its universal availability. My use of a vanilla shell has been reduced to scripting cases only.
- fragmede 1y agoIf you come through the other side, you set up LocalCommand in your .ssh/config which copies your config to every server you ssh to, and get your setup everywhere.
- deleted 1y ago[deleted]
- grimgrin 1y agothis is how it works for you as a person who loves their computer, my ~/bin is full. i definitely (not that you said this) do not think "everything i do has to be possible on every computer i am ever shelled into" being a person on a computer for decades, i have tuned how i want to do things that are incredibly common for me though perhaps you're referring to work and not hobby/life
- stronglikedan 1y agoDifferent strokes for different folks - tenured engineers just settle into whatever works best for them.
- chis 1y agoI think it's more likely to say that this comes from a place of laziness than some enlightened peak. (I say this as someone who does the same, and is lazy). When I watch the work of coworkers or friends who have gone these rabbit holes of customization I always learn some interesting new tools to use - lately I've added atuin, fzf, and a few others to my linux install
- heyitsguay 1y agoI went through a similar cycle. Going back to simplicity wasn't about laziness for me, it was because i started working across a bunch more systems and didn't want to do my whole custom setup on all of them, especially ephemeral stuff like containers allocated on a cluster for a single job. So rather than using my fancy setup sometimes and fumbling through the defaults at other times, i just got used to operating more efficiently with the defaults.
- deleted 1y ago[deleted]
- nijaru 1y agoYou can apply your dotfiles to servers you SSH into rather easily. I'm not sure what your workflow is like but frameworks like zsh4humans have this built in, and there are tools like sshrc that handle it as well. Just automate the sync on SSH connection. This also applies to containers if you ssh into them.
- theshrike79 1y agoI'm guessing you haven't worked in Someone Else's environment? The amount of shit you'll get for "applying your dotfiles" on a client machine or a production server is going to be legendary. Same with containers, please don't install random dotfiles inside them. The whole point of a container is to be predictable.
- fragmede 1y ago
- apprentice7 1y agoIt's the bell curve meme all along.
- imiric 1y agoI've heard this often, but I'm going on ~25 years of using Linux, and I would be lost without my dotfiles. They represent years of carefully crafting my environment to suit my preferences, and without them it would be like working on someone else's machine. Not impossible, just very cumbersome. Admittedly, I've toned down the configs of some programs, as my usage of them has evolved or diminished, but many are still highly tailored to my preferences. For example, you can't really use Emacs without a considerable amount of tweaking. I mean, you technically could, but such programs are a blank slate made to be configured (and Emacs is awful OOB...). Similarly for zsh, which is my main shell, although I keep bash more vanilla. Practically the entire command-line environment and the choices you make about which programs to use can be considered configuration. If you use NixOS or Guix, then that extends to the entire system. If you're willing to allow someone else to tell you how you should use your computer, then you might as well use macOS or Windows. :)
- russellbeattie 1y agoThe moment of true enlightenment is when you finally decide to once and for all memorize all the arguments and their order for those command line utilities that you use at an interval that's just at the edge of your memory: xargs, find, curl, rsync, etc. That, plus knowing how to parse a man file to actually understand how to use a command (a skill that takes years to master) pretty much removes the need for most aliases and scripts.
- whatevertrevor 1y agoI already have limited space for long term memory, bash commands are very far down the list of things I'd want to append to my long term storage. I use ctrl-R with a fuzzy matching program, and let my terminal remember it for me. And before it's asked: yes that means I'd have more trouble working in a different/someone else's environment. But as it barely ever happens for me, it's hardly an important enough scenario to optimize for.
- npodbielski 1y agoWhy would I even attempt to do that? Life is too short to try to remember something like that. Maybe 20 years ago when internet was not that common. Or maybe if you are a hacker, hacking other peoples machines. Me? Just some dev trying yo make some money to feed my family? I prefer to have a walk to the woods.
- subsection1h 1y ago> When I was a fresh engineer I used a pretty vanilla shell environment. When I got a year or two of experience, I wrote tons of scripts Does this mean that you learned to code to earn a paycheck? I'm asking because I had written hundreds of scripts and Emacs Lisp functions to optimize my PC before I got my first job.
- shermanyo 1y agoI use a dotfile with aliases and functions, mostly to document / remember commands I find useful. It's been a handy way to build a living document of the utils I use regularly, and is easy to migrate to each new workstation.
- bdangubic 1y agoor just ask claude etc to do it for ya
- dylan604 1y agoman, i couldn't live without alias ..='cd ..' or alias ...='cd ../..' to this day, i still get tripped up when using a shell for the first time without those as they're muscle memory now.
- fiddlerwoaroof 1y agoI just use the autocd zsh shell option for this. And I also use `hash -d` to define shortcuts for common directories. Then just “executing” something like `~gh/apache/kafka` will cd to the right place.
- 1718627440 1y agoThanks. I haven't considered these aliases, but they seam useful, so I just added them for my user. :-)
- 400thecat 1y agoyou can configure Alt+Left to go up level
- Mikhail_Edoshin 1y agoGiven the nature of current operating systems and applications, do you think the idea of “one tool doing one job well” has been abandoned? If so, do you think a return to this model would help bring some innovation back to software development? Rob Pike: Those days are dead and gone and the eulogy was delivered by Perl.
- president_zippy 1y agoBut was the eulogy written in Perl poetry? I see it everywhere, but I don't know who this JAPH guy is. It's a strange way of spelling Jeff, and it's odd that he types his name in all caps, but he has published a remarkable quantity of works and he's even more famous than the anonymous hacker known as 4chan.
- npodbielski 1y agoOh I hate that paradigm. Well, maybe chmod and ls rsync and curl all do they OWN thing very well but every time I am using one of those tools I have to remember if i.e. more detailed response is -v or maybe -vvv or --verbose or -x for some reason because maintainer felt like it at 2:32 in the morning 17 years ago... Some consistency would help, but... Probably it is impossible the flame war over -R being recursive or read-only would never end.
- heap_perms 1y agoI can't say I relate at all (5 years of experience). They'll have to pry my 1000-line .zshrc from my cold, dead hands. For example, zsh-autosuggestions improves my quality of life so ridiculously much it's not even funny.
- cvak 1y agoI moved away from 1000 lines .zshrc when I had to do stuff on linux VMs/dockers and I was lost a lot. But you zsh-autosuggestions, and fzf-tab is not going anywhere.
- deleted 1y ago[deleted]
- mlrtime 1y agoFor the Infra Engineers out there who still manage fleets of pets, this is double true. You may not have access or be able to use all your shortcut scripts so you better know the raw commands on that unsupported RHEL6 host.