[{"data":1,"prerenderedAt":390},["ShallowReactive",2],{"project-42331270":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":36,"aspects":37,"strip":42,"post_text":44,"what":45,"said":74,"maker_in_thread":172,"shape":185,"grid":190,"attempts":351,"same_week":352,"maker_shows":39,"maker_hidden":382,"reader_version":383,"card":384},"42331270","Banan-OS","An Unix-like operating system written from scratch","title","Show HN: Banan-OS, an Unix-like operating system written from scratch","https:\u002F\u002Fgithub.com\u002FBananymous\u002Fbanan-os","github.com","Bananymous",1733424854,2024,333,63,168,3515,5,"legend","infrastructure","operating system","other",[24,25,26,27,28],"unix-like operating system","hobby os kernel","x86_64 kernel","monolithic kernel","usb drivers","loved",0.284,{"positive":32,"neutral":33,"mixed":34,"critical":35},12,15,0,2,29,{"execution":38,"idea":40,"design":41},{"positive":35,"critical":39},1,{"positive":34,"critical":39},{"positive":34,"critical":34},[18,43,18,43,34,18,43,39,34,34,34,34,34,43,34,43,18,18,18,43,43,34,18,34,43,34,34,18,34,34,43,18,39,43,18,34,18,34,18,34],3,"This is my operating system that I've been working for the past 2 years. All of the code is written exclusively by me except from ported software. banan-os has a monolithic kernel targeting x86 (i686) and x86_64 architectures. The project consists of bootloader, kernel and userspace libraries (libc, libGUI, libFont, ...). It also uses my custom C++ standard library partly based on stdc++.\n\nCurrently I have basic TTY and GUI environment with some of the basic UNIX utilities like cp, ls and stat. I have basic support for USB (keyboard\u002Fmouse\u002Fstorage), disks (NVMe, AHCI), custom networking stack w",{"problem":46,"audience":46,"pricing":46,"motivation":47,"time_to_build":57,"stack":62,"openness":71,"stage":72,"team_size":73},null,{"value":48,"source":49,"evidence":50},"Hobby project and learning; portfolio for career","maker",[51,54],{"id":52,"by":11,"text":53},"42332650","Yeah I am a student at an university. I have managed to \"skip\" some courses like operating systems and concurrency just by showing my project to the professor. Otherwise my…",{"id":55,"by":11,"text":56},"42334885","> I would imagine this will set you up incredibly well for a career in the industry, arguably moreso than your actual degree. That's what I hope at least. This is something I…",{"value":58,"source":49,"evidence":59},"Two years of work",[60],{"id":61},"post",[63,67],{"value":64,"source":49,"evidence":65},"C++",[66],{"id":61},{"value":68,"source":49,"evidence":69},"x86 assembly (16-bit real mode bootloader)",[70],{"id":61},"unknown","prototype","solo",{"praise":75,"objections":99,"requests":112,"questions":131,"alternatives":146},[76,92],{"value":77,"source":78,"evidence":79},"Impressive to write USB and own AML interpreter from scratch","commenter",[80,84,88],{"id":81,"by":82,"text":83},"42334371","sedatk","This is so cool! I especially applaud you for managing to implement USB drivers from scratch! By the way, I broke it by typing \"cat doom1.wad\" :)",{"id":85,"by":86,"text":87},"42334392","ryandrake","> first time getting keyboard input, USB mouse input, running DOOM, reading from disks, networking, and getting a compiler working One of these is really a lot more impressive…",{"id":89,"by":90,"text":91},"42340656","caspper69","Not really. I don't see how Linux being popular & strong today had any bearing on people's willingness to contribute 33 years ago. Writing an operating system is challenging. Not…",{"value":93,"source":78,"evidence":94},"Good portfolio and career value",[95],{"id":96,"by":97,"text":98},"42333357","breakfastduck","No doubt you've learned a hell of a lot from this. I would imagine this will set you up incredibly well for a career in the industry, arguably moreso than your actual degree. Any…",[100,108],{"value":101,"source":78,"evidence":102},"No clear hook or purpose compared to existing OSes",[103,104],{"id":89,"by":90,"text":91},{"id":105,"by":106,"text":107},"42334330","ASalazarMX","I can't see anyone seriously suggesting to management that they run Banan-OS. Probably the same self-inflicted handicap of CockroachDB.",{"value":109,"source":78,"evidence":110},"C++ choice is unappealing to some",[111],{"id":89,"by":90,"text":91},[113,124],{"value":114,"source":78,"evidence":115},"Port more software such as gcc and binutils",[116,120],{"id":117,"by":118,"text":119},"42335744","VagabundoP","Awesome. I was not expecting something with that feature set. Do you plan on porting more software?",{"id":121,"by":122,"text":123},"42348528","keyvank","can you compile and run smth like gcc in your OS?",{"value":125,"source":78,"evidence":126},"RISC-V portability",[127],{"id":128,"by":129,"text":130},"42344084","MomsAVoxell","I think it’s going to be quite important to address portability and general flexibility when it comes to architectures. What do you think it will take to target RISC-V?",[132,139],{"value":133,"source":78,"evidence":134},"Hardest part of the project",[135],{"id":136,"by":137,"text":138},"42331422","DigiEggz","This is really cool! I like the name, too. Of all the things you've implemented for this, what has been the most difficult part? And have you hit any serious roadblocks along the…",{"value":140,"source":78,"evidence":141},"Hours per week spent",[142],{"id":143,"by":144,"text":145},"42332564","spiffyk","Very cool! How much time do you dedicate to this, in terms of hours per week? Looks like a lot of work has gone into it! You say you're a student on your profile - does that mean…",[147,157,161,168],{"value":148,"source":78,"evidence":149},"Linux",[150,154],{"id":151,"by":152,"text":153},"42333722","drivers99","\"just a hobby, won't be big and professional like gnu\" which is a quote from Linus's Linux announcement on Usenet in 1991.[1] He didn't know it was going to be big at the time,…",{"id":155,"by":90,"text":156},"42338210","There was a need for linux, and that's why it took off. The Unix wars, the provenance of the 4.3 BSD code, the cred of running a Unix (or Unix-alike). Not to trash this guy's…",{"value":158,"source":78,"evidence":159},"ReactOS",[160],{"id":89,"by":90,"text":91},{"value":162,"source":78,"evidence":163},"Redox OS",[164],{"id":165,"by":166,"text":167},"42339076","Imustaskforhelp","I don't think it was a perfect storm going on , but rather since today Linux is popular & strong , you are retracing it to it having a perfect storm and nothing can come close to…",{"value":169,"source":78,"evidence":170},"SerenityOS",[171],{"id":165,"by":166,"text":167},{"comments":173,"answered":174,"key":175},17,11,[176,179,182],{"id":177,"text":178},"42332570","There hasn't been any overly difficult parts. I'd say the most difficult one has to be either AML interpreter because the ACPI specs are very badly written or the USB stack just…",{"id":180,"text":181},"42334786","My current one is really bad. It does work on maybe 50% of the hardware I have tested. I am in the middle on writing a new proper one, it is already way better but still missing…",{"id":183,"text":184},"42341899","I do actually support USB keyboard and mouse with USB-HID. There are some parts I don't support, like mouse specifying its movement with physical units (I haven't encountered any…",{"commenters":186,"max_depth":187,"maker_replies":173,"first_comment_mins":188,"lifespan_hours":189},41,8,14,69,[191,193,197,199,203,205,209,210,212,214,217,221,223,226,229,233,236,239,240,242,244,245,246,247,249,251,252,254,255,258,261,265,268,271,273,276,279,282,286,288,291,295,297,299,302,305,308,310,312,314,316,321,323,325,328,331,333,337,340,343,345,346,349],[136,34,18,192,137,34],"project\u002Fpositive\u002Fnone",[194,34,43,195,196,34],"42332452","project\u002Fneutral\u002Fnone","bsimpson",[177,34,34,198,11,39],"maker\u002Fneutral\u002Fnone",[200,34,18,201,202,34],"42334533","maker\u002Fpositive\u002Fexecution","ksp-atlas",[180,34,34,204,11,39],"maker\u002Fneutral\u002Fexecution",[206,34,43,207,208,34],"42336256","project\u002Fneutral\u002Fexecution","Findecanor",[183,34,34,204,11,39],[81,39,18,211,82,34],"project\u002Fpositive\u002Fexecution",[213,39,34,207,11,39],"42341844",[215,35,43,195,216,34],"42332185","dvh",[218,35,34,219,220,34],"42332444","commenter\u002Fneutral\u002Fnone","bityard",[105,35,39,222,106,34],"project\u002Fcritical\u002Fidea",[224,35,34,219,225,34],"42338175","GTP",[227,35,34,219,228,34],"42340453","coldpie",[230,35,34,231,232,34],"42332482","other\u002Fneutral\u002Fnone","38",[234,35,34,219,235,34],"42332526","xandrius",[237,35,34,219,238,34],"42333232","readyplayernull",[151,35,34,231,152,34],[155,35,34,241,90,34],"commenter\u002Fcritical\u002Fidea",[165,35,34,243,166,34],"commenter\u002Fneutral\u002Fidea",[89,35,34,241,90,34],[143,43,43,198,144,34],[52,43,34,198,11,39],[248,43,43,198,144,34],"42332892",[250,43,34,198,11,39],"42333258",[85,43,18,192,86,34],[96,43,18,253,97,34],"maker\u002Fpositive\u002Fnone",[55,43,34,198,11,39],[256,43,18,253,257,34],"42337372","rossant",[259,43,43,198,260,34],"42349876","zimmund",[262,263,43,195,264,34],"42336152",4,"mrbungie",[266,263,43,195,267,34],"42340570","p0w3n3d",[269,18,43,198,270,34],"42331483","whartung",[272,18,34,198,11,39],"42332670",[274,18,18,253,275,34],"42332860","convolvatron",[277,18,43,198,278,34],"42337383","eismeer",[280,18,34,281,11,39],"42342050","maker\u002Fneutral\u002Fdocs",[283,284,43,198,285,34],"42334237",6,"savgore",[287,284,34,281,11,39],"42334849",[289,284,34,231,290,34],"42339557","johnisgood",[292,293,34,231,294,34],"42341157",7,"kortex",[296,293,34,198,11,39],"42341759",[298,293,34,231,90,34],"42342401",[300,187,18,253,301,34],"42334536","notawolf",[303,187,34,231,304,34],"42335425","torlok",[306,187,34,231,307,34],"42336495","udev4096",[309,187,34,231,11,39],"42342178",[117,311,43,195,118,34],9,[313,311,34,204,11,39],"42342147",[315,311,18,253,118,34],"42357698",[317,318,39,319,320,34],"42342584",10,"project\u002Fcritical\u002Fexecution","stevekemp",[322,318,34,198,11,39],"42347011",[128,174,43,324,129,34],"project\u002Fneutral\u002Fdesign",[326,174,34,327,11,39],"42353498","maker\u002Fneutral\u002Fdesign",[329,32,18,192,330,34],"42339078","nunobrito",[332,32,34,281,11,39],"42341971",[334,335,18,192,336,34],"42334233",13,"ajxs",[338,188,43,195,339,34],"42340393","jart",[341,188,34,219,342,34],"42341816","PTOB",[344,188,18,192,339,34],"42342760",[121,33,43,195,122,34],[347,33,34,348,11,39],"42353462","project\u002Fmixed\u002Fexecution",[350,33,34,219,122,34],"42353699",[],[353,358,362,367,372,377],{"id":354,"name":355,"points":356,"category":357},"42348513","Countless.dev",361,"ai",{"id":359,"name":360,"points":361,"category":357},"42356443","Cut the crap",356,{"id":363,"name":364,"points":365,"category":366},"42338327","Hacker Herald",251,"consumer_social",{"id":368,"name":369,"points":370,"category":371},"42329071","gitingest",185,"dev_tools",{"id":373,"name":374,"points":375,"category":376},"42359949","salmagundi",176,"languages",{"id":378,"name":379,"points":380,"category":381},"42382506","ideaharbor",171,"web_saas",false,"v2",{"id":385,"name":5,"line":6,"ai":382,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":386,"top":18,"kw":387,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":388,"url":9,"mix":389,"praise":77,"objection":101,"sub":21},42331270,0.28,[24,25,26,27,28],"5353053100000303555330503005003513505050",[32,33,34,35],1794036665419]