Ultimate Plumber

Dev tools

shell pipeline tool

SHOW HN2018

Legend

Ultimate Plumber

a tool for writing Linux pipes with live preview

github.com

#linux pipes#shell#live preview#command line#grep

484points
217comments
#29of 2,155 in 2018
Top 2%of 2018 by points

How HN took it

CuriousMostly questions and neutral comments

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 HN
    • Just 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 HN
    • Why 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 HN
    • After 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 HN
    • Careful with rm: ``` r rm rm - rm -rf rm -rf ~ rm -rf ~/ rm -rf ~/tmp # where did my files go? ```
      ptman on HN
    • I'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 HN
    • 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
  • 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 HN
    • 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
    • What about using LD_PRELOAD to load a FS shim that prevents writing to the FS?
      jspears on HN
    • Maybe 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 HN
    • How 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 HN
    • That'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

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/18291302)