[{"data":1,"prerenderedAt":192},["ShallowReactive",2],{"project-23490734":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":5,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":39,"post_text":40,"what":41,"said":60,"maker_in_thread":131,"shape":134,"grid":137,"attempts":153,"same_week":154,"maker_shows":31,"maker_hidden":184,"reader_version":185,"card":186},"23490734","notryan.com","My sans-JavaScript server dashboard","title","Show HN: My sans-JavaScript server dashboard","https:\u002F\u002Fnotryan.com\u002Fstatus\u002F","ryanmjacobs",1591894144,2020,12,9,2202,3028,73,"shown","dev_tools","server monitoring dashboard","web_app",[23,24,25,26],"sans-javascript","server dashboard","r graphs","server monitoring","roasted",-0.412,{"positive":30,"neutral":31,"mixed":32,"critical":33},0,3,1,4,8,{"performance":36,"design":38},{"positive":30,"critical":37},2,{"positive":30,"critical":37},[32,32,32,31,32,30,31,31,31],null,{"problem":42,"audience":40,"pricing":40,"motivation":49,"time_to_build":40,"stack":53,"openness":58,"stage":59,"team_size":58},{"value":43,"source":44,"evidence":45},"Dashboards built with JavaScript charts lag on old CPUs when plotting many points","maker",[46],{"id":47,"by":10,"text":48},"23497416","Ah, I should have explained better. Page load isn't really my main concern. I used to embed dynamic graphs (Metabase or D3.js) and my laptop would lag like crazy plotting all of…",{"value":50,"source":44,"evidence":51},"Metabase and D3 dashboards made his old laptop lag when plotting many points",[52],{"id":47,"by":10,"text":48},[54],{"value":55,"source":44,"evidence":56},"R",[57],{"id":47,"by":10,"text":48},"unknown","launched",{"praise":61,"objections":70,"requests":89,"questions":101,"alternatives":119},[62],{"value":63,"source":64,"evidence":65},"Fast and simple approach that suits rarely updating detailed graphs","commenter",[66],{"id":67,"by":68,"text":69},"23505839","quickthrower2","Thanks for explaining. I quite like it. Given a rarely updating but detailed graph this would perform better. But you do lose the interactivity benefits of JS. A candlestick…",[71,78,85],{"value":72,"source":64,"evidence":73},"Inaccessible to users with impaired vision",[74],{"id":75,"by":76,"text":77},"23510212","darekkay","I'd like to point out that this solution is inaccessible to users with impaired vision. That's probably okay for you (because only you are interested in the data), but this makes…",{"value":79,"source":64,"evidence":80},"Refreshing images every few minutes is slower than the JavaScript alternative",[81],{"id":82,"by":83,"text":84},"23496333","_bxg1","The whole reason people don't like JavaScript weighing down their pages is because they take longer to load. Loading three large images for every update can't be better.",{"value":86,"source":64,"evidence":87},"Loses the interactivity of JavaScript charts",[88],{"id":67,"by":68,"text":69},[90,97],{"value":91,"source":64,"evidence":92},"Use WASM for speed",[93],{"id":94,"by":95,"text":96},"23500616","fish45","I wonder how much WASM would help",{"value":98,"source":64,"evidence":99},"Aggregate data before plotting to reduce points",[100],{"id":67,"by":68,"text":69},[102,109],{"value":103,"source":64,"evidence":104},"Does it really need to display 10,000 data points?",[105],{"id":106,"by":107,"text":108},"23504275","th3o6a1d","Do you need to display 10,000 data points?",{"value":110,"source":64,"evidence":111},"Why not use meta-refresh or setTimeout instead of manual refresh?",[112,115],{"id":113,"by":68,"text":114},"23495933","I am not sure I follow. It's 3 images, so you manually refresh every 5 minutes (maybe that can be automated with meta-refresh so avoiding JS, although I don't see that much…",{"id":116,"by":117,"text":118},"23496179","sosodev","Yeah, I understand single page app levels of JavaScript but why complicate things to save a few lines?",[120,127],{"value":121,"source":64,"evidence":122},"D3.js",[123],{"id":124,"by":125,"text":126},"23503126","arcturus17","I can assure you the difference in load times between this and using a battle-tested library like D3.js will be imperceptible to the user. You could even throw a thin React app…",{"value":128,"source":44,"evidence":129},"Metabase",[130],{"id":47,"by":10,"text":48},{"comments":32,"answered":32,"key":132},[133],{"id":47,"text":48},{"commenters":34,"max_depth":31,"maker_replies":32,"first_comment_mins":135,"lifespan_hours":136},681,47,[138,140,142,143,145,146,148,150,151],[82,30,32,139,83,30],"project\u002Fcritical\u002Fperformance",[75,32,32,141,76,30],"project\u002Fcritical\u002Fdesign",[124,37,32,139,125,30],[113,31,31,144,68,30],"project\u002Fneutral\u002Fdesign",[116,31,32,141,117,30],[47,31,30,147,10,32],"project\u002Fpositive\u002Fperformance",[94,31,31,149,95,30],"project\u002Fneutral\u002Fperformance",[106,31,31,144,107,30],[67,31,31,152,68,30],"project\u002Fmixed\u002Fdesign",[],[155,160,165,170,174,179],{"id":156,"name":157,"points":158,"category":159},"23491940","Artvee",550,"learning_science",{"id":161,"name":162,"points":163,"category":164},"23519439","ISS Photo Explorer",528,"creative",{"id":166,"name":167,"points":168,"category":169},"23514682","Collected Notes",457,"productivity",{"id":171,"name":172,"points":173,"category":169},"23517394","LogoSearch",251,{"id":175,"name":176,"points":177,"category":178},"23549471","geekring",235,"consumer_social",{"id":180,"name":181,"points":182,"category":183},"23523830","Briefing",203,"infrastructure",false,"v2",{"id":187,"name":5,"line":6,"ai":184,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":188,"top":17,"kw":189,"maker":10,"domain":5,"tier":18,"attempts":30,"strip":190,"url":9,"mix":191,"praise":63,"objection":72,"sub":20},23490734,-0.41,[23,24,25,26],"111310333",[30,31,32,33],1793991011223]