Anton Shepelev <
anton.txt@gmail.moc> writes:
D to Salvador Mirzo:
>
The web is like that. A website sends you to another
one. This is decentralization. No NNTP servers send
you to another one, except those that have peers, but
then it's as if they're all the same. My idea is to
make NNTP servers more like the web.
>
That would be a nice take on NNTP. A kind of "federated"
nntp model, as opposed to todays standardize and "global"
version. Federated is perhaps not the right word for it.
>
I think I see your vision here... we could think of the
local nntp servers as small communities, you could opt-in
to make them public, keep them private, or just register
them with a search engine if you want.
>
That model also would avoid all the newsgroup hierarchy
stuff, you just name your groups what ever you want, and
you can decide to setup peers with other communities you
know.
>
Is the difference from the current Usenet so big? There
already are many servers, public and private, and peering
with one another. news.tilde.club is an example of a small
NNTP community.
It's not too different. It's close. But not quite. For instance, in
my idea---which I acknowledge that I did not present it properly---, the
NNTP server is meant for a small community of people who would like to
have an interesting community. I'm writing ``interesting'' on purpose
because it is completely vague. But you'll get the meaning of the words
from the properties of the community.
Which properties? Let's leave that open as well. Let's go straight to
the implementation of system behavior that has been designed to support
these properties---whether it will work or not.
In an NNTP server of such desired communities, every member should have
the same rights as every other member---meaning powers in the system.
So every member can create whatever groups he wishes. How could NNTP
systems allow this? Clients don't have a way to send arbitrary commands
to servers. So the idea of such NNTP server is to allow a remote TCP
connection to let users interact with the server beyond of what NNTP
really allows. In other words, the system should be hackable. And it
might be even literally hackable. For example:
--8<-------------------------------------------------------->8---
$ telnet nntp.server.somewhere.com 119
Trying 1.2.3.4...
Connected to nntp.server.somewhere.com.
Escape character is '^]'.
200 Welcome!
repl
REPL> (+ 1 1)
2
LOOP> quit
200 Okay, done.
quit
205 Good-bye.
Connection closed by foreign host.
$
--8<-------------------------------------------------------->8---
You get the idea. Honestly, this look rather pointless to me right now.
(You can use the REPL to use someone's account, say, without the person
ever finding out.) It's really just a joke in taking ``hackable'' to
the extreme. I can also say it's a homage paid to the MIT hackers in
the 50s and 60s, who built debuggers that let you fix problems in the
system as you used it, stories told in the book ``Hackers'' by Steven
Levy, 1984.
Anyway, sorry for the tangent. Let's get back. So by way of shells
like that, you can have commands that let you create groups and create
user accounts and other things. For instance, we can implement search
beyond XPAT, say, and many more things for fun or whatever.
So I want to provide people with a tool that's very easy to install and
lets them create a closed community with a tree of users. What tree?
To get an account, someone on the inside must create your account and
then the system records has invited who. It's clear to everyone who
knows who, who invited who. This might create a certain sense of
responsibility in the users. There should be a command that lists all
users and the tree of users, so that's public information:
users
200 List of current users:
A, last seen on Mon Nov 25 14:40:16 2024, invited (B C)
B (account locked: disappeared for over 3 months), last seen on Sun Nov 17 23:39:21 2024, invited nobody
C, last seen on Tue Feb 25 14:42:24 2025, invited (D E F ...)
[...]
You get the idea.
This idea stems from my hypothesis that a good community is one that
unites people in cyberspace, but these people have a real connection
with one another that goes beyond the mere interaction that might be
taking place between them in cyberspace. Say I invited you. Then
that's because I already know you somehow. You then invite someone
else, whom I have no idea about, but I do know that that person has a
connection with you, so it has an indirect connection with me. Of
course that people might just randomly invite one another; it's a system
with mathematical guarantees.
Just let you understand me a bit more: I came to the conclusion that an
a community in cyberspace should have a connection in the offline world.
So I invite a friend from mine school, who might invite someone across
the world, but this remote person has a connection with my friend, who
has an external-world connection with me.
And there's much more---I think it's nice to have a cohesive group,
which could use the knowledge of who is reading the groups, closing
accounts of people who don't have the interest in participating. This
allows a person who is writing to answer the question---what's my
audience? Those that have been logging on.
In other words, there's no privacy. The idea is for a closed community.
USENET access doesn't interfere with the community because the USENET
can't read the local groups.
Although there's no privacy, many experiments can be done. We could
have a command, for example, that enables randomization of names in a
certain group so that nobody ever knows who posted what. But such idea
is nothing but a game---it's usually very easy to detect who writes what
in a small group.
The idea really started out as a playground for programmers, but it has
evolved to some of these ideas. There's much more to it, but I plan to
dissertate on it only if I release a first prototype.
If you have any ideas, I'd love to hear about it.