[{"data":1,"prerenderedAt":199},["ShallowReactive",2],{"project-10411756":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":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":40,"post_text":42,"what":43,"said":65,"maker_in_thread":121,"shape":124,"grid":127,"attempts":158,"same_week":163,"maker_shows":38,"maker_hidden":191,"reader_version":192,"card":193},"10411756","startc","Minimal freestanding C runtime for bare-metal\u002Fembedded PC projects","title","Show HN: Minimal freestanding C runtime for bare-metal\u002Fembedded PC projects","http:\u002F\u002Fwww.github.com\u002Fmarssaxman\u002Fstartc","github.com","marssaxman",1445242824,2015,97,14,252,2565,10,"notable","languages","runtime library","library",[24,25,26,27,28],"freestanding c","bare metal","c runtime","x86 assembly","kvm","curious",-0.222,{"positive":32,"neutral":33,"mixed":32,"critical":34},0,5,2,7,{"idea":37,"execution":39},{"positive":32,"critical":38},1,{"positive":32,"critical":38},[41,41,32,38,32,41,41,32,32,32,32,38,41,32],3,null,{"problem":42,"audience":42,"pricing":42,"motivation":44,"time_to_build":42,"stack":55,"openness":64,"stage":64,"team_size":64},{"value":45,"source":46,"evidence":47},"Learning x86 and the GNU assembler; a runtime for the 'fleet' project running on KVM with virtio devices","maker",[48,51],{"id":49,"by":11,"text":50},"10414352","I'd be happy to hear your suggestions for improving the code. I've done lots of assembly programming and firmware development over the years, but rarely on x86, and this project…",{"id":52,"by":53,"text":54},"10412027","baruch","It's the basis for another project of his called 'fleet': https:\u002F\u002Fgithub.com\u002Fmarssaxman\u002Ffleet The idea for fleet (and thus for startc) is to work inside a hypervisor (kvm)…",[56,60],{"value":57,"source":46,"evidence":58},"x86 assembly (GNU assembler)",[59],{"id":49,"by":11,"text":50},{"value":61,"source":46,"evidence":62},"C",[63],{"id":49,"by":11,"text":50},"unknown",{"praise":66,"objections":75,"requests":90,"questions":102,"alternatives":103},[67],{"value":68,"source":69,"evidence":70},"Interesting project to follow","commenter",[71],{"id":72,"by":73,"text":74},"10413590","nickpsecurity","Interesting to see where this will go. I believe the common things to choose when one wants C on minimal runtime are RTEMS and eCOS: https:\u002F\u002Fwww.rtems.org\u002F…",[76,83],{"value":77,"source":69,"evidence":78},"Limited to 32-bit x86 with no example hardware",[79],{"id":80,"by":81,"text":82},"10412012","buserror","A bit limited, as it's only for 32 bits x86, something the topic doesn't mention. There is no example of supported hardware, so at first glance It seems it would only be useful…",{"value":84,"source":69,"evidence":85},"Assembly use is hard to maintain and code quality is mediocre",[86],{"id":87,"by":88,"text":89},"10413582","bro-stick","Not all that useful and the code quality is mediocre. gas has macros to reduce boilerplate to nearly nothing. String primitives have already been written in portable C with one…",[91,98],{"value":92,"source":69,"evidence":93},"Add a freestanding snprintf implementation",[94],{"id":95,"by":96,"text":97},"10412351","exDM69","Something that would be really useful: a freestanding snprintf implementation. There are a few self-contained snprintf implementations, such as this one:…",{"value":99,"source":69,"evidence":100},"Provide a consistent cross-platform interface for video, input, storage and threads",[101],{"id":87,"by":88,"text":89},[],[104,108,115],{"value":105,"source":69,"evidence":106},"RTEMS and eCos",[107],{"id":72,"by":73,"text":74},{"value":109,"source":69,"evidence":110},"Pure64",[111],{"id":112,"by":113,"text":114},"10414348","rzzzt","Pure64 from Return Infinity sounds like something similar for 64-bit systems (sans C headers): https:\u002F\u002Fgithub.com\u002FReturnInfinity\u002FPure64",{"value":116,"source":69,"evidence":117},"Xvisor",[118],{"id":119,"by":81,"text":120},"10412607","Xvisor [ http:\u002F\u002Fxhypervisor.org\u002F ] does that (plus many other things) -- I do like the virtio driver layer a lot; however in the case of Xvisor, you also get CPU virtualisation…",{"comments":38,"answered":32,"key":122},[123],{"id":49,"text":50},{"commenters":18,"max_depth":41,"maker_replies":38,"first_comment_mins":125,"lifespan_hours":126},107,11,[128,130,133,136,138,140,141,143,146,147,151,153,155,157],[52,32,41,129,53,32],"project\u002Fneutral\u002Fidea",[131,38,41,129,132,32],"10412373","calgoo",[134,38,32,135,73,32],"10413764","other\u002Fneutral\u002Fnone",[87,34,38,137,88,32],"project\u002Fcritical\u002Fexecution",[49,34,32,139,11,38],"maker\u002Fneutral\u002Fexecution",[72,41,41,129,73,32],[95,142,41,129,96,32],4,[144,142,32,135,145,32],"10413111","drewrichardson",[112,33,32,135,113,32],[148,149,32,135,150,32],"10413037",6,"2bluesc",[152,149,32,135,150,32],"10415139",[80,35,38,154,81,32],"project\u002Fcritical\u002Fidea",[156,35,41,129,132,32],"10412362",[119,35,32,135,81,32],[159,162],{"id":160,"t":161,"points":33,"comments":38},"10410267",1445210111,{"id":4,"t":12,"points":14,"comments":15},[164,169,174,178,182,186],{"id":165,"name":166,"points":167,"category":168},"10425959","Metabase",287,"data",{"id":170,"name":171,"points":172,"category":173},"10426106","Clojure for the Brave and True",224,"learning_science",{"id":175,"name":176,"points":177,"category":173},"10405288","Arguman",170,{"id":179,"name":180,"points":181,"category":168},"10403820","CloudScrape",116,{"id":183,"name":184,"points":185,"category":173},"10406165","clock",109,{"id":187,"name":188,"points":189,"category":190},"10420329","Apifier",101,"infrastructure",false,"v2",{"id":194,"name":5,"line":6,"ai":191,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":195,"top":18,"kw":196,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":197,"url":9,"mix":198,"praise":68,"objection":77,"sub":21},10411756,-0.22,[24,25,26,27,28],"33010330000130",[32,33,32,34],1794036536789]