GTK, KDE, GNOME, etc and standard error

[prev] [thread] [next] [lurker] [Date index for 2006/10/17]

From: jrodman
Subject: GTK, KDE, GNOME, etc and standard error
Date: 04:00 on 17 Oct 2006
So, in the land of UNIX, there exists three normal channels from the
outside world to a program: standard in, standard out, and standard
error.

Standard in is where a program can expect to recieve keystrokes.
Standard out is where a program can send its normal output.
Standard error is where a program can send messages about unusual
conditions and situations.

In this simplistic but effective system it is possible to run programs,
feed them input, see the output, and seperately find out about problems
along the way.

Modern toolkit authors seem to be suffering from some kind of cargo cult
mentality.  They noticed that a datastream existed for finding out about
unusual conditions, and decided that this data channel is actually a
good place to put any and all possible messages relating to potential
problems which may not even exist or matter.  Thus, in a modern KDE or
GTK/GNOME application, standard error no longer actually represents
errors.  It in fact is full of status of lunched subdaemons, errors
parsing some tree of mime types 8 libraries away from your application,
warnings about slightly incorrect type declarions, complaints about
buttons that are slightly the wrong size, and so on.

The best part of all this spew is that if your program actually _does_
encounter something that you would need to know about 

	"programname: error opening your_letter.doc: permission denied", 

it is buried in pages of spew, and you'll never see it.

Even better is that of course the x console is totally useless.  There
is no way you would ever see an error produced by the X system itself,
because any directly launched gui bits are all spewing in parallel to
the same stderr inherited by the X server.

So after suffering with this idiocy for many years, I decided to file a
clear and cogent request for the GTK developers to address the issue.

	http://bugzilla.gnome.org/show_bug.cgi?id=362749

The response of course was, to paraphrase: Well, these messages indicate
a buggy program, therefore our action is correct.

So, to dissect this reducto-ad-absurdism style.  If glib notices the
program is running has a bug, it should detonate a nuclear warhead in
downtown Manhattan.  After all, once it is clear you are dealing with a
buggy program, there is no need to actually consider whether your
response is reasonable, helpful, or useful, it is self-justified because
it is a response to a bug!

Q. E. D.

Generated at 16:01 on 02 Nov 2006 by mariachi 0.52