[{"data":1,"prerenderedAt":409},["ShallowReactive",2],{"project-11043502":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":44,"post_text":46,"what":47,"said":88,"maker_in_thread":206,"shape":218,"grid":222,"attempts":372,"same_week":373,"maker_shows":39,"maker_hidden":401,"reader_version":402,"card":403},"11043502","Twtxt","Decentralised, minimalist microblogging service for hackers","title","Show HN: Twtxt – Decentralised, minimalist microblogging service for hackers","https:\u002F\u002Fgithub.com\u002Fbuckket\u002Ftwtxt","github.com","buckket",1454696957,2016,154,65,209,2264,10,"notable","productivity","microblogging","cli",[21,24,25,26],"decentralised","plain text","twitter alternative","curious",-0.184,{"positive":30,"neutral":31,"mixed":32,"critical":33},3,22,2,9,36,{"idea":36,"design":38,"performance":40,"execution":42,"privacy":43},{"positive":32,"critical":37},6,{"positive":39,"critical":39},1,{"positive":41,"critical":39},0,{"positive":41,"critical":41},{"positive":41,"critical":39},[30,41,41,30,41,30,41,41,41,41,39,30,30,30,30,39,30,30,41,30,30,30,30,39,30,30,30,30,41,41,41,39,39,30,41,45,39,39,30,30],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":64,"openness":87,"stage":87,"team_size":87},{"value":49,"source":50,"evidence":51},"Microblogging without a central service or account, using a plain text file","inferred",[52,56,60],{"id":53,"by":54,"text":55},"11044464","nyan4","\"Decentralised\"? How is this different from a static site generator and an RSS reader?",{"id":57,"by":58,"text":59},"11046993","746F7475","Yeah. What is the benefit of using twtxt? Ok, it's decentralized, but what actual benefit does that bring? Just anybody can't see what you are saying? But is the communication…",{"id":61,"by":62,"text":63},"11048270","CM30","Maybe because some people want a Twitter alternative that isn't under the control of a single individual, company or group? There's an increasing amount of talk about Twitter…",[65,73,80],{"value":66,"source":67,"evidence":68},"Python","commenter",[69],{"id":70,"by":71,"text":72},"11044445","akkartik","Are the nicknames created by each follower independently? In other words, would http:\u002F\u002Fbobsplace.xyz\u002Ftwtxt be bob for me but bobsplace for somebody else? How do @replies work…",{"value":74,"source":67,"evidence":75},"Go (hosted server prototype by a commenter)",[76],{"id":77,"by":78,"text":79},"11048352","plomlompom","Just hacked together a prototype for a hosted twtxt server in Go: http:\u002F\u002Fgithub.com\u002Fplomlompom\u002Fhtwtxt This could be used to allow server-less users to login and twt via a browser…",{"value":81,"source":67,"evidence":82},"Nim (aggregator prototype by a commenter)",[83],{"id":84,"by":85,"text":86},"11049086","xena","I made a prototype aggregator: https:\u002F\u002Ftwtxtlist.cf\u002F It's written in Nim and is probably good enough.","unknown",{"praise":89,"objections":108,"requests":139,"questions":155,"alternatives":170},[90,101],{"value":91,"source":67,"evidence":92},"Nostalgic, reminiscent of finger .plan files",[93,97],{"id":94,"by":95,"text":96},"11045771","kzhahou","I think you're being DV'd because people think you're saying \"this is just finger.\" But I think you're actually reminding people of that old service, which won't be familiar to…",{"id":98,"by":99,"text":100},"11045788","gknoy","I still remember reading John Carmack's _amazingly_detailed_ and interesting .plan files back when I was in college.",{"value":102,"source":67,"evidence":103},"Plain text readable by any browser or tool",[104],{"id":105,"by":106,"text":107},"11046094","adiabatty","A bunch of game developers had .plan files back in the late 90s, but we Windows users had to visit a third-party site to view John Carmack's .plan because Windows didn't have a…",[109,120,129],{"value":110,"source":67,"evidence":111},"Large data files must be re-downloaded in full for updates",[112,116],{"id":113,"by":114,"text":115},"11044780","masukomi","is it me or is this going to result in massively long data files that you KEEP having to re-downloading in their entirety every time you want to get an update from someone you…",{"id":117,"by":118,"text":119},"11045331","hk__2","It can help to avoid re-downloading a timeline that didn’t change but you’ll still have to re-download the whole file for each new status.",{"value":121,"source":67,"evidence":122},"No clear benefit over existing platforms or RSS\u002Fstatic sites",[123,124,125],{"id":57,"by":58,"text":59},{"id":53,"by":54,"text":55},{"id":126,"by":127,"text":128},"11046289","optimuspaul","I don't understand why anyone would want to go to the trouble to do this. It feels like a huge step backwards.",{"value":130,"source":67,"evidence":131},"Global @replies and discovery are hard without a directory",[132,135],{"id":133,"by":11,"text":134},"11044583","Yes, it’s up to each user how he names the URLs he’s following. This makes it hard to implement global @replies, therefore there’s no recommend way of handling those at the…",{"id":136,"by":137,"text":138},"11044261","chishaku","It would be great if there was a directory of users. I'd use it if I knew people in my network or people I'd be interested in following were already using it.",[140,148],{"value":141,"source":67,"evidence":142},"A user directory or discovery mechanism",[143,144],{"id":136,"by":137,"text":138},{"id":145,"by":146,"text":147},"11047303","reednj","I like this too, but it is pretty hard to use without a directory, so I created a simple one here where you can register your username: http:\u002F\u002Ftwtxt.reednj.com",{"value":149,"source":67,"evidence":150},"Standard way to handle history rotation and @replies",[151],{"id":152,"by":153,"text":154},"11047811","toyg","The problem is that if you didn't fetch the file at the right time, you will lose some history after rotation happens. At the very least, it needs a standard way to deal with…",[156,163],{"value":157,"source":67,"evidence":158},"How do nicknames and @replies work across users",[159,160],{"id":70,"by":71,"text":72},{"id":161,"by":71,"text":162},"11044621","I see. So by default all @mentions show up on all followers' timeline, just like regular tweets?",{"value":164,"source":67,"evidence":165},"Can old entries be changed or back-dated",[166],{"id":167,"by":168,"text":169},"11045437","d0m","It's really cool. What happens if you add a new tweet with a date in the past? Isn't a bit weird to be able to change the history?",[171,178,185,192,199],{"value":172,"source":67,"evidence":173},"Freenet Sone",[174],{"id":175,"by":176,"text":177},"11044684","blorgle","Check out Freenet (https:\u002F\u002Ffreenetproject.org\u002F), it is the perfect platform for implementing static content social media like this. There is already a decent microblogging plugin…",{"value":179,"source":67,"evidence":180},"GNU Social \u002F StatusNet",[181],{"id":182,"by":183,"text":184},"11045351","unicornporn","Also: https:\u002F\u002Fquitter.se\u002F (StatusNet\u002FGNU social)",{"value":186,"source":67,"evidence":187},"Twister",[188],{"id":189,"by":190,"text":191},"11045402","synchronise","So how does this compare to Sone and Twister? I know both of those services are P2P but beyond that not much.",{"value":193,"source":67,"evidence":194},"dis (git-based)",[195],{"id":196,"by":197,"text":198},"11044601","vr_","Similar, but based on git: https:\u002F\u002Fgithub.com\u002Fwilhelmtell\u002Fdis",{"value":200,"source":67,"evidence":201},"IPFS",[202],{"id":203,"by":204,"text":205},"11045119","detaro","Seems like something like this would be a perfect use case for IPFS[0], although I bet there already is something similar for it out there. [0] https:\u002F\u002Fipfs.io\u002F",{"comments":33,"answered":207,"key":208},7,[209,212,215],{"id":210,"text":211},"11049220","Cool, added a link to it in twtxt’s README.",{"id":213,"text":214},"11048398","This is nice as long as nobody changes old status updates. Thought about using If-Modified-Since to at least reduce the load when nothing has changed at all. But still: It will…",{"id":216,"text":217},"11047343","Yes, should be possible. But then again you would have to specify an ordering, i.e. are newer status updates at the top or at the bottom.",{"commenters":219,"max_depth":37,"maker_replies":33,"first_comment_mins":220,"lifespan_hours":221},41,102,276,[223,227,229,231,234,236,238,241,242,243,245,247,248,249,253,255,256,258,261,262,264,265,269,272,274,277,279,281,284,287,288,289,291,294,296,297,299,301,304,307,311,312,314,315,318,322,324,327,330,332,334,337,339,340,343,345,347,348,352,354,356,358,361,366,368],[224,41,30,225,226,41],"11045638","project\u002Fneutral\u002Fidea","Terretta",[94,41,41,228,95,41],"commenter\u002Fneutral\u002Fnone",[98,41,41,230,99,41],"other\u002Fneutral\u002Fnone",[232,41,41,230,233,41],"11045803","achillean",[105,41,45,235,106,41],"project\u002Fpositive\u002Fdesign",[175,39,39,237,176,41],"project\u002Fcritical\u002Fidea",[239,39,41,230,240,41],"11055347","ArneBab",[77,32,41,230,78,41],[203,30,30,225,204,41],[84,244,41,230,85,41],4,[210,244,41,246,11,39],"maker\u002Fpositive\u002Fnone",[182,45,41,230,183,41],[189,45,41,230,190,41],[250,45,41,251,252,41],"11046814","other\u002Fneutral\u002Fidea","chc4",[254,45,41,228,190,41],"11115809",[196,37,41,251,197,41],[113,207,39,257,114,41],"project\u002Fcritical\u002Fperformance",[259,207,30,260,71,41],"11044812","project\u002Fneutral\u002Fperformance",[117,207,30,260,118,41],[263,207,30,260,204,41],"11047316",[213,207,41,260,11,39],[266,207,30,267,268,41],"11044822","project\u002Fmixed\u002Fexecution","pythousiast",[270,207,30,260,271,41],"11046801","sleepychu",[216,207,41,273,11,39],"project\u002Fneutral\u002Fdesign",[275,207,30,260,276,41],"11045092","klapinat0r",[152,207,39,278,153,41],"project\u002Fcritical\u002Fdesign",[280,207,30,260,276,41],"11050545",[282,207,30,225,283,41],"11047830","amelius",[70,285,30,286,71,41],8,"project\u002Fmixed\u002Fdesign",[133,285,41,273,11,39],[161,285,30,273,71,41],[290,285,41,273,11,39],"11044688",[292,285,30,273,293,41],"11044747","JoshTriplett",[295,285,30,273,78,41],"11044791",[136,33,30,225,137,41],[298,33,30,225,78,41],"11044415",[300,33,41,225,11,39],"11044426",[302,33,30,225,303,41],"11044450","sliken",[305,33,39,306,293,41],"11044759","project\u002Fcritical\u002Fprivacy",[308,33,30,309,310,41],"11045584","project\u002Fneutral\u002Fprivacy","icebraining",[145,33,30,225,146,41],[313,33,41,230,85,41],"11050280",[167,18,30,273,168,41],[316,18,30,273,317,41],"11047901","technomancy",[319,320,41,230,321,41],"11044378",11,"Cyberdog",[323,320,41,230,11,39],"11044444",[325,320,41,230,326,41],"11044458","cle",[328,320,41,230,329,41],"11044687","tdb7893",[331,320,41,230,310,41],"11045612",[333,320,41,230,303,41],"11044462",[335,320,41,230,336,41],"11095484","jtnegrotto",[126,338,39,237,127,41],12,[57,338,39,237,58,41],[341,338,45,342,317,41],"11047791","project\u002Fpositive\u002Fidea",[344,338,39,237,58,41],"11048564",[346,338,41,230,317,41],"11050919",[61,338,45,342,62,41],[349,350,41,230,351,41],"11044410",13,"mrcactu5",[53,353,39,237,54,41],14,[355,353,41,225,11,39],"11044550",[357,353,39,237,114,41],"11044774",[359,360,30,273,146,41],"11046056",15,[362,363,30,364,365,41],"11047050",16,"project\u002Fneutral\u002Fnone","teamhappy",[367,363,41,364,11,39],"11048971",[369,370,30,225,371,41],"11045318",17,"udfalkso",[],[374,378,383,388,392,396],{"id":375,"name":376,"points":377,"category":20},"11068902","TIL",819,{"id":379,"name":380,"points":381,"category":382},"11071916","Deepstream.io",301,"infrastructure",{"id":384,"name":385,"points":386,"category":387},"11064507","The Deadlock Empire",269,"games",{"id":389,"name":390,"points":391,"category":382},"11072359","SocketCluster.io",217,{"id":393,"name":394,"points":395,"category":382},"11074537","LogDNA",196,{"id":397,"name":398,"points":399,"category":400},"11064270","BitBar",149,"dev_tools",false,"v2",{"id":404,"name":5,"line":6,"ai":401,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":405,"top":18,"kw":406,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":407,"url":9,"mix":408,"praise":91,"objection":110,"sub":21},11043502,-0.18,[21,24,25,26],"3003030000133331330333313333000113051133",[30,31,32,33],1794036540662]