4 ms·
"a whole bunch of dumb little shell scripts" This is definitely my duct tape. I am neither a developer nor a sysadmin, just a dumb end user. When something c
by feelin_googley 9y ago
"a whole bunch of dumb little shell scripts"
This is definitely my duct tape. I am neither a developer nor a sysadmin, just a dumb end user. When something cannot be written using only shell builtins, I use a relatively small set of external programs in my dumb scripts, utilities that would be found on most UNIX install media.
If I had the skills I would write many of these in a compiled language, i.e. C or in assembler. As a non-programmer, I have found fasm to be the most useful e.g. its ability to easily call C libs, but I also keep coming back to inline asm as I like the extra bit of control over registers that if offers. I use a small, old assembly level debugger that I prefer over gdb.
History suggests more than a few well-regarded projects originally began life/were prototyped as shell scripts. (I would bet most readers are using at least one today.)
Even though I lack the knowledge and experience of a career programmer, I do not feel ashamed for using Almquists shell to test ideas. Though I certainly understand the use of the word "dumb". However the truth, no matter how "dumb", is that shell builtins are faster than most of the other scripting languages I have tried, and not just in theory.
For some of these dumb little shell scripts, I have managed to replace them with compiled programs (often with the help of flex/yacc), but most are beyond my C/asm "implementation skills".
The point is that if a C programmer came to me, an end user, asking for ideas of what "new" or "missing" utilities they could write (not sure if thats what the author is describing), I could supply a lengthy list. Double digits, maybe even triple.
As I understand it, programmers want people to use their software. Given that I use many of these dumb little shell scripts every day, I could guarantee at least one loyal end user.
- p4lindromica 9y agoI interpreted the snippet you've quoted to be scripts that have /usr/bin/human as the shebang
- elliotec 9y agoCare to share your top 5-10 missing utilities? Maybe I’m that programmer
- feelin_googley 9y agoExamples of your work?
- yorwba 9y agoDoes it matter? Just post your list. Worst case, none of them get implemented.
- deleted 9y ago[deleted]
- e12e 9y agoI'd like to see the whole list as a gist - name, description, sample input, sample output. Eg: "tac", reverse lines in input, sample input: "first\nsecond\n", output: "second\nfirst\n". There's already the "standard" gnu coreutils, as well as suckless tools, and 9base from plan9. And projects like https://github.com/uutils/coreutils https://github.com/uutils/coreutils So there's plenty of places to draw inspiration from.
- narag 9y agoI take "dumb" to mean a simple program as opposed to a product, as described in The Mythical Man Month by Fred Brooks.