[{"data":1,"prerenderedAt":307},["ShallowReactive",2],{"project-20903558":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":34,"aspects":35,"strip":41,"post_text":44,"what":45,"said":82,"maker_in_thread":154,"shape":161,"grid":165,"attempts":268,"same_week":269,"maker_shows":192,"maker_hidden":299,"reader_version":300,"card":301},"20903558","Soso","A simple Unix-like operating system that runs Doom","title","Show HN: A simple Unix-like operating system that runs Doom","https:\u002F\u002Fgithub.com\u002Fozkl\u002Fsoso","github.com","ozkl",1567861930,2019,233,42,152,2195,7,"notable","infrastructure","operating system","other",[21,24,25,26,27],"x86 kernel","doom","unix-like os","hobby os","loved",0.581,{"positive":31,"neutral":32,"mixed":33,"critical":33},9,4,0,13,{"execution":36,"design":38,"idea":39,"docs":40},{"positive":37,"critical":33},2,{"positive":33,"critical":33},{"positive":37,"critical":33},{"positive":33,"critical":33},[42,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,42,43,33,33,33,33,33,33,42,33,43,33,43,33,42,33,43,42,42,42,42],5,3,null,{"problem":44,"audience":44,"pricing":44,"motivation":46,"time_to_build":53,"stack":59,"openness":80,"stage":80,"team_size":81},{"value":47,"source":48,"evidence":49},"Wanted to run the OS on old PCs like a Celeron 333MHz","maker",[50],{"id":51,"by":11,"text":52},"20906591","I chose x86 because I wanted to try the os in my ancient PCs like a Celeron 333MHz. And articles I was reading at the start was for 32bit.",{"value":54,"source":48,"evidence":55},"About 8 months of night work, longer with breaks",[56],{"id":57,"by":11,"text":58},"20904298","Thanks. I think it would take 8 months night works. But it took longer because of breaks. I was always interested in low-level stuff especially about syscalls (how they jump to…",[60,68,74],{"value":61,"source":62,"evidence":63},"C","inferred",[64],{"id":65,"by":66,"text":67},"20904085","mruts","Nice work! But one question, what’s up with the naming scheme? Some functions are camel case, other are not. It seems like variables are camel case, but not all of them. And…",{"value":69,"source":48,"evidence":70},"Qt Creator",[71],{"id":72,"by":11,"text":73},"20904513","Thanks! Yeah it is my favorite editor and the os is entirely written in it :) In fact, doomgeneric is created just for Soso in order to port easily.",{"value":75,"source":48,"evidence":76},"Lua",[77],{"id":78,"by":11,"text":79},"20904704","Yeah, and Lua is also great at dependencies. It doesn't depend anything :)","unknown","solo",{"praise":83,"objections":107,"requests":108,"questions":113,"alternatives":135},[84,96],{"value":85,"source":86,"evidence":87},"Running Doom as a test case is fun and impressive","commenter",[88,92],{"id":89,"by":90,"text":91},"20903953","mysterydip","Love the test case \"but can you run Doom on it?\" Great work! Personally I'd like to see a homebrew OS that attempts some kind of compatibility with 16-bit Windows, with some…",{"id":93,"by":94,"text":95},"20904448","akling","Nice job ozkl! Cool to see another OS being built in Qt Creator :) Your generic DOOM looks really easy-to-port, gonna try it ASAP: https:\u002F\u002Fgithub.com\u002Fozkl\u002Fdoomgeneric",{"value":97,"source":86,"evidence":98},"Clean, readable code",[99,103],{"id":100,"by":101,"text":102},"20909179","wmu","That's really nice, I enjoyed reading the code.",{"id":104,"by":105,"text":106},"20907495","zoom6628","This looks like awesome work. Will be studying the source to learn about how it works. Serious code envy for people who take the time and effort to build OS'es like this. Could…",[],[109],{"value":110,"source":86,"evidence":111},"Explain the naming scheme inconsistency",[112],{"id":65,"by":66,"text":67},[114,121,128],{"value":115,"source":86,"evidence":116},"Why 32-bit instead of 64-bit",[117],{"id":118,"by":119,"text":120},"20905547","e12e","Nice. Why 32bit, not 64bit? I don't program much assembler - but after seeing how much simpler (sane) 64bit is (amd64), I'd have to be really motivated to do a hobby project in…",{"value":122,"source":86,"evidence":123},"How long it took and prior low-level knowledge",[124],{"id":125,"by":126,"text":127},"20904139","tinktank","This is awesome. How long did it take you and how familiar were you with the low-level details before you started?",{"value":129,"source":86,"evidence":130},"Resources or books used",[131],{"id":132,"by":133,"text":134},"20905605","eterps","Any books or other resources you used for guidance?",[136,147],{"value":137,"source":86,"evidence":138},"DOSBox and Wine for running 16-bit Windows",[139,143],{"id":140,"by":141,"text":142},"20903971","cbluth","Doesn't dosbox do this?",{"id":144,"by":145,"text":146},"20904059","jacobush","AFAIK you can run 16 bit Windows programs in Wine.",{"value":148,"source":86,"evidence":149},"winevdm 16-bit Windows emulator",[150],{"id":151,"by":152,"text":153},"20904678","ryacko","https:\u002F\u002Fgithub.com\u002Fotya128\u002Fwinevdm",{"comments":18,"answered":32,"key":155},[156,159,160],{"id":157,"text":158},"20904365","Thanks! I was going to go similar path you mentioned. Not 16-bit but in a way that is exe-like binaries and development with Visual Studio. But it seemed to me that it is easier…",{"id":72,"text":73},{"id":51,"text":52},{"commenters":162,"max_depth":32,"maker_replies":18,"first_comment_mins":163,"lifespan_hours":164},28,77,35,[166,168,170,172,175,178,179,182,184,186,188,190,193,195,198,201,204,206,208,211,213,214,216,219,221,223,226,229,232,236,238,242,244,246,249,250,251,253,255,256,260,264],[89,33,42,167,90,33],"project\u002Fpositive\u002Fnone",[140,33,33,169,141,33],"commenter\u002Fneutral\u002Fnone",[171,33,33,169,145,33],"20904044",[173,33,33,169,174,33],"20904111","benj111",[176,33,33,169,177,33],"20905240","pushpop",[144,33,33,169,145,33],[180,33,33,169,181,33],"20904270","tsukurimashou",[183,33,33,169,90,33],"20904292",[185,33,33,169,152,33],"20904337",[187,33,33,169,90,33],"20904493",[151,33,33,189,152,33],"other\u002Fneutral\u002Fnone",[157,33,33,191,11,192],"maker\u002Fneutral\u002Fnone",1,[194,33,33,189,90,33],"20904589",[196,33,33,189,197,33],"20904730","unixhero",[199,33,33,189,200,33],"20905219","oso2k",[202,33,33,189,203,33],"20907514","jackvalentine",[205,33,33,169,90,33],"20909956",[207,33,33,189,203,33],"20914133",[209,33,33,189,210,33],"20907515","taneq",[93,192,42,212,94,33],"project\u002Fpositive\u002Fexecution",[72,192,33,191,11,192],[118,37,43,215,119,33],"project\u002Fneutral\u002Fdesign",[217,37,33,169,218,33],"20905984","Arelius",[51,37,33,220,11,192],"maker\u002Fneutral\u002Fdesign",[222,37,33,169,119,33],"20909133",[224,37,33,169,225,33],"20906804","tracker1",[227,43,33,189,228,33],"20904900","rblatz",[230,43,33,189,231,33],"20905119","shscs911",[233,32,42,234,235,33],"20903976","project\u002Fpositive\u002Fidea","AlexDragusin",[78,32,33,237,11,192],"project\u002Fneutral\u002Fidea",[239,42,43,240,241,33],"20904524","project\u002Fneutral\u002Fexecution","corysama",[243,42,33,240,11,192],"20904622",[65,245,43,240,66,33],6,[247,245,33,248,11,192],"20904464","maker\u002Fneutral\u002Fexecution",[125,18,42,167,126,33],[57,18,33,191,11,192],[132,18,43,252,133,33],"maker\u002Fneutral\u002Fdocs",[104,254,42,234,105,33],8,[100,31,42,212,101,33],[257,258,42,167,259,33],"20904050",10,"ferCats99",[261,262,42,167,263,33],"20905860",11,"tsar_nikolai",[265,266,42,167,267,33],"20912057",12,"thsealienbstrds",[],[270,275,280,285,290,294],{"id":271,"name":272,"points":273,"category":274},"20923792","augmented-ui",775,"dev_tools",{"id":276,"name":277,"points":278,"category":279},"20929801","3dforreddit",720,"consumer_social",{"id":281,"name":282,"points":283,"category":284},"20914236","Senior Engineer's CheckList",662,"learning_science",{"id":286,"name":287,"points":288,"category":289},"20927585","tweetjobs",189,"productivity",{"id":291,"name":292,"points":293,"category":284},"20929774","The Whole Code Catalog",156,{"id":295,"name":296,"points":297,"category":298},"20921962","SecAlerts",144,"security_privacy",false,"v2",{"id":302,"name":5,"line":6,"ai":299,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":303,"top":18,"kw":304,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":305,"url":9,"mix":306,"praise":85,"objection":-1,"sub":21},20903558,0.58,[21,24,25,26,27],"5000000000000000000530000005030305035555",[31,32,33,33],1794036580632]