Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Immediate Detection of Character Input

3 views
Skip to first unread message

Alex Sramek

unread,
Apr 24, 2002, 4:32:58 PM4/24/02
to
I'm writing a game in C, on a linux box (working on recent RedHat and
Mandrake systems).

I want to get input from the keyboard immediately into the program,
without having to wait for an end of line to empty the buffer. Just
whenever a key is pressed, I'd like to hear about it and be able to tell
what key(s) was (were) pressed, preferably in a non-blocking manner (the
code can go on if nothing is received).

I would prefer not to use curses.h if possible, but if I must, I must.

I think ioctl might be able to do it, but I'm unfamiliar with the
syntax, and the manpage for it isn't at all helpful.

Any suggestions/comments are appreciated.

Thanks!

-Alex

Malte Starostik

unread,
Apr 24, 2002, 4:50:20 PM4/24/02
to

See the "Newbie needs help!!!" thread recently started by "Matt" on
comp.unix.programmer.

And please don't crosspost to linux. and comp. many servers that have comp.
don't have linux. (apart from the usual arguments against crossposting)

-Malte

Floyd Davidson

unread,
Apr 24, 2002, 6:15:56 PM4/24/02
to
Malte Starostik <malte.s...@t-online.de> wrote:
>On Wednesday 24 April 2002 22:32, Alex Sramek wrote:
>
>> I'm writing a game in C, on a linux box (working on recent RedHat and
>> Mandrake systems).
...

>> Any suggestions/comments are appreciated.
>See the "Newbie needs help!!!" thread recently started by "Matt" on
>comp.unix.programmer.
>
>And please don't crosspost to linux. and comp. many servers that have comp.
>don't have linux. (apart from the usual arguments against crossposting)

Huh?

This is *exactly* the type of article which should be crossposted. It
fits in more than one group, and more than one group might provide a
better discussion and more diverse and accurate answers.

Servers that have or don't have one of the groups is just another
reason why it *should* be crossposted.

--
Floyd L. Davidson <http://www.ptialaska.net/~floyd>
Ukpeagvik (Barrow, Alaska) fl...@barrow.com

Floyd Davidson

unread,
Apr 24, 2002, 6:12:51 PM4/24/02
to

Here is a program that demonstrates the functionality you seek.

/*
* kbhit(), a keyboard lookahead monitor
* getch(), a blocking single character input from stdin
*
* Plus a demo main() to illustrate usage.
*/

#include <stdio.h>
#include <unistd.h>
#include <termios.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <sys/types.h>

int getch(void);
int kbhit(void);

#define CMIN 1

#ifdef CTIME
#undef CTIME
#endif

#define CTIME 1

/*
* kbhit() -- a keyboard lookahead monitor
*
* returns the number of characters available to read.
*/
int
kbhit(void)
{
int cnt = 0;
int error;
static struct termios Otty, Ntty;

tcgetattr(0, &Otty);
Ntty = Otty;

Ntty.c_iflag = 0; /* input mode */
Ntty.c_oflag = 0; /* output mode */
Ntty.c_lflag &= ~ICANON; /* raw mode */
Ntty.c_cc[VMIN] = CMIN; /* minimum chars to wait for */
Ntty.c_cc[VTIME] = CTIME; /* minimum wait time */

if (0 == (error = tcsetattr(0, TCSANOW, &Ntty))) {
struct timeval tv;
error += ioctl(0, FIONREAD, &cnt);
error += tcsetattr(0, TCSANOW, &Otty);
tv.tv_sec = 0;
tv.tv_usec = 100; /* insert a minimal delay */
select(1, NULL, NULL, NULL, &tv);
}

return (error == 0 ? cnt : -1 );
}

/*
* getch() -- a blocking single character input from stdin
*
* Returns a character, or -1 if an input error occurs.
*
* Conditionals allow compiling with or without echoing of
* the input characters, and with or without flushing pre-existing
* existing buffered input before blocking.
*
*/
int
getch(void)
{
char ch;
int error;
static struct termios Otty, Ntty;

fflush(stdout);
tcgetattr(0, &Otty);
Ntty = Otty;

Ntty.c_iflag = 0; /* input mode */
Ntty.c_oflag = 0; /* output mode */
Ntty.c_lflag &= ~ICANON; /* line settings */

#if 1
/* disable echoing the char as it is typed */
Ntty.c_lflag &= ~ECHO; /* disable echo */
#else
/* enable echoing the char as it is typed */
Ntty.c_lflag |= ECHO; /* enable echo */
#endif

Ntty.c_cc[VMIN] = CMIN; /* minimum chars to wait for */
Ntty.c_cc[VTIME] = CTIME; /* minimum wait time */

#if 1
/*
* use this to flush the input buffer before blocking for new input
*/
#define FLAG TCSAFLUSH
#else
/*
* use this to return a char from the current input buffer, or block if
* no input is waiting.
*/
#define FLAG TCSANOW

#endif

if (0 == (error = tcsetattr(0, FLAG, &Ntty))) {
error = read(0, &ch, 1 ); /* get char from stdin */
error += tcsetattr(0, FLAG, &Otty); /* restore old settings */
}

return (error == 1 ? (int) ch : -1 );
}


/*
* a cutsie main() to demo how getch() and kbhit() work.
*/

#include <ctype.h>

int
main(void)
{
int ch, cnt;
static struct termios Otty, Ntty;

tcgetattr(0, &Otty);
Ntty = Otty;
Ntty.c_lflag &= ~ECHO;

printf("You must enter 10 characters to get\nthis program to continue: ");
fflush(stdout);
/* collect 10 characters */
while (1) {
if (10 <= (cnt = kbhit())) {
break;
}
}

tcsetattr(0, TCSANOW, &Ntty); /* disable echoing of further input */
printf("\nSTOP!");
fflush(stdout);
printf("\nNow type <Enter> to continue!");
fflush(stdout);
ch = getchar();
tcsetattr(0, TCSANOW, &Otty); /* enable echoing of further input */
printf("\n\nThe first five characters are: \"");
/*
* print a few chars, note that calling getch() will flush
* remaining buffered input.
*/
cnt = 4;
do {
printf("%c", ch);
ch = getchar();
} while (--cnt);
printf("%c\"\n\n", ch);

printf("\n\n *** Demo Menu ***\n\n");
printf(" Option Action\n");
printf(" A Exit and print an A word\n");
printf(" B Exit and print a B word\n");
printf(" C Exit and print a C word\n");
printf("\n Enter your choice: ?\b");
fflush(stdout);

while(1) {
switch (ch = getch()) {
case 'a': case 'A':
printf("%c\n\nThat is an *awesome* function!\n", toupper(ch));
break;
case 'b': case 'B':
printf("%c\n\nThat is a *beneficial* function!\n", toupper(ch));
break;
case 'c': case 'C':
printf("%c\n\nThat is a *critical* function!\n", toupper(ch));
break;
default:
continue;
}
break;
}
return 0;

Malte Starostik

unread,
Apr 24, 2002, 6:43:51 PM4/24/02
to
On Thursday 25 April 2002 00:15, Floyd Davidson wrote:

> Malte Starostik <malte.s...@t-online.de> wrote:
>>On Wednesday 24 April 2002 22:32, Alex Sramek wrote:
>>
>>> I'm writing a game in C, on a linux box (working on recent RedHat and
>>> Mandrake systems).
> ...
>>> Any suggestions/comments are appreciated.
>>See the "Newbie needs help!!!" thread recently started by "Matt" on
>>comp.unix.programmer.
>>
>>And please don't crosspost to linux. and comp. many servers that have
>>comp. don't have linux. (apart from the usual arguments against
>>crossposting)
>
> Huh?
>
> This is *exactly* the type of article which should be crossposted. It
> fits in more than one group, and more than one group might provide a
> better discussion and more diverse and accurate answers.

Agreed.

> Servers that have or don't have one of the groups is just another
> reason why it *should* be crossposted.

Well, I got an error message when trying to reply since I can't post to
linux.* as that hierarchy is not available on my ISP's server. Maybe my
reaction was wrong then, I apologize.

-Malte

Eric P. McCoy

unread,
Apr 24, 2002, 6:50:15 PM4/24/02
to
Floyd Davidson <fl...@ptialaska.net> writes:

> Huh?
> This is *exactly* the type of article which should be crossposted. It
> fits in more than one group, and more than one group might provide a
> better discussion and more diverse and accurate answers.

Crossposting is often acceptable _at first_. But I believe it's
seldom appropriate to continue crossposting to a lot of groups, except
under rare circumstances. Typically, one would crosspost to several
groups and then direct followups to just one.

There is an unwritten rule on USENET that, all other things being
equal, Big Eight groups are preferred. There are a lot of reasons for
that judgment call, most of them apparent.

> Servers that have or don't have one of the groups is just another
> reason why it *should* be crossposted.

No, it isn't, it's a reason to post only to groups that everyone has.
Several news servers refuse to accept articles for groups they don't
carry. I've used several of them in the recent past. You may argue
that they're broken, misconfigured, or whatever, but the fact remains
that they are out there.

--
Eric McCoy (reverse "ten.xoc@mpe", mail to "ctr2sprt" is filtered)

"Last I checked, it wasn't the power cord for the Clue Generator that
was sticking up your ass." - John Novak, rasfwrj

Floyd Davidson

unread,
Apr 24, 2002, 9:30:08 PM4/24/02
to
ctr2...@cox.net (Eric P. McCoy) wrote:
>Floyd Davidson <fl...@ptialaska.net> writes:
>
>> Huh?
>> This is *exactly* the type of article which should be crossposted. It
>> fits in more than one group, and more than one group might provide a
>> better discussion and more diverse and accurate answers.
>
>Crossposting is often acceptable _at first_. But I believe it's
>seldom appropriate to continue crossposting to a lot of groups, except
>under rare circumstances. Typically, one would crosspost to several
>groups and then direct followups to just one.

Typically, that defeats the entire purpose of crossposting, and
cannot be supported with a logical argument. You are suggesting
that anyone and everyone who wants to read the followups should
subscribe to whichever group is the "chosen one". That is absurd.
The average person who _responds_ doesn't notice that followups
have been redirected and will miss everything from that point on
including followup articles to their own post.

Certainly few readers who did not respond will notice that the
discussion has been directed to a different group than they are
reading and take the time and effort to subscribe to a new group
just to follow a thread with an unknown number of responding
articles.

Hence at the point where an article honors the followups-to
header directing responses to a single group, the entire point
of crossposting and all of the benefits are instantly lost.

I typically do *not* honor such headers unless the article
should never have been posted to begin with. That is the only
reasonable action to take.

>There is an unwritten rule on USENET that, all other things being
>equal, Big Eight groups are preferred. There are a lot of reasons for
>that judgment call, most of them apparent.

That is simply untrue. I've *never* heard anyone make that
claim before, and I don't think it is viable.

>> Servers that have or don't have one of the groups is just another
>> reason why it *should* be crossposted.
>
>No, it isn't, it's a reason to post only to groups that everyone has.

That is more absurd than the ideas above!

Today it is fair to assume that everyone has all groups. Years
and years ago we did have concerns about poor distribution and
propagation in the alt hierarchy, but that hasn't been true for
a decade or so. The distinction today between Usenet and the
altnet is purely historical.

>Several news servers refuse to accept articles for groups they don't
>carry. I've used several of them in the recent past. You may argue
>that they're broken, misconfigured, or whatever, but the fact remains
>that they are out there.

They are in fact broken. They might, and probably do, warn you
that a given newsgroup does not exist, but they should take the
newsgroup: header as is and pass it along. Clearly a small site
running a subset of groups is going to cause themselves no end
of grief doing anything else. Suggesting that every Usenet user
should share their agony is an interesting, but non-productive,
concept.

Eric P. McCoy

unread,
Apr 24, 2002, 10:49:07 PM4/24/02
to
I am making a deliberate effort not to rise to the bait here. But I
suspect this is going to be my final contribution to this thread, and
I further suspect that your reply to this is going to land you in my
killfile. If you have anything you are absolutely convinced I must
see, use email. We are far astray from the topic of this group.

Floyd Davidson <fl...@ptialaska.net> writes:

> >Crossposting is often acceptable _at first_. But I believe it's
> >seldom appropriate to continue crossposting to a lot of groups, except
> >under rare circumstances. Typically, one would crosspost to several
> >groups and then direct followups to just one.

> Typically, that defeats the entire purpose of crossposting,

What do you believe is the purpose of crossposting?

> and cannot be supported with a logical argument.

Do you realize how fucking arrogant this makes you sound?

I suppose I could take the same strategy. "Your opinion of
crossposting is invalid, and cannot be supported with a logical
argument." There, does that mean I win the argument now?

I'm starting to wonder if you have even the slightest conception of
what an argument _is_.

> You are suggesting that anyone and everyone who wants to read the
> followups should subscribe to whichever group is the "chosen one".

Bingo.

> That is absurd.

No it isn't.

> The average person who _responds_ doesn't notice that followups have
> been redirected and will miss everything from that point on
> including followup articles to their own post.

My newsreader tells me it's narrowing the newsgroups list. If yours
doesn't, I suppose that's your loss; one I'm confident that you can,
with effort and due diligence, override by reading the headers.

> Certainly few readers who did not respond will notice that the
> discussion has been directed to a different group than they are
> reading and take the time and effort to subscribe to a new group
> just to follow a thread with an unknown number of responding
> articles.

I wouldn't bother. You don't seem to realize that I am talking pretty
specifically about the co.linux groups here; yes, much of what I say
can be applied to every newsgroup out there, but I am definitely
thinking of the co.linux groups as I write this.

So I suppose the first thing we should be clear on is that most of the
Linux groups are question-and-answer based, not discussion-based.
That is, most new posts are asking a question; most followups are
answering it. In an ideal world, every thread would have exactly two
posts. Have you got that now?

The second thing we should be clear on is the type of posters who are
drawn out to replies. For example, I'm basically an applications
developer, but I happen to subscribe to cold.system. I don't post
much in that group, _except_ when someone asks an inappropriate
question. Then I'll steer it to here. Most of the people who reply
to app-related questions in cold.system are in a similar boat: either
they are basically apps guys, or they do a little bit of both.

This means that the picture you are painting, where a majority of
people posting followups are left out of the thread, is simply not
true (unless the followups are directed to the wrong group). Yes,
some people will get dropped. Most of the time, they probably don't
care. I know I don't.

> Hence at the point where an article honors the followups-to
> header directing responses to a single group, the entire point
> of crossposting and all of the benefits are instantly lost.

This is just bullshit, and if you had put any thought into what you
were writing, you'd see why. The "entire point" of crossposting - at
least, the parts of it that I can see - is to increase exposure for a
question. The mere act of cross-posting _once_ will increase exposure
of the question. Cross-posting the replies doesn't increase the
original question's exposure at all; it simply spreads thread drift
across multiple newsgroups.

Ever wondered why the longest and most tangential threads were the
ones being cross-posted to 5 or 6 newsgroups? Ever looked in on those
threads to see how much time is spent answering the original question,
and how much is wasted bandwidth as the topic drifts freely?

> I typically do *not* honor such headers unless the article
> should never have been posted to begin with. That is the only
> reasonable action to take.

The reasonable action to take is to assume that the original poster
knows what he's doing. It's my post, I know where I want my replies
to end up.

> >There is an unwritten rule on USENET that, all other things being
> >equal, Big Eight groups are preferred. There are a lot of reasons for
> >that judgment call, most of them apparent.

> That is simply untrue.

Don't call me a fucking liar unless you're prepared to back up your
claim.

> I've *never* heard anyone make that claim before, and I don't think
> it is viable.

You've heard it now. I've heard it, seen it applied, and seen it
explained many times over the past eight years. My USENET dickwaving
doesn't make me right, but your ignorance doesn't make you right
either.

Here are some reasons it's a good rule, since they don't seem to be
apparent to you: Big 8 groups have better propagation, better
subscriptions, more clearly-defined charters and rules for posting,
and often have more qualified posters. _All other things being
equal,_ those are some of the reasons you choose a Big 8 group over,
for example, an alt.* group.

> >> Servers that have or don't have one of the groups is just another
> >> reason why it *should* be crossposted.

> >No, it isn't, it's a reason to post only to groups that everyone has.

> That is more absurd than the ideas above!

And this is more arrogant than the one before!

Seriously, who duped you into believing that comments like the above
have any merit whatsoever? The only purpose they serve is to make
people angry, which would be fine except that it tends to fire
discussions right down the toilet.

> Today it is fair to assume that everyone has all groups.

It sure isn't, because it's not true. My college didn't carry _any_
alt.* groups, and that's extremely common for colleges. Back when
cox.net was part of home.com, my news server didn't carry anything but
the Big 8 and the alt.* (but not .binaries) groups. My current news
server carries some alt.* groups, some miscellaneous (linux.*,
redhat.*, microsoft.*, and so on) groups, and all the Big 8 groups.

Your assumption is flat-out bad. You may rest assured that my
experiences are far more common outside North America.

> Years and years ago we did have concerns about poor distribution and
> propagation in the alt hierarchy, but that hasn't been true for a
> decade or so. The distinction today between Usenet and the altnet
> is purely historical.

I don't have anything to say to this. This started me laughing so
hard that for a while I couldn't type at all. A note, though: your
experiences with news servers are not shared by every single person in
the world.

> >Several news servers refuse to accept articles for groups they don't
> >carry. I've used several of them in the recent past. You may argue
> >that they're broken, misconfigured, or whatever, but the fact remains
> >that they are out there.

> They are in fact broken. They might, and probably do, warn you
> that a given newsgroup does not exist, but they should take the
> newsgroup: header as is and pass it along. Clearly a small site
> running a subset of groups is going to cause themselves no end
> of grief doing anything else. Suggesting that every Usenet user
> should share their agony is an interesting, but non-productive,
> concept.

Tell that to whoever my news admin was when I was on home.com, the one
at my college, and the one who worked for ibm.net when it was a
separate entity. Or you can simply crosspost to groups I don't have
and I won't have the opportunity to read any more of your articles.

But then, I wouldn't want you to share in the agony of a small site
like home.com or ibm.net.

Alex Sramek

unread,
Apr 25, 2002, 12:51:42 AM4/25/02
to
Thanks a bunch! This is very helpful, especially in context.

With the handful of replies I've gotten, I should be able to hammer
something out. Once I'm done, I'll probably post the game and source
code to my website.

-Alex

Floyd Davidson

unread,
Apr 25, 2002, 4:54:15 AM4/25/02
to
ctr2...@cox.net (Eric P. McCoy) wrote:
>I am making a deliberate effort not to rise to the bait here. But I
>suspect this is going to be my final contribution to this thread, and
>I further suspect that your reply to this is going to land you in my
>killfile. If you have anything you are absolutely convinced I must
>see, use email. We are far astray from the topic of this group.

The question of what is on topic, is *always* on topic in any group.

As to your killfile, I've never understood what such a "threat"
is expected to gain you. I won't miss a thing if you have a
huge killfile. *You* will! Be my guest, make it larger. Your
exposure then gets smaller... kind of like cutting off your nose
to spite your face.

>Floyd Davidson <fl...@ptialaska.net> writes:
>
>> >Crossposting is often acceptable _at first_. But I believe it's
>> >seldom appropriate to continue crossposting to a lot of groups, except
>> >under rare circumstances. Typically, one would crosspost to several
>> >groups and then direct followups to just one.
>
>> Typically, that defeats the entire purpose of crossposting,

...

>> You are suggesting that anyone and everyone who wants to read the
>> followups should subscribe to whichever group is the "chosen one".
>
>Bingo.

The purpose of crossposting is to allow topics which fit into
more than one newsgroup to share the discussion among all
interested parties, and in the process avoid the waste of
bandwidth, discussion fragmentation, and discussion duplication
which results from the alternative, which is posting the same
topic individually to multiple newsgroups.

As long as the subject is on topic, there is no reason make
intentional efforts at excluding participation of readers of one
or more newsgroups while including only one. In particular
after a thread has started it is impossible to determine *which*
groups various posters are actually reading. Setting followups
to any one group silently excludes some portion of the audience,
and there is no way to know *which* portion.

And that audience might be precisely the ones with needed
expertise that would respond... except they never see the
follow up articles.

For example, I commonly see crossposting between various telecom
related newsgroups. ISDN, frame relay, cell relay, modems and
others generally have distinctly separate threads from the two
general telecom groups. Occasionally topics come up which fit
into 2 or more of those groups. Any individual seeking
information would be well advised to crosspost as appropriate.

That is what crossposting accomplishes.

>> The average person who _responds_ doesn't notice that followups have
>> been redirected and will miss everything from that point on
>> including followup articles to their own post.
>
>My newsreader tells me it's narrowing the newsgroups list. If yours
>doesn't, I suppose that's your loss; one I'm confident that you can,
>with effort and due diligence, override by reading the headers.

Obviously if looking at headers was as common and as easy as
you are indicating, you would have noticed that I use GNUS.
Based on that theory, you would not have needed to make the
above statement. It just doesn't work well in practice...

The point I made was that it is *obvious* that *most* posters
are not aware when followups are redirected. It takes them by
surprise on a regular basis. Equally very few people are aware
of which groups their articles are crossposted to.

What _my_ particular software does, or does not (if there is
anything that GNUS doesn't do), is logically irrelevant.

>> Certainly few readers who did not respond will notice that the
>> discussion has been directed to a different group than they are
>> reading and take the time and effort to subscribe to a new group
>> just to follow a thread with an unknown number of responding
>> articles.
>
>I wouldn't bother. You don't seem to realize that I am talking pretty
>specifically about the co.linux groups here; yes, much of what I say
>can be applied to every newsgroup out there, but I am definitely
>thinking of the co.linux groups as I write this.

That was not specified to begin with, or even hinted at.
However, I don't think it makes any difference. The same
applies just as well to comp.os.linux groups as it does to any
similar handful of related newsgroups.

>So I suppose the first thing we should be clear on is that most of the
>Linux groups are question-and-answer based, not discussion-based.
>That is, most new posts are asking a question; most followups are
>answering it. In an ideal world, every thread would have exactly two
>posts. Have you got that now?

You have strange ideals. However, that is distinctly not the
way these newsgroups work. Instead we have many replies. Some
of them are correct, some are not, but very few are "complete".
Hence each response commonly leads to another response which
intends to clarify or expand what has previously been said.

Your theory of cutting off crossposting after one round of
responses stifles the primary benefit of crossposting on topic
threads to related groups, because it limits the diversity of
response.

>The second thing we should be clear on is the type of posters who are
>drawn out to replies. For example, I'm basically an applications
>developer, but I happen to subscribe to cold.system. I don't post
>much in that group, _except_ when someone asks an inappropriate
>question. Then I'll steer it to here. Most of the people who reply
>to app-related questions in cold.system are in a similar boat: either
>they are basically apps guys, or they do a little bit of both.

Steering off topic questions or entire threads is quite
appropriate. You are to be commended.

Stifling on topic questions or entire threads cancels the
commendation... :-(

>This means that the picture you are painting, where a majority of
>people posting followups are left out of the thread, is simply not
>true (unless the followups are directed to the wrong group). Yes,

By definition, that is exactly what we are discussing. If it
is on topic in multiple groups, any one group is the wrong group.

>some people will get dropped. Most of the time, they probably don't
>care. I know I don't.

Sure, _you_ don't mind! But the person who asked the question
to start with may not be reading the group you direct it to, and
may miss the correct answers (or corrections and amplifications
to at least *your* response) because you have silently put them
where they aren't seen.

Why post an article if you hide it from the people interested in
the topic at hand? That's about as logical as threatening me with
your killfile. Go ahead, cut of your nose...

>> Hence at the point where an article honors the followups-to
>> header directing responses to a single group, the entire point
>> of crossposting and all of the benefits are instantly lost.
>
>This is just bullshit, and if you had put any thought into what you
>were writing, you'd see why. The "entire point" of crossposting - at

It is in fact exactly what happens.

>least, the parts of it that I can see - is to increase exposure for a
>question. The mere act of cross-posting _once_ will increase exposure
>of the question. Cross-posting the replies doesn't increase the
>original question's exposure at all; it simply spreads thread drift
>across multiple newsgroups.

Crossposting the replies increases the exposure of the replies.
That leads to corrections and to amplifications. That is *exactly*
why the OP would have crossposted to begin with.

You have a strange perception of the way responses are read too.
Most of us do not follow threads to other newsgroups. In
particular, if we read the original question and a followup or
two, there may be no apparent need to post another response. Of
course if someone then asks more questions relating to one
response which has followups-to set to a group where most of the
audience is not reading, those questions do not benefit from the
original wide exposure gain of crossposting.

Arbitrarily setting followups-to with an on topic thread just
because it has seen one round of answers is not logically valid.

>Ever wondered why the longest and most tangential threads were the
>ones being cross-posted to 5 or 6 newsgroups? Ever looked in on those
>threads to see how much time is spent answering the original question,
>and how much is wasted bandwidth as the topic drifts freely?

Thread drift is common. Big deal. Obviously what you described
demonstrates the effectiveness of crossposting in attracting a wider
audience to gain a richer discussion.

That's what Usenet is all about, why stifle it!

If it leads to extended threads that are on topics you don't
wish to read, *then don't read them*.

>> I typically do *not* honor such headers unless the article
>> should never have been posted to begin with. That is the only
>> reasonable action to take.
>
>The reasonable action to take is to assume that the original poster
>knows what he's doing. It's my post, I know where I want my replies
>to end up.

If you *are* the OP, fine. If you aren't and you attempt to redirect
a thread in progress, shame on you.

>> >There is an unwritten rule on USENET that, all other things being
>> >equal, Big Eight groups are preferred. There are a lot of reasons for
>> >that judgment call, most of them apparent.
>
>> That is simply untrue.
>
>Don't call me a fucking liar unless you're prepared to back up your
>claim.

Look "liar" in a dictionary. I have not called you a liar. I
said that your statement was simply untrue. You clearly are
*mistaken*, but that does not make you a liar.

>> I've *never* heard anyone make that claim before, and I don't think
>> it is viable.
>
>You've heard it now. I've heard it, seen it applied, and seen it
>explained many times over the past eight years. My USENET dickwaving
>doesn't make me right, but your ignorance doesn't make you right
>either.

Dickwaving is right. Go find a reference on Google where that
has been discussed and the consensus was what you say. Post it.
Then I'll believe it. Find a couple dozen and I'll give it
credibility. Find where that is stated in a few FAQs,
Netiquette guides, etc. etc. that were written since 1994 (the
past eight years), and I'll even consider it as a reasonable
statement.

>Here are some reasons it's a good rule, since they don't seem to be
>apparent to you: Big 8 groups have better propagation, better

That was true before you ever came to Usenet (assuming that is
what you meant by "past eight years" above). It hasn't been
nearly significant since maybe 92 or 93. The move from small
servers to major servers selling their services to ISPs finished
off the change that began when Usenet transport moved from uucp
to the Internet in the mid/late 80's. By 1996 or so there was
virtually no distinction at all between Big 8 groups and altnet
groups for propagation.

>subscriptions, more clearly-defined charters and rules for posting,
>and often have more qualified posters. _All other things being

The rest of your list wasn't even true in the late 80's, with the
exception of more clearly defined charters... (And a large number
of people have treated them as a joke right from the beginning,
though that didn't become "normal" until the mid-90's when AOL
arrived in force.)

Go to Google and look up some Usenet history from the 80's for
the alt hierarchy. I don't think is is far to say it was ever
"less subscribed" or that it suffered a lack of qualified posters.

>equal,_ those are some of the reasons you choose a Big 8 group over,
>for example, an alt.* group.

How many examples would you like to prove you are wrong? Dennis
Ritchie posts to alt.folklore.computers.

I've been posting to both alt.dcom.telecom and
comp.dcom.telecom.tech since they started. Likewise I was one
of the first ever posters to alt.native which today has far more
traffic than the soc.culture.native that I helped create because
we wanted better propagation! At the time, it made sense.
Today it doesn't work that way. These days I suspect the reason
there is more traffic in alt.native is because it comes first in
an alphabetical listing of newsgroups!

>> >> Servers that have or don't have one of the groups is just another
>> >> reason why it *should* be crossposted.
>
>> >No, it isn't, it's a reason to post only to groups that everyone has.
>
>> That is more absurd than the ideas above!
>
>And this is more arrogant than the one before!

Then sit down and *think* about it.

>Seriously, who duped you into believing that comments like the above
>have any merit whatsoever? The only purpose they serve is to make
>people angry, which would be fine except that it tends to fire
>discussions right down the toilet.

Danged, I just never imagined anyone on Usenet getting angry.
Amazing. I *will* remember that! Maybe somebody will want to put
your name in their sig, as the guy who let the world know that
people on Usenet are angered by people pointing out the stupidity
of absurdity.

(Lighten up. Take a clear look at that exchange and sit back
and *laugh*. It's about as funny as it ever gets.)

>> Today it is fair to assume that everyone has all groups.
>
>It sure isn't, because it's not true. My college didn't carry _any_
>alt.* groups, and that's extremely common for colleges. Back when

If you want to read a group you can. I read news everyday using
*three* different servers and have access to at least one other
if I chose to use it to. That doesn't even count google.

>cox.net was part of home.com, my news server didn't carry anything but
>the Big 8 and the alt.* (but not .binaries) groups. My current news
>server carries some alt.* groups, some miscellaneous (linux.*,
>redhat.*, microsoft.*, and so on) groups, and all the Big 8 groups.

If you wish to restrict yourself, that is your choice. That does
not begin to validate the idea that the rest of us should only
post to groups that *you* choose to have available!

>Your assumption is flat-out bad. You may rest assured that my
>experiences are far more common outside North America.

If you have access to the Internet, you have access to news
servers anywhere in the world. You may have noticed that I
don't exactly live in Middle America here. Only one news server
that I have access to (the one I don't use) is located within
several thousands of miles of me physically. I also have noted
that there are *thousands* of non-Big 8 groups in dozens of
hierarchies that are less known than the altnet... all intended
for non-North American readers. (Somebody crossposted a "test"
message to both alt.culture.alaska and uk.local.yorkshire today.
If you want to rant, that's one I'll back you up on.)

You've suggested that nobody should ever post to them simply
because they don't show up on *your* news server!

>> Years and years ago we did have concerns about poor distribution and
>> propagation in the alt hierarchy, but that hasn't been true for a
>> decade or so. The distinction today between Usenet and the altnet
>> is purely historical.
>
>I don't have anything to say to this. This started me laughing so
>hard that for a while I couldn't type at all. A note, though: your
>experiences with news servers are not shared by every single person in
>the world.

Your experience doesn't seem to be broad enough to provide
a valid sampling.

>> >Several news servers refuse to accept articles for groups they don't
>> >carry. I've used several of them in the recent past. You may argue
>> >that they're broken, misconfigured, or whatever, but the fact remains
>> >that they are out there.
>
>> They are in fact broken. They might, and probably do, warn you
>> that a given newsgroup does not exist, but they should take the
>> newsgroup: header as is and pass it along. Clearly a small site
>> running a subset of groups is going to cause themselves no end
>> of grief doing anything else. Suggesting that every Usenet user
>> should share their agony is an interesting, but non-productive,
>> concept.
>
>Tell that to whoever my news admin was when I was on home.com, the one
>at my college, and the one who worked for ibm.net when it was a
>separate entity. Or you can simply crosspost to groups I don't have
>and I won't have the opportunity to read any more of your articles.

You've just demonstrated why that is broken.

>But then, I wouldn't want you to share in the agony of a small site
>like home.com or ibm.net.

If they actually are configured that way, thank you... I certainly
am not interested.

Kasper Dupont

unread,
Apr 25, 2002, 10:26:54 AM4/25/02
to
Floyd Davidson wrote:
> [ a lot of good stuff ]

Would you mind if I put a copy of that posting on this page:
http://www.daimi.au.dk/~kasperd/comp.os.linux.development.faq.html

--
Kasper Dupont -- der bruger for meget tid på usenet.
For sending spam use mailto:razor-...@daimi.au.dk

Floyd Davidson

unread,
Apr 25, 2002, 2:29:23 PM4/25/02
to
Kasper Dupont <kas...@daimi.au.dk> wrote:
>Floyd Davidson wrote:
>> [ a lot of good stuff ]
>
>Would you mind if I put a copy of that posting on this page:
>http://www.daimi.au.dk/~kasperd/comp.os.linux.development.faq.html

Feel free to use it.

It's been posted to Usenet hundreds of times.

el...@no.spam

unread,
Apr 25, 2002, 4:51:23 PM4/25/02
to
In article <aa7cdp$q1v$04$1...@news.t-online.com>,
Malte Starostik <malte.s...@t-online.de> wrote:

>Well, I got an error message when trying to reply since I can't
>post to linux.* as that hierarchy is not available on my ISP's
>server. Maybe my reaction was wrong then, I apologize.

A newsgroup not existing shouldn't prevent you from having it in
the Newsgroups: header. Was it really an error or was it just a
warning?

--
http://www.spinics.net/linux/

el...@no.spam

unread,
Apr 25, 2002, 4:53:01 PM4/25/02
to
In article <87elh4l...@katmai.local>,

Eric P. McCoy <ctr2...@cox.net> wrote:

>Crossposting is often acceptable _at first_. But I believe it's
>seldom appropriate to continue crossposting to a lot of groups,
>except under rare circumstances. Typically, one would crosspost
>to several groups and then direct followups to just one.

Oh, bull. It's quite obnoxious to have a thread broken because
some loon decides to set follow-ups out of the newsgroup you're
reading. Crossposting is a useful tool; whining about crossposting
is not.


Kasper Dupont

unread,
Apr 25, 2002, 6:01:13 PM4/25/02
to
el...@no.spam wrote:
>
> A newsgroup not existing shouldn't prevent you from having it in
> the Newsgroups: header. Was it really an error or was it just a
> warning?

I remember cases where I actually got an error when trying
to do so. I don't remember if it was the Newsgropus: or the
Followup-To: header. And I don't know if the error was
produced by the server or the client.

Dave Blake

unread,
Apr 25, 2002, 6:45:12 PM4/25/02
to
Floyd Davidson <fl...@ptialaska.net> wrote:

> The purpose of crossposting is to allow topics which fit into
> more than one newsgroup to share the discussion among all
> interested parties,

That is correct, sir.

However, the purpose of having divided newsgroups is to partition
off discussion into single groups that is particularly relevant
there.

Topics of interest to people reading multiple newsgroups may be
initially cross-posted, with followups to the most appropriate
newsgroup. This is classic Usenet etiquette.

If your newsserver doesn't carry a newsgroup, ask them to add it.
They are generally real good about that.

Oops. I just realized this part of the thread became a largely pointless
flame war. Nevermind.

--
Dave Blake
dbl...@phy.ucsf.edu

Floyd Davidson

unread,
Apr 25, 2002, 7:02:07 PM4/25/02
to
Kasper Dupont <kas...@daimi.au.dk> wrote:
>el...@no.spam wrote:
>>
>> A newsgroup not existing shouldn't prevent you from having it in
>> the Newsgroups: header. Was it really an error or was it just a
>> warning?
>
>I remember cases where I actually got an error when trying
>to do so. I don't remember if it was the Newsgropus: or the
>Followup-To: header. And I don't know if the error was
>produced by the server or the client.

Just for fun... I'm crossposting this to alt.nonexistant.group
and setting followups to alt.never.never.land.

Eric P. McCoy

unread,
Apr 25, 2002, 7:34:24 PM4/25/02
to
Floyd Davidson <fl...@ptialaska.net> writes:

> Just for fun... I'm crossposting this to alt.nonexistant.group
> and setting followups to alt.never.never.land.

Just for fun, I'll reply. The crossposting worked correctly, the
followup-to did not. (The header doesn't seem to exist here at all.
Did you forget to set it?)

Floyd Davidson

unread,
Apr 25, 2002, 8:03:22 PM4/25/02
to
Floyd Davidson <fl...@ptialaska.net> wrote:
>Kasper Dupont <kas...@daimi.au.dk> wrote:
>>el...@no.spam wrote:
>>>
>>> A newsgroup not existing shouldn't prevent you from having it in
>>> the Newsgroups: header. Was it really an error or was it just a
>>> warning?
>>
>>I remember cases where I actually got an error when trying
>>to do so. I don't remember if it was the Newsgropus: or the
>>Followup-To: header. And I don't know if the error was
>>produced by the server or the client.
>
>Just for fun... I'm crossposting this to alt.nonexistant.group
>and setting followups to alt.never.never.land.

Any server that did not not have that article, is broken.

Floyd Davidson

unread,
Apr 25, 2002, 8:19:06 PM4/25/02
to
Dave Blake <dbl...@popper.ucsf.edu> wrote:
>Floyd Davidson <fl...@ptialaska.net> wrote:
>
>> The purpose of crossposting is to allow topics which fit into
>> more than one newsgroup to share the discussion among all
>> interested parties,
>
>That is correct, sir.
>
>However, the purpose of having divided newsgroups is to partition
>off discussion into single groups that is particularly relevant
>there.

Which is why cross posting is useful. As you have noted, that
*is* correct.

>Topics of interest to people reading multiple newsgroups may be
>initially cross-posted, with followups to the most appropriate
>newsgroup. This is classic Usenet etiquette.

That is *not* "classic Usenet etiquette". It is a classic
misunderstanding. As another poster noted, it is obnoxious
behavior redirect a discussion away from the people
participating. Another point which hasn't been mentioned is
that it's twice as obnoxious to do that without making a
statement in the text of the message indicated that followups-to
has been set.

The appropriate use of followups-to is when an article changes
the subject of discussion or when it is responding to an article
that is off topic in some of the crossposted groups.

Keep in mind, a followups-to header is not restricted to a
single newsgroup. It can be used to simply drop one group when
the discussion no longer applies there, though I would maintain
that is a very *rude* policy if no mention of it is made in the
text of the message (and somewhat rude even with such a
message).

>If your newsserver doesn't carry a newsgroup, ask them to add it.
>They are generally real good about that.

That is true, and the suggestion that others should only post to
groups that limited servers carry is absurd.

>Oops. I just realized this part of the thread became a largely pointless
>flame war. Nevermind.

You must have a strange definition of "flame war". Does that just mean
anything that disagrees with you, or what?

Dave Blake

unread,
Apr 25, 2002, 10:21:27 PM4/25/02
to
Floyd Davidson <fl...@ptialaska.net> wrote:
> Dave Blake <dbl...@popper.ucsf.edu> wrote:

>>Oops. I just realized this part of the thread became a largely pointless
>>flame war. Nevermind.

> You must have a strange definition of "flame war". Does that just mean
> anything that disagrees with you, or what?

No, just highly detailed posts on etiquette that go to lengths to
justify cross-posting without setting followups. Cross-posting is
the single largest source of off-topic noise wrt posting behavior.
Setting followups should be done whenever applicable, even though most
newsreaders are too stoopid to notice. There are many many people
who use Usenet to broadcast their personal beliefs to as broad an
audience as possible, and cross-posting is one of their main tools.
You, apparently, aim to encourage their behavior.

http://www.templetons.com/brad/emily.html

Note followups.

--
Dave Blake
dbl...@phy.ucsf.edu

Floyd Davidson

unread,
Apr 25, 2002, 10:54:15 PM4/25/02
to
ctr2...@cox.net (Eric P. McCoy) wrote:
>Floyd Davidson <fl...@ptialaska.net> writes:
>
>> Just for fun... I'm crossposting this to alt.nonexistant.group
>> and setting followups to alt.never.never.land.
>
>Just for fun, I'll reply. The crossposting worked correctly, the
>followup-to did not. (The header doesn't seem to exist here at all.
>Did you forget to set it?)

Oh, it's there all righty, but I spelled it wrong...

And when I spell it right, the news server says no way Jose.
The error, 441 No valid message in alt.never.never.land.

This time I'll try alt.never.never.land plus both alt.test and
comp.os.linux.development.apps. I expect this will work just
fine. But what might be interesting is to see if the Newsgroups:
header generated when responding includes the invalid group as
well as the valid groups.

Floyd Davidson

unread,
Apr 26, 2002, 1:04:11 AM4/26/02
to
Dave Blake <dbl...@popper.ucsf.edu> wrote:
>Floyd Davidson <fl...@ptialaska.net> wrote:
>> Dave Blake <dbl...@popper.ucsf.edu> wrote:
>
>>>Oops. I just realized this part of the thread became a largely pointless
>>>flame war. Nevermind.
>
>> You must have a strange definition of "flame war". Does that just mean
>> anything that disagrees with you, or what?
>
>No, just highly detailed posts on etiquette that go to lengths to
>justify cross-posting without setting followups.

As noted, an extremely unusual definition.

>Cross-posting is
>the single largest source of off-topic noise wrt posting behavior.
>Setting followups should be done whenever applicable, even though most
>newsreaders are too stoopid to notice. There are many many people
>who use Usenet to broadcast their personal beliefs to as broad an
>audience as possible, and cross-posting is one of their main tools.
>You, apparently, aim to encourage their behavior.

If you want to make it worse, just eliminate crossposting and
try to live with what happens next.

>http://www.templetons.com/brad/emily.html

I believe you have misunderstood what Templeton is saying there.
(Actually, I don't think that is well worded, so it isn't necessarily
your fault.) The point is that articles should be posted where they
are *on topic*.

I simply disagree with moving valid discussions to one group and
cutting off readers who may be following the thread. That is
particularly true in technical newsgroups such as the entire
comp.* hierarchy.

>Note followups.

Ignored. If I wanted to email you, I wouldn't be posting an article
to Usenet.

0 new messages