4 ms·
> Splitting the world into admins and programmers - that is elitist. That's what you do when recommend people who program in a particular language should learn
by falsedan 9y ago
> Splitting the world into admins and programmers - that is elitist.
That's what you do when recommend people who program in a particular language should learn a new one 'to produce rock-solid tools (which they need!)'. You're calling the bash scripts shoddy, and saying they're incompetently wasting their (and their company's) time.
> It is all about using the right tool for the job, and for complex jobs, a generic programming language with proper libraries is the right tool - far better suited than a shell script gluing together highly specialized tools, which run in separate processes and communicate via ad-hoc text formats rather than proper data structures.
I think your viewpoint is unnecessarily limiting. If that shell script works, takes 15 minutes to write, fails loudly and obviously, can be fixed & deployed in 5 minutes, and generates significant revenue, then it is better than a unit-tested, versioned, documented package.
I have seen too many tools that follow the approach you are recommending that overengineer a solution, take ages to release, and fail in obscure ways because they are trying to replicate a bash script's ability to say, "start this, then run that, then these ones in parallel, then wait for the first thing to finish".
- vog 9y ago> That's what you do when recommend people who program in a particular language should learn a new one 'to produce rock-solid tools (which they need!)'. Please refrain from strawmen arguments. You (deliberately?) left out the second part of my sentence that changes the meaning of your quotation by almost 180 degrees: "... more easily than with Shell scripts". I do assume that those shell scripts are rock-solid, because as a sysadmin you need them to be! But achieving that in shell language is so much harder than it needs to be.
- falsedan 9y agoIf you say these things, but means something else, that's on you to adapt your communication, not on me to intuit your message. > But achieving that in shell language is so much harder than it needs to be. So, as an exercise, how about replicating this pipeline in python: seq 0 9 | xargs printf "%02i\n" | xargs -I% -P0 ssh -A dev%-useast1 "docker ps -a | grep -vE '(second|minute)s ago' | tail -n +2 | awk '{ print $1 }' | tee >( xargs --no-run-if-empty docker rm -f ) >( xargs -I% echo -e 'USER docker-reaper guest mode :Docker Reaper\nNICK docker-reaper\nJOIN #channel\nPRIVMSG #channel :removing % on $(hostname)\nQUIT\n' | nc irc.example.net 6667" )" > removed_containers
- vog 9y ago> If you say these things, but means something else, that's on you to adapt your communication, not on me to intuit your message. It is socially unacceptable to misquote. For that, it doesn't matter if you "just" left out important parts, or actively changed words. That kind of behaviour removes not just the bases of an insightful dicussion, but of any other form of communication as well.
- falsedan 9y ago> It is socially unacceptable to misquote. No it's not. If your defense against writing a terrible thing is, "you have to understand it in context", it's still a terrible thing you wrote. Plus: it's ableist! You're putting the burden on the audience to hear/read your words without error, and to deduce your meaning correctly. I eagerly await your translation of that pipeline.
- deleted 9y ago[deleted]