[{"data":1,"prerenderedAt":278},["ShallowReactive",2],{"project-13355856":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":44,"post_text":45,"what":46,"said":70,"maker_in_thread":168,"shape":176,"grid":180,"attempts":240,"same_week":241,"maker_shows":33,"maker_hidden":270,"reader_version":271,"card":272},"13355856","Q8","An In-Browser VM for Learning and Visualizing Bytecode Programming","title","Show HN: Q8, an In-Browser VM for Learning and Visualizing Bytecode Programming","https:\u002F\u002Fanchovieshat.github.io\u002FQ8\u002Findex.html","anchovieshat.github.io","anchovieshat",1483965154,2017,145,28,264,2242,12,"notable","languages","virtual machine","web_app",[24,21,25,26,27],"bytecode","low level programming","assembly learning","in-browser emulator","debated",0.125,{"positive":31,"neutral":32,"mixed":33,"critical":34},6,3,1,5,15,{"docs":37,"idea":39,"execution":41,"design":43},{"positive":38,"critical":33},2,{"positive":40,"critical":40},0,{"positive":40,"critical":42},4,{"positive":38,"critical":40},[40,34,34,40,34,32,40,33,40,34,40,40,40,40,40,34,33,40,33,40,33,40,33,40,32,32,32,34],null,{"problem":47,"audience":54,"pricing":45,"motivation":62,"time_to_build":45,"stack":66,"openness":67,"stage":68,"team_size":69},{"value":48,"source":49,"evidence":50},"Learning low-level programming by visualizing raw memory and bytecode execution","maker",[51],{"id":52,"by":11,"text":53},"13355860","[I'm the author] Q8 is a little tool I started as an experiment to visualize low level code as it manipulates raw data in memory, but has evolved into a full-fledged experimental…",{"value":55,"source":49,"evidence":56},"People learning low-level programming",[57,58],{"id":52,"by":11,"text":53},{"id":59,"by":60,"text":61},"13361315","zenojevski","Huge props for putting this all together! The lessons and guides you published are definitely my key takeaway from this project. I think there is an opportunity for an integrated…",{"value":63,"source":49,"evidence":64},"Experiment to visualize low-level code manipulating memory, grew into a learning environment",[65],{"id":52,"by":11,"text":53},[],"unknown","launched","solo",{"praise":71,"objections":100,"requests":127,"questions":141,"alternatives":153},[72,89],{"value":73,"source":74,"evidence":75},"Useful learning tool for low-level code and visualization","commenter",[76,80,84,85],{"id":77,"by":78,"text":79},"13356168","palerdot","This tool is great. Good job.",{"id":81,"by":82,"text":83},"13356177","kagaw","Thats a great tool in learning low level code. I really like to understand in machine level but i have no idea how machine works. Like what is a raw data memory. Character size…",{"id":59,"by":60,"text":61},{"id":86,"by":87,"text":88},"13358397","ngvrnd","I like it a lot, was looking for something like this to teach 13 with, so, thanks! Had trouble editing values in the tiles tho - backspace made the browser go back to HN and…",{"value":90,"source":74,"evidence":91},"Visualization is cool and similar to Human Resource Machine",[92,96],{"id":93,"by":94,"text":95},"13357408","Matthias247","The visualizations remind me of the game \"Human Resource Machine\", which also allows to program in some pseudo-assembly instruction set and visualizes the execution through…",{"id":97,"by":98,"text":99},"13360169","beefok","Really cool visualization of the VM!",[101,117],{"value":102,"source":74,"evidence":103},"Editing cells is buggy, especially backspace navigating browser back",[104,108,111,114],{"id":105,"by":106,"text":107},"13357995","alyandon","What exactly is one expected to do in order to solve say the very first puzzle? I can click on the grid to highlight a cell but I can't alter the contents. If I use the buttons…",{"id":109,"by":106,"text":110},"13358096","It's inconsistent for me - it seems to sometimes get stuck in a state where I can't update any of the cells. Sometimes it will allow me to update the cells but whatever I type…",{"id":112,"by":106,"text":113},"13358430","That's the very first thing I tried and it wasn't working at all for me earlier. Backspace was navigating to the previous page. Now it seems to work... sort of... sometimes it'll…",{"id":115,"by":11,"text":116},"13359551","I believe I've corrected the backspace bug with a little help from a pull request, preventing default behavior and patching it through the same route the delete key follows. My…",{"value":118,"source":74,"evidence":119},"Hard to understand what the grid numbers mean without instruction mapping",[120,124],{"id":121,"by":122,"text":123},"13356309","tonetheman","It looks neat but I could not figure out what exactly was happening. It might help if you did some smaller programs first where it is clear what the numbers in the grid really…",{"id":125,"by":11,"text":126},"13356340","On the page with the editable grid, https:\u002F\u002Fanchovieshat.github.io\u002FQ8\u002Fq8.html there's a table that maps numbers to instructions, and gives a brief description. It wraps below the…",[128,135],{"value":129,"source":74,"evidence":130},"Full instruction set list or documentation",[131],{"id":132,"by":133,"text":134},"13356673","wesleytodd","Really neat! Is there a list of the full instruction set somewhere?",{"value":136,"source":74,"evidence":137},"Assembler support for writing programs",[138],{"id":139,"by":11,"text":140},"13356400","While it isn't quite the same emulated machine, and therefore has a different instruction set, it does tread similar ground to Nand2Tetris's project 4, however it lacks an…",[142,149],{"value":143,"source":74,"evidence":144},"How to use it alongside Nand2Tetris",[145],{"id":146,"by":147,"text":148},"13356306","capex","Seems like a great project! Can this be used alongside the NAND to Tetris project[0] for understanding low level programming? [0] http:\u002F\u002Fwww.nand2tetris.org\u002F",{"value":150,"source":74,"evidence":151},"Resources for learning machine-level programming",[152],{"id":81,"by":82,"text":83},[154,158,162],{"value":155,"source":74,"evidence":156},"Human Resource Machine",[157],{"id":93,"by":94,"text":95},{"value":159,"source":74,"evidence":160},"Nand2Tetris",[161],{"id":146,"by":147,"text":148},{"value":163,"source":74,"evidence":164},"chip3 in-browser VM",[165],{"id":166,"by":60,"text":167},"13359410","In a similar vein, here is a VM I made for educational purposes. https:\u002F\u002Fzenoamaro.github.io\u002Fchip3\u002F It runs in the browser, featuring a fully inspectable CPU and RAM, rewindable…",{"comments":169,"answered":32,"key":170},7,[171,172,175],{"id":52,"text":53},{"id":173,"text":174},"13356198","Hey, there's a lot you can learn from Q8, but if you want to look at something deeper, you might want to look into x86 or ARM assembly.…",{"id":139,"text":140},{"commenters":177,"max_depth":178,"maker_replies":169,"first_comment_mins":40,"lifespan_hours":179},14,8,51,[181,183,185,186,188,191,193,195,199,202,204,206,209,212,214,216,218,220,221,222,226,227,230,231,232,234,237,239],[52,40,40,182,11,33],"maker\u002Fneutral\u002Fnone",[77,40,34,184,78,40],"project\u002Fpositive\u002Fnone",[81,40,34,184,82,40],[173,40,40,187,11,33],"maker\u002Fneutral\u002Fdocs",[189,40,34,190,82,40],"13363991","maker\u002Fpositive\u002Fdocs",[146,40,32,192,147,40],"project\u002Fneutral\u002Fidea",[139,40,40,194,11,33],"project\u002Fneutral\u002Fdesign",[196,40,33,197,198,40],"13357984","project\u002Fcritical\u002Fexecution","vadiml",[200,40,40,201,11,33],"13359464","maker\u002Fneutral\u002Fexecution",[59,40,34,203,60,40],"project\u002Fpositive\u002Fdocs",[166,33,40,205,60,40],"other\u002Fneutral\u002Fnone",[207,33,40,208,11,33],"13359565","commenter\u002Fneutral\u002Fnone",[210,33,40,211,98,40],"13360153","other\u002Fneutral\u002Fdesign",[213,33,40,208,60,40],"13361195",[215,33,40,208,98,40],"13374364",[93,38,34,217,94,40],"project\u002Fpositive\u002Fdesign",[121,32,33,219,122,40],"project\u002Fcritical\u002Fdocs",[125,32,40,187,11,33],[105,32,33,197,106,40],[223,32,40,224,225,40],"13358038","commenter\u002Fneutral\u002Fexecution","_dps",[109,32,33,197,106,40],[228,32,40,224,229,40],"13358269","gpsx",[112,32,33,197,106,40],[115,32,40,201,11,33],[86,42,32,233,87,40],"project\u002Fmixed\u002Fexecution",[235,42,32,236,87,40],"13358417","project\u002Fneutral\u002Fexecution",[132,34,32,238,133,40],"project\u002Fneutral\u002Fdocs",[97,31,34,217,98,40],[],[242,247,252,257,261,266],{"id":243,"name":244,"points":245,"category":246},"13338592","Alacritty",1170,"dev_tools",{"id":248,"name":249,"points":250,"category":251},"13376901","Founderkit",331,"web_saas",{"id":253,"name":254,"points":255,"category":256},"13324971","Visual Hacker News",248,"consumer_social",{"id":258,"name":259,"points":260,"category":256},"13367486","Currently",211,{"id":262,"name":263,"points":264,"category":265},"13351973","popup-openvpn",206,"infrastructure",{"id":267,"name":268,"points":269,"category":246},"13342341","Kitty",192,false,"v2",{"id":273,"name":5,"line":6,"ai":270,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":274,"top":18,"kw":275,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":276,"url":9,"mix":277,"praise":73,"objection":102,"sub":21},13355856,0.13,[24,21,25,26,27],"0550530105000005101010103335",[31,32,33,34],1794036551553]