Ultimate Plumber
Dev tools
shell pipeline tool
SHOW HN2018
How HN took it
15 positive, 57 neutral or asking, 2 mixed, 27 critical, out of 101 comments about the project. Thread score -0.03.
Idea: 13 for, 11 againstExecution: 1 for, 15 againstPrivacy: 0 for, 1 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Useful, elegant idea for speeding up pipeline writing
From 3 comments
Well damn! This is a really elegant solution for a problem that has been bothering me for quite a while, and for which my own planned solution was much more complex :O
codetrotter on HNJust an awesome tool, I love those moments of "ah that's trivial, why didn't I think of this already" and it definitively applies for this tool. So special kudos for the idea,…
miduil on HNWhy wasn't there a tool for this earlier? I am a very aggressive piper but I used to hit up arrow , a series of ctrl-w and enter and wait everytime. Thank you
mohammedbin on HN
Fun tool that teaches new shell tricks
From 2 comments
This looks like a fun and helpful tool! (Perhaps best to ignore the notice from lshw and not run it as root, ha ha. Maybe even only in some kind of sandbox. I bet they could add…
pjungwir on HNAfter watching the GIF on the README.md I was like "WHERE HAVE YOU BEEN ALL MY LIFE" (actually just the past 10'ish years)!!! Then I was like, I bet quite a few ancient wizards…
ElijahLynn on HN
Objections
Running partial commands on every keystroke is dangerous, especially with rm
From 3 comments
This is awesome, but I am absolutely bloody terrified of using it on my systems. As is stated in the README, if you write 'rm' or anything like it... oopsie oops.
esotericn on HNCareful with rm: ``` r rm rm - rm -rf rm -rf ~ rm -rf ~/ rm -rf ~/tmp # where did my files go? ```
ptman on HNI've submitted an issue on GitHub, title "Executing incomplete commands is too dangerous". https://github.com/akavel/up/issues/8
_kst_ on HN
Blacklists or whitelists cannot be comprehensive
From 1 comment
I don't think a blacklist could possibly be comprehensive enough. I think you'd have to use some OS permission-limiting system to prevent it and any subprocesses it spawns from…
rcthompson on HN
Only really useful for grep; editors already cover this
From 1 comment
Novel and interesting idea but honestly i can't see any other use for this than grep and that point you might as well just pipe the output straight into vi, less or your other…
Too on HN
Requests
Run only on a trigger key rather than every keystroke
From 2 comments
Wow, how reckless! running partial commandline constructions on every keystroke.. The obvious thing to do is only run what's been typed so far on a trigger key like tab or…
newnewpdro on HNrm is not the only issue. Another problem may arise if your command is not idempotent with respect to the state of the system. Especially if it is not idempotent with respect to…
dustfinger on HN
Safe mode via sandbox, permission limits, or read-only filesystem
From 4 comments
This looks like a fun and helpful tool! (Perhaps best to ignore the notice from lshw and not run it as root, ha ha. Maybe even only in some kind of sandbox. I bet they could add…
pjungwir on HNI don't think a blacklist could possibly be comprehensive enough. I think you'd have to use some OS permission-limiting system to prevent it and any subprocesses it spawns from…
rcthompson on HNWhat about using LD_PRELOAD to load a FS shim that prevents writing to the FS?
jspears on HNMaybe if it automatically chrooted everything to prevent side affects (or better yet: isolate them to a ramdisk.) That would be awesome.
swiley on HN
Respect the SHELL environment variable
From 1 comment
* https://github.com/akavel/up/blob/master/up.go#L574 Please at least respect the SHELL environment variable. (-:
JdeBP on HN
Preview mode that shows results without mutating the system
From 1 comment
rm is not the only issue. Another problem may arise if your command is not idempotent with respect to the state of the system. Especially if it is not idempotent with respect to…
dustfinger on HN
Questions
How to drop user permissions or run as a non-privileged user
From 2 comments
Sounds interesting; but is there any way I could change to a different user if not running as root?... also, even if yes, how do I dynamically create a non-privileged user, or…
akavel on HNHow can I do the "drop user permissions" thing? I haven't seen such a keyword mentioned by anyone yet, sounds interesting. Does this not require some kind of syscall, however,…
akavel on HN
Whether namespaces or capabilities can make the filesystem read-only
From 2 comments
Is it possible to configure namespaces so that they allow read-only access?
akavel on HNThat's the main direction I currently seem to be coalescing on based on feedback I'm getting. That said, one person on lobste.rs suggested trying to play with Linux capabilities,…
akavel on HN
Alternatives named
Pipecut
From 1 comment
I checked out the original tool Pipecut—it allows you to look at the output after each pipe: https://youtu.be/CZHEZHK4jRc?t=1273 When I see stuff like this, I check the date to…
undershirt on HN
fzf
From 1 comment
The most frequent use case for this for me would be interactive grep. The "fzf" tools has this along with fuzzy search. And the text doesn't disappear while you type "grep" like…
gregwebs on HN
percol
From 1 comment
Related: percol utility allows to narrow a process output interactively https://github.com/mooz/percol I use it all the time to select a command from my shell history. It is a…
d0mine on HN
fzz
From 1 comment
Reminds me of fzz [0], which is a similar tool but focused more on interactive modification of prescribed components of a known command/pipeline than appending a pipeline. [0]…
amarshall on HN
Watching a script in tmux with watch
From 1 comment
Sounds like fun, but I think there are other ways to achieve a similar workflow without an extra tool. For example, I like to use a tmux session with two panes. On the one side…
arendtio on HN