[{"data":1,"prerenderedAt":283},["ShallowReactive",2],{"project-27408326":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":18,"aspects":36,"strip":44,"post_text":46,"what":47,"said":87,"maker_in_thread":196,"shape":205,"grid":209,"attempts":246,"same_week":247,"maker_shows":208,"maker_hidden":276,"reader_version":277,"card":278},"27408326","Rustpad","A self-hosted online collaborative text editor","title","Show HN: Rustpad, a self-hosted online collaborative text editor","https:\u002F\u002Fgithub.com\u002Fekzhang\u002Frustpad","github.com","ekzhang",1622925885,2021,143,21,354,2533,14,"notable","dev_tools","collaborative code editor","web_app",[24,25,26,27,28],"collaborative editor","operational transformation","self-hosted","rust","monaco","curious",-0.1,{"positive":32,"neutral":33,"mixed":34,"critical":35},3,7,0,4,{"execution":37,"idea":38,"performance":40,"privacy":42,"design":43},{"positive":34,"critical":35},{"positive":39,"critical":34},2,{"positive":41,"critical":34},1,{"positive":34,"critical":34},{"positive":34,"critical":34},[41,45,34,32,45,34,41,34,45,34,32,32,34,32,41,34,32,41,34,32,32],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":58,"openness":84,"stage":85,"team_size":86},{"value":49,"source":50,"evidence":51},"Real-time collaborative text editing that can be self-hosted","maker",[52,54],{"id":53},"post",{"id":55,"by":56,"text":57},"27408786","messo","Thanks for making this, I have been looking for a worthy replacement of Etherpad for a long time, that is easy to use and has the option to be self-hosted.",[59,65,73,77],{"value":60,"source":50,"evidence":61},"Rust",[62],{"id":63,"by":11,"text":64},"27408701","Thanks! Operational transformation is the same technology that powers Google Docs. It's been studied in academia for real-time collaboration since the 1990s and has eventual…",{"value":66,"source":67,"evidence":68},"Monaco editor","commenter",[69],{"id":70,"by":71,"text":72},"27411015","jayunit","Very cool! Thanks for sharing. Was binding Monaco particularly challenging? I’m curious what the larger project\u002Fproduct is, if you are able to share. I’ve used ShareDB (from…",{"value":74,"source":50,"evidence":75},"Operational transformation library by spebern",[76],{"id":63,"by":11,"text":64},{"value":78,"source":67,"evidence":79},"Docker",[80],{"id":81,"by":82,"text":83},"27409635","petespeed","Really nice and lightweight! Some feedback: 1. I was not able to change color when setting user name. (Was it some browser extension blocking it?) 2. I was not able to run your…","open_source","launched","unknown",{"praise":88,"objections":109,"requests":139,"questions":161,"alternatives":176},[89,101,105],{"value":90,"source":67,"evidence":91},"Clean, lightweight and snappy",[92,96,97],{"id":93,"by":94,"text":95},"27408485","jdellinger","Looks nice and clean! Also feels very snappy in two tabs. However, you're breaking the back button with your redirect to a unique room. Once in a room, pressing back will join a…",{"id":81,"by":82,"text":83},{"id":98,"by":99,"text":100},"27408579","sreeramb93","I really like the architectural decisions made in the project. OperationalTransform library may need some work like testcases and add more powerful constructs. Is there any…",{"value":102,"source":67,"evidence":103},"Good architecture choices",[104],{"id":98,"by":99,"text":100},{"value":106,"source":67,"evidence":107},"Could replace Etherpad for self-hosting",[108],{"id":55,"by":56,"text":57},[110,118,125],{"value":111,"source":67,"evidence":112},"Breaks the browser back button",[113,117],{"id":114,"by":115,"text":116},"27408479","re","FYI, https:\u002F\u002Frustpad.io breaks the back button by updating the URL hash to a new document every time I try to go back. Use location.replace()…",{"id":93,"by":94,"text":95},{"value":119,"source":67,"evidence":120},"Docker image is x86_64 only, fails on Raspberry Pi",[121,122],{"id":81,"by":82,"text":83},{"id":123,"by":11,"text":124},"27410101","I'm not sure why you weren't able to change color. It shouldn't be blocked by a browser extension; it's just a button. Unfortunately the Docker image is built on an x86_64…",{"value":126,"source":67,"evidence":127},"Connection issues on iOS Safari for some users",[128,132,135],{"id":129,"by":130,"text":131},"27408583","executive","Stuck at connecting to server on iOS Safari.",{"id":133,"by":11,"text":134},"27408672","What version of iOS? It works for me on my iPhone 8 running iOS 14.4.2.",{"id":136,"by":137,"text":138},"27409056","luke2m","6S running 14.5.1 works fine.",[140,147,154],{"value":141,"source":67,"evidence":142},"End-to-end encryption",[143],{"id":144,"by":145,"text":146},"27408997","zeotroph","Could end-to-end encryption be added (see cryptpad), or does operational transformation or some other design aspect require a central server? What also comes to mind when editing…",{"value":148,"source":67,"evidence":149},"Expose a full project directory with terminal for collaboration",[150],{"id":151,"by":152,"text":153},"27410429","brundolf","It's hard to tell from the readme; can you expose an entire project directory (with terminal perhaps?) for collaboration?",{"value":155,"source":67,"evidence":156},"Option to disable the auto-suggest dropdown",[157],{"id":158,"by":159,"text":160},"27410393","alphabet9000","nice, is there any way to disable the auto-suggest dropdown box when you're typing?",[162,169],{"value":163,"source":67,"evidence":164},"Why operational transformation over CRDTs",[165],{"id":166,"by":167,"text":168},"27409258","zingplex","Congratulations on shipping, what you have is very slick. Quick question, not trying to start a flame war just genuinely curious. Why did you pick OT over other approaches to…",{"value":170,"source":67,"evidence":171},"Advantages over Etherpad and document conversion",[172],{"id":173,"by":174,"text":175},"27410330","em-bee","what do you see as the advantages of rustpad over etherpad? can etherpad documents be exported, converted to rustpad?",[177,182,186,190],{"value":178,"source":67,"evidence":179},"Etherpad",[180,181],{"id":55,"by":56,"text":57},{"id":173,"by":174,"text":175},{"value":183,"source":67,"evidence":184},"CryptPad",[185],{"id":144,"by":145,"text":146},{"value":187,"source":67,"evidence":188},"ShareDB",[189],{"id":70,"by":71,"text":72},{"value":191,"source":50,"evidence":192},"Yjs",[193],{"id":194,"by":11,"text":195},"27410091","Good question! I'm not aware of any end-to-end encryption scheme that commutes with OT, so probably can't do it as long as you have a central server doing transformations like…",{"comments":33,"answered":32,"key":197},[198,199,202],{"id":63,"text":64},{"id":200,"text":201},"27410125","I'm also curious about CRDTs, but after making this project, I agree that OT seems to \"just work\" performance-wise and are super simple.",{"id":203,"text":204},"27408515","Thanks! And good catch, I'll fix that right away.",{"commenters":206,"max_depth":45,"maker_replies":33,"first_comment_mins":207,"lifespan_hours":208},15,27,9,[210,212,214,216,218,222,224,225,227,228,230,231,233,234,235,237,239,240,242,243,244],[114,34,41,211,115,34],"project\u002Fcritical\u002Fexecution",[98,41,45,213,99,34],"project\u002Fpositive\u002Fidea",[63,41,34,215,11,41],"project\u002Fneutral\u002Fidea",[166,41,32,217,167,34],"maker\u002Fneutral\u002Fidea",[219,41,45,220,221,34],"27410075","project\u002Fpositive\u002Fperformance","josephg",[200,41,34,223,11,41],"maker\u002Fneutral\u002Fperformance",[93,39,41,211,94,34],[203,39,34,226,11,41],"maker\u002Fneutral\u002Fnone",[55,32,45,213,56,34],[229,32,34,226,11,41],"27410113",[173,32,32,215,174,34],[144,35,32,232,145,34],"project\u002Fneutral\u002Fprivacy",[194,35,34,232,11,41],[70,45,32,226,71,34],[81,236,41,211,82,34],6,[123,236,34,238,11,41],"project\u002Fneutral\u002Fexecution",[151,33,32,215,152,34],[129,241,41,211,130,34],8,[133,241,34,238,11,41],[136,241,32,238,137,34],[158,208,32,245,159,34],"project\u002Fneutral\u002Fdesign",[],[248,253,258,263,267,272],{"id":249,"name":250,"points":251,"category":252},"27421408","ToolJet",429,"web_saas",{"id":254,"name":255,"points":256,"category":257},"27414677","SectorTradingAlgorithm",249,"finance_crypto",{"id":259,"name":260,"points":261,"category":262},"27434254","nettu-meet",154,"learning_science",{"id":264,"name":265,"points":266,"category":252},"27379310","Vistimo Quotes",136,{"id":268,"name":269,"points":270,"category":271},"27384949","Spot",125,"productivity",{"id":273,"name":274,"points":275,"category":20},"27412445","Prestige",117,false,"v2",{"id":279,"name":5,"line":6,"ai":276,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":280,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":281,"url":9,"mix":282,"praise":90,"objection":111,"sub":21},27408326,[24,25,26,27,28],"150350105033031031033",[32,33,34,35],1794036607520]