[{"data":1,"prerenderedAt":298},["ShallowReactive",2],{"project-38086598":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":41,"post_text":43,"what":44,"said":79,"maker_in_thread":145,"shape":155,"grid":159,"attempts":260,"same_week":261,"maker_shows":39,"maker_hidden":290,"reader_version":291,"card":292},"38086598","MicroTCP","A minimal TCP\u002FIP stack","title","Show HN: MicroTCP, a minimal TCP\u002FIP stack","https:\u002F\u002Fgithub.com\u002Fcozis\u002Fmicrotcp","github.com","cozis",1698766992,2023,204,41,273,3109,9,"notable","infrastructure","networking stack","library",[24,25,26,27,28],"tcp\u002Fip stack","userspace networking","tap device","network programming","c","curious",0.304,{"positive":32,"neutral":33,"mixed":34,"critical":35},5,6,0,1,12,{"execution":38,"idea":40},{"positive":39,"critical":34},2,{"positive":39,"critical":34},[34,42,35,34,34,34,32,32,34,34,34,34,32,32,32,34,42,42,34,42,34,34,34,34,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,42],3,null,{"problem":45,"audience":43,"pricing":43,"motivation":52,"time_to_build":43,"stack":56,"openness":76,"stage":77,"team_size":78},{"value":46,"source":47,"evidence":48},"Implements TCP\u002FIP networking in user space as a learning exercise.","maker",[49],{"id":50,"by":11,"text":51},"38086735","Hello HN! This is a project I've started this year to learn about sockets and network programming. Nothing serious, just a hobby project! I'd love to hear your opinions about it…",{"value":53,"source":47,"evidence":54},"Learn about sockets and network programming.",[55],{"id":50,"by":11,"text":51},[57,65],{"value":58,"source":59,"evidence":60},"C","commenter",[61],{"id":62,"by":63,"text":64},"38092954","tptacek","It's surprisingly good code for a student hobby project. I dipped in earlier hoping to find some silly gotcha to preen about, but it's well structured, follows a close read of…",{"value":66,"source":59,"evidence":67},"TAP device",[68,72],{"id":69,"by":70,"text":71},"38090890","dboreham","> Wtf is a TCP\u002FIP stack? You may want to consider toning it down. Readers here would be expected to know all this. And yes TAP is a user mode raw interface to the NIC.",{"id":73,"by":74,"text":75},"38092236","hujun","the purpose of using TAP is to be able to write IP stack in user mode code; however TAP is not the only way on linux, you could also use raw(AF_PACKET)or XDP socket, they also…","open_source","prototype","solo",{"praise":80,"objections":92,"requests":104,"questions":112,"alternatives":123},[81,85],{"value":82,"source":59,"evidence":83},"Well structured code that follows the RFCs closely.",[84],{"id":62,"by":63,"text":64},{"value":86,"source":59,"evidence":87},"Good learning exercise for networking.",[88],{"id":89,"by":90,"text":91},"38090172","Uptrenda","As a networking nerd I respect the project OP. Very good learning exercise. There are still many unsolved problems in networking, too. It's a bit of an esoteric field.",[93],{"value":94,"source":59,"evidence":95},"No license is stated, so the code is unclear for reuse.",[96,100],{"id":97,"by":98,"text":99},"38088510","surteen","What is the licensing for this code?",{"id":101,"by":102,"text":103},"38091584","wolf550e","(I'm not OP) 1. There is no license, so it's proprietary code. 2. It's a student project, you shouldn't use it for anything.",[105],{"value":106,"source":59,"evidence":107},"Test on many real-world devices and networks, not just an echo server.",[108],{"id":109,"by":110,"text":111},"38094871","willprice89","Cool project! I also created a userspace network stack for Wallpunch, a censorship circumvention tool I built. It wasn't clear from the article if you were planning on working on…",[113,116],{"value":99,"source":59,"evidence":114},[115],{"id":97,"by":98,"text":99},{"value":117,"source":59,"evidence":118},"How to get started building a TCP\u002FIP stack from scratch?",[119],{"id":120,"by":121,"text":122},"38089192","swimwiththebeat","How did you even get started with this? There are many systems I'd love to learn to implement from scratch like databases, network stacks, and caches, but the task seems so vast…",[124,131,138],{"value":125,"source":59,"evidence":126},"uIP",[127],{"id":128,"by":129,"text":130},"38089799","tpmx","Something similar from... a while ago. How does it compare? https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20060615041317\u002Fhttp:\u002F\u002Fwww.sics.se\u002F~adam\u002Fuip\u002F https:\u002F\u002Fgithub.com\u002Fadamdunkels\u002Fuip…",{"value":132,"source":59,"evidence":133},"mTCP",[134],{"id":135,"by":136,"text":137},"38093039","fuzztester","How about TCP for DOS? mTCP: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=13264041",{"value":139,"source":59,"evidence":140},"Contiki",[141],{"id":142,"by":143,"text":144},"38092139","riedel","Was about to post the same. Contiki actually came to fame though as it was commonly used for sensor networks an IoT application. Particularly integrating 6lowpan (ZigBee IPv6)…",{"comments":146,"answered":35,"key":147},4,[148,149,152],{"id":50,"text":51},{"id":150,"text":151},"38096246","Hey, happy you liked it!! > It wasn't clear from the article if you were planning on working on this further or leaving it as is At the moment I'm working on it on and off in my…",{"id":153,"text":154},"38096378","Amazing! I would have NEVER thought of that! That's just another level of \"following the standards\"",{"commenters":156,"max_depth":157,"maker_replies":146,"first_comment_mins":157,"lifespan_hours":158},32,7,21,[160,162,164,166,170,172,174,176,177,178,182,183,186,190,192,195,196,197,200,202,205,208,211,214,216,219,222,225,227,228,231,232,234,237,240,243,246,249,251,254,256,257],[50,34,34,161,11,35],"maker\u002Fneutral\u002Fnone",[97,34,42,163,98,34],"project\u002Fneutral\u002Fnone",[101,34,35,165,102,34],"project\u002Fcritical\u002Fnone",[167,34,34,168,169,34],"38091686","commenter\u002Fneutral\u002Fnone","OJFord",[171,34,34,168,63,34],"38092102",[173,34,34,168,169,34],"38092938",[62,34,32,175,63,34],"project\u002Fpositive\u002Fexecution",[109,34,32,175,110,34],[150,34,34,161,11,35],[179,35,34,180,181,34],"38093021","other\u002Fneutral\u002Fnone","nradov",[153,35,34,180,11,35],[184,35,34,180,185,34],"38097268","specialist",[187,39,32,188,189,34],"38090051","project\u002Fpositive\u002Fidea","squarefoot",[89,42,32,191,90,34],"maker\u002Fpositive\u002Fnone",[193,146,32,188,194,34],"38094025","mannyv",[135,32,34,180,136,34],[120,33,42,161,121,34],[198,33,42,161,199,34],"38089307","coddle-hark",[201,33,34,168,169,34],"38091721",[203,33,34,180,204,34],"38089488","technothrasher",[206,33,42,161,207,34],"38090730","vlovich123",[209,33,34,180,210,34],"38091193","pipes",[212,33,34,180,213,34],"38091626","Lukeisun",[215,33,34,161,11,35],"38096328",[217,157,34,180,218,34],"38088819","dariosalvi78",[128,220,42,221,129,34],8,"project\u002Fneutral\u002Fidea",[223,220,34,180,224,34],"38092121","jug",[226,220,34,180,129,34],"38092361",[142,220,34,180,143,34],[229,18,34,180,230,34],"38090826","waynesonfire",[69,18,34,168,70,34],[233,18,34,168,230,34],"38091013",[235,18,34,168,236,34],"38091454","sitzkrieg",[238,18,34,168,239,34],"38092326","bvrmn",[241,18,34,168,242,34],"38092865","Hikikomori",[244,18,34,180,245,34],"38092253","spc476",[247,18,34,180,248,34],"38092614","ksherlock",[250,18,34,168,210,34],"38091227",[252,18,34,180,253,34],"38092391","fragmede",[255,18,34,168,210,34],"38095873",[73,18,42,163,74,34],[258,18,34,168,259,34],"38093540","ninkendo",[],[262,267,271,276,281,286],{"id":263,"name":264,"points":265,"category":266},"38052344","OpenSign",545,"web_saas",{"id":268,"name":269,"points":270,"category":20},"38044782","WireHole",298,{"id":272,"name":273,"points":274,"category":275},"38038239","ScratchDB",261,"data",{"id":277,"name":278,"points":279,"category":280},"38084098","postgresql-event-sourcing",231,"dev_tools",{"id":282,"name":283,"points":284,"category":285},"38093083","Halloween game (snail terminal demo)",173,"games",{"id":287,"name":288,"points":289,"category":275},"38057759","Open Australian Legal Corpus",172,false,"v2",{"id":293,"name":5,"line":6,"ai":290,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":294,"top":18,"kw":295,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":296,"url":9,"mix":297,"praise":82,"objection":94,"sub":21},38086598,0.3,[24,25,26,27,28],"0310005500005550330300003000000000000003",[32,33,34,35],1793991077228]