9 ms·
Show HN: Twtxt – Decentralised, minimalist microblogging service for hackers
- chishaku 11y agoIt 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.
- plomlompom 11y agoJust improvised something (probably temporary) here: http://test.plomlompom.com/twtxt/account_list.txt http://test.plomlompom.com/twtxt/account_list.txt
- buckket 11y agoYeah, sounds great in the first place, but then again you’d have to consider how one would implement such a list without the need of registering an account or something of that sort. My friends and I are basically sharing our followings publicly in a separate text file next to the main one, so we can discover new people.
- sliken 11y agoNot sure I'd want to be in a directory, but wouldn't mind if someone queried based on my email address. How about a DHT where sha160(emailaddress) would return the URL I use. Could even use the mainline torrent DHT.
- JoshTriplett 11y agoBrute-forcing email addresses doesn't seem particularly hard, and a mechanism like that would then allow checking for email address validity and corresponding URL.
- icebraining 11y agoHow would you prevent people from registering email addresses they don't own?
- reednj 11y agoI 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://twtxt.reednj.com http://twtxt.reednj.com
- xena 11y agoWhy not try https://twtxtlist.cf/ https://twtxtlist.cf/?
- Cyberdog 11y agoHas there ever been a product or service which has billed itself as "X for hackers" which has actually been successful?
- buckket 11y agoI guess most of the time being "successful" is not the point.
- cle 11y agolinux?
- tdb7893 11y agowas it actually billed as that when it was created?
- icebraining 11y agoYes, quite literally: This is a program for hackers by a hacker. -- Linus, on the comp.os.minix newsgroup, in 1991 https://groups.google.com/forum/#!msg/comp.os.minix/4995SivOl9o/GwqLJlPSlCEJ https://groups.google.com/forum/#!msg/comp.os.minix/4995SivO...
- sliken 11y agoHow about hacker news?
- deleted 11y ago[deleted]
- jtnegrotto 11y agoOctopress (http://octopress.org/ http://octopress.org/) seems like it's still fairly popular.
- mrcactu5 11y agoi really hate the bells and whistles in most apps these days. even as i build them. hack chat is kind of nice. same "minimalist" feel https://news.ycombinator.com/item?id=10036770 https://news.ycombinator.com/item?id=10036770
- akkartik 11y agoAre the nicknames created by each follower independently? In other words, would http://bobsplace.xyz/twtxt http://bobsplace.xyz/twtxt be bob for me but bobsplace for somebody else? How do @replies work then? This looks really neat. I'm put off by the python requirement, but this seems simple enough that I might try to put a C client together, or even something in my new language that I've been meaning to add networking libraries to..
- buckket 11y agoYes, 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 moment. You could just write "@<NICK>:" and hope that the person you had in mind follows you and feels concerned.
- akkartik 11y agoI see. So by default all @mentions show up on all followers' timeline, just like regular tweets?
- buckket 11y agoYes, because there is no difference between an @reply and an ordinary tweet. Not technically at least. It’s just text. But implementing a filter on your side should be trivial if that’s what you want. Maybe I’ll implement something which makes it easy for users to specify custom filters and/or highlights.
- JoshTriplett 11y agoGiven the decentralized nature, it'd be nice to parse any @reply , add metadata that indicates the full URL, and thus translate into a local user's nicknames.
- plomlompom 11y ago
- nyan4 11y ago"Decentralised"? How is this different from a static site generator and an RSS reader?
- buckket 11y agoIt’s simpler, but it shares similarities, no doubt.
- masukomi 11y agoactually... it seems more complicated. Existing tech: use existing tools written in your language / usage style of choice to generate a site. Consume with one of probably hundreds of RSS readers from which you can pick the one you like the most. this: new tool, not supported by existing apps, glaring limitations, requires non-default python dev environment, etc. etc...
- vr_ 11y agoSimilar, but based on git: https://github.com/wilhelmtell/dis https://github.com/wilhelmtell/dis
- blorgle 11y agoCheck out Freenet (https://freenetproject.org/ https://freenetproject.org/), it is the perfect platform for implementing static content social media like this. There is already a decent microblogging plugin called Sone which works out of the box and handles unique names, Web of Trust, etc. https://wiki.freenetproject.org/Sone https://wiki.freenetproject.org/Sone
- ArneBab 11y agoI’ve been using Sone for years, and once the Spam-blocking in Freenet is set up (this provides reusable IDs), Sone works great and is a joy to use.
- masukomi 11y agois 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 follow?
- akkartik 11y agohttps://en.wikipedia.org/wiki/HTTP_ETag https://en.wikipedia.org/wiki/HTTP_ETag should help with that.
- hk__2 11y agoIt 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.
- deleted 11y ago[deleted]
- detaro 11y agoMake the ETAG the size, send a range request for only the bytes you haven't seen already?
- buckket 11y agoThis 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 definitely take some time till a "twtxt timeline" causes more traffic than browsing the current Twitter homepage. :3
- pythousiast 11y agoYup that's an issue. Their should be more control on how the data is stored. I like the concept tho.
- 11y ago
- detaro 11y agoSeems 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://ipfs.io/ https://ipfs.io/
- udfalkso 11y agoMade me think of http://bitcoinmegaphone.com/ http://bitcoinmegaphone.com/
- unicornporn 11y agoAlso: https://quitter.se/ https://quitter.se/ (StatusNet/GNU social)
- synchronise 11y agoSo how does this compare to Sone and Twister? I know both of those services are P2P but beyond that not much.
- chc4 11y agoGNU Social isn't P2P, but federated. You don't have to host your own node to be able to use it, which massively raises the barrier to entry, but instead lets you register on any server in the federation as an entry point into the network. There are both upsides and downsides, of course. It's more centralized along with having censorship by your hosting node. However, it doesn't force you to leak your IP address to attackers or run software and be a sysadmin, along with saving bandwidth. It also doesn't have some of the difficulties that proper P2P does: Twister is on top of Bitcoin (costs to use) while Sone is over Freenet (Sybil attacks and routing issues)
- synchronise 11y agoTwister is derived from Bitcoin, but actually uses its own fork. IIRC, the blockchain is used to store account credentials and nothing else.
- d0m 11y agoIt'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?
- deleted 11y ago[deleted]
- technomancy 11y agoIt hasn't proven to be a problem for email, where the dates are also completely up to the sender to fabricate.
- Terretta 11y agoRoughly, the .plan or .project file from finger? In Unix, finger is a program you can use to find information about computer users. It usually lists the login name, the full name, and possibly other details about the user you are fingering. These details may include the office location and phone number (if known), login time, idle time, time mail was last read, and the user's plan and project files. The information listed varies, and you may not be able to get any information from some sites. In some cases, you may be able to use the finger command to verify an address or find more information for someone at another institution about whom you already have some information. The finger command is available on most Unix systems. It differs from the whois command, which you can use simply to find the email address of someone at another institution. To use finger, at your Unix prompt, enter: finger username@node.domain Replace node.domain with the appropriate machine and domain address, and username with the name of the person or the person's username, for example: finger dvader@mentor.cc.purdue.edu See: https://kb.iu.edu/d/aasp https://kb.iu.edu/d/aasp
- kzhahou 11y agoI 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 newer generation, and was ubiquitous back in the day.
- achillean 11y agoAnd there are still 4,000+ servers running it publicly: https://www.shodan.io/report/ohcbBDbi https://www.shodan.io/report/ohcbBDbi For comparison: finger[1] is more common on the Internet than Apache Cassandra[2]. [1] https://www.shodan.io/search?query=port%3A79+idle https://www.shodan.io/search?query=port%3A79+idle [2] https://www.shodan.io/search?query=product%3Acassandra https://www.shodan.io/search?query=product%3Acassandra
- gknoy 11y agoI still remember reading John Carmack's _amazingly_detailed_ and interesting .plan files back when I was in college.
- reednj 11y agoIt asks you to enter a username when you set it up, but when you follow someone you have to set a username for them yourself. Am I missing something? It seems that the username is never exposed
- optimuspaul 11y agoI don't understand why anyone would want to go to the trouble to do this. It feels like a huge step backwards.
- 746F7475 11y agoYeah. 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 encrypted somehow? Don't get me wrong, this is a cool idea and I'm all for building stuff 'just because', but I wouldn't it be just simpler/better to create cli wrapper for Twitter? (which probably exists). That all being said I'm not a big Twitter user, so maybe I'm missing some vital point here that is obvious to regular 'microbloggers'
- technomancy 11y ago> What is the benefit of using twtxt? Ok, it's decentralized, but what actual benefit does that bring? Right now Twitter is up in arms about proposed changes which make users not have control over their feeds; there will be algorithmic curation so you only see the most popular content from your followers. "Just create a CLI wrapper" only works assuming the APIs are not effected by the changes they are making to the main product, which doesn't really make sense.
- 746F7475 11y agoSo why not just make a Twitter clone? As in a website that had same functionality? This extra CLI abstraction will just make it harder to adopt, which again might be by design, but at that point a question comes to mind: why not just start a newgroup-ish email feed? Again I don't quite get what Twitter is for, so maybe I'm missing something, but at least the publicity isn't an issue here since this seems to make it pretty hard to actually find people to follow.
- technomancy 11y ago> why not just start a newgroup-ish email feed? Have you ever tried to run a mail server before? It's a nightmare wrapped in a fiasco.
- teamhappy 11y agoIs the name related to TUWAT.TXT[1] by any chance? [1]: https://berlin.ccc.de/wiki/TUWAT.TXT https://berlin.ccc.de/wiki/TUWAT.TXT
- buckket 11y agoFunny thinking about it, but no. It's just a combination of "twitter" and "txt".
- plomlompom 11y agoJust hacked together a prototype for a hosted twtxt server in Go: http://github.com/plomlompom/htwtxt http://github.com/plomlompom/htwtxt This could be used to allow server-less users to login and twt via a browser to URLs hosted by someone running the server. I'm still pretty new to Go and building / setting up web servers, so don't expect too much (expect session/cookie handling to be messy, and security in general to be bad). I set up a quick testing version at (http) http://test.plomlompom.com:8000/ http://test.plomlompom.com:8000/ and (https, bad certificate) https://test.plomlompom.com:8001/ https://test.plomlompom.com:8001/ – just for testing and playing around, don't expect anything hosted there to be up for too long.
- xena 11y agoI made a prototype aggregator: https://twtxtlist.cf/ https://twtxtlist.cf/ It's written in Nim and is probably good enough.
- buckket 11y agoCool, added a link to it in twtxt’s README.