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:
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 newer generation, and was ubiquitous back in the day.
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 finger client.
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).
Check out Freenet (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.
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).
GNU 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)
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 follow?
This could be solved by archiving/rotating old entries, and have the webserver return the n latest.
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
';
}
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 that (like a mandated date-based URL format?), which has to be specified in the format.
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.
> if you didn't fetch the file at the right time, you will lose some history after rotation
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.
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 definitely take some time till a "twtxt timeline" causes more traffic than browsing the current Twitter homepage. :3
Are the nicknames created by each follower independently? In other words, would 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..
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 moment. You could just write "@<NICK>:" and hope that the person you had in mind follows you and feels concerned.
Yes, 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.
Given 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.
Should be easy to add metadata by convention inside the messages, appended to them following some kind of control string, like "META". Clients could interpret anything from that string on by rules yet to be defined.
Yeah, 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.
Brute-forcing email addresses doesn't seem particularly hard, and a mechanism like that would then allow checking for email address validity and corresponding URL.
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://twtxt.reednj.com
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 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'
> 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.
So 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.
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 trying to censor things that the management doesn't like hearing about, so perhaps some people might prefer a service or system where no one can control what can be said.
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.
actually... 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...
It 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
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:
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: See: https://kb.iu.edu/d/aasp