Freshnews -- The Technology Preview

A Wrapper for Leafnode's Fetchnews

Visit the download page for freshnews
Go elsewhere to find out about leafnode

All You Need To Know

The freshnews Technology Preview is a program that will manage the news connection on a permanently-connected RedHat   Linux system that is running a default installation of leafnode. Freshnews will give you the fastest possible posting of articles, make new articles available to you quickly and reduce the bandwidth used by fetchnews when you are not reading news.

You don't need to know more. Click over to the download page. Get the source code. Compile it. Edit your inittab. Be happy.

If you're the more curious type, read on!

What Is Freshnews?

Freshnews is a program that runs fetchnews for you. If you run leafnode, and have a permanent or autodial connection to your upstream server, then you probably have a line in a cron table that runs fetchnews. I've written freshnews to replace that line. Pretty simple, huh? But wait, there's more.

Running fetchnews from cron is ok, but it does not provide the best performance for your local news server. Using cron, you must choose either a very fast cycle to get a good quality feed or a very slow cycle to reduce the bandwidth you use. Most likely you have chosen something in between and do a refresh every hour. For most people, that will be an excellent solution. But maybe you're a news addict? Maybe your upstream supplier is unreliable? Maybe you participate in high-speed discussions that can turn around in an hour or two? If any of those problems irk you, then freshnews may be just what you need.

What's a "Technology Preview"?

I was rather impressed with Opera's idea of showing their code before it's time. They explained at www.opera.com that their code was not ready to release, not ready for beta, not even ready for alpha testing. But they wanted people to see the product anyway. That document may be gone now, but you can look around their site. As of this writing, I'm anxious to see the rumered TP-3 release of their Linux browser, any day now.

I've worked out most of the technical details of how freshnews should run. The code works for me, but needs a little fine tuning still. Before I fine tune it, I need to know if I'm doing this just for me or if other people are interested. Depending on the amount of interest in this Technology Preview, I will either hard-code my own setup into the code and remove this web page, or I will make an alpha version that includes one or more methods of customizing without recompiling.

What problems does freshnews solve?

When I started running leafnode, I quickly ran into a number of problems. Some of these were related to my need (professionally) for a good news feed, others were the usual problems everyone encounters before and during an upgrade of their upstream supplier's news server. I expect to run into these problems again, and I expect it will happen at the worst possible time. This program is partly my attempt to be pro-active and kill the monsters before they rise again. It's partly so I won't be tempted to open another window on my desktop so I can force fetchnews to run when I want news posted or a fresh set of headers to pick from.

  1. Your upstream server doesn't accept a posting. Freshnews Makes repeated attempts to post the article. Each failed attempt is made after a longer delay than the previous attempt, until eventually no further attempt is made to post the article.
  2. Your upstream server fails to accept the connection. Oops. Currently freshnews doesn't detect this. I'll add it to a future version. There are a couple of simple things I can do to detect this, but first I need to know how leafnode behaves in certain legitimate situations.
  3. You have posted a message and are expecting a fast answer. Freshnews got your posting out fast. While you are reading news, it will poll your upstream supplier every 10 minutes, but just remember that you are at the mercy of your upstream supplier, your coorespondents supplier, and your coorespondents newsreading/posting habits. I've done what I can to speed things up at your (my) end, beyond that, usenet rules apply.
  4. You've been away from the internet for days and are anxious to get a news fix. I've let your news queue get stale while you were away. Within a minute of you logging in, perhaps even before you start your newsreader, freshnews will start fetchnews running to get the latest posts into the queue. If you read news through a net connection, you will want to refresh your header list about two minutes after starting your newsreader.

What kind of fetch schedule does freshnews provide?

I've always thought that a picture is worth a thousand words. Maybe that's why I type so much, I'm trying to paint pictures. Here's a picture from my freshnews log file that shows the schedule since my last compile:


 91 since last, login time.   Sun Mar 26 00:28:18 2000
 12 since last,  read time.   Sun Mar 26 00:40:57 2000
 10 since last,  read time.   Sun Mar 26 00:51:23 2000
 10 since last,  read time.   Sun Mar 26 01:01:57 2000
 51 since last,  idle time.   Sun Mar 26 01:53:00 2000
 81 since last,  idle time.   Sun Mar 26 03:14:35 2000
162 since last,  idle time.   Sun Mar 26 05:57:01 2000
326 since last,  idle time.   Sun Mar 26 11:22:53 2000
 15 since last,   net time.   Sun Mar 26 11:38:39 2000
 15 since last,   net time.   Sun Mar 26 11:54:14 2000
 16 since last,   net time.   Sun Mar 26 12:09:57 2000
 40 since last, login time.   Sun Mar 26 12:50:38 2000
Here's a real picture of the intervals:

These lines are printed for debugging purposes each time freshnews decides to run fetchnews. Let's have a look at what this means:

 

Problems?

Since I'm just putting this page up, there are no known user problems!

If you have a problem, do not contact me until you have (a) tried hard to fix it yourself and (b) prepared a clear, concise description of the problem. DO NOT SEND SPAM OR UNSOLICITED COMMERCIAL EMAIL TO THIS ADDRESS. I can be contacted at ocurtin@usa.net.

Bugs

Bugs? In my code? You must be kidding.

Ok, seriously...
#DescriptionStatus
1 There is no mechanism for skipping idle and going directly to max cycle This would only be usefull for people with expensive diallup. Easy to add, but useless to me.
2Nothing shows up in the log! Yeah. I send it under the "news" banner, apparently this is dissabled by default. I'm looking into it and will post instructions if there is an upgrade to the program.
Workaround: Redirect the output to a logfile as shown on the downloads page. A similar message is sent to stdout whenever the log message would appear.

 

Valid HTML 4.0! Created with gvim Since Mar 26 2000