[{"data":1,"prerenderedAt":244},["ShallowReactive",2],{"project-28339545":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":36,"aspects":37,"strip":42,"post_text":44,"what":45,"said":74,"maker_in_thread":141,"shape":149,"grid":153,"attempts":207,"same_week":208,"maker_shows":43,"maker_hidden":237,"reader_version":238,"card":239},"28339545","barchart","Simple tool for creating command-line bar charts","title","Show HN: Simple tool for creating command-line bar charts","https:\u002F\u002Fgithub.com\u002FTurkeyMcMac\u002Fbarchart","github.com","jwmhjwmh",1630170034,2021,86,23,602,2533,24,"notable","dev_tools","command-line charting","cli",[24,25,26,27,28],"command line","bar chart","ascii chart","shell script","terminal plot","loved",0.45,{"positive":32,"neutral":33,"mixed":34,"critical":35},5,2,1,0,8,{"idea":38,"performance":39,"execution":40,"docs":41},{"positive":33,"critical":35},{"positive":35,"critical":35},{"positive":34,"critical":35},{"positive":34,"critical":35},[35,32,35,35,43,35,35,43,35,35,35,35,35,35,43,35,35,35,32,32,35,32,32],3,null,{"problem":46,"audience":44,"pricing":44,"motivation":44,"time_to_build":44,"stack":56,"openness":72,"stage":73,"team_size":73},{"value":47,"source":48,"evidence":49},"Drawing bar charts of piped data in the terminal","inferred",[50,53],{"id":51,"by":11,"text":52},"28340633","You would probably need a wrapper script to do this. The script could periodically clear the screen and call \"barchart\" with the new input data, re-rendering the chart from…",{"id":54,"by":11,"text":55},"28342633","The script does accept input from a pipe, just as Awk does. Specifying a delimiter seems like it should be doable. To answer your question, I mainly use this for counting lines…",[57,65],{"value":58,"source":59,"evidence":60},"POSIX shell","commenter",[61],{"id":62,"by":63,"text":64},"28341360","1vuio0pswjnm7","\"The script should work with any POSIX shell.\" Nice work!",{"value":66,"source":59,"evidence":67},"awk",[68],{"id":69,"by":70,"text":71},"28341607","xcambar","sh for arg parsing and configuration detection (cols). awk for the actual work. No fluff. Straight to the point. Just Works. Congrats to the author.","open_source","unknown",{"praise":75,"objections":89,"requests":90,"questions":105,"alternatives":106},[76],{"value":77,"source":59,"evidence":78},"Simple, works well, nice work",[79,80,81,85],{"id":69,"by":70,"text":71},{"id":62,"by":63,"text":64},{"id":82,"by":83,"text":84},"28354207","designerdonna22","Nice and Supercool!",{"id":86,"by":87,"text":88},"28343089","AliBoukeroui","This is really useful :)",[],[91,98],{"value":92,"source":59,"evidence":93},"Accept input from a pipe and specify a delimiter",[94],{"id":95,"by":96,"text":97},"28342312","version_five","Hi jwmhjwmh - thanks for posting this. I just wanted to add, for me, two important features of a utility like this are 1. to accept input from a pipe, and 2. to specify a…",{"value":99,"source":59,"evidence":100},"Real-time rendering of streaming data",[101],{"id":102,"by":103,"text":104},"28340468","the_arun","Anyway we could use this with realtime rendering? For eg: I pipe data from top command to this script to see graphs\u002Fcharts change it dynamically?",[],[107,113,120,127,134],{"value":108,"source":59,"evidence":109},"gnuplot dumb terminal output",[110],{"id":111,"by":96,"text":112},"28341940","As someone else pointed out, this definitely gets points for using sh\u002Fawk. Just wanted to mention that gnuplot also has a \"dumb\" output option that will generate ascii plots in…",{"value":114,"source":59,"evidence":115},"feedgnuplot",[116],{"id":117,"by":118,"text":119},"28341033","ducktective","Nice! There is also https:\u002F\u002Fgithub.com\u002Fdkogan\u002Ffeedgnuplot",{"value":121,"source":59,"evidence":122},"UnicodePlots.jl",[123],{"id":124,"by":125,"text":126},"28341712","dunefox","I would rather use this: https:\u002F\u002Fgithub.com\u002FEvizero\u002FUnicodePlots.jl along with a little scripting.",{"value":128,"source":59,"evidence":129},"plotext",[130],{"id":131,"by":132,"text":133},"28344513","kgarten","nice little project :) on a tangent I was playing with https:\u002F\u002Fgithub.com\u002Fpiccolomo\u002Fplotext for a bit (especially on a data analysis server connected over ssh it's quite useful,…",{"value":135,"source":59,"evidence":136},"htop",[137],{"id":138,"by":139,"text":140},"28341302","johndough","Slightly relevant: The program \"htop\" displays CPU usage with bars on the command line. https:\u002F\u002Fhtop.dev\u002F",{"comments":142,"answered":43,"key":143},4,[144,145,148],{"id":51,"text":52},{"id":146,"text":147},"28343407","There exist more modern shells like Fish Shell and Oil Shell. I haven't used them, but they're probably nicer to use than POSIX shell. I'm sure they have pipes and stuff too.",{"id":54,"text":55},{"commenters":150,"max_depth":142,"maker_replies":142,"first_comment_mins":151,"lifespan_hours":152},18,110,41,[154,156,160,161,165,167,168,169,172,175,178,179,182,184,185,188,190,193,195,198,200,202,204],[111,35,35,155,96,35],"other\u002Fneutral\u002Fnone",[157,35,32,158,159,35],"28342208","project\u002Fpositive\u002Fidea","teitoklien",[117,34,35,155,118,35],[162,34,35,163,164,35],"28341656","other\u002Fpositive\u002Fnone","mihi",[102,33,43,166,103,35],"project\u002Fneutral\u002Fperformance",[51,33,35,166,11,34],[138,33,35,155,139,35],[170,33,43,166,171,35],"28341530","johnchristopher",[173,43,35,155,174,35],"28348859","kh_hk",[176,142,35,155,177,35],"28343237","Waterluvian",[146,142,35,155,11,34],[180,142,35,155,181,35],"28344782","ewen-lbh",[183,142,35,155,118,35],"28344442",[124,32,35,155,125,35],[95,186,43,187,96,35],6,"project\u002Fmixed\u002Fexecution",[54,186,35,189,11,34],"maker\u002Fneutral\u002Fexecution",[191,186,35,155,192,35],"28345610","pdimitar",[194,186,35,155,11,34],"28346436",[62,196,32,197,63,35],7,"project\u002Fpositive\u002Fdocs",[69,36,32,199,70,35],"project\u002Fpositive\u002Fexecution",[131,201,35,155,132,35],9,[86,203,32,158,87,35],10,[82,205,32,206,83,35],11,"project\u002Fpositive\u002Fnone",[],[209,214,219,224,228,232],{"id":210,"name":211,"points":212,"category":213},"28347439","ente",1180,"consumer_social",{"id":215,"name":216,"points":217,"category":218},"28320346","freeoptionscreener",501,"finance_crypto",{"id":220,"name":221,"points":222,"category":223},"28329444","metameme",418,"creative",{"id":225,"name":226,"points":227,"category":223},"28371035","stickerdoodle.app",185,{"id":229,"name":230,"points":231,"category":223},"28362199","webcam-filters",174,{"id":233,"name":234,"points":235,"category":236},"28352617","RefineDB",113,"data",false,"v2",{"id":240,"name":5,"line":6,"ai":237,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":241,"maker":11,"domain":10,"tier":19,"attempts":35,"strip":242,"url":9,"mix":243,"praise":77,"objection":-1,"sub":21},28339545,[24,25,26,27,28],"05003003000000300055055",[32,33,34,35],1794036610657]