[{"data":1,"prerenderedAt":827},["ShallowReactive",2],{"project-18291302":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":46,"post_text":50,"what":51,"said":73,"maker_in_thread":220,"shape":231,"grid":234,"attempts":790,"same_week":791,"maker_shows":18,"maker_hidden":819,"reader_version":820,"card":821},"18291302","Ultimate Plumber","a tool for writing Linux pipes with live preview","title","Show HN: Ultimate Plumber – a tool for writing Linux pipes with live preview","https:\u002F\u002Fgithub.com\u002Fakavel\u002Fup","github.com","akavel",1540379094,2018,484,217,29,2155,2,"legend","dev_tools","shell pipeline tool","cli",[24,25,26,27,28],"linux pipes","shell","live preview","command line","grep","curious",-0.029,{"positive":32,"neutral":33,"mixed":18,"critical":34},15,57,27,101,{"execution":37,"privacy":39,"pricing":41,"idea":42,"design":45},{"positive":38,"critical":32},1,{"positive":40,"critical":38},0,{"positive":40,"critical":40},{"positive":43,"critical":44},13,11,{"positive":40,"critical":40},[18,18,47,40,40,40,40,38,48,47,38,48,38,48,38,48,38,18,18,18,48,48,47,38,40,40,40,48,48,18,49,47,48,40,49,18,18,49,38,49],5,3,4,null,{"problem":50,"audience":50,"pricing":50,"motivation":50,"time_to_build":50,"stack":52,"openness":71,"stage":72,"team_size":72},[53,64],{"value":54,"source":55,"evidence":56},"Go","inferred",[57,61],{"id":58,"by":59,"text":60},"18291592","miduil","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,…",{"id":62,"by":11,"text":63},"18295435","I don't think LD_PRELOAD would be enough; there are programs which don't use libc and reach straight for syscalls (e.g. the whole Go ecosystem\u002Fruntime)",{"value":65,"source":66,"evidence":67},"tcell (TUI library)","maker",[68],{"id":69,"by":11,"text":70},"18300929","I couldn't find a good readline library in pure Go, that would also interact well with the tcell package I am using for the TUI. This annoyed me really hard, but eventually I…","open_source","unknown",{"praise":74,"objections":99,"requests":129,"questions":165,"alternatives":184},[75,88],{"value":76,"source":77,"evidence":78},"Useful, elegant idea for speeding up pipeline writing","commenter",[79,83,84],{"id":80,"by":81,"text":82},"18293453","codetrotter","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",{"id":58,"by":59,"text":60},{"id":85,"by":86,"text":87},"18293262","mohammedbin","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",{"value":89,"source":77,"evidence":90},"Fun tool that teaches new shell tricks",[91,95],{"id":92,"by":93,"text":94},"18293588","pjungwir","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…",{"id":96,"by":97,"text":98},"18295453","ElijahLynn","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…",[100,115,122],{"value":101,"source":77,"evidence":102},"Running partial commands on every keystroke is dangerous, especially with rm",[103,107,111],{"id":104,"by":105,"text":106},"18293280","esotericn","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.",{"id":108,"by":109,"text":110},"18291380","ptman","Careful with rm: ``` r rm rm - rm -rf rm -rf ~ rm -rf ~\u002F rm -rf ~\u002Ftmp # where did my files go? ```",{"id":112,"by":113,"text":114},"18294775","_kst_","I've submitted an issue on GitHub, title \"Executing incomplete commands is too dangerous\". https:\u002F\u002Fgithub.com\u002Fakavel\u002Fup\u002Fissues\u002F8",{"value":116,"source":77,"evidence":117},"Blacklists or whitelists cannot be comprehensive",[118],{"id":119,"by":120,"text":121},"18293400","rcthompson","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…",{"value":123,"source":77,"evidence":124},"Only really useful for grep; editors already cover this",[125],{"id":126,"by":127,"text":128},"18295663","Too","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…",[130,141,154,161],{"value":131,"source":77,"evidence":132},"Run only on a trigger key rather than every keystroke",[133,137],{"id":134,"by":135,"text":136},"18297790","newnewpdro","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…",{"id":138,"by":139,"text":140},"18294517","dustfinger","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…",{"value":142,"source":77,"evidence":143},"Safe mode via sandbox, permission limits, or read-only filesystem",[144,145,146,150],{"id":92,"by":93,"text":94},{"id":119,"by":120,"text":121},{"id":147,"by":148,"text":149},"18293733","jspears","What about using LD_PRELOAD to load a FS shim that prevents writing to the FS?",{"id":151,"by":152,"text":153},"18294543","swiley","Maybe if it automatically chrooted everything to prevent side affects (or better yet: isolate them to a ramdisk.) That would be awesome.",{"value":155,"source":77,"evidence":156},"Respect the SHELL environment variable",[157],{"id":158,"by":159,"text":160},"18294078","JdeBP","* https:\u002F\u002Fgithub.com\u002Fakavel\u002Fup\u002Fblob\u002Fmaster\u002Fup.go#L574 Please at least respect the SHELL environment variable. (-:",{"value":162,"source":77,"evidence":163},"Preview mode that shows results without mutating the system",[164],{"id":138,"by":139,"text":140},[166,175],{"value":167,"source":66,"evidence":168},"How to drop user permissions or run as a non-privileged user",[169,172],{"id":170,"by":11,"text":171},"18295290","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…",{"id":173,"by":11,"text":174},"18296410","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,…",{"value":176,"source":66,"evidence":177},"Whether namespaces or capabilities can make the filesystem read-only",[178,181],{"id":179,"by":11,"text":180},"18295239","Is it possible to configure namespaces so that they allow read-only access?",{"id":182,"by":11,"text":183},"18294294","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,…",[185,192,199,206,213],{"value":186,"source":77,"evidence":187},"Pipecut",[188],{"id":189,"by":190,"text":191},"18294164","undershirt","I checked out the original tool Pipecut—it allows you to look at the output after each pipe: https:\u002F\u002Fyoutu.be\u002FCZHEZHK4jRc?t=1273 When I see stuff like this, I check the date to…",{"value":193,"source":77,"evidence":194},"fzf",[195],{"id":196,"by":197,"text":198},"18294355","gregwebs","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…",{"value":200,"source":77,"evidence":201},"percol",[202],{"id":203,"by":204,"text":205},"18295236","d0mine","Related: percol utility allows to narrow a process output interactively https:\u002F\u002Fgithub.com\u002Fmooz\u002Fpercol I use it all the time to select a command from my shell history. It is a…",{"value":207,"source":77,"evidence":208},"fzz",[209],{"id":210,"by":211,"text":212},"18294564","amarshall","Reminds me of fzz [0], which is a similar tool but focused more on interactive modification of prescribed components of a known command\u002Fpipeline than appending a pipeline. [0]…",{"value":214,"source":77,"evidence":215},"Watching a script in tmux with watch",[216],{"id":217,"by":218,"text":219},"18296538","arendtio","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…",{"comments":221,"answered":222,"key":223},28,10,[224,227,228],{"id":225,"text":226},"18291518","Right, it's theoretically dangerous, or I'd say practically: \"please think when using it\"... though I personally couldn't find any other serious problematic example other than…",{"id":170,"text":171},{"id":229,"text":230},"18294374","Author here: I hope something like that (syscall\u002Fcapabilities limits) could work. If it is possible, it would just mostly solve the problem, I believe. I'm kinda starting to…",{"commenters":232,"max_depth":44,"maker_replies":221,"first_comment_mins":32,"lifespan_hours":233},127,55,[235,237,239,243,246,248,251,255,257,261,264,266,270,272,276,279,282,285,288,291,294,297,300,303,306,308,310,312,315,318,321,323,325,328,331,334,337,340,343,346,348,352,356,359,362,364,366,369,372,374,377,380,383,385,388,390,391,394,395,397,400,403,406,409,410,412,415,418,421,424,426,429,432,435,439,442,445,448,450,453,456,459,463,464,467,470,472,475,477,480,483,485,487,489,492,494,495,497,499,501,503,506,508,510,512,514,516,518,521,523,526,529,531,533,535,538,540,542,545,546,549,552,554,556,558,560,563,565,567,570,573,576,578,581,584,586,588,590,593,596,599,602,605,608,610,612,614,617,620,623,625,627,630,633,636,639,640,642,646,649,652,655,657,659,661,664,667,669,672,674,676,679,682,684,686,688,690,692,696,698,700,702,703,705,707,710,712,715,719,720,722,724,727,729,731,733,735,739,741,744,746,748,750,753,757,759,761,764,765,767,770,771,773,774,778,783,785],[108,40,38,236,109,40],"project\u002Fcritical\u002Fexecution",[225,40,40,238,11,38],"maker\u002Fneutral\u002Fnone",[240,40,48,241,242,40],"18293296","project\u002Fneutral\u002Fexecution","skybrian",[244,40,48,241,245,40],"18294954","drb91",[170,40,40,247,11,38],"maker\u002Fneutral\u002Fexecution",[249,40,48,241,250,40],"18297173","gwn7",[252,40,40,253,254,40],"18297650","commenter\u002Fneutral\u002Fnone","seiferteric",[256,40,40,253,250,40],"18304530",[258,40,38,259,260,40],"18298302","project\u002Fcritical\u002Fprivacy","amalcon",[262,40,48,241,263,40],"18298412","infogulch",[265,40,40,253,250,40],"18304593",[267,40,40,268,269,40],"18299094","other\u002Fneutral\u002Fnone","lloeki",[271,40,40,268,250,40],"18304876",[273,40,47,274,275,40],"18296262","project\u002Fpositive\u002Fexecution","CGamesPlay",[277,40,48,241,278,40],"18298440","etatoby",[280,40,40,268,281,40],"18292818","somanyquestions",[283,40,40,268,284,40],"18293017","clarry",[286,40,40,268,287,40],"18294363","diegoperini",[289,40,40,268,290,40],"18294618","hk__2",[292,40,40,268,293,40],"18298461","kungtotte",[295,40,40,268,296,40],"18294899","jxy",[298,40,40,268,299,40],"18295823","Skunkleton",[301,40,40,268,302,40],"18293485","pbhjpbhj",[304,40,40,268,305,40],"18294251","michaelmrose",[307,40,40,268,245,40],"18294986",[309,40,40,268,299,40],"18295622",[311,40,40,268,245,40],"18304678",[313,40,40,268,314,40],"18294352","hyperpallium",[316,40,40,268,317,40],"18294419","arminiusreturns",[319,40,40,268,320,40],"18297571","michaelcampbell",[322,40,40,268,317,40],"18311652",[324,40,40,268,245,40],"18294974",[326,40,40,268,327,40],"18300231","piano",[329,40,40,268,330,40],"18296261","hinkley",[332,40,40,268,333,40],"18297580","nothrabannosir",[335,40,40,268,336,40],"18299214","mynewtb",[338,40,40,268,339,40],"18307697","dzamo_norton",[341,40,40,268,342,40],"18297438","ken",[344,40,40,268,345,40],"18298374","jodrellblank",[347,40,40,268,342,40],"18298813",[349,40,48,350,351,40],"18299361","project\u002Fneutral\u002Fpricing","wingerlang",[353,40,38,354,355,40],"18298500","project\u002Fcritical\u002Fidea","djsumdog",[357,38,40,268,358,40],"18293572","jlv2",[360,38,40,268,361,40],"18296503","joncrane",[363,38,40,268,159,40],"18299201",[92,18,47,365,93,40],"project\u002Fpositive\u002Fidea",[367,18,38,236,368,40],"18294449","ktm5j",[370,18,40,268,371,40],"18298176","DanielRibeiro",[373,18,40,268,269,40],"18299161",[375,48,40,268,376,40],"18299032","pareshverma91",[378,48,40,268,379,40],"18300373","zbentley",[381,48,47,365,382,40],"18305007","kapad",[384,49,40,268,296,40],"18295009",[386,49,40,268,387,40],"18295030","duck2",[389,49,38,354,296,40],"18295529",[104,47,38,236,105,40],[392,47,48,241,393,40],"18293361","nickspacek",[119,47,38,236,120,40],[396,47,38,236,105,40],"18293424",[398,47,48,241,399,40],"18293965","y4mi",[401,47,48,241,402,40],"18293546","malkarouri",[404,47,48,241,405,40],"18293734","conquistadog",[407,47,48,241,408,40],"18293900","amelius",[229,47,40,247,11,38],[411,47,48,241,120,40],"18297044",[413,47,48,241,414,40],"18293471","michaelmior",[416,47,38,236,417,40],"18293822","traverseda",[419,47,40,420,11,38],"18294860","maker\u002Fpositive\u002Fnone",[422,47,40,253,423,40],"18296089","fwip",[425,47,40,253,414,40],"18297286",[427,47,48,241,428,40],"18293931","Nullabillity",[430,47,48,241,431,40],"18294828","isodude",[433,47,40,434,11,38],"18294872","maker\u002Fpositive\u002Fexecution",[436,47,48,437,438,40],"18293512","project\u002Fneutral\u002Fdesign","LyndsySimon",[440,47,48,437,441,40],"18293841","mordechai9000",[443,47,48,241,444,40],"18293549","jimbokun",[446,47,48,241,447,40],"18293365","yipbub",[449,47,38,236,113,40],"18293834",[451,47,38,354,452,40],"18293421","setquk",[454,47,40,455,438,40],"18293527","commenter\u002Fpositive\u002Fidea",[457,47,38,354,458,40],"18293873","jolmg",[460,47,48,461,462,40],"18294598","project\u002Fmixed\u002Fidea","setr",[69,47,40,247,11,38],[465,47,47,365,466,40],"18293688","verytrivial",[468,47,38,354,469,40],"18293772","XorNot",[471,47,40,253,452,40],"18295366",[473,47,40,253,474,40],"18294041","anthk",[476,47,40,253,452,40],"18295301",[478,47,48,241,479,40],"18293547","kozhevnikov",[481,47,38,354,482,40],"18293866","certifiedloud",[484,47,40,253,479,40],"18294530",[486,47,40,253,462,40],"18294684",[488,47,38,236,458,40],"18293590",[490,47,48,241,491,40],"18293775","clhodapp",[493,47,48,241,458,40],"18294239",[182,47,40,247,11,38],[496,47,48,241,120,40],"18294357",[498,47,40,247,11,38],"18294820",[500,47,48,241,120,40],"18294934",[502,47,48,241,120,40],"18295649",[504,47,48,241,505,40],"18297392","em-bee",[507,47,38,236,458,40],"18294386",[509,47,40,247,11,38],"18294712",[511,47,38,236,458,40],"18294944",[513,47,40,247,11,38],"18295008",[515,47,48,437,458,40],"18295335",[517,47,48,241,505,40],"18297408",[519,47,48,241,520,40],"18294678","twanvl",[522,47,40,253,97,40],"18295398",[524,47,40,253,525,40],"18295607","chrisshroba",[527,47,48,437,528,40],"18294709","deelowe",[530,47,40,247,11,38],"18295088",[532,47,40,253,528,40],"18296386",[534,47,40,253,458,40],"18305857",[536,47,48,241,537,40],"18294865","Spakman",[539,47,40,238,11,38],"18294921",[541,47,40,253,537,40],"18295037",[543,47,48,241,544,40],"18295218","curun1r",[173,47,40,247,11,38],[547,47,47,365,548,40],"18296990","laumars",[550,47,40,551,11,38],"18297214","maker\u002Fneutral\u002Fidea",[553,47,48,241,544,40],"18298198",[555,47,40,253,548,40],"18298869",[557,47,47,365,548,40],"18298914",[559,47,48,241,505,40],"18297359",[561,47,40,268,562,40],"18294666","taeric",[564,47,40,253,11,38],"18294786",[566,47,40,268,562,40],"18295235",[568,47,38,236,569,40],"18293848","shittyadmin",[571,47,38,354,572,40],"18294318","wpietri",[574,47,40,268,575,40],"18295351","groestl",[577,47,40,268,296,40],"18295463",[579,47,40,268,580,40],"18306389","no_news_is",[582,47,40,268,583,40],"18295613","mixmastamyk",[585,47,40,253,120,40],"18295719",[587,47,40,253,575,40],"18295806",[589,47,40,253,583,40],"18297061",[591,47,40,268,592,40],"18295778","androidgirl",[594,47,40,268,595,40],"18296495","samstave",[597,47,40,268,598,40],"18296644","yesbabyyes",[600,47,40,268,601,40],"18295892","yread",[603,47,40,268,604,40],"18295946","rmetzler",[606,47,40,268,607,40],"18299188","traviscj",[609,47,40,268,458,40],"18295960",[611,47,40,268,575,40],"18296339",[613,47,40,268,260,40],"18298263",[615,47,40,268,616,40],"18299024","inopinatus",[618,47,40,268,619,40],"18296980","woodruffw",[621,47,40,268,622,40],"18297362","saagarjha",[624,47,48,241,469,40],"18293785",[626,47,40,253,11,38],"18295241",[628,47,40,268,629,40],"18296593","humblebee",[631,47,48,241,632,40],"18294101","Bjartr",[634,47,48,241,635,40],"18294366","jknz",[637,47,48,241,638,40],"18294563","dan-robertson",[179,47,40,253,11,38],[641,47,48,241,505,40],"18297541",[643,47,48,644,645,40],"18294643","project\u002Fneutral\u002Fidea","toxik",[647,47,48,241,648,40],"18294789","the8472",[650,47,48,241,651,40],"18294801","slewis",[653,47,48,241,654,40],"18294909","dharmab",[656,47,38,236,245,40],"18294949",[658,47,40,241,11,38],"18295229",[660,47,48,241,81,40],"18295434",[662,47,48,241,663,40],"18295043","imhoguy",[665,47,48,241,666,40],"18295659","hawski",[96,668,47,365,97,40],6,[670,668,40,268,671,40],"18297665","catacombs",[673,668,40,268,382,40],"18305063",[675,668,40,268,671,40],"18310526",[677,668,40,268,678,40],"18301458","greggyb",[680,681,47,365,607,40],"18293326",7,[683,681,40,253,11,38],"18295314",[685,681,40,268,607,40],"18297945",[687,681,40,253,11,38],"18302077",[689,681,48,644,505,40],"18298950",[112,691,38,236,113,40],8,[693,694,47,365,695,40],"18298078",9,"daenz",[697,222,48,461,648,40],"18293696",[699,222,40,253,86,40],"18293913",[701,222,40,551,11,38],"18295404",[189,44,40,268,190,40],[704,44,40,268,11,38],"18301033",[203,706,40,268,204,40],12,[708,43,48,644,709,40],"18295441","ddalex",[711,43,40,241,11,38],"18295484",[713,43,40,268,714,40],"18295722","nixpulvis",[716,717,47,365,718,40],"18293909",14,"sisk",[196,32,48,644,197,40],[721,32,38,354,431,40],"18294797",[58,723,47,365,59,40],16,[725,723,40,726,11,38],"18291680","maker\u002Fpositive\u002Fidea",[210,728,48,644,211,40],17,[126,730,38,354,127,40],18,[138,732,48,241,139,40],19,[734,732,40,551,11,38],"18295349",[736,737,38,354,738,40],"18300865",20,"nailer",[217,740,38,354,218,40],21,[742,740,48,644,743,40],"18297023","theossuary",[80,745,47,365,81,40],22,[747,745,40,726,11,38],"18295445",[85,749,47,365,86,40],23,[751,752,40,268,358,40],"18293577",24,[754,755,48,241,756,40],"18296660",25,"ygra",[158,758,48,241,159,40],26,[760,758,40,247,11,38],"18294576",[762,34,40,268,763,40],"18300063","spark888",[147,221,48,241,148,40],[766,221,38,236,113,40],"18295134",[768,221,40,769,148,40],"18298456","commenter\u002Fneutral\u002Fidea",[62,221,40,253,11,38],[772,221,40,253,148,40],"18298430",[151,16,48,241,152,40],[775,776,47,365,777,40],"18295638",30,"agumonkey",[779,780,48,781,782,40],"18299011",31,"project\u002Fneutral\u002Fnone","msravi",[134,784,38,236,135,40],32,[786,787,47,788,789,40],"18299732",33,"project\u002Fpositive\u002Fnone","amarant",[],[792,797,802,807,812,815],{"id":793,"name":794,"points":795,"category":796},"18284910","Websites in 2018",595,"creative",{"id":798,"name":799,"points":800,"category":801},"18258971","After Interview",306,"productivity",{"id":803,"name":804,"points":805,"category":806},"18265074","lip-reading-deeplearning",258,"ai",{"id":808,"name":809,"points":810,"category":811},"18294007","Relica",132,"infrastructure",{"id":813,"name":814,"points":232,"category":801},"18249424","Meeting Stats",{"id":816,"name":817,"points":818,"category":811},"18266668","txPDF",93,false,"v2",{"id":822,"name":5,"line":6,"ai":819,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":823,"top":18,"kw":824,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":825,"url":9,"mix":826,"praise":76,"objection":101,"sub":21},18291302,-0.03,[24,25,26,27,28],"2250000135131313122233510003324530422414",[32,33,18,34],1794036570835]