[{"data":1,"prerenderedAt":335},["ShallowReactive",2],{"project-21796753":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":43,"what":44,"said":65,"maker_in_thread":147,"shape":154,"grid":159,"attempts":292,"same_week":299,"maker_shows":34,"maker_hidden":327,"reader_version":328,"card":329},"21796753","Coerce","Actor runtime for Rust using async\u002Fawait and tokio channels","title","Show HN: Coerce – Actor runtime for Rust using async\u002Fawait and tokio channels","https:\u002F\u002Fgithub.com\u002FLeonHartley\u002FCoerce-rs\u002F","github.com","ljph",1576424752,2019,155,53,262,2195,12,"notable","languages","actor runtime library","library",[24,25,26,27,28],"rust","actor model","tokio","async await","distributed actors","curious",0.087,{"positive":32,"neutral":33,"mixed":34,"critical":32},2,9,1,14,{"docs":37,"idea":39},{"positive":38,"critical":38},0,{"positive":32,"critical":34},[41,38,41,41,41,41,41,38,38,34,38,38,38,38,38,42,38,41,42,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,41,34,38,38],3,5,null,{"problem":43,"audience":43,"pricing":43,"motivation":43,"time_to_build":43,"stack":45,"openness":64,"stage":64,"team_size":64},[46,52,58],{"value":47,"source":48,"evidence":49},"Rust","maker",[50],{"id":51},"post",{"value":53,"source":48,"evidence":54},"Tokio",[55],{"id":56,"by":11,"text":57},"21797361","Hi mate, The goal is to eventually have actors spread across multiple servers with automatic load balancing etc. I'm currently working on remote actors, with the goal for the API…",{"value":59,"source":48,"evidence":60},"serde_json",[61],{"id":62,"by":11,"text":63},"21797619","Regarding data serialization, I'm currently using serde_json, however that's just because it's easy to work with for development\u002Ftesting purposes though I do love the idea of…","unknown",{"praise":66,"objections":82,"requests":97,"questions":120,"alternatives":131},[67,75],{"value":68,"source":69,"evidence":70},"Interesting small but powerful project that is close to what users want for actor programming in Rust","commenter",[71],{"id":72,"by":73,"text":74},"21842795","windor","Read through the code just now.Thanks for the small but powerful project,I have tried to make something similar, but failed. The lib is very close to what I want to do…",{"value":76,"source":69,"evidence":77},"Actors avoid needing thread-safe state since they handle one message at a time",[78],{"id":79,"by":80,"text":81},"21799582","mmastrac","This is pretty cool. We ended up building our own version of something like this internally last year, but I could see us tossing our code in favour of this. The big advantage to…",[83,90],{"value":84,"source":69,"evidence":85},"Hiding the network layer can be problematic because networks are unreliable",[86],{"id":87,"by":88,"text":89},"21800904","nine_k","Hiding the network layer is often problematic. Networks are much less reliable or predictable than a PCI or SATA bus. You have to honesty handle timeouts, unavailability, retries…",{"value":91,"source":69,"evidence":92},"The name Coerce implies force or violence",[93],{"id":94,"by":95,"text":96},"21799891","tunesmith","Coerce is often misused to imply encouragement or persuasion - but it specifically means to engage the efforts of others through violence or threat of violence. It's an ugly word.",[98,109,113],{"value":99,"source":69,"evidence":100},"Use protobufs, FlatBuffers or Cap'n Proto for serialization instead of serde_json",[101,105],{"id":102,"by":103,"text":104},"21797784","leeoniya","> though I do love the idea of using protobufs! or FlatBuffers!",{"id":106,"by":107,"text":108},"21798026","samcodes","Not sure on rust compatibility, but have you considered Cap’n Proto? https:\u002F\u002Fcapnproto.org\u002F",{"value":110,"source":69,"evidence":111},"Allow actors to send messages to themselves",[112],{"id":72,"by":73,"text":74},{"value":114,"source":69,"evidence":115},"Show a Runtime setup in the readme example",[116],{"id":117,"by":118,"text":119},"21797238","bluejekyll","I’m always excited to see people experimenting with different things. I wonder if the author could comment on how the goals of this project might differ from those of Actix? Many…",[121,125],{"value":122,"source":69,"evidence":123},"How does it differ from Actix?",[124],{"id":117,"by":118,"text":119},{"value":126,"source":69,"evidence":127},"How will data serialization and compatibility across node versions work?",[128],{"id":129,"by":118,"text":130},"21797550","Ah. Cool. What are your plans around data serialization and compatibility of different nodes during version upgrade? And thanks for the answer!",[132,139,143],{"value":133,"source":69,"evidence":134},"Bastion",[135],{"id":136,"by":137,"text":138},"21797374","vertexclique","Worth to mention that Bastion has been developed a lot and it has its own design(in simple terms SMP based executor) to leverage asynchronous programming (with fault-tolerant…",{"value":140,"source":69,"evidence":141},"Actix",[142],{"id":117,"by":118,"text":119},{"value":144,"source":69,"evidence":145},"Erlang runtime model",[146],{"id":136,"by":137,"text":138},{"comments":41,"answered":41,"key":148},[149,150,151],{"id":56,"text":57},{"id":62,"text":63},{"id":152,"text":153},"21798094","https:\u002F\u002Fcrates.io\u002Fcrates\u002Fcoerce-rt :)",{"commenters":155,"max_depth":156,"maker_replies":41,"first_comment_mins":157,"lifespan_hours":158},32,6,31,114,[160,162,164,166,167,168,169,172,175,179,183,186,188,190,193,195,199,202,205,208,210,214,215,218,219,222,225,227,229,232,235,238,241,243,245,247,250,252,254,256,258,261,263,265,267,270,272,274,276,281,283,287,289],[117,38,41,161,118,38],"maker\u002Fneutral\u002Fdocs",[56,38,38,163,11,34],"project\u002Fneutral\u002Fidea",[129,38,41,165,118,38],"project\u002Fneutral\u002Fnone",[62,38,38,165,11,34],[102,38,41,165,103,38],[106,38,41,165,107,38],[170,38,41,165,171,38],"21798181","steveklabnik",[173,38,41,165,174,38],"21798479","aseipp",[176,38,41,177,178,38],"21799394","maker\u002Fneutral\u002Fidea","sagichmal",[180,38,38,181,182,38],"21799932","other\u002Fneutral\u002Fidea","PudgePacket",[184,38,38,181,185,38],"21800028","FpUser",[87,38,34,187,88,38],"project\u002Fcritical\u002Fidea",[136,34,38,189,137,38],"other\u002Fneutral\u002Fnone",[191,34,38,189,192,38],"21797782","asdkhadsj",[194,34,38,189,137,38],"21797845",[196,34,38,197,198,38],"21798919","commenter\u002Fneutral\u002Fnone","Dowwie",[200,34,38,197,201,38],"21798930","detaro",[203,34,38,197,204,38],"21800538","threatofrain",[206,32,38,181,207,38],"21798201","ProfHewitt",[79,41,42,209,80,38],"project\u002Fpositive\u002Fidea",[211,212,41,165,213,38],"21797385",4,"staticassertion",[152,212,38,165,11,34],[216,212,41,217,213,38],"21798973","maker\u002Fneutral\u002Fnone",[72,42,42,209,73,38],[220,156,38,189,221,38],"21797051","xiphias2",[223,156,38,189,224,38],"21797072","swsieber",[226,156,38,189,118,38],"21797176",[228,156,38,189,224,38],"21797222",[230,156,38,189,231,38],"21797858","estebank",[233,156,38,189,234,38],"21797129","zozbot234",[236,156,38,189,237,38],"21797586","Argorak",[239,156,38,189,240,38],"21797162","oconnor663",[242,156,38,189,221,38],"21797239",[244,156,38,189,171,38],"21797383",[246,156,38,189,221,38],"21797648",[248,156,38,189,249,38],"21799052","twic",[251,156,38,189,237,38],"21797570",[253,156,38,189,237,38],"21797521",[255,156,38,189,221,38],"21797600",[257,156,38,189,237,38],"21797712",[259,156,38,189,260,38],"21797697","ComputerGuru",[262,156,38,189,237,38],"21797761",[264,156,38,189,260,38],"21797923",[266,156,38,189,237,38],"21797988",[268,156,38,189,269,38],"21798238","mamcx",[271,156,38,189,237,38],"21799206",[273,156,38,189,269,38],"21799998",[275,156,38,189,198,38],"21799001",[277,278,41,279,280,38],"21796931",7,"project\u002Fmixed\u002Fnone","artfulhippo",[94,278,34,282,95,38],"project\u002Fcritical\u002Fnone",[284,285,38,189,286,38],"21797218",8,"bvelica",[288,285,38,189,171,38],"21797369",[290,285,38,189,291,38],"21800675","paulddraper",[293,294],{"id":4,"t":12,"points":14,"comments":15},{"id":295,"t":296,"points":297,"comments":298},"34832904",1676628653,74,18,[300,305,309,313,318,322],{"id":301,"name":302,"points":303,"category":304},"21795159","Krabby",179,"dev_tools",{"id":306,"name":307,"points":308,"category":304},"21794566","Clayoven",149,{"id":310,"name":311,"points":312,"category":304},"21796886","HNTerm",139,{"id":314,"name":315,"points":316,"category":317},"21780332","LastingPaper",138,"productivity",{"id":319,"name":320,"points":321,"category":304},"21789418","spacepub.space",131,{"id":323,"name":324,"points":325,"category":326},"21782714","Falco",119,"infrastructure",false,"v2",{"id":330,"name":5,"line":6,"ai":327,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":331,"top":18,"kw":332,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":333,"url":9,"mix":334,"praise":68,"objection":84,"sub":21},21796753,0.09,[24,25,26,27,28],"3033333001000005035000000000000000003100",[32,33,34,32],1794036584044]