Discussion:
Syncing article status across computers
(too old to reply)
Tristan Miller
2020-05-20 12:04:05 UTC
Permalink
Dear all,

I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail.
For mail I use IMAP, which has the advantage of storing each message's
status (unread, read, replied, forwarded, etc.) on the server. So no
matter what mail client I use on what machine, I can easily distinguish
new messages from those that I've already read or processed. Does
anyone know how I can achieve something similar with news articles?
That is, when I mark an article as being read using a news client on one
machine, I'd like it to automatically appear as being read when I view
the newsgroup using a news client on some other machine.

I know that one way I could do this is to use only a single news client
on one of my machines, and use the other two machines to connect to it
remotely. However, this method has the disadvantage of requiring me to
be always online to read news. That is, I can't download all the
articles from a group in bulk and then read them offline.

Are there any other options here? For example, are there any news
client/caching news server combinations that use NNTP, or some extension
thereof, to mark articles as "read" on the server? (Obviously I'd need
to run such a server on one of my own machines, but I'd be fine with
that.) Or alternatively, are there any news clients that support
syncing of article/thread metadata across installations? Or even more
alternatively (and kludgily), are there any news-to-mail gateways I can
install locally that will keep news articles in folders that I can
access via IMAP instead of NNTP?

Regards,
Tristan
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Tristan Miller
Free Software developer, ferret herder, logologist
https://logological.org/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Urs Janßen
2020-05-20 12:57:00 UTC
Permalink
Post by Tristan Miller
that.) Or alternatively, are there any news clients that support
syncing of article/thread metadata across installations? Or even more
with any newsreader which uses the traditional newsrc format (e.g.
tin <http://tin.org/>) it should be as simple as copy the newsrc
file from the current system to the next one to be used (while the
news client is not running).
Post by Tristan Miller
alternatively (and kludgily), are there any news-to-mail gateways I can
install locally that will keep news articles in folders that I can
access via IMAP instead of NNTP?
tin could be (ab)used to do this via either mail articles to you
(-N/-M) (you have to sort them into folders on "your own" (e.g.
procmail), and if you use mh-style mailboxes tin can be used to read
them instead of with your mail-client) or by saving news locally into
folders (-S/-R) for later (offline) reading. I wouldn't recommend any
of the two ways but go with newsrc syncing instead as the mailing thingy
is ugly and with the save for later reading you still need to sync
the saved data to the other computer ...

look at "AUTOMATIC MAILING AND SAVING NEW NEWS" in man page
<http://tin.org/bin/man.cgi?section=1&topic=tin>

HTH,
urs
Lewis
2020-05-20 13:42:41 UTC
Permalink
Post by Tristan Miller
Dear all,
I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail.
For mail I use IMAP, which has the advantage of storing each message's
status (unread, read, replied, forwarded, etc.) on the server. So no
matter what mail client I use on what machine, I can easily distinguish
new messages from those that I've already read or processed. Does
anyone know how I can achieve something similar with news articles?
That is, when I mark an article as being read using a news client on one
machine, I'd like it to automatically appear as being read when I view
the newsgroup using a news client on some other machine.
Sync your newsrc between the computers. I do this using a Cloud service
named Sync. I used to use Dropbox, but that took an extra bit of
fiddling. I tried Google Drive, but it was not up to the task of
keeping a small file in sync quickly, sometimes taking over an hour
before the file would update.
Post by Tristan Miller
I know that one way I could do this is to use only a single news client
on one of my machines, and use the other two machines to connect to it
remotely. However, this method has the disadvantage of requiring me to
be always online to read news. That is, I can't download all the
articles from a group in bulk and then read them offline.
If you read them offline and do not sync back what you have read, it is
impossible for that information to be seen on other machines.
Post by Tristan Miller
Are there any other options here? For example, are there any news
client/caching news server combinations that use NNTP, or some extension
thereof, to mark articles as "read" on the server?
That is not how NNTP works, no.
Post by Tristan Miller
(Obviously I'd need to run such a server on one of my own machines,
but I'd be fine with that.)
That would still require you be online to read news in order to access
your computer when travelling.

In my slrnrc I have

server "news://news.eternal-september.org" "Sync/Lewis/newsrc"

When I exit slrn, that file is written. I can access that (1.2MB) file
from any computer that can get online.

But in close to four decades, I've never read newsgroups offline.
--
This man was clearly mad, but at the heart of his madness was a cold,
dreadful sanity, a core of pure interstellar ice in the centre of
the furnace. She'd thought him weak under a thin shell of
strength, but it went a lot further than that. Somewhere deep
inside his mind, somewhere beyond the event horizon of
rationality, the sheer pressure of insanity had hammered his
madness into something harder than diamond. --Wyrd Sisters
Tristan Miller
2020-05-20 14:38:56 UTC
Permalink
Greetings.
Post by Lewis
Post by Tristan Miller
I know that one way I could do this is to use only a single news client
on one of my machines, and use the other two machines to connect to it
remotely. However, this method has the disadvantage of requiring me to
be always online to read news. That is, I can't download all the
articles from a group in bulk and then read them offline.
If you read them offline and do not sync back what you have read, it is
impossible for that information to be seen on other machines.
Yes, clearly I'd be going back online at some point to sync the
articles' read states.
Post by Lewis
Post by Tristan Miller
Are there any other options here? For example, are there any news
client/caching news server combinations that use NNTP, or some extension
thereof, to mark articles as "read" on the server?
That is not how NNTP works, no.
I suspected that vanilla NNTP doesn't work this way, but was hopeful
that there may be some sort of nonstandard extension to the protocol
that certain client/server pairs might support...
Post by Lewis
Post by Tristan Miller
(Obviously I'd need to run such a server on one of my own machines,
but I'd be fine with that.)
That would still require you be online to read news in order to access
your computer when travelling.
I don't see why. The whole point of locally running a caching news
server (like Leafnode) is that you don't need to be always online to
read news. The server periodically fetches new articles from its
upstream nodes when it's online, but when it's not the articles it's
already downloaded remain available to read with a local news client.
Post by Lewis
In my slrnrc I have
server "news://news.eternal-september.org" "Sync/Lewis/newsrc"
When I exit slrn, that file is written. I can access that (1.2MB) file
from any computer that can get online.
That's a nice idea (and I guess the same one that Urs mentioned
upthread). It's good because it's simple; potential drawbacks are that
that it works only with newsreaders that use the newsrc format, and that
you can't run multiple clients concurrently without losing the article
state information.

Regards,
Tristan
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Tristan Miller
Free Software developer, ferret herder, logologist
https://logological.org/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rob
2020-05-20 14:33:59 UTC
Permalink
I use slrn from a "shell server" at my ISP so I can read news on different
systems and have the shared read history between them (stored in the
.newsrc kept on the shell server)

But of course this only works when online. I have to be able to setup
an ssh session to the shell server.
VanguardLH
2020-05-20 20:42:59 UTC
Permalink
Post by Tristan Miller
Dear all,
I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail.
For mail I use IMAP, which has the advantage of storing each message's
status (unread, read, replied, forwarded, etc.) on the server. So no
matter what mail client I use on what machine, I can easily distinguish
new messages from those that I've already read or processed. Does
anyone know how I can achieve something similar with news articles?
That is, when I mark an article as being read using a news client on one
machine, I'd like it to automatically appear as being read when I view
the newsgroup using a news client on some other machine.
I know that one way I could do this is to use only a single news client
on one of my machines, and use the other two machines to connect to it
remotely. However, this method has the disadvantage of requiring me to
be always online to read news. That is, I can't download all the
articles from a group in bulk and then read them offline.
Are there any other options here? For example, are there any news
client/caching news server combinations that use NNTP, or some extension
thereof, to mark articles as "read" on the server? (Obviously I'd need
to run such a server on one of my own machines, but I'd be fine with
that.) Or alternatively, are there any news clients that support
syncing of article/thread metadata across installations? Or even more
alternatively (and kludgily), are there any news-to-mail gateways I can
install locally that will keep news articles in folders that I can
access via IMAP instead of NNTP?
Regards,
Tristan
Not sure this will work since I haven't tried it. When travelling or on
vacation, I use the remoting trick you mentioned to get to my home PC
(which obviously I had to leave up) to use the NNTP client from there.
However, I was thinking that maybe you could use a cloud sync agent and
service, like OneDrive, Google Drive (now called Backup & Sync), or
Dropbox. Those will sync a local folder to the cloud (your online file
storage). Each host could run the sync client to the same cloud
account. Configure your NNTP client's to store their data in the local
folder that the sync client monitors. You use the sync agent and cloud
file storage to maintain a message store that gets shared by each host
that also has the sync client going to the same cloud account.

While most users tend to install the sync client provided by a cloud
service (i.e., use the OneDrive client for OneDrive, Google's Backup &
Sync client for Google Drive, Dropbox client for Dropbox account), there
are sync clients that support multiple cloud sync protocols, like
SyncBack Pro (supports Amazon S3, Backblaze, Google Drive, Microsoft
OneDrive, OpenStack, Sharepoint, Dropbox, Box, SugarSync, WebDAV, etc,
along with FTP/FTPS/SFTP).

That relies on a cloud account for synchonized file storage across each
host running the sync client. If you didn't want to use someone else's
file server, I suppose you could operate your own, like an FTP server,
and use a local client, like FTPzilla or SyncBack Pro/SE, to sync a
local message store to one stored on the server. That means setting up
your own FTP server, operating on a DMZ'ed host, and punching holes in
your router's firewall (whether you use a separate router or the one
inside a cable modem) with port forwarding, and possibly using DDNS to
give the WAN-side of your router or modem a hostname instead of having
to know its current dynamic IP address assigned to it by your ISP. A
lot of work just to avoid using someone else's cloud file storage and a
sync client to it. Obviously when using your own file server, that host
must be always up for indeterminate access by any of your local or
remote hosts.

There are solutions that combine server and sync client into one (e.g.,
syncthing.net, www.goodsync.com/file-sync, www.maxsyncup.com,
allwaysync.com). The sync is directly between the endpoint hosts. No
cloud service needed. Haven't used any to know if you still have to
punch holes in the router's firewall via port forwarding to allow
unsolicited inbound connections from remote hosts, and how to handle
dynamically assigned IP addressing on the endpoint hosts.
Tristan Miller
2020-05-22 13:56:14 UTC
Permalink
Greetings.
Post by VanguardLH
Post by Tristan Miller
I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail.
For mail I use IMAP, which has the advantage of storing each message's
status (unread, read, replied, forwarded, etc.) on the server. So no
matter what mail client I use on what machine, I can easily distinguish
new messages from those that I've already read or processed. Does
anyone know how I can achieve something similar with news articles?
Not sure this will work since I haven't tried it. When travelling or on
vacation, I use the remoting trick you mentioned to get to my home PC
(which obviously I had to leave up) to use the NNTP client from there.
However, I was thinking that maybe you could use a cloud sync agent and
service, like OneDrive, Google Drive (now called Backup & Sync), or
Dropbox. Those will sync a local folder to the cloud (your online file
storage). Each host could run the sync client to the same cloud
account. Configure your NNTP client's to store their data in the local
folder that the sync client monitors.
So basically this is the same suggestion that most others in this thread
have been advocating. I guess it's not a bad idea as long as you are
willing to, and remember to, have only one news client running at a
time. Unfortunately, that makes it a bit less convenient than an
IMAP-like solution -- with e-mail, you don't generally need to worry
about multiple concurrent connections, since changes to message states
get read/written to a central location in real-time (or as soon as a
network connection becomes available) rather than only after you quit
the program and manually sync.

For convenience I have usually used integrated e-mail/news readers like
Thunderbird and Kontact, and I like to keep the instances on different
computers running simultaneously. (Partly out of laziness and partly
because some of these instances run message filters on incoming mail.)
So doing a manual sync of news articles would probably require me, for a
start, to change to a different news client. I'm not in principle
opposed to this, but I'll have to consider whether the hassle of
switching is worth the advantage of keeping the article status sync'd.
Post by VanguardLH
That relies on a cloud account for synchonized file storage across each
host running the sync client. If you didn't want to use someone else's
file server, I suppose you could operate your own, like an FTP server,
and use a local client, like FTPzilla or SyncBack Pro/SE, to sync a
local message store to one stored on the server. That means setting up
your own FTP server, operating on a DMZ'ed host, and punching holes in
your router's firewall (whether you use a separate router or the one
inside a cable modem) with port forwarding, and possibly using DDNS to
give the WAN-side of your router or modem a hostname instead of having
to know its current dynamic IP address assigned to it by your ISP. A
lot of work just to avoid using someone else's cloud file storage and a
sync client to it. Obviously when using your own file server, that host
must be always up for indeterminate access by any of your local or
remote hosts.
Yeah, this isn't a problem for me. My machines are already set up with
dynamic DNS and SSH servers; I can easily rsync data between them.
Though I agree this isn't a great solution for a casual and
non-technical user.

Regards,
Tristan
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Tristan Miller
Free Software developer, ferret herder, logologist
https://logological.org/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Mike Yetto
2020-05-22 14:49:41 UTC
Permalink
So it is writ, so mote it be....
Post by Tristan Miller
Greetings.
So basically this is the same suggestion that most others in this thread
have been advocating. I guess it's not a bad idea as long as you are
willing to, and remember to, have only one news client running at a
time. Unfortunately, that makes it a bit less convenient than an
IMAP-like solution -- with e-mail, you don't generally need to worry
about multiple concurrent connections, since changes to message states
get read/written to a central location in real-time (or as soon as a
network connection becomes available) rather than only after you quit
the program and manually sync.
For convenience I have usually used integrated e-mail/news readers like
Thunderbird and Kontact, and I like to keep the instances on different
computers running simultaneously. (Partly out of laziness and partly
because some of these instances run message filters on incoming mail.)
So doing a manual sync of news articles would probably require me, for a
start, to change to a different news client. I'm not in principle
opposed to this, but I'll have to consider whether the hassle of
switching is worth the advantage of keeping the article status sync'd.
Don't get hung-up on trying to get a newsreader to act like an
IMAP mail client. That would require the NNTP server to act like
an IMAP server and keep track of the individual status of each
article in each subscribed newsgroup for each registered user.

That still would not track the status of articles in unsubscribed
groups or in subscribed groups of anonymous users.

This status information benefits only the user, is burdensome in
the extreme for the server, and requires minor effort for the
user. All of this points the responsibility belonging solely to
the user.

Mike "email and NNTP are different, think of them that way" Yetto
--
"The nitrogen in our DNA, the calcium in our teeth, the iron in our
blood, the carbon in our apple pies were made in the interiors of
collapsing stars. We are made of starstuff."
- Carl Sagan
Miquel van Smoorenburg
2020-06-02 09:17:52 UTC
Permalink
Post by Mike Yetto
Don't get hung-up on trying to get a newsreader to act like an
IMAP mail client. That would require the NNTP server to act like
an IMAP server and keep track of the individual status of each
article in each subscribed newsgroup for each registered user.
This status information benefits only the user, is burdensome in
the extreme for the server, and requires minor effort for the
user. All of this points the responsibility belonging solely to
the user.
It would be trivial for a reader server to store a .newsrc file
per user, which gets managed by the nntp client.
Perhaps like

XNEWSRC LIST [newsgroup-pattern]
XNEWSRC UPDATE group list-of-articles
XNEWSRC ADD group
XNEWSRC DELETE group
XNEWSRC SUBSCRIBE group
XNEWSRC UNSUBSCRIBE group

Maybe LIST should return a version number that you have to put
in the UPDATE statement, so that conflicts by concurrent updates
can be resolved.

Something like this should have been added years ago.

Mike.
Mike Yetto
2020-06-02 17:44:15 UTC
Permalink
So it is writ, so mote it be....
Post by Miquel van Smoorenburg
Post by Mike Yetto
This status information benefits only the user, is burdensome in
the extreme for the server, and requires minor effort for the
user. All of this points the responsibility belonging solely to
the user.
It would be trivial for a reader server to store a .newsrc file
per user, which gets managed by the nntp client.
Something like this should have been added years ago.
Many readers already save .newsrc files per server so I will
assume you are advocating NNTP servers should provide this
service to each user. Even ignoring the existence of anonymous /
unregistered users this would be quite a task. But if you think
it is trivial you should add it to the server that you maintain.

Don't forget to allow for retrieving changes to this data from
offline readers.

Mike "thanking you in advance" Yetto
--
"If the world is something you accept rather than interpret, then you're
susceptible to the influence of charismatic idiots."
- Neil deGrasse Tyson
Eli the Bearded
2020-06-02 19:44:10 UTC
Permalink
Post by Mike Yetto
Post by Miquel van Smoorenburg
It would be trivial for a reader server to store a .newsrc file
per user, which gets managed by the nntp client.
Something like this should have been added years ago.
Many readers already save .newsrc files per server so I will
assume you are advocating NNTP servers should provide this
service to each user.
That's my read.
Post by Mike Yetto
Even ignoring the existence of anonymous /
unregistered users this would be quite a task.
I think we can safely say anonymous / unregistered should not have
access to this sort of functionality. Too easy for griefers to modify
someone eles's newsrc.
Post by Mike Yetto
But if you think
it is trivial you should add it to the server that you maintain.
Don't forget to allow for retrieving changes to this data from
offline readers.
As long as someone else is coding it, I'll put my vote down for trivial.
Newsservers already take and receive text files from clients regularly.
This is just one more text file, albeit user-specific.

To be sure, there are some non-trivial edge cases like newsreaders
storing non-standard stuff in a newsrc, or what to do about line
lengths in excess of NNTP limits, but fetching a user-specific text
file at the start of reading, accepting posted updates to that file
periodically and saving them, then making the updated file available
next time the user asks, not so complex.

Adding in any sort of smarts about merging results from different
clients, that's less trivial, but probably still doable. Online or
offline clients would need changes to be able to make use of this, and
some each individually would not be a large burden, there's enough out
there coded in enough ways that it would add up to be a complex issue.

Elijah
------
might be easier to store newsrc in git and use shell wrappers to update
Frank Slootweg
2020-06-03 15:11:29 UTC
Permalink
Post by Eli the Bearded
Post by Mike Yetto
Post by Miquel van Smoorenburg
It would be trivial for a reader server to store a .newsrc file
per user, which gets managed by the nntp client.
Something like this should have been added years ago.
Many readers already save .newsrc files per server so I will
assume you are advocating NNTP servers should provide this
service to each user.
[...]
Post by Eli the Bearded
Post by Mike Yetto
But if you think
it is trivial you should add it to the server that you maintain.
Don't forget to allow for retrieving changes to this data from
offline readers.
As long as someone else is coding it, I'll put my vote down for trivial.
Newsservers already take and receive text files from clients regularly.
This is just one more text file, albeit user-specific.
To be sure, there are some non-trivial edge cases like newsreaders
storing non-standard stuff in a newsrc, or what to do about line
lengths in excess of NNTP limits, but fetching a user-specific text
file at the start of reading, accepting posted updates to that file
periodically and saving them, then making the updated file available
next time the user asks, not so complex.
Adding in any sort of smarts about merging results from different
clients, that's less trivial, but probably still doable. Online or
offline clients would need changes to be able to make use of this, and
some each individually would not be a large burden, there's enough out
there coded in enough ways that it would add up to be a complex issue.
Elijah
------
might be easier to store newsrc in git and use shell wrappers to update
Exactly! Especially considering that RFA (Remote File Access) and RFC
(Remote File Copy) solutions exist since some four decades.

To me, this is a solution in search of a problem.
Mike Yetto
2020-06-03 17:44:38 UTC
Permalink
So it is writ, so mote it be....
Post by Eli the Bearded
Post by Mike Yetto
But if you think
it is trivial you should add it to the server that you maintain.
Don't forget to allow for retrieving changes to this data from
offline readers.
As long as someone else is coding it, I'll put my vote down for trivial.
Newsservers already take and receive text files from clients regularly.
This is just one more text file, albeit user-specific.
This might turnout to be several thousand more text files that
are of little use if not updated with each visit the user(s)
make. I suppose converting/updating each of these text files
after a group is renumbered or purged of old articles should also
be considered trivial.

Mike "it certainly wouldn't be a burden with a free service" Yetto
--
"Twinkle twinkle, Little Star,
You must be a small Pulsar.
Out away from Earth you drift,
This is known from your Red Shift.
Twinkle twinkle, Little Star,
Degen'rate matter's what you are."
- Saturday Morning Breakfast Cereal
n***@zzo38computer.org.invalid
2020-06-03 18:19:20 UTC
Permalink
Post by Mike Yetto
This might turnout to be several thousand more text files that
are of little use if not updated with each visit the user(s)
make. I suppose converting/updating each of these text files
after a group is renumbered or purged of old articles should also
be considered trivial.
As far as I know, the specification of NNTP says that articles should
never be renumbered. (If you really have a lot of articles, then
hopefully using 63-bit article numbers would be helpful.)

However, the stuff mentioned in this thread seems to be something that
would be beyond the scope of NNTP, anyways. Also, different client
software may use different files. If you are using one client though and
want everything same on each computer, then I suppose that you could use
SSH to connect to a remote computer with the .newsrc and the client and
other stuff on it, I suppose; or else to mount it as a file system to use.
I don't know much about how other clients store the data, but at least
with my own "bystand" software, everything dealing with it (including
configuration, etc) is in one directory (there is a SQLite database which
contains most things, including the article itself and all configuration,
as well as two more files for template and for scoring definitions), so
you could mount that directory on a remote file system and it should work
(although you should not try to access it from multiple computers at once,
unless you can correctly deal with file locking; define a custom VFS for
use with SQLite if necessary, although the VFS to use must be given in an
environment variable, in this case). Another alternative might be for a
NNTP server that supports user accounts to possibly also include a IMAP
server, and to allow the state to be saved in that way. (If your service
has a web interface, then the state can be the same for the web interface
and the IMAP service, I suppose. But, I think most NNTP client software
cannot use NNTP together with IMAP, anyways.)
--
This signature intentionally left blank.
(But if it has these words, then actually it isn't blank, isn't it?)
Eli the Bearded
2020-06-03 18:58:56 UTC
Permalink
Post by n***@zzo38computer.org.invalid
As far as I know, the specification of NNTP says that articles should
never be renumbered. (If you really have a lot of articles, then
hopefully using 63-bit article numbers would be helpful.)
It doesn't matter how many articles you currently have on the server, it
matters how many articles you have ever seen. For news servers that have
been continually incrementing article numbers since the early 1990s
(because that's how long the company has been in busiess, eg panix.com),
you can expect that there have been a lot of articles that hve streamed
through over the years.

$ nntplist -x \* |grep ' 00[^0]'
alt.binaries.misc 0030077594 0030077595 y
alt.binaries.multimedia 0045432140 0045432141 y
alt.binaries.pictures.erotica 0026822692 0026822693 y
alt.binaries.sounds.mp3 0012658518 0012658519 y
control 0011843295 0011843261 y
$ nntplist -x \* |grep ' 0[^0]'
control.cancel 0103029290 0103027260 n
$ nntplist -x \* |grep ' [^0][0-9]'
junk 2147483647 2147483648 y

Still (mostly) fitting in 31 bits here. Can't tell if junk would fit in 32.

Elijah
------
remembers once being subscribed to control.cancel

Eli the Bearded
2020-06-03 18:42:49 UTC
Permalink
Post by Mike Yetto
This might turnout to be several thousand more text files that
are of little use if not updated with each visit the user(s)
make. I suppose converting/updating each of these text files
after a group is renumbered or purged of old articles should also
be considered trivial.
If your newsserver renumbers articles, your newsrc clients are fucked.
Game over, man. Game over.

If your group expires articles, your newsrc clients know how to deal
with that already (unless they are buggy as shit, which I wouldn't
even consider except that I know people have started to write new
newsreaders in this day and age).

Let's work through an example.

$ grep news.software.readers ~/.newsrc
news.software.readers: 1-311142
$

That's all that I've "read" in news.software.readers.

:r! nntplist -x news.software.readers
news.software.readers 0000311143 0000310958 y

That's all that exists in news.software.readers on my NNTP server. Or
to be more precise, those 185 article numbers are the only ones I
can *possibly* get from the NNTP server. There may be holes in there
from cancels or supersedes.

If I subscribed to news.software.readers today, but didn't read
anything, I'd see

news.software.readers: 1-310957

in my newsrc afterwards, even though I had never "read" them. If I
went away for a year, and came back, my local NNTP server would have
expired everything currently in news.software.readers. It's not a
fixed time retention, it's space based, but it works out to about two
months (310958 is from 4 April 2020). So after twelve months I could
expect the "low water" mark in news.software.readers to be about
(6x185=1110) higher, 312068, and the "high water" mark to now be about
312253:

news.software.readers 0000312253 0000312068 y

My newsreader, and every newsreader installed on this shared system,
would know the proper thing to do upon entering a group with this newsrc
line:
news.software.readers: 1-310957
and this active file line:
news.software.readers 0000312253 0000312068 y

and that proper thing is to mark 310958 to 312067 as read:

news.software.readers: 1-312067

and then show me the headers from articles 312068 to 312253.

There is no need for a newsrc hosting service to ever need to update
a hosted newsrc due to expired posts. And guess what, it even works for
newsgroups that have been removed! There's no need for the hosting
server to ever need to update a hosted newsrc due to deleted groups.
There's no need for the hosting server to ever edit a newsrc on it's
own. That's for the client to do when the client next enters the group.
Post by Mike Yetto
Mike "it certainly wouldn't be a burden with a free service" Yetto
That's not a technical problem. That's a business problem. I don't know
the sizes of the customer bases of free usenet services. I don't know
about the sizes of customer newsrc files. My own newsrc is about 9k,
about twice as large as this post. If customers have newsrcs about the
same size, and customers exceed a small percentage of average daily
new posts, then, yes, we can expect there to be a business impact from
this extra storage required. You are more than welcome to provide more
specific numbers if you like, but I still contend: the hard part is
updating clients, not the server.

Elijah
------
does not use a free service for Usenet
VanguardLH
2020-06-02 22:47:17 UTC
Permalink
Post by Mike Yetto
Post by Miquel van Smoorenburg
It would be trivial for a reader server to store a .newsrc file
per user, which gets managed by the nntp client.
Something like this should have been added years ago.
Many readers already save .newsrc files per server so I will
assume you are advocating NNTP servers should provide this
service to each user. Even ignoring the existence of anonymous /
unregistered users this would be quite a task. But if you think
it is trivial you should add it to the server that you maintain.
Don't forget to allow for retrieving changes to this data from
offline readers.
Besides, not all NNTP clients use a .newsrc file. I don't remember any
NNTP client that I've used needed a .newsrc file, but then I don't do
Usenet porn, so I don't need to track multipart posts for binary
reconstitution. Seems .newsrc is really a Linux thing dating back to
maintaining a "database" in a text file instead of moving to SQLite,
mySQL, or other more robust and speedier database programs with data
integrity.
VanguardLH
2020-05-22 17:02:54 UTC
Permalink
Post by Tristan Miller
So basically this is the same suggestion that most others in this
thread have been advocating. I guess it's not a bad idea as long as
you are willing to, and remember to, have only one news client
running at a time. Unfortunately, that makes it a bit less
convenient than an IMAP-like solution -- with e-mail, you don't
generally need to worry about multiple concurrent connections, since
changes to message states get read/written to a central location in
real-time (or as soon as a network connection becomes available)
rather than only after you quit the program and manually sync.
"I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail."

Why would there be "multiple concurrent connections" via NNTP? You will
be *using* all of those computers at the same time? Why leave an NNTP
client running on a computer when you're aren't there? Exit the NNTP
client when you're done using it. Then that client won't be trying to
modify its database or message store at the same time as another client
is accessing the cloud-sync'ed copy.

Even though the cloud-sync or FTP solutions sounds doable, clients that
are not programmed to dynamically update its message store during use
from other sources than that client can result in corrupted databases.
That is, every sync will take time and occur at intervals during which
the database is changing for the client that read it when the client
loaded the database. Sliding data can screw up clients not coded for
that behavior. NNTP wasn't designed for concurrent use by multiple
clients, and anything you try to emulate that feature could result in
nasty side effects.

I can't remember the program, but this situation came up with some
program where users wanted to store its data on a networked host. That
is, the data is elsewhere than the host where the program runs. Might
been MS Outlook with its PST message store. That database could get
corrupted, especially since the program wasn't coded to remote data
access. With a disconnect not initiated by the program, like a network
outage or a suddenly unresponsive host in the route between endpoints,
like over the Internet, the data host loses the program on another host,
and the connection times out resulting in a slam on the data files (they
are not gracefully closed). The data can get corrupted if the
server-side host isn't designed for transaction processing.

So, even if you ensure only one NNTP client is accessing the networked
or synchronized message store at a time, the data could get corrupted
with an unexpected disconnect. Doesn't matter it was an NNTP client,
e-mail client (e.g., MS Outlook), or whatever program, if there isn't
data integrity protection on the other end of the network connection
then corruption can result.
Sqwertz
2020-05-22 17:37:23 UTC
Permalink
Post by VanguardLH
Post by Tristan Miller
So basically this is the same suggestion that most others in this
thread have been advocating. I guess it's not a bad idea as long as
you are willing to, and remember to, have only one news client
running at a time. Unfortunately, that makes it a bit less
convenient than an IMAP-like solution -- with e-mail, you don't
generally need to worry about multiple concurrent connections, since
changes to message states get read/written to a central location in
real-time (or as soon as a network connection becomes available)
rather than only after you quit the program and manually sync.
"I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail."
Why would there be "multiple concurrent connections" via NNTP? You will
be *using* all of those computers at the same time? Why leave an NNTP
client running on a computer when you're aren't there? Exit the NNTP
client when you're done using it. Then that client won't be trying to
modify its database or message store at the same time as another client
is accessing the cloud-sync'ed copy.
Even though the cloud-sync or FTP solutions sounds doable, clients that
are not programmed to dynamically update its message store during use
from other sources than that client can result in corrupted databases.
That is, every sync will take time and occur at intervals during which
the database is changing for the client that read it when the client
loaded the database. Sliding data can screw up clients not coded for
that behavior. NNTP wasn't designed for concurrent use by multiple
clients, and anything you try to emulate that feature could result in
nasty side effects.
I can't remember the program, but this situation came up with some
program where users wanted to store its data on a networked host. That
is, the data is elsewhere than the host where the program runs. Might
been MS Outlook with its PST message store. That database could get
corrupted, especially since the program wasn't coded to remote data
access. With a disconnect not initiated by the program, like a network
outage or a suddenly unresponsive host in the route between endpoints,
like over the Internet, the data host loses the program on another host,
and the connection times out resulting in a slam on the data files (they
are not gracefully closed). The data can get corrupted if the
server-side host isn't designed for transaction processing.
So, even if you ensure only one NNTP client is accessing the networked
or synchronized message store at a time, the data could get corrupted
with an unexpected disconnect. Doesn't matter it was an NNTP client,
e-mail client (e.g., MS Outlook), or whatever program, if there isn't
data integrity protection on the other end of the network connection
then corruption can result.
Most major clients don't update ant databases/.news-rc except in
response to user interaction. Does any major client "get new
headers" on regular intervals without some major fudging?

-sw
Rob
2020-05-22 21:02:55 UTC
Permalink
Post by VanguardLH
Post by Tristan Miller
So basically this is the same suggestion that most others in this
thread have been advocating. I guess it's not a bad idea as long as
you are willing to, and remember to, have only one news client
running at a time. Unfortunately, that makes it a bit less
convenient than an IMAP-like solution -- with e-mail, you don't
generally need to worry about multiple concurrent connections, since
changes to message states get read/written to a central location in
real-time (or as soon as a network connection becomes available)
rather than only after you quit the program and manually sync.
"I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail."
Why would there be "multiple concurrent connections" via NNTP? You will
be *using* all of those computers at the same time? Why leave an NNTP
client running on a computer when you're aren't there? Exit the NNTP
client when you're done using it. Then that client won't be trying to
modify its database or message store at the same time as another client
is accessing the cloud-sync'ed copy.
Well, I recognize that wish. I have an SSH session from two different
computers to the same server where I run slrn, and it quite frequently
happens that I want to start slrn in one of the session and find it is
still running in the other (which is some distance away).

So frequently in fact that I wrote a simple script that first checks
if slrn is already running for me, if so it kills it, and then starts
slrn. This way, I can just leave it running (it is in a window in one
of the many virtual desktops) and not have to remember to quit slrn
every time I leave the computer not knowing to which of the two I
might come back first.
Eli the Bearded
2020-05-22 22:56:28 UTC
Permalink
Post by Rob
Well, I recognize that wish. I have an SSH session from two different
computers to the same server where I run slrn, and it quite frequently
happens that I want to start slrn in one of the session and find it is
still running in the other (which is some distance away).
Run your newsreader inside a terminal multiplexer. The two common ones
are screen and tmux. There are others, as well. tmux is marginally
superior to screen as a terminal multiplexer, the code is more modern,
and the interface is cleaner. screen can do things tmux can't, but
those are things most people don't do anyway: namely attach to a serial
device at a particular baud rate: "screen /dev/ttyF00 9600"

Elijah
------
switched to tmux about six years ago
Rob
2020-05-23 08:30:30 UTC
Permalink
Post by Eli the Bearded
Post by Rob
Well, I recognize that wish. I have an SSH session from two different
computers to the same server where I run slrn, and it quite frequently
happens that I want to start slrn in one of the session and find it is
still running in the other (which is some distance away).
Run your newsreader inside a terminal multiplexer. The two common ones
are screen and tmux. There are others, as well. tmux is marginally
superior to screen as a terminal multiplexer, the code is more modern,
and the interface is cleaner. screen can do things tmux can't, but
those are things most people don't do anyway: namely attach to a serial
device at a particular baud rate: "screen /dev/ttyF00 9600"
I know screen and I use it for other purposes, but in this case it
is not convenient because the window sizes on the different systems
are not the same (due to having different display resolution).
Eli the Bearded
2020-05-23 19:02:54 UTC
Permalink
Post by Rob
I know screen and I use it for other purposes, but in this case it
is not convenient because the window sizes on the different systems
are not the same (due to having different display resolution).
That's true for me too. I use the "detach other" option and then it
is treated like a window size change (as if I had reshaped my xterm[*]).

In my ksh .profile:

if whence screen >/dev/null; then
printf "screen: "
screen -ls
alias SRD="screen -R -D"
fi
if whence tmux >/dev/null; then
printf "tmux: "
tmux list-sessions
alias TRD="tmux attach -d || tmux new-session "
fi

In ksh, "whence" is a built-in that acts like "which" but understands
aliases and shell functions. Use "which" in bash instead.

Elijah
------
[*] I usually uses xterms, but on the phone it is termux
Sqwertz
2020-05-21 17:49:02 UTC
Permalink
Post by Tristan Miller
Dear all,
I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail.
For mail I use IMAP, which has the advantage of storing each message's
status (unread, read, replied, forwarded, etc.) on the server. So no
matter what mail client I use on what machine, I can easily distinguish
new messages from those that I've already read or processed. Does
anyone know how I can achieve something similar with news articles?
That is, when I mark an article as being read using a news client on one
machine, I'd like it to automatically appear as being read when I view
the newsgroup using a news client on some other machine.
I know that one way I could do this is to use only a single news client
on one of my machines, and use the other two machines to connect to it
remotely. However, this method has the disadvantage of requiring me to
be always online to read news. That is, I can't download all the
articles from a group in bulk and then read them offline.
Are there any other options here? For example, are there any news
client/caching news server combinations that use NNTP, or some extension
thereof, to mark articles as "read" on the server? (Obviously I'd need
to run such a server on one of my own machines, but I'd be fine with
that.) Or alternatively, are there any news clients that support
syncing of article/thread metadata across installations? Or even more
alternatively (and kludgily), are there any news-to-mail gateways I can
install locally that will keep news articles in folders that I can
access via IMAP instead of NNTP?
Regards,
Tristan
You could use 40tude Dialog off of a thumb drive.

-sw
Frank Slootweg
2020-05-22 17:54:38 UTC
Permalink
Post by Tristan Miller
Dear all,
I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail.
For mail I use IMAP, which has the advantage of storing each message's
status (unread, read, replied, forwarded, etc.) on the server. So no
matter what mail client I use on what machine, I can easily distinguish
new messages from those that I've already read or processed.
Maybe in (your) practice, you can distinguish that, but since you say
that you want to be able to read news offline, if you do the same for
mail, you cannot always tell if you've read/processed something, until
you sync, i.e. go back online. If you switch computers without first
going back online on the last-used computer, the IMAP server doesn't
know whether or not you read a message. IOW, IMAP and offline reading
are not a perfect match.
Post by Tristan Miller
Does
anyone know how I can achieve something similar with news articles?
That is, when I mark an article as being read using a news client on one
machine, I'd like it to automatically appear as being read when I view
the newsgroup using a news client on some other machine.
As others have mentioned, you can try to do that by keeping your
newsrc files is sync, but even that is tricky, because a file with a
newer timestamp doesn't neccessarily have the full up-to-date *content*.
Better is to use one and the same file, i.e. remote file *access*,
instead of remote file *copy*. But of course for RFA you need to be
online at least at the start and end of a newsreading 'session'.

Anyway, given that you use Thunderbird, both sync and RFA be a big
(t)ask, because Thunderbird uses its own mechanism for keeping article
status and updating its newsrc file is not one of its strong points, if
it works at all.
Post by Tristan Miller
I know that one way I could do this is to use only a single news client
on one of my machines, and use the other two machines to connect to it
remotely. However, this method has the disadvantage of requiring me to
be always online to read news. That is, I can't download all the
articles from a group in bulk and then read them offline.
Are there any other options here? For example, are there any news
client/caching news server combinations that use NNTP, or some extension
thereof, to mark articles as "read" on the server? (Obviously I'd need
to run such a server on one of my own machines, but I'd be fine with
that.) Or alternatively, are there any news clients that support
syncing of article/thread metadata across installations? Or even more
alternatively (and kludgily), are there any news-to-mail gateways I can
install locally that will keep news articles in folders that I can
access via IMAP instead of NNTP?
As Urs explained, the latter is possible (Guess which newsreader I'm
using!? :-)), but how are you going to post/respond_to articles? If
that's also via a mail-to-news gateway, you'll probably end up in a lot
of killfiles.
Bud Frede
2020-05-23 11:06:56 UTC
Permalink
Post by Tristan Miller
Dear all,
I use three different computers (a desktop machine at work, a desktop
machine at home, and a laptop when I'm travelling) for news and mail.
That is, when I mark an article as being read using a news client on one
machine, I'd like it to automatically appear as being read when I view
the newsgroup using a news client on some other machine.
I do this with gnus and Dropbox. The various files that gnus creates and
uses live in my Dropbox folder and are thus synced and available on each
computer.

I suspect I'll need to switch to a different service at some point since
Dropbox is getting crappier and crappier, but for the time being it
works.

You could also do much the same thing with slrn, tin, or any other
newsreader that uses a .newsrc file.
Loading...