[{"data":1,"prerenderedAt":327},["ShallowReactive",2],{"project-22565423":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":42,"post_text":44,"what":45,"said":91,"maker_in_thread":176,"shape":180,"grid":184,"attempts":290,"same_week":291,"maker_shows":41,"maker_hidden":319,"reader_version":320,"card":321},"22565423","Counters","GUI for those who don't do GUI","title","Show HN: Counters – GUI for those who don't do GUI","https:\u002F\u002Fgithub.com\u002Fakalenuk\u002F16counters","github.com","okaleniuk",1584084237,2020,177,44,332,3028,11,"notable","dev_tools","debugging utility","desktop_app",[24,25,26,27],"windows debugging","sendmessage","win32 assembly","instrumentation","loved",0.257,{"positive":31,"neutral":32,"mixed":33,"critical":34},8,12,0,1,21,{"idea":37,"design":39,"execution":40},{"positive":38,"critical":34},5,{"positive":33,"critical":33},{"positive":41,"critical":33},2,[38,33,33,38,38,33,33,38,33,43,43,43,43,33,33,33,33,33,33,38,43,43,43,38,34,33,38,43,33,43,43,43,43,33,33,38,33,33,33,33],3,null,{"problem":46,"audience":44,"pricing":44,"motivation":58,"time_to_build":44,"stack":68,"openness":88,"stage":89,"team_size":90},{"value":47,"source":48,"evidence":49},"Quick ad-hoc visibility into program state without building a GUI","inferred",[50,54],{"id":51,"by":52,"text":53},"22565761","weinzierl","I've heard from game dev circles that some use Dear ImGui in the same spirit - as quick ad-hoc sort of GUI. A printf on steroids, if you will.",{"id":55,"by":56,"text":57},"22569730","rs23296008n1","Pretty much this. Basically its an easy way to merge in instrumentation and a console when you need one.",{"value":59,"source":60,"evidence":61},"Maker's personal debugging tool, shared on GitHub","maker",[62,65],{"id":63,"by":11,"text":64},"22565846","I try not to keep the SendMessages for too long. We actually have a Linux gate-build at work so they only live on local machines. But every once in a while I spawn them all…",{"id":66,"by":11,"text":67},"22565803","You're right, it is generally a good idea to use messages for this. It is also better performance wise to keep all the dispatching in one place. But I tried that at the very…",[69,80],{"value":70,"source":48,"evidence":71},"x86 assembly",[72,76],{"id":73,"by":74,"text":75},"22567379","vorpalhex","Given that this is \u003C500 lines of assembly this is frankly amazing given the overall complexity of the layout. Very clever.",{"id":77,"by":78,"text":79},"22566902","pjc50","Win32 in assembly. Serious commitment to minimalism right there.",{"value":81,"source":82,"evidence":83},"Win32 API","commenter",[84],{"id":85,"by":86,"text":87},"22566396","computerex","Where do you see MFC? This straight up uses Win32.","open_source","launched","unknown",{"praise":92,"objections":107,"requests":119,"questions":127,"alternatives":135},[93,97],{"value":94,"source":82,"evidence":95},"Clever minimalism, under 500 lines of assembly",[96],{"id":73,"by":74,"text":75},{"value":98,"source":82,"evidence":99},"Nice idea for quick personal tooling",[100,104],{"id":101,"by":102,"text":103},"22565572","tastroder","I wouldn't personally use this since my preference usually goes towards terminal UIs but I love seeing these personal productivity tools that people come up with. Nice work (and…",{"id":105,"by":56,"text":106},"22569791","This reminds me of those old carpenter tools and worn workbenches. Deceptively simple and specific but its really a complex multitool full of subtleties embedded mostly in how…",[108,112],{"value":109,"source":82,"evidence":110},"Window handles must be updated manually",[111],{"id":101,"by":102,"text":103},{"value":113,"source":82,"evidence":114},"Standard Windows messaging already does this",[115],{"id":116,"by":117,"text":118},"22565755","stiray","Ehm, this just how windows work, you are having a hwnd (window handle) and message with optional parameters. There are hundreds of messages and WM_USER just defines start of…",[120],{"value":121,"source":82,"evidence":122},"Remove borders from the multitail output",[123],{"id":124,"by":125,"text":126},"22577938","matheusmoreira","This is great. Is there a way to remove those borders?",[128],{"value":129,"source":82,"evidence":130},"How does the copy-template button relate to the window handle?",[131],{"id":132,"by":133,"text":134},"22565569","saagarjha","> The buttons seem misaligned but there is logic in it. The buttons that has to do with the coutners are closer to the counters. And the buttons that expose the window handler…",[136,143,150,161,172],{"value":137,"source":82,"evidence":138},"multitail",[139],{"id":140,"by":141,"text":142},"22565650","Evidlo","Cool idea. Here's how to do it in Linux with files: ``` # create the \"counters\" touch {01..16} # use multitail to show all counters in a grid, 4 columns multitail -s 4 * ``` Now…",{"value":144,"source":82,"evidence":145},"tail -f on multiple logs",[146],{"id":147,"by":148,"text":149},"22568582","memco","For what it’s worth you c an also do tail -f *.log (or equivalent) to tail multiple log files but it shows everything in a single stream instead of giving dedicated output…",{"value":151,"source":82,"evidence":152},"tmux or screen panes",[153,157],{"id":154,"by":155,"text":156},"22565851","Fnoord","Thanks for the heads up on multitail. Here are more multitail examples [1]. Also see the manpage. I had to install multitail from software repositories. You could also just make…",{"id":158,"by":159,"text":160},"22566225","rijoja","ah wow great tip, I've done this with tmux \u002F screen earlier and it's really neat when you want to watch multiple log files at the same time.",{"value":162,"source":82,"evidence":163},"zenity or yad dialogs",[164,168],{"id":165,"by":166,"text":167},"22566184","Phrodo_00","You can also have nice dialogs by using dialog\u002Fxdialog\u002Fzenity. For example, you can use named pipes and get a nice progress bar: ``` mkfifo progress cat progress | zenity…",{"id":169,"by":170,"text":171},"22581175","brbsix","I always use YAD, a much more feature-filled fork of zenity. https:\u002F\u002Fsourceforge.net\u002Fprojects\u002Fyad-dialog\u002F",{"value":173,"source":82,"evidence":174},"Dear ImGui",[175],{"id":51,"by":52,"text":53},{"comments":41,"answered":34,"key":177},[178,179],{"id":63,"text":64},{"id":66,"text":67},{"commenters":181,"max_depth":38,"maker_replies":41,"first_comment_mins":182,"lifespan_hours":183},34,42,45,[185,187,189,191,194,197,198,199,200,203,206,208,209,212,215,217,220,223,226,228,229,231,233,236,239,242,244,247,249,251,255,257,261,264,267,269,272,276,277,278,281,283,286,288],[140,33,38,186,141,33],"project\u002Fpositive\u002Fidea",[154,33,33,188,155,33],"other\u002Fneutral\u002Fnone",[147,33,33,190,148,33],"commenter\u002Fneutral\u002Fnone",[192,33,38,186,193,33],"22565855","ovi256",[195,33,38,186,196,33],"22565928","thrownaway954",[165,33,33,188,166,33],[169,33,33,188,170,33],[158,33,38,186,159,33],[201,33,33,190,202,33],"22570535","jolmg",[204,33,33,188,205,33],"22567898","mxuribe",[124,33,43,207,125,33],"project\u002Fneutral\u002Fdesign",[132,34,43,207,133,33],[210,34,43,211,102,33],"22565580","project\u002Fneutral\u002Fidea",[213,34,43,207,214,33],"22565586","unwind",[51,41,33,216,52,33],"other\u002Fneutral\u002Fidea",[218,41,33,216,219,33],"22566274","akx",[221,41,33,188,222,33],"22566335","tom_",[224,41,33,190,225,33],"22566663","codetrotter",[227,41,33,190,222,33],"22566812",[55,41,33,216,56,33],[101,43,38,230,102,33],"project\u002Fpositive\u002Fnone",[63,43,33,232,11,34],"project\u002Fneutral\u002Fnone",[234,43,43,207,235,33],"22570387","mst",[237,238,43,211,78,33],"22566934",4,[240,38,43,211,241,33],"22568040","hanniabu",[105,243,38,186,56,33],6,[116,245,34,246,117,33],7,"project\u002Fcritical\u002Fidea",[66,245,33,248,11,34],"maker\u002Fneutral\u002Fexecution",[73,31,38,250,74,33],"project\u002Fpositive\u002Fexecution",[252,253,43,211,254,33],"22565826",9,"29athrowaway",[256,253,33,188,52,33],"22566361",[258,259,33,216,260,33],"22568681",10,"janci",[262,18,43,211,263,33],"22566296","fareesh",[265,18,43,211,266,33],"22567453","0xffff2",[268,18,43,211,263,33],"22571978",[270,32,43,211,271,33],"22565880","bmn__",[273,274,33,188,275,33],"22566340",13,"momofarm",[85,274,33,190,86,33],[77,274,38,250,78,33],[279,274,33,190,280,33],"22566727","Narishma",[282,274,33,190,222,33],"22566824",[284,274,33,188,285,33],"22567075","FpUser",[287,274,33,188,275,33],"22567373",[289,274,33,188,285,33],"22569512",[],[292,297,302,307,311,315],{"id":293,"name":294,"points":295,"category":296},"22576940","Kosmi",494,"consumer_social",{"id":298,"name":299,"points":300,"category":301},"22574441","physics",295,"learning_science",{"id":303,"name":304,"points":305,"category":306},"22616456","Covid-19 Interactive Model",291,"infrastructure",{"id":308,"name":309,"points":310,"category":20},"22607402","WorkOS",205,{"id":312,"name":313,"points":314,"category":296},"22615515","Helm",196,{"id":316,"name":317,"points":318,"category":296},"22568335","Remote Roulette",123,false,"v2",{"id":322,"name":5,"line":6,"ai":319,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":323,"top":18,"kw":324,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":325,"url":9,"mix":326,"praise":94,"objection":109,"sub":21},22565423,0.26,[24,25,26,27],"5005500503333000000533351053033330050000",[31,32,33,34],1794036587479]