Show HN: Twtxt – Decentralised, minimalist microblogging service for hackers
github.com
github.com
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/aasphttps://www.shodan.io/report/ohcbBDbi
For comparison: finger[1] is more common on the Internet than Apache Cassandra[2].
This is better than finger in some ways — it's not multiline-capable as written, but at least clients can consume .txt files with near-universal tools (web browsers).
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/ and (https, bad certificate) https://test.plomlompom.com:8001/ – just for testing and playing around, don't expect anything hosted there to be up for too long.
[0] https://ipfs.io/
It's written in Nim and is probably good enough.
I know both of those services are P2P but beyond that not much.
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)
IIRC, the blockchain is used to store account credentials and nothing else.
For instance, you could let nginx do this:
location /masukomi.txt {
default_type 'text/plain';
content_by_lua 'local tail = io.popen("tail -n 20 ".."/chroot/twtxt/masukomi.txt", "r")
for line in tail:lines() do
print(c, line)
end
';
}Also, no DM and no @-replies. For those, you need a registry of some sort, but decentralized registries enable name-squatting.
Before you know it, you have reinvented the WWW, except limited to 140 chars.
Very true, and that's a trade-off, not unlike what Twitter does today. In my pseudo-code I didn't make the -n part of the url (it easily could be, but that'd add changes to the client). So I agree with your criticism, but a "since" lookup would be a fairly easy extension of the client (i.e. part of query, so unsupported frontends still work), as the data file already contains date.
> Before you know it, you have reinvented the WWW
Yes. :)
Simply use IPFS[1] instead as the underlying protocol.
[1] https://ipfs.io/
But still: It will definitely take some time till a "twtxt timeline" causes more traffic than browsing the current Twitter homepage. :3
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..
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.
Maybe I’ll implement something which makes it easy for users to specify custom filters and/or highlights.
I'd use it if I knew people in my network or people I'd be interested in following were already using it.
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.
How about a DHT where sha160(emailaddress) would return the URL I use. Could even use the mainline torrent DHT.
This is a program for hackers by a hacker.
-- Linus, on the comp.os.minix newsgroup, in 1991https://groups.google.com/forum/#!msg/comp.os.minix/4995SivO...
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'
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.
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.
Have you ever tried to run a mail server before? It's a nightmare wrapped in a fiasco.
Still a few issues though. Like how to overcome the whole network effect thing. These systems aren't very useful unless there's a large audience, and it's hard to draw a large audience if no one's there to begin with.
hack chat is kind of nice. same "minimalist" feel https://news.ycombinator.com/item?id=10036770