[{"data":1,"prerenderedAt":101},["ShallowReactive",2],{"project-33564592":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"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":9,"stance_mix":28,"scored_comments":14,"aspects":29,"strip":30,"post_text":31,"what":32,"said":53,"maker_in_thread":59,"shape":61,"grid":62,"attempts":63,"same_week":64,"maker_shows":93,"maker_hidden":94,"reader_version":95,"card":96},"33564592","puppetromium","A silly JavaScript-free web browser in the browser","title","Show HN: A silly JavaScript-free web browser in the browser",null,"graderjs",1668190928,2022,10,0,2093,2570,82,"shown","dev_tools","browser automation","web_app",[23,24,25,26],"puppeteer","headless chrome","javascript-free browser","mjpeg","quiet",{"positive":14,"neutral":14,"mixed":14,"critical":14},{},[],"This is a browser front-end (ultra simple) for Chrome, built using puppeteer. I like it because it provides a usable single browser tab (that conveniently crashes on certificate errors (thanks to puppeteers default flags which I haven't altered here)), without using any JS scripting on the client side.\n\nThere's some clever hacks to get that to work, including stylesheet media queries (to zero in on the correct viewport dimensions), and MJPEG, a crazy HTTP keep-alive way to stream JPEG frames of a video, favored by old-style CCTV\u002Fsecurity\u002Fweb cameras allegedly.\n\nI noticed it went from 18 to 19 ",{"problem":9,"audience":9,"pricing":9,"motivation":33,"time_to_build":9,"stack":39,"openness":51,"stage":52,"team_size":52},{"value":34,"source":35,"evidence":36},"Built as a silly, fun project showing a browser UI with no client-side JS.","maker",[37],{"id":38},"post",[40,43,47],{"value":23,"source":35,"evidence":41},[42],{"id":38},{"value":44,"source":35,"evidence":45},"Chrome",[46],{"id":38},{"value":48,"source":35,"evidence":49},"npm",[50],{"id":38},"open_source","unknown",{"praise":54,"objections":55,"requests":56,"questions":57,"alternatives":58},[],[],[],[],[],{"comments":14,"answered":14,"key":60},[],{"commenters":14,"max_depth":14,"maker_replies":14,"first_comment_mins":9,"lifespan_hours":9},[],[],[65,70,75,79,83,88],{"id":66,"name":67,"points":68,"category":69},"33582264","Upbase",632,"productivity",{"id":71,"name":72,"points":73,"category":74},"33568994","Wa-tunnel",453,"infrastructure",{"id":76,"name":77,"points":78,"category":19},"33592990","Openblocks",420,{"id":80,"name":81,"points":82,"category":74},"33599095","DivestOS",334,{"id":84,"name":85,"points":86,"category":87},"33561232","A little side project",224,"creative",{"id":89,"name":90,"points":91,"category":92},"33608892","Campus FM",212,"consumer_social",20,false,"v2",{"id":97,"name":5,"line":6,"ai":94,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":9,"top":17,"kw":98,"maker":10,"domain":99,"tier":18,"attempts":14,"strip":99,"url":-1,"mix":100,"praise":-1,"objection":-1,"sub":20},33564592,[23,24,25,26],"",[14,14,14,14],1794036627176]