Hacker News new | past | comments | ask | show | jobs | submit login
Nntpit: Minimalist Reddit-to-NNTP gateway (github.com/taviso)
115 points by rendx 7 months ago | hide | past | favorite | 64 comments

This sounds like a great UI for reddit and I'm surely going to try it out! I'm not very familiar with NNTP though, so I have a couple of questions.

1. Is mapping subreddits to the global namespaces a good idea? If I were to read NNTP news from multiple sources, wouldn't it be better to have a reddit.* hierarchy alongside the alt.* etc hierarchies? (I assume there's a way to use multiple NNTP servers at once; maybe by hosting my own NNTP server that pulls from multiple servers.)

2. Are slrn and tin the state of the art in TUI clients? Surely someone has a recent promising hobby client?

Use an alias for that:

alias slrnreddit='NNTPSERVER="news://localhost:8119" slrn -f ~/.jnewsrc-reddit -i ~/.slrnrc-reddit'

You can even use the same .jnewsrc for multiple NNTP servers, so just running `NNTPSERVER=some.url slrn` works for me. But I'm hoping for a way to use multiple servers without re-launching the client.

EDIT: the subscribed groups need to exist on all the servers, though. Otherwise slrn drops missing ones.

Yeah, but I don't like mixing setups.

It's still very early-stage, but I'm working on a similar NNTP bridge for Github Issues/PRs: https://github.com/apetresc/hubnet. Not ready for release yet, but it does basically work in read-only mode.

Stuff like this - wow. We have to ask ourselves what these centralised platforms offer that decentralised ones like NNTP didn’t.

Nice work and well done.

> We have to ask ourselves what these centralised platforms offer that decentralised ones like NNTP didn’t.

Moderation and up/downvoting as a way to filter content.

It took quite a bit of effort for volunteers to propagate cancel messages against all the spammers that started appearing at a certain point in time in Usenet's history, and a bunch of infrastructure to ensure that malicious control messages were dealt with as well:

* https://www.templetons.com/usenet-format/cancel.html

* https://en.wikipedia.org/wiki/Control_message

> Moderation and up/downvoting as a way to filter content.

Scoring (mentioned in the link above) is, exactly, distributed up/downvoting.

To get from there to distributed moderation you just need a way of publishing your votes and something like the PGP Web Of Trust. If people I upvote a lot upvoted it, show it to me. There is lots of interesting crypto work on anonymous verifiable voting that would be relevant here.

If you're worried about an echo chamber, add random noise. If you think people won't do that, well, if they want to make echo chambers for themselves you can't stop that either. Offer them a way out and the smart people will take it; then you can use their upvotes. IMHO most of the echo-chamber problems we have right now with social media are due to the fact that zero control (or even comprehension) over the algorithm is offered to the end user. Give the people knobs and they will play with them.

> To get from there to distributed moderation you just need a way of publishing your votes and something like the PGP Web Of Trust.


Doesn’t that create a positive feedback loop? You are mostly shown things you already agree with and everything else is mostly hidden. Could create an echo chamber quite easily.

I guess you stopped reading before the third paragraph of my comment.

It’s that I don’t think it’s enough. Reddit offers you all the knobs you need. Want randomness? Use /all. It will give you a representative mix of what Reddit has to offer. Don’t like it? Unsubscribe from everything, then add just the communities you want. Reddit contains lots of polar opposites: atheism and various religions, subs for teenagers and for older folks, subs for frugal living and ones for lavish spending, more political ones than you can shake a stick at. I don’t see even smart people subscribing to /r/the_donald and /r/politics at the same time other to keep an eye on whichever community they don’t agree with. Reddit exposes our predisposition to joining tribes, and we join tribes based on finding people who are similar and therefore familiar to us.

IMO the only way to create a community that will challenge people’s perspectives is to specifically create a community aimed at diverse thought as its main goal. HN is kind of that because the main topic is “things that hackers find interesting”. It’s a singular community with no knobs and yet it provides more diverse points of view than any given subreddit.

i,m working on such a system with pgp as an option, and the ability to clone, proof, and score the data yourself.

Exactly. I'm just about old enough to have used USENET and to remember the "is spam free speech and are we bad for deleting it" debates that also applied to email. In the end, the spammers won: you have to censor spam, or the service is all spam.

Filtering content is an absolute necessity. If you want to make a diverse general-use service, you need another layer to filter out shock images, unwanted nudity, actually illegal child and 'revenge' porn, and the constant barrage of insults that prominent minority users will be subjected to.

Moderation adds value.

I disagree. "Good" censorship always leads to bad censorship, for any definitions of good and bad censorship. The cure is worse than the disease. (And I am old enough to remember Usenet from the 90's - it was better than Reddit in every way).

Also, I recommend running slrn against another ~/.slrnrc-reddit in order to not use the defaults:

              NNTPSERVER="news://localhost:8119" slrn -f ~/.jnewsrc-reddit  --create -i ~/.slrnrc-reddit
Contents of ~/.slrnrc-reddit:

        set auto_mark_article_as_read 0
        set sorting_method 9
        set use_slrnpull 1
        set wrap_flags 7
        set wrap_method 2

That brought tears to my eyes. Browsing Reddit on slrn is just so much better...

Only needs functionality to post new messages, then it'll be perfect :), but an unexpected, almost too-good-to-be-true way to get off platforms. Now which public nntp server will carry reddit.*?

The next thing to do is to install Leafnode, then download one’s favorite subreddits for offline reading. Too bad trn was never open-sourced, but it’s the Usenet client I know how to use.

trn was the first newsreader I used. I think it was on Ultrix, DEC Unix or Slackware. Googling brought me to this sourceforge project: https://sourceforge.net/p/trn/code/

Someone should resurrect nntpfs.

slrn supports offline reading thru slrnpull.

It always bothers me when I type “news.ycombinator.com” into lynx and it tries to make an NNTP connection.

I guess this site breaks the internet and doesn’t follow the standards the we created for browsers to know what’s www and what’s not.

Perhaps it's worth adding NNTP service to HN, for people who prefer reading discussions in newsreader, like the author.

Some similar sites have it.

Could you share some examples please? I can't find anything like that.

https://rsdn.org/ has NNTP on news.rsdn.org, although it looks like it's not working at the moment.

I've been thinking about this for a while now but never got around to starting. Very cool to see it!

This is exciting. Wonder what it would take to add replying and posting? It is read-only.

What I miss here is the ability to pull the news offline. I already set up slrn the same way I have the mainstream NNTP setup, but nntpit doesn't support fetching offline articles. IDK if it's due the NNTP implementation.

On doing a slrnpull:

    02/02/2021 16:26:27 Fetching articles for programming.
    02/02/2021 16:26:27 ***Error selecting group programming.  
    Code = 411: No such newsgroup
Edit, forgot the NNTPSERVER variable forl slrnpull, I'm dumb.

Still: on running

    LANG=C NNTPSERVER="localhost:8119"  slrnpull -d reddit
02/02/2021 16:28:46 **listgroup linux failed: Command not recognized

Gnus (the built-in emacs nntp reader) can read and write to reddit through https://github.com/dickmao/nnreddit.

Very cool, I’ve not encountered nntp in years, good to see it survived. Decentralization efforts seem to overlook it a lot.

Well, it's "not invented here"; building fun new decentralised things is more popular than actually using them to build communities and discovering the pain of community management.

The existing nntp implementations are long enough in the tooth that someone could put some work into them and make them invented there. I recall the spool files were all individually managed so you used to get hot spots around popular groups and have a lot of copy operations to remove old posts. I think the indexing was all done with libdb/libgdbm per newsgroup. Lots of room for improvement there. I’m betting there is no transport security or its sslv3 if you dig into the code base. Lots of people used to lament the lack of user authentication and I think spam basically started on nntp with all the “green card” stuff but on the other hand the whole point of decentralized is you can say stuff other people disagree with and there is no central authority, right?

A personal annoyance of mine was all the people who archived everything and never deleted it - there is a phd thesis for someone, how to expire information from a decentralized system. I managed to get Google to remove most of my early Usenet musings (Google groups started off as an nntp archive and for a while they would delete stuff if you asked nicely) and the rest “aged out” as people lost interest in running archives, or their computers crashed, or they switched jobs and nobody else wanted to maintain them after they left. It took roughly three decades but I can’t find a single post of mine anymore.

> how to expire information from a decentralized system

Without the power to reach into other people's computers or enforce a to-the-display cryptosystem you can't do this. And even then information can leak out.

It's the very opposite of decentralisation to give control over a piece of information to a single agent, even if that is the person who originally created it.

FYI there are still more than 8,000 NNTP servers on the Internet:


That seems like a lot. I really wanted NNTP to work. My small town have two Facebook groups, one for general information, and one for selling stuff. I really want information like that to be available on NNTP instead, but convincing people to drop Facebook and use a technology they've never heard of isn't going to happen.

Last time I tried jumping on to a few newsgroups it was like walking into an abandoned city. The last posts on once active groups are years old, not counting the random spammer.

If anyone is a member of a cool Newsgroup, reply with it, I'm interested to try such a community.

Some programming languages have them. I'm personally subscribed to Dlang (news.digitalmars.com), Perl (nntp.perl.org), and PHP (news.php.net). All of them have decent traffic every day, although most of that is likely due to the mailing list that they mirror. You can also post to the mailing lists from NNTP on all of those AFAIK.

By the way, I think it's absolutely amazing that one can access the same discussion over several protocols (NNTP, email mailing list, and often HTTP) without losing any functionality.

> By the way, I think it's absolutely amazing that one can access the same discussion over several protocols (NNTP, email mailing list, and often HTTP) without losing any functionality.

By using HTTP I lose a lot of features! I can't filter (both for removal as well as for highlighting) as I need (i.e.ignore some flame war threads or highlight messages to me), I can't work offline (while there are less situation where that is needed, but can still be useful when loading on the side and then having low latency while looking through messages) etc.

However mail and nntp never really got the spam problem solved and development of "nice" clients basically stalled last 15 or so years.

>> By the way, I think it's absolutely amazing that one can access the same discussion over several protocols (NNTP, email mailing list, and often HTTP) without losing any functionality.

SynchroNet today has crazy multiprotocol support.

It's not very active (and I'm not active there either), but tildeverse has its own NNTP server. https://news.tildeverse.org/

comp.unix.programmer Unix programming, mostly C AND Unix related.

comp.unix.shell Unix utils, awk, shell scripting.

comp.lang.c C programming help

comp.lang.c.moderated Ditto, but with less nuts

alt.os.linux.slackware Slackware users.

rec.arts.int-fiction (text adventure game creating)

rec.games.int-fiction (text adventure game announces/discussions)

rec.games.roguelike.nethack Nethack (and Slashem by extension).

I think most of them are used for piracy.

Taviso is crazy, for sure :_).

I live rtv, but having NNTP integration it's more amazing.

BTW, gopher proxy to reddit: gopher://gopherddit.com

Can anyone recommend a good NNTP client?

There is also xrn, if you are looking to fill out your CDE. https://stuff.mit.edu/~jik/software/xrn/art_mode.htm

Thunderbird and it's forks work well.

I think the one in the images is slrn, which has always been good for reading lots of stuff with vim keybindings. http://www.slrn.org/

It looks like slrn.org has been compromised by spammers (perhaps the owner failed to renew the domain name in time?). https://slrn.info/ appears to be the current home of the project. (https://jedsoft.org/ links there via http://slrn.sourceforge.net/.)

Why is there a link to "Fast Online Payday Loans" in the center of that page?

And "National cash advance".

Somebody should tell him that his website appears to have been compromised by very low-end spammerz.

Not seeing that here. Perhaps the compromise is on your end.

It's subtle, you probably missed it:

  $ curl -s http://www.slrn.org | egrep Payday\|National
  Davis has returned to develop slrn again&nbsp;<a href="http://fastonlinepayday.com/">Fast Online Payday Loans</a> and after much work has
  subscribe both slrn-admin and slrn-user <a href="National-cash-advance.html"> National cash advance</a>. For questions about slrn that

Wow I did totally miss those. I was looking for banner ads or something. Scanning over the page I didn't even notice those bits of text.

Same. The link is HTTP so it looks like GP is getting some sort of malicious ad insertion.

I see it on two different networks. They’re not big ads, just hyperlinks subtly inserted into the text.

Yeah, I tested multiple networks. It's not on my end.

archive.today sees it too:


>with vim keybindings.

Not by default, sadly.

gnus is quite good actually.


does anyone of you know a opensource/free nntp server which is not written in C and fully functional?

Just quit reddit.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact