newsrc

    A .newsrc file in Usenet was a local configuration file used by newsreader programs to keep track of a user’s subscriptions and reading progress. It listed all the newsgroups a user followed and recorded which article numbers had been read or remained unread. This allowed users to continue browsing discussions seamlessly across sessions without rereading old posts. Essentially, it was an early, decentralized way to manage read/unread state and subscriptions on distributed discussion networks.

    The .newsrc file worked as a simple, text-based database managed by the user’s newsreader (like nn, trn, or tin).

    Here’s how it functioned step by step:

      Creation and Structure: When a user first connected to a Usenet server, the newsreader downloaded the list of available newsgroups and created a .newsrc file in the user’s home directory.

        Each line represented one newsgroup.

        The format looked like:

          comp.lang.python: 1-245,248-300
          rec.arts.movies.noir! 1-1000
          

          A colon (:) after the group name meant “subscribed,” while an exclamation mark (!) meant “not subscribed.” The numbers indicated which articles had been read; all others were considered unread.

      Reading Articles: When the user opened a group, the newsreader compared the .newsrc list with the article numbers on the server. It displayed only unread articles.

      Updating State: As the user read new articles, the newsreader updated the numeric ranges in .newsrc — effectively marking them as read.

      Sync and Persistence: The file lived locally, so each user had their own independent record of what they had seen. When they reconnected, the newsreader used this record to continue where they left off.

      Decentralized Behavior: There was no central tracking or shared database — each user’s .newsrc was their personal reading history, enabling offline and privacy-respecting state management.

    In short: .newsrc was a lightweight, decentralized way to sync read/unread state, subscriptions, and reading history across sessions in the early, federated Usenet ecosystem.