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

Clarification concerning my Dijkstra obituary in comp.programming

6 views
Skip to first unread message

Edward G. Nilges

unread,
Aug 31, 2002, 10:06:44 PM8/31/02
to
For some reason I failed to see the New York Times obituary for Aug 10
of this year, and my obituary was misleading. Dijkstra passed away,
but earlier this month.

I saw an article in SD Times for Sep 1.

My apologies for this error.

Edward G. Nilges

unread,
Sep 6, 2002, 8:18:00 PM9/6/02
to
spino...@yahoo.com (Edward G. Nilges) wrote in message news:<f5dda427.02083...@posting.google.com>...


Also in this connection: I am surprised not to see a post from Richard
Heathfield concerning focus, for my Dijkstra obituary was about a
programmer and not about programming.

Dijkstra certainly regarded himself as a programmer in the theoretic
sense for while he despised the praxis of empirical programmers he
tasked himself up until about 1992 with the process of program
development.

Richard Heathfield has told us that comp.programming is not about
programmers. In so doing Heathfield unconsciously echoes French
sociologist Pierre Bourdieu.

Bourdieu has said that the bourgeois rage is for 'science, without the
scientist.' An information society that prizes a middle class and its
lifestyles and worldviews (while downsizing empiricial members of
same) is invested in a science without normed human activity such as
Dijkstra (with a forced naivety) attempted to describe.

Dijkstra described an algorithm for arranging train cars and their
loos in an optimal fashion that accurately reflected what in the US is
called "the needs of the user"...as if a user, not actually riding a
train, shared the biological needs of commuters: as if the
administrators and their lead programmers who designed today's
automated but quite hazardous Chicago Transit Authority system did not
ride, themselves, to work in taxicabs and in limos.

Dijkstra made *en passant* a mysterious reference to growing
irritation on the part of managers to his material when delivered as a
talk. I think this irritation was the strange corporate phenomenon
one sees when any one embodied person claims to be able to talk in a
language independent of "needs" and fiduciary emotion.

An embodied computer scientist, even an *eminence grise* like
Dijkstra, in his specificity talking about not a better way but the
only way to arrange train car loos is science emphatically with the
scientist. The manager instinctively prefers to speak more vaguely of
an unspecified range of changing requirements and actually regards his
language as more empowering.

The basic scandal, I think, was unrecognized by Dijkstra from an
academic's perch. This is that science-with-the-scientist is science
without alienation such that in principle the trainmen themselves
could design and execute the algorithm in a form of work to rule.

But in announcing that comp.programming is about programming and not
programmers Richard paints himself into a corner. For the legislation
he promulgates is ultimately not tenable, and he knows it.

Programming is what programmers do. Good programming is what good
programmers do. The latter does not exist in a republic from which
the idea of good programming has been excluded. It is excluded when
good programmers are downsized by corporations or libeled.

In all this "freedom" we see in cyberspace, what is eliminated is the
non-deviant subject as an attainable ideal. It became impossible for
Dijkstra to describe the actual process of writing a program because
every other thing he said was (wrongly) interpreted as a criticism of
others and a form of rocking the boat.

The only nondeviance becomes quick assent to dominant figures or the
silence of the lambs.

Programmer Dude

unread,
Sep 9, 2002, 3:56:00 PM9/9/02
to
"Edward G. Nilges" wrote:

> I am surprised not to see a post from Richard Heathfield concerning
> focus, for my Dijkstra obituary was about a programmer and not about
> programming.

Your assignment today:

Compare and Contrast an *announcement* regarding something of concern
to the regular members of a group with an attempt to begin a *discussion*
about a regional political action.

In 25,000 words or less.

--
|_ CJSonnack <Ch...@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL |
|_____________________________________________|_______________________|

Opinions expressed herein are my own and may not represent those of my employer.

Edward G. Nilges

unread,
Sep 16, 2002, 9:07:18 PM9/16/02
to
cjso...@mmm.com (Programmer Dude) wrote in message news:<3D7CFCD0...@mmm.com>...

> "Edward G. Nilges" wrote:
>
> > I am surprised not to see a post from Richard Heathfield concerning
> > focus, for my Dijkstra obituary was about a programmer and not about
> > programming.
>
> Your assignment today:
>
> Compare and Contrast an *announcement* regarding something of concern
> to the regular members of a group with an attempt to begin a *discussion*
> about a regional political action.
>
> In 25,000 words or less.

Quite simple, actually.

You make a mistake Lawrence Lessig identifies in the introduction to
Code and the Laws of Cyberspace.

Lessig quotes from Gates' (excellent in its own way) book The Road
Ahead in which Gates says that given computer technology, you can tune
in, and out, of discussions which do, or do not, interest you.

The problem, as Lessig points out, is that to be "interested in" a
text is not a free-standing fact independent of the text. It is about
the text.

Many Americans wanted to tune out on Sep 11 2001. Nonetheless it was
of overriding community importance that they know of the event, an
importance that transcended one's autobiography, for the simple reason
that the continued existence and the viability of the political and
social arrangements attacked by Sep 11 underlies one's personal
autobiography.

As regards the Data Quality Act, I was making a relevant claim that it
was indeed of interest to comp.programming because data quality is so
close to programming quality. I realize it was "regional" and I
addressed this objection by pointing out the obvious fact that
American law leads commercial law in other developed societies.

The claim of relevance was not marginal but instead central, because I
am concerned with the deprofessionalization of programming, a
phenomenon which includes the complete inability of programmers (who
are ideally positioned to address issues of data quality and thus
corporate governance.)

But Richard and you then proceeded to provide four months of evidence
of this deprofessionalization, for not only did your conduct in this
ng imply that professional programmers are nasty thugs, you also felt
it obvious that programmers should be seen and not heard.

Had a civil conversation been conducted, I might well have
acknowledged being wrong on this issue. For example, a poster could
have shown that the data addressed by the DQA was manually produced.

Instead, you transformed the discussion into a campaign of character
assassination that violated its own rules when Richard congratulated
you on your irrevelant home purchase and when Richard established a
personally abusive thread.

Richard Heathfield

unread,
Sep 17, 2002, 4:46:18 AM9/17/02
to
"Edward G. Nilges" wrote:
>
<irrelevant stuff snipped>

>
> But Richard and you then proceeded to provide four months of evidence
> of this deprofessionalization, for not only did your conduct in this
> ng imply that professional programmers are nasty thugs, you also felt
> it obvious that programmers should be seen and not heard.

That's a lie.

> Had a civil conversation been conducted, I might well have
> acknowledged being wrong on this issue.

If you're wrong, say so. That simple adage could have helped this entire
series of threads to remain civilised. Your inability to recognise your
own errors when they are pointed out to you is a major contributing
factor to the heat around here.

<irrelevant stuff snipped>

> Instead, you transformed the discussion into a campaign of character
> assassination that violated its own rules when Richard congratulated
> you on your irrevelant home purchase

That's a lie.

> and when Richard established a
> personally abusive thread.

So's that.

--
Richard Heathfield : bin...@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton


Edward G. Nilges

unread,
Sep 17, 2002, 6:40:23 PM9/17/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D86EBDA...@eton.powernet.co.uk>...

> "Edward G. Nilges" wrote:
> >
> <irrelevant stuff snipped>
> >
> > But Richard and you then proceeded to provide four months of evidence
> > of this deprofessionalization, for not only did your conduct in this
> > ng imply that professional programmers are nasty thugs, you also felt
> > it obvious that programmers should be seen and not heard.
>
> That's a lie.
>
> > Had a civil conversation been conducted, I might well have
> > acknowledged being wrong on this issue.
>
> If you're wrong, say so. That simple adage could have helped this entire
> series of threads to remain civilised. Your inability to recognise your
> own errors when they are pointed out to you is a major contributing
> factor to the heat around here.

On each point where I was incorrect, I said so. You and Chris Sonnack
then used these admissions as a basis for further libel.

But the "errors" to which you repeatedly refer (in a technically
Fascist and reifying effort to conflate the number of your references
and the number of errors) were, for the most part, matters of style
and opinion such as density of code. What is interesting about these
matters is that they cater to anti-intellectualism, itself a Fascist
theme, and give people permission not to do their homework.


>
> <irrelevant stuff snipped>
>
> > Instead, you transformed the discussion into a campaign of character
> > assassination that violated its own rules when Richard congratulated
> > you on your irrevelant home purchase
>
> That's a lie.
>

Again, you gave Chris a high five after he informed the ng that he was
mentioned in a local paper, not as a programmer per se but as a home
buyer.

This demonstrated that your narrow interpretation of focus rules is
itself unenforceable, for the legislation of a major country whose
laws are emulated widely concerning data quality is at a mininum more
germane. Your narrow focus is also provably unenforceable as a rule
(and therefore useless as a rule) because it does not self-apply. It
excludes any meta-discussion. Whatever the worth of meta-discussion
it occurs all the time and makes your rule unenforceable.



> > and when Richard established a
> > personally abusive thread.
>
> So's that.

"Nilges...the movie" is personally abusive.

Programmer Dude

unread,
Sep 17, 2002, 6:48:46 PM9/17/02
to
"Edward G. Nilges" wrote:

> But the "errors" to which you repeatedly refer [...] were, for the most


> part, matters of style and opinion such as density of code.

That's a lie. (Erroneous output is more than style or opinion.)

> Again, you gave Chris a high five..

That's another lie.

Richard Heathfield

unread,
Sep 18, 2002, 3:31:04 AM9/18/02
to
"Edward G. Nilges" wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D86EBDA...@eton.powernet.co.uk>...
> > "Edward G. Nilges" wrote:
> > >
<irrelevant stuff snipped>
> > >
> > > But Richard and you then proceeded to provide four months of evidence
> > > of this deprofessionalization, for not only did your conduct in this
> > > ng imply that professional programmers are nasty thugs, you also felt
> > > it obvious that programmers should be seen and not heard.
> >
> > That's a lie.

And Mr Nilges didn't deny it.

> >
> > > Had a civil conversation been conducted, I might well have
> > > acknowledged being wrong on this issue.
> >
> > If you're wrong, say so. That simple adage could have helped this entire
> > series of threads to remain civilised. Your inability to recognise your
> > own errors when they are pointed out to you is a major contributing
> > factor to the heat around here.
>
> On each point where I was incorrect, I said so.

That's a lie.

> You and Chris Sonnack
> then used these admissions as a basis for further libel.

That's a lie.

>
> But the "errors" to which you repeatedly refer (in a technically
> Fascist and reifying effort to conflate the number of your references
> and the number of errors) were, for the most part, matters of style
> and opinion such as density of code. What is interesting about these
> matters is that they cater to anti-intellectualism, itself a Fascist
> theme, and give people permission not to do their homework.

More Fascism, Mr Nilges?

>
> >
> > <irrelevant stuff snipped>
> >
> > > Instead, you transformed the discussion into a campaign of character
> > > assassination that violated its own rules when Richard congratulated
> > > you on your irrevelant home purchase
> >
> > That's a lie.
> >
> Again, you gave Chris a high five after he informed the ng that he was
> mentioned in a local paper, not as a programmer per se but as a home
> buyer.

That's a lie.

> This demonstrated that your narrow interpretation of focus rules is
> itself unenforceable, for the legislation of a major country whose
> laws are emulated widely concerning data quality is at a mininum more
> germane.

All countries are major countries to their citizens. I see nothing in
the charter that makes local political discussions topical simply
because the locale is perceived to be "major" by one of its citizens.

> Your narrow focus

All focus is narrow. That's what focus means - you know, concentrating
on just one thing. And this newsgroup focuses on programming. But *you*
are trying to focus on local politics, so all you have to do is find a
forum where local politics is the topic.

> is also provably unenforceable as a rule
> (and therefore useless as a rule) because it does not self-apply. It
> excludes any meta-discussion. Whatever the worth of meta-discussion
> it occurs all the time and makes your rule unenforceable.

*My* rule? Since when do *I* make the rules around here? The charter
determines what is topical here, and local political discussions are not
on the menu.

>
> > > and when Richard established a
> > > personally abusive thread.
> >
> > So's that.
>
> "Nilges...the movie" is personally abusive.

If you mean the thread content, you should point out any so-called abuse
in the thread itself. If you mean the title, I didn't think it was
abusive when I composed it. What I had in mind was the Usenet equivalent
of a TV series being made into a film; I wanted to reply to a number of
points you had made, spread over many articles in more than one thread.
I tried to find an appropriate thread title on that basis, and that's
what I came up with.

If you find this innocuous title offensive, however, I have little
sympathy for you, since you have been told REPEATEDLY that your
continual drawing of LOATHSOME comparisons of people in this newsgroup
to the despicable Nazi regime of 1930s and early 40s Germany is
*grossly* offensive, and yet you have continued to draw these
comparisons, over and over and over again, including one in the very
reply in which you make the (incorrect) claim that I have been abusive.

Hypocrisy over and *over* and OVER again.

This is a programming newsgroup, not a vile filth newsgroup. Please take
your vile filth to a newsgroup where it's topical.

Programmer Dude

unread,
Sep 18, 2002, 11:55:26 AM9/18/02
to
Richard Heathfield wrote:

> This is a programming newsgroup, not a vile filth newsgroup. Please take
> your vile filth to a newsgroup where it's topical.

alt.filth.vile ??

Edward G. Nilges

unread,
Sep 19, 2002, 7:59:05 PM9/19/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D882BB8...@eton.powernet.co.uk>...

> "Edward G. Nilges" wrote:
> >
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D86EBDA...@eton.powernet.co.uk>...
> > > "Edward G. Nilges" wrote:
> > > >
> <irrelevant stuff snipped>
> > > >
> > > > But Richard and you then proceeded to provide four months of evidence
> > > > of this deprofessionalization, for not only did your conduct in this
> > > > ng imply that professional programmers are nasty thugs, you also felt
> > > > it obvious that programmers should be seen and not heard.
> > >
> > > That's a lie.
>
> And Mr Nilges didn't deny it.

The default reply is now a blanket denial of everything you guys say,
so assume on no response that you are wrong. :-)

>
> > >
> > > > Had a civil conversation been conducted, I might well have
> > > > acknowledged being wrong on this issue.
> > >
> > > If you're wrong, say so. That simple adage could have helped this entire
> > > series of threads to remain civilised. Your inability to recognise your
> > > own errors when they are pointed out to you is a major contributing
> > > factor to the heat around here.
> >
> > On each point where I was incorrect, I said so.
>
> That's a lie.
>

That's an example of why there is no useful information in this ng,
since posters have to establish a basic credibility level which you
assault without doing your homework.

As I have said, USA economic arrangements are models, for good or bad,
for the rest of the world. If anything, the lack of a written
Constitution or bill of rights in your country makes it even harder
for UK citizens to access data they need.



> > Your narrow focus
>
> All focus is narrow. That's what focus means - you know, concentrating
> on just one thing. And this newsgroup focuses on programming. But *you*
> are trying to focus on local politics, so all you have to do is find a
> forum where local politics is the topic.
>

It's simply untrue that "all focus is narrow." Furthermore, a focus
on the relation of two specified and documented issues, such as
corporate sponsorship of the DQA and corporate failure to build
working enterprise systems (or believable annual reports), can be
quite specific.

Focus does not mean "concentrating on one thing." It means instead
concentrating on one thing at a time. And, of course, I did so, at
some prolixity.

You are being profoundly dishonest because as you know, useful
programming outside of systems software is about something.

> > is also provably unenforceable as a rule
> > (and therefore useless as a rule) because it does not self-apply. It
> > excludes any meta-discussion. Whatever the worth of meta-discussion
> > it occurs all the time and makes your rule unenforceable.
>
> *My* rule? Since when do *I* make the rules around here? The charter
> determines what is topical here, and local political discussions are not
> on the menu.
>

In effect you make the rules because you attempt at least to ruin the
reputation and credibility of people who violate your "rules."



> >
> > > > and when Richard established a
> > > > personally abusive thread.
> > >
> > > So's that.
> >
> > "Nilges...the movie" is personally abusive.
>
> If you mean the thread content, you should point out any so-called abuse
> in the thread itself. If you mean the title, I didn't think it was
> abusive when I composed it. What I had in mind was the Usenet equivalent
> of a TV series being made into a film; I wanted to reply to a number of
> points you had made, spread over many articles in more than one thread.
> I tried to find an appropriate thread title on that basis, and that's
> what I came up with.
>

Your intent was to divert the focus away from programming (and the
important relationship between code and society) and towards a
biographical campaign. As such you violated courtesy rules as well as
your own stated rules of focus.



> If you find this innocuous title offensive, however, I have little
> sympathy for you, since you have been told REPEATEDLY that your
> continual drawing of LOATHSOME comparisons of people in this newsgroup
> to the despicable Nazi regime of 1930s and early 40s Germany is
> *grossly* offensive, and yet you have continued to draw these
> comparisons, over and over and over again, including one in the very
> reply in which you make the (incorrect) claim that I have been abusive.
>
> Hypocrisy over and *over* and OVER again.
>
> This is a programming newsgroup, not a vile filth newsgroup. Please take
> your vile filth to a newsgroup where it's topical.

Lack of emotional control is not an argument. I have presented a
point of view, not "vile filth."

Richard Heathfield

unread,
Sep 19, 2002, 9:29:51 PM9/19/02
to
"Edward G. Nilges" wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D882BB8...@eton.powernet.co.uk>...

> The default reply is now a blanket denial of everything you guys say,
> so assume on no response that you are wrong. :-)

Don't tell me what to assume.

Silence traditionally implies assent. If you think someone's wrong, you
have the opportunity to say so and say WHY, using reasoned logical
arguments. If you don't take that opportunity, let people draw what
conclusions they may from your silence.


> > > > > Had a civil conversation been conducted, I might well have
> > > > > acknowledged being wrong on this issue.
> > > >
> > > > If you're wrong, say so. That simple adage could have helped this entire
> > > > series of threads to remain civilised. Your inability to recognise your
> > > > own errors when they are pointed out to you is a major contributing
> > > > factor to the heat around here.
> > >
> > > On each point where I was incorrect, I said so.
> >
> > That's a lie.
> >
> That's an example of why there is no useful information in this ng,
> since posters have to establish a basic credibility level which you
> assault without doing your homework.

I have marked, on many occasions, points in the discussion where you
were incorrect, and where you have *not* said so. Therefore, your
statement was a lie. I do not assault your credibility. You do that
yourself. I merely note the highlights of that assault.

<snip>

> > > This demonstrated that your narrow interpretation of focus rules is
> > > itself unenforceable, for the legislation of a major country whose
> > > laws are emulated widely concerning data quality is at a mininum more
> > > germane.
> >
> > All countries are major countries to their citizens. I see nothing in
> > the charter that makes local political discussions topical simply
> > because the locale is perceived to be "major" by one of its citizens.
> >
> As I have said, USA economic arrangements are models, for good or bad,
> for the rest of the world.

As I have said, you can make all the assertions you like, but they don't
cut any ice without evidence. More to the point, the USA's economic
model is *not topical here*.

> If anything, the lack of a written
> Constitution or bill of rights in your country makes it even harder
> for UK citizens to access data they need.

I haven't noticed any particular difficulty in getting hold of the
information I need. But again, this is not topical.

> > > Your narrow focus
> >
> > All focus is narrow. That's what focus means - you know, concentrating
> > on just one thing. And this newsgroup focuses on programming. But *you*
> > are trying to focus on local politics, so all you have to do is find a
> > forum where local politics is the topic.
> >
> It's simply untrue that "all focus is narrow."

focus, /n/ a fixed point such that the distances of a point on a conic
section from it and from the directrix have a constant ratio (/geom/); a
point in which rays converge after reflection or refraction, or from
which (/virtual focus/) they seem to diverge (/optics/); any central
point; the point or region of greatest activity; the point of origin (eg
of an earthquake); the position, or condition, of sharp definition of an
image.

Point, point, point, point, point, point. The word is mentioned no less
than six times in that definition. And you really can't get narrower
than a point.

So your statement is simply untrue.

<noise snipped>



> You are being profoundly dishonest because as you know, useful
> programming outside of systems software is about something.

I see the word "because" in there, but it seems out of place in such a
vague sentence. You might as well have said "you are being profoundly
dishonest because there's an animal in the zoo". The logic is escapable,
and has indeed escaped.

> > > is also provably unenforceable as a rule
> > > (and therefore useless as a rule) because it does not self-apply. It
> > > excludes any meta-discussion. Whatever the worth of meta-discussion
> > > it occurs all the time and makes your rule unenforceable.
> >
> > *My* rule? Since when do *I* make the rules around here? The charter
> > determines what is topical here, and local political discussions are not
> > on the menu.
> >
> In effect you make the rules because you attempt at least to ruin the
> reputation and credibility of people who violate your "rules."

No, I don't. You keep saying this, but it's simply not true. For a
start, I didn't write the charter, so they're not "my" rules. Secondly,
I have not attempted to ruin your reputation or credibility. You did
that yourself.

<snip>

> > > "Nilges...the movie" is personally abusive.
> >
> > If you mean the thread content, you should point out any so-called abuse
> > in the thread itself. If you mean the title, I didn't think it was
> > abusive when I composed it. What I had in mind was the Usenet equivalent
> > of a TV series being made into a film; I wanted to reply to a number of
> > points you had made, spread over many articles in more than one thread.
> > I tried to find an appropriate thread title on that basis, and that's
> > what I came up with.
> >
> Your intent was to divert the focus away from programming

No, it wasn't. I know it wasn't. I know what my intent is, and that
isn't it. You don't know what my intent is. You can only guess. You
guessed wrong. For you to state what my intent is or was, then, is to
lie.

> (and the
> important relationship between code and society)

Ohm's Law is important, but that does not make it topical here. The way
a laser printer gets the ink onto the paper via electrostatic charge is
important, but that does not make it topical here. Similarly, The
relationship between code and society may well be important, but that
does not make it topical here.

> and towards a
> biographical campaign. As such you violated courtesy rules as well as
> your own stated rules of focus.

No, I'm not interested in a biographical campaign. I'm interested in
programming. Courtesy rule #1 is that you don't sling around accusations
of Nazism, so you're in no position to make that kind of accusation.
And, for the Nth time, topicality is not yours or mine to decide. The
charter indicates what is topical.


> > If you find this innocuous title offensive, however, I have little
> > sympathy for you, since you have been told REPEATEDLY that your
> > continual drawing of LOATHSOME comparisons of people in this newsgroup
> > to the despicable Nazi regime of 1930s and early 40s Germany is
> > *grossly* offensive, and yet you have continued to draw these
> > comparisons, over and over and over again, including one in the very
> > reply in which you make the (incorrect) claim that I have been abusive.
> >
> > Hypocrisy over and *over* and OVER again.
> >
> > This is a programming newsgroup, not a vile filth newsgroup. Please take
> > your vile filth to a newsgroup where it's topical.
>
> Lack of emotional control

What lack of emotional control? I have no objection to your posting vile
filth in a vile filth newsgroup. I would just prefer it if you didn't
post it in a *programming* newsgroup.

> is not an argument.

You are in no position to say what is, and what is not, an argument,
since your writings in this newsgroup are riddled with non sequiturs,
logical fallacies, and much much worse besides.

> I have presented a
> point of view, not "vile filth."

Wrong.

gswork

unread,
Sep 20, 2002, 4:43:43 AM9/20/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8A7A0F...@eton.powernet.co.uk>...

> "Edward G. Nilges" wrote:
> >
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D882BB8...@eton.powernet.co.uk>...

> > (and the


> > important relationship between code and society)
>
> Ohm's Law is important, but that does not make it topical here. The way
> a laser printer gets the ink onto the paper via electrostatic charge is
> important, but that does not make it topical here. Similarly, The
> relationship between code and society may well be important, but that
> does not make it topical here.

It would be 'nextdoor' under

comp.society.*

Those groups get little traffic, but I'm sure Edward could enliven
them, and probably attract all manner of discussion. If you ignore
the spam in those groups then the subjects of the few threads that do
exist look quite suitable.

> > and towards a
> > biographical campaign. As such you violated courtesy rules as well as
> > your own stated rules of focus.
>
> No, I'm not interested in a biographical campaign. I'm interested in
> programming. Courtesy rule #1 is that you don't sling around accusations
> of Nazism, so you're in no position to make that kind of accusation.
> And, for the Nth time, topicality is not yours or mine to decide. The
> charter indicates what is topical.

By my interpretation Edward didn't *accuse* you of being a nazi.
Indeed, that kind of directness just ain't his thing, it seems. He
did draw parallel's between the way *he* interpreted your 'behaviour'
(by reading text no less*) and that of fascist practice (or should I
say praxis?). Doing that ensures there's a get out clause along the
lines of 'but i never said you were a nazi' yet still manages to
persistently associate the image of fascism with you in what appears
to be a most underhand and dispicable manner. Poison by association
as it were.

Of course I'd trust that this is certainly NOT edward's intent, and if
not then I'd hope he can show the good grace to drop it now and
recognise that it's not just innocent 'academic analogy' but has an
unpleasant and entirely avoidable consequence.

* I don't know either of your views on constructivism as a field in
communication. I find it appropriate here (and to be topical, in the
structuring of data in database design and programming). It basically
holds that the recipient of a message 'reconstructs' the meaning of
that messsage in accordance with his worldview and not that of the
sender. In other words you can say one thing and the recipient can
believe you said, or at least meant, another. Without non-word cues
newsgroup discussions are particularly prone to this.

Constructivism in computer science education (I made it kinda topical,
yippee!!)
http://www.kbs.uni-hannover.de/Arbeiten/Publikationen/1998/icl98/fullversion.html

Richard Heathfield

unread,
Sep 20, 2002, 5:58:04 AM9/20/02
to
gswork wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8A7A0F...@eton.powernet.co.uk>...

<snip>

> > No, I'm not interested in a biographical campaign. I'm interested in
> > programming. Courtesy rule #1 is that you don't sling around accusations
> > of Nazism, so you're in no position to make that kind of accusation.
> > And, for the Nth time, topicality is not yours or mine to decide. The
> > charter indicates what is topical.
>
> By my interpretation Edward didn't *accuse* you of being a nazi.
> Indeed, that kind of directness just ain't his thing, it seems. He
> did draw parallel's between the way *he* interpreted your 'behaviour'
> (by reading text no less*) and that of fascist practice (or should I
> say praxis?). Doing that ensures there's a get out clause along the
> lines of 'but i never said you were a nazi' yet still manages to
> persistently associate the image of fascism with you in what appears
> to be a most underhand and dispicable manner. Poison by association
> as it were.

Quite so; that does indeed appear to be his usual tactic. He forgot
himself on at least one occasion[1], however, so I stand by my
statement.

> Of course I'd trust that this is certainly NOT edward's intent,

Really? You're a most trusting soul, aren't you? :-)

<snip>

> * I don't know either of your views on constructivism as a field in
> communication. I find it appropriate here (and to be topical, in the
> structuring of data in database design and programming). It basically
> holds that the recipient of a message 'reconstructs' the meaning of
> that messsage in accordance with his worldview and not that of the
> sender. In other words you can say one thing and the recipient can
> believe you said, or at least meant, another. Without non-word cues
> newsgroup discussions are particularly prone to this.

This is undoubtedly true. Nevertheless, experienced Usenetters are wise
to this, and tend to be quite good at sorting out such
misunderstandings.

<warning - autobiographical content - check your pacemakers>
For example, I recall resolving a potentially unpleasant fight between
two normally quite civilised comp.lang.c gentlemen, simply by pointing
out to one of them that the other had inadvertently omitted a comma from
a statement; this omission made it (just) possible to misinterpret an
apology as - er - "attitude", I guess, and it was indeed misinterpreted
in that way at first. Mentally inserting the comma made it quite clear
that an apology had been intended, and all was well.
</warning>

I have no particular desire to construct Mr Nilges' world-view in my
head, though. It would be too painful a process.

<snip>


[1] If you care enough (and I don't blame you one little bit if you
don't), check the archives for "focus Nazi".

Programmer Dude

unread,
Sep 20, 2002, 11:02:34 AM9/20/02
to
"Edward G. Nilges" wrote:

> That's an example of why there is no useful information in this ng,
> since posters have to establish a basic credibility level which you
> assault without doing your homework.

You are almost correct up to the axe-grinding sour-grapes part which
you hit on the last seven words. You've also got the opening clause
inverted: it is *because* we go after mis-information and b.s. that
there *is* useful information here.

It works like this: if someone can make a technical assertion here and
receive only minor corrections, or no corrections at all, then there's
a decent chance the assertion is correct. There is a *huge* body of
experience and knowledge here, and there's usually a knowledgable person
around who knows your particular subject.

Conversely, if one makes technical assertions here and receives unanimous
rebuttal and corrections, then one probably has something to learn.


> In effect you make the rules because you attempt at least to ruin the
> reputation and credibility of people who violate your "rules."

A persistant misunderstanding on your part based on the false perception
that we question your reputation and credibility for reasons OTHER than
your demonstrated ability and understanding.

We question you, BECAUSE of the (perceived lack of) ability and
understanding you demonstrate. That's how scientists and engineers
work. We require facts, evidence, rationale and logic. You've
been manifestly deficient in all four.

> I have presented a point of view, not "vile filth."

The problem is your point of view contains much that is vile filth to
any civilized mind. Witness the *unanimous* reaction to you here.

Programmer Dude

unread,
Sep 20, 2002, 11:14:16 AM9/20/02
to
gswork wrote:

> * I don't know either of your views on constructivism as a field in
> communication.

I became a programmer my last year of college. Prior to that, I was
a Communications Arts major, so.... ;-)

> It basically holds that the recipient of a message 'reconstructs'
> the meaning of that messsage in accordance with his worldview and
> not that of the sender.

This is very true. Some experts have indicated *multiple* translation
phases between Person A's thoughts and Person B's thoughts: First,
from the conceptual thoughts of A to the internal *words* of A (we
aren't always able to express our ideas precisely for a variety of
reasons). Second, from the internal words of A to the spoken words
of A (again, verbal and externalizing skills play a role, but so does
the difference between thought and word).

Then, B must hear (or read) those words and internalize them. And
finally, B must convert the internal thoughts to their own internal
world map.

Lots of room for misunderstanding! (Possibly one reason spoken (and
even written) word actually contains much redundency.)

We saw a great example inthread when Ed perceived "slap on the hand"
as "high five". (If only Richard had written "wrist", the whole issue
may have been avoided, but witness that the rest of us understood him,
so most of the translation error in this case was in the receiver.)

> Without non-word cues newsgroup discussions are particularly prone
> to this.

It has been said that communication between humans can be as much as
90% visual/audible.

Richard Heathfield

unread,
Sep 20, 2002, 1:46:18 PM9/20/02
to
Programmer Dude wrote:
>
<snip>

>
> We saw a great example inthread when Ed perceived "slap on the hand"
> as "high five". (If only Richard had written "wrist", the whole issue
> may have been avoided, but witness that the rest of us understood him,
> so most of the translation error in this case was in the receiver.)

When I was a kid, if the teacher reckoned I'd misbehaved in some minor
way, I was slapped on the hand, either on the back (a light slap) or, if
the perceived (and occasionally real!) misbehaviour was more serious, on
the palm of the hand with a ruler (ouch). Note: not the wrist, but the
hand. I have heard the phrase "slap on the wrist" but never saw the
sense to it, since I've never known anyone discipline anyone else in
that way, ever. Perhaps it's different in the States. Anyway, Mr
Nilges's error of interpretation has been pointed out to him on a number
of occasions, but last I heard, it hadn't sunk in yet.

Programmer Dude

unread,
Sep 20, 2002, 3:42:44 PM9/20/02
to
Richard Heathfield wrote:

> When I was a kid, if the teacher reckoned I'd misbehaved in some minor
> way, I was slapped on the hand, either on the back (a light slap) or, if
> the perceived (and occasionally real!) misbehaviour was more serious, on
> the palm of the hand with a ruler (ouch). Note: not the wrist, but the
> hand. I have heard the phrase "slap on the wrist" but never saw the
> sense to it, since I've never known anyone discipline anyone else in
> that way, ever. Perhaps it's different in the States. Anyway, Mr
> Nilges's error of interpretation has been pointed out to him on a number
> of occasions, but last I heard, it hadn't sunk in yet.

I figured it was something along those lines (history/culture).

Now that you mention it, "slap on the wrist" IS a little odd, but it's
what I've heard and read. WRT the ruler, another common one is a rap
on the knuckles!

Edward G. Nilges

unread,
Sep 20, 2002, 4:14:29 PM9/20/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8AF12C...@eton.powernet.co.uk>...

> gswork wrote:
> >
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8A7A0F...@eton.powernet.co.uk>...
>
> <snip>
>
> > > No, I'm not interested in a biographical campaign. I'm interested in
> > > programming. Courtesy rule #1 is that you don't sling around accusations
> > > of Nazism, so you're in no position to make that kind of accusation.
> > > And, for the Nth time, topicality is not yours or mine to decide. The
> > > charter indicates what is topical.
> >
> > By my interpretation Edward didn't *accuse* you of being a nazi.
> > Indeed, that kind of directness just ain't his thing, it seems. He
> > did draw parallel's between the way *he* interpreted your 'behaviour'
> > (by reading text no less*) and that of fascist practice (or should I
> > say praxis?). Doing that ensures there's a get out clause along the
> > lines of 'but i never said you were a nazi' yet still manages to
> > persistently associate the image of fascism with you in what appears
> > to be a most underhand and dispicable manner. Poison by association
> > as it were.
>
> Quite so; that does indeed appear to be his usual tactic. He forgot
> himself on at least one occasion[1], however, so I stand by my
> statement.

Sounds pretty sleazy of me. However, the alternative is that Fascism
becomes an unmentionable in polite exchanges even in the hypothetical
case where it is in fact apropos.

On the news today, we see a German judge attacked for making a careful
comparision between Hitler's use of foreign aggression to manage
domestic opposition, and Bush's policies.

The fact is that ever since Henry V and before, statesmen at all moral
levels have used international adventure to manage domestic
opposition. The judge was trying to show that giving a blank check to
this policy leads to an evil which she had the courage to name.

The fact is that USA hate radio figures replicate charges hundreds of
times, using the ease of electronic replication, to make it appear
that a large volume of actual issues exist. The fact is that the Nazi
party was skilled in using the radio for the same purpose for once you
have a transmitter it becomes easy to repeat the same thing, over and
over.

However, one should not use "Hitler" UNLESS a serious cause exists.
For the German judge, the cause is the fact that Bush is dragging the
USA into a unilateral war of aggression in violation of the
Constitution and its membership in the United Nations.

For me, there is the harm done by Richard's reckless disregard for the
truth.

Those who do not learn from history are condemned to repeat it. If
certain zones of history, such as the Fascist era, become a sort of
XXX-rated pornography then the evil will be repeated.

Why does Jerry Seinfeld get to use the four-character string N* and I
do not? I was attempting to lighten Richard up, a difficult task.

Edward G. Nilges

unread,
Sep 20, 2002, 4:36:11 PM9/20/02
to
gsw...@mailcity.com (gswork) wrote in message news:<81f33a98.02092...@posting.google.com>...

> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8A7A0F...@eton.powernet.co.uk>...
> > "Edward G. Nilges" wrote:
> > >
> > > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D882BB8...@eton.powernet.co.uk>...
>
> > > (and the
> > > important relationship between code and society)
> >
> > Ohm's Law is important, but that does not make it topical here. The way
> > a laser printer gets the ink onto the paper via electrostatic charge is
> > important, but that does not make it topical here. Similarly, The
> > relationship between code and society may well be important, but that
> > does not make it topical here.
>
> It would be 'nextdoor' under
>
> comp.society.*
>
> Those groups get little traffic, but I'm sure Edward could enliven
> them, and probably attract all manner of discussion. If you ignore
> the spam in those groups then the subjects of the few threads that do
> exist look quite suitable.

The problem is that these groups do not attract working programmers
and my concern is the situation of the working programmer, directed by
lawn trolls to do the impossible with outdated tools like C.

Prior to entering comp.society.* technicians need to discuss the
relevant interface between the actual content of what they do and
broader issues...for the same reason that an application programmer
cannot, by definition, "mindlessly code" the specifications of a
system but must instead grasp the application.

Because a group of this description does not exist, the default group
remains appropriate.

However, if I am mistaken and it does exist I will transfer the
discussion.

>
> > > and towards a
> > > biographical campaign. As such you violated courtesy rules as well as
> > > your own stated rules of focus.
> >
> > No, I'm not interested in a biographical campaign. I'm interested in
> > programming. Courtesy rule #1 is that you don't sling around accusations
> > of Nazism, so you're in no position to make that kind of accusation.
> > And, for the Nth time, topicality is not yours or mine to decide. The
> > charter indicates what is topical.
>
> By my interpretation Edward didn't *accuse* you of being a nazi.
> Indeed, that kind of directness just ain't his thing, it seems. He
> did draw parallel's between the way *he* interpreted your 'behaviour'
> (by reading text no less*) and that of fascist practice (or should I
> say praxis?). Doing that ensures there's a get out clause along the
> lines of 'but i never said you were a nazi' yet still manages to
> persistently associate the image of fascism with you in what appears
> to be a most underhand and dispicable manner. Poison by association
> as it were.
>
> Of course I'd trust that this is certainly NOT edward's intent, and if
> not then I'd hope he can show the good grace to drop it now and
> recognise that it's not just innocent 'academic analogy' but has an
> unpleasant and entirely avoidable consequence.

The problem is that Richard, without doing any homework and with
reckless disregard for the truth, has libeled me.

>
> * I don't know either of your views on constructivism as a field in
> communication. I find it appropriate here (and to be topical, in the
> structuring of data in database design and programming). It basically
> holds that the recipient of a message 'reconstructs' the meaning of
> that messsage in accordance with his worldview and not that of the
> sender. In other words you can say one thing and the recipient can
> believe you said, or at least meant, another. Without non-word cues
> newsgroup discussions are particularly prone to this.

I feel rather like a weary researcher for SETI (the search for signs
of extra-terrestrial intelligence), for you have at long last said
something that needed to be said.

Richard has deliberately and with malice assumed that a naive "folk"
view of communication is applicable to Internet discussions, a view in
which my specific phrasing of the Fascist point is mechanically
reducible to "you is a Nazi yadayada.")

This folk view is related to Fundamentalism and is indeed a
technocrat's Fundamentalism because it hates language and therefore
would reduce it to the series of commands envisioned by St Augustine,
a picture that Wittgenstein showed inadequate to practice.

The fact that non-word cues are missing MEANS, to me, that Richard's
practice of deliberately defining, without due diligence, zones of
postings as "irrevelant nonsense" is malpractice and means he is
unqualified to participate in this discussion.

It appears to me that he at best "scans" zones of postings using only
his mental lexical analyzer. A lexical analyzer, of course, is able
to recognize only basic tokens...in media studies terms, "sound
bytes."

He fails to parse at a higher level.

We know that Richard regards his time as uniquely valuable, therefore
he may not parse as a time-saving gesture. The problem is that as a
result he hasn't addressed the issues.

He hasn't addressed the fact that one reason for low data quality is
the forced use of out of date languages like C based on the vanity and
arrogance of senior people who (like senior faculty at Princeton in
some, by no means all, cases) can not, ever, admit that there might be
worthwhile things about their field that they don't know.

It's not enough, in my view, to say "well, Internet communication is
flawed because non-word cues are missing." Nor is it nearly enough to
add doo dads like videoconferencing; videoconferencing was in use at
Morton Thiokol during the approval of the 1986 Challenger launch, and
the key exchanges occured outside the camera's range;
videoconferencing adds a margin between the seen and unseen which
becomes MORE meaningful than the seen.

Instead, old-fashioned hard work and charity are needed, by which I
mean the willingness to do due diligence in understanding supplemented
by an assumption that all participants mean well until proven
otherwise. This doesn't allow repeatedly and mechanically posting
"that's a lie" as does Richard.

Richard tells us his time is valuable. This is slim evidence, but it
is evidence, that he MAY be working as an agent on behalf of a
corporate or government entity that would censor true freedom of
speech on the Internet, because if his time is valuable, then why does
he so often post?

Programmer Dude

unread,
Sep 20, 2002, 4:43:49 PM9/20/02
to
"Edward G. Nilges" wrote:

> Why does Jerry Seinfeld get to use the four-character string N* and I
> do not?

You can't tell the difference between tv sitcom and a social/technical
newsgroup?

Further, would you hold Jerry and his pals up as models of interpersonal
behavior?

Programmer Dude

unread,
Sep 20, 2002, 4:42:23 PM9/20/02
to
"Edward G. Nilges" wrote:

> He hasn't addressed the fact that one reason for low data quality is

> the forced use of out of date languages like C...

What does language have to do with *data quality*?

Let's consider a *very* out-of-date language: IBM 360 assembler.

Can you support the assertion that (correct) use of this language
in any way results in "low data quality"?

Richard Heathfield

unread,
Sep 20, 2002, 5:42:39 PM9/20/02
to
"Edward G. Nilges" wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8AF12C...@eton.powernet.co.uk>...
> > gswork wrote:
> > >
> > > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8A7A0F...@eton.powernet.co.uk>...
> >
> > <snip>
> >
> > > > No, I'm not interested in a biographical campaign. I'm interested in
> > > > programming. Courtesy rule #1 is that you don't sling around accusations
> > > > of Nazism, so you're in no position to make that kind of accusation.
> > > > And, for the Nth time, topicality is not yours or mine to decide. The
> > > > charter indicates what is topical.
> > >
> > > By my interpretation Edward didn't *accuse* you of being a nazi.
> > > Indeed, that kind of directness just ain't his thing, it seems. He
> > > did draw parallel's between the way *he* interpreted your 'behaviour'
> > > (by reading text no less*) and that of fascist practice (or should I
> > > say praxis?). Doing that ensures there's a get out clause along the
> > > lines of 'but i never said you were a nazi' yet still manages to
> > > persistently associate the image of fascism with you in what appears
> > > to be a most underhand and dispicable manner. Poison by association
> > > as it were.
> >
> > Quite so; that does indeed appear to be his usual tactic. He forgot
> > himself on at least one occasion[1], however, so I stand by my
> > statement.
>
> Sounds pretty sleazy of me.

Indeed.

> However, the alternative is that Fascism
> becomes an unmentionable in polite exchanges even in the hypothetical
> case where it is in fact apropos.

The *intelligent* alternative is that discussion of Fascism is carried
out in groups where discussion of Fascism is topical. Duh.

<noise snipped>



> For me, there is the harm done by Richard's reckless disregard for the
> truth.

That's a lie. It may even count as a damned lie. Any harm that has been
done to you in this thread has been of your own making. Your accusation
that I have a reckless disregard for the truth is, itself, a falsehood.

<noise snipped>

> Why does Jerry Seinfeld get to use the four-character string N* and I
> do not?

Feel free to discuss Nazism in newsgroups where it is topical. Jerry
Seinfeld, whoever he may be, can also discuss it in newsgroups where it
is topical. It is not topical in comp.programming.

> I was attempting to lighten Richard up, a difficult task.

Is that how you normally lighten people up - calling them Nazis? Well,
it doesn't work on me.

Richard Heathfield

unread,
Sep 20, 2002, 5:56:01 PM9/20/02
to
"Edward G. Nilges" wrote:
>
> The problem is that these groups do not attract working programmers

There may just be a good reason for that - i.e. that working programmers
couldn't give a tinker's cuss about the issues you want to discuss. It's
a possibility worth bearing in mind.

> and my concern is the situation of the working programmer,

Then find a newsgroup devoted to the situation of the working
programmer. This is not such a group. It is a group for discussing
programming, not programmers.

> directed by
> lawn trolls to do the impossible with outdated tools like C.

Begging the question. Typical shyster trick. Debate honestly, please.

<noise snipped>


>
> Because a group of this description does not exist, the default group
> remains appropriate.

Not so. This is not "the default group" - it is a group which discusses
programming. The non-existence of a group for discussing X does not
imply that X is topical in comp.programming, irrespective of what X is.

> However, if I am mistaken and it does exist I will transfer the
> discussion.

Thank you. And, if it does not exist, presumably you would want to
create it. Fine by me.

<snip>


>
> The problem is that Richard, without doing any homework and with
> reckless disregard for the truth, has libeled me.

No, I haven't a reckless disregard for the truth and no, I haven't
libelled you. I ought to assign a hotkey to that phrase, FCOL.

> > * I don't know either of your views on constructivism as a field in
> > communication. I find it appropriate here (and to be topical, in the
> > structuring of data in database design and programming). It basically
> > holds that the recipient of a message 'reconstructs' the meaning of
> > that messsage in accordance with his worldview and not that of the
> > sender. In other words you can say one thing and the recipient can
> > believe you said, or at least meant, another. Without non-word cues
> > newsgroup discussions are particularly prone to this.
>
> I feel rather like a weary researcher for SETI (the search for signs
> of extra-terrestrial intelligence), for you have at long last said
> something that needed to be said.
>

<typical Nilges noise snipped>


>
> We know that Richard regards his time as uniquely valuable,

No. Like anyone here, I regard my time as valuable, but not *uniquely*
so.

> therefore
> he may not parse as a time-saving gesture. The problem is that as a
> result he hasn't addressed the issues.

The DQA issue is not relevant in this newsgroup. That is why I have not
addressed it.

> He hasn't addressed the fact that one reason for low data quality is
> the forced use of out of date languages like C

Begging the question again. Shyster trick. Debate honestly, please.

<noise snipped>


>
> Richard tells us his time is valuable. This is slim evidence, but it
> is evidence, that he MAY be working as an agent on behalf of a
> corporate or government entity that would censor true freedom of
> speech on the Internet,

Look, I don't give a damn what you write as long as you do it in a
newsgroup where it's topical. For discussions of 1930s Germany, try a
history newsgroup. For discussions of regional politics, try a regional
political newsgroup. Here in comp.programming, the charter says that we
discuss programming, so that's what we discuss.

> because if his time is valuable, then why does
> he so often post?

Simple - I happen to think that discussing programming, and answering
people's questions about programming when I can, is a good use of my
time. I also happen to think that it's a good use of my time to post
corrections to errors of fact that I happen to notice in the articles I
read.

Al Dunbar

unread,
Sep 21, 2002, 12:44:20 PM9/21/02
to

"Richard Heathfield" <bin...@eton.powernet.co.uk> wrote in message
news:3D8B964F...@eton.powernet.co.uk...

> "Edward G. Nilges" wrote:
> >
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message
news:<3D8AF12C...@eton.powernet.co.uk>...
> > > gswork wrote:
> > > >
> > > > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message
news:<3D8A7A0F...@eton.powernet.co.uk>...

<snip>

> > However, the alternative is that Fascism


> > becomes an unmentionable in polite exchanges even in the hypothetical
> > case where it is in fact apropos.
>
> The *intelligent* alternative is that discussion of Fascism is carried
> out in groups where discussion of Fascism is topical. Duh.

And, even in those groups, I would think that the discussion would tend to
compare the general activities of some group of people to some aspect of
naziism or some other fascist group in the past. I doubt that a serious
discussion of fascism would include such comparisons about an individual
member of the discussion group, especially once he has made it plain that he
finds it personally offensive (as if one should have to even say so).

> > Why does Jerry Seinfeld get to use the four-character string N* and I
> > do not?
>
> Feel free to discuss Nazism in newsgroups where it is topical. Jerry
> Seinfeld, whoever he may be, can also discuss it in newsgroups where it
> is topical. It is not topical in comp.programming.

More to the point, he is not talking about it here - the reference was the
use of the term on his TV show, which probably has nothing to do with
whether or not he would tend to want to talk about fascism.

/Al


Al Dunbar

unread,
Sep 21, 2002, 12:46:53 PM9/21/02
to

"Programmer Dude" <cjso...@mmm.com> wrote in message
news:3D8B7A34...@mmm.com...

> Richard Heathfield wrote:
>
> > When I was a kid, if the teacher reckoned I'd misbehaved in some minor
> > way, I was slapped on the hand, either on the back (a light slap) or, if
> > the perceived (and occasionally real!) misbehaviour was more serious, on
> > the palm of the hand with a ruler (ouch). Note: not the wrist, but the
> > hand. I have heard the phrase "slap on the wrist" but never saw the
> > sense to it, since I've never known anyone discipline anyone else in
> > that way, ever. Perhaps it's different in the States. Anyway, Mr
> > Nilges's error of interpretation has been pointed out to him on a number
> > of occasions, but last I heard, it hadn't sunk in yet.
>
> I figured it was something along those lines (history/culture).
>
> Now that you mention it, "slap on the wrist" IS a little odd, but it's
> what I've heard and read. WRT the ruler, another common one is a rap
> on the knuckles!

And these days it is, as often as not, a slap "upside the head" - go figure.

/Al

Al Dunbar

unread,
Sep 21, 2002, 1:14:09 PM9/21/02
to

"Edward G. Nilges" <spino...@yahoo.com> wrote in message
news:f5dda427.02092...@posting.google.com...

> gsw...@mailcity.com (gswork) wrote in message
news:<81f33a98.02092...@posting.google.com>...
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message
news:<3D8A7A0F...@eton.powernet.co.uk>...
> > > "Edward G. Nilges" wrote:
> > > >
> > > > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message
news:<3D882BB8...@eton.powernet.co.uk>...

> > > Ohm's Law is important, but that does not make it topical here. The


way
> > > a laser printer gets the ink onto the paper via electrostatic charge
is
> > > important, but that does not make it topical here. Similarly, The
> > > relationship between code and society may well be important, but that
> > > does not make it topical here.
> >
> > It would be 'nextdoor' under
> >
> > comp.society.*
> >
> > Those groups get little traffic, but I'm sure Edward could enliven
> > them, and probably attract all manner of discussion. If you ignore
> > the spam in those groups then the subjects of the few threads that do
> > exist look quite suitable.
>
> The problem is that these groups do not attract working programmers
> and my concern is the situation of the working programmer, directed by
> lawn trolls to do the impossible with outdated tools like C.
>
> Prior to entering comp.society.* technicians need to discuss the
> relevant interface between the actual content of what they do and
> broader issues...for the same reason that an application programmer
> cannot, by definition, "mindlessly code" the specifications of a
> system but must instead grasp the application.

Oh, and whose "rule" is it that technicians need to do this? Is it written
somewhere in the charter? Even *this* group has no requirement as to what
one must do before engaging in discussion, other than to observe for a while
first.

> > * I don't know either of your views on constructivism as a field in
> > communication. I find it appropriate here (and to be topical, in the
> > structuring of data in database design and programming). It basically
> > holds that the recipient of a message 'reconstructs' the meaning of
> > that messsage in accordance with his worldview and not that of the
> > sender. In other words you can say one thing and the recipient can
> > believe you said, or at least meant, another. Without non-word cues
> > newsgroup discussions are particularly prone to this.
>
> I feel rather like a weary researcher for SETI (the search for signs
> of extra-terrestrial intelligence), for you have at long last said
> something that needed to be said.
>
> Richard has deliberately and with malice assumed that a naive "folk"
> view of communication is applicable to Internet discussions, a view in
> which my specific phrasing of the Fascist point is mechanically
> reducible to "you is a Nazi yadayada.")

In turn, I think that your view as to what is applicable in Internet
discussions is particularly and spectacularly inane...

> This folk view is related to Fundamentalism and is indeed a
> technocrat's Fundamentalism because it hates language and therefore
> would reduce it to the series of commands envisioned by St Augustine,
> a picture that Wittgenstein showed inadequate to practice.

... for example, many very useful and helpful discussions have taken place
here without reference to the saints or non-technical scholarly studies and
works from other disciplines. This is not to say that members have no
interest or competence in these other ares, just that such references do not
generally add to the understanding of what is currently under discussion.

> The fact that non-word cues are missing MEANS, to me, that Richard's
> practice of deliberately defining, without due diligence, zones of
> postings as "irrevelant nonsense" is malpractice and means he is
> unqualified to participate in this discussion.

In fact, the practice is an extremely practical and useful one that is
regularly seen all over usenet. Without it, the entire content of the thread
to date would contain everything that had gone before. Snipping what is
irrelevant to what one is replying to is simply a courtesy. I will admit
that there has sometimes been an element here of "what you say is totally
irrelevant" rather than "let me focus for a moment on this one point of
yours", however, I think this is something you have earned.

But, in a sense, you do exactly the same thing, Ed, when you snip /nothing/
and yet make no replies to the questions and comments that remain quoted in
the post. You and Richard are basically /both/ ignoring much of what the
other says. The basic difference, however, is that Richard's posts are
easier to follow and less annoying, as they do not force one to review text
that is not germane to his discussion, whereas you force us to scan through
stuff that you have ignored.

But, in snipping, Richard is not obscuring or hiding your thought. Your
words are still there in the archives of the discussion.

> It appears to me that he at best "scans" zones of postings using only
> his mental lexical analyzer. A lexical analyzer, of course, is able
> to recognize only basic tokens...in media studies terms, "sound
> bytes."

I would suggest you spend less time theorizing about Richard's internal
motives and reasoning, mainly because I think such musings of yours are
often so wildly off the mark. At least they have been in most of what you
have said about me.

> He fails to parse at a higher level.

Oh? How do you parse?

> We know that Richard regards his time as uniquely valuable, therefore
> he may not parse as a time-saving gesture. The problem is that as a
> result he hasn't addressed the issues.
>
> He hasn't addressed the fact that one reason for low data quality is
> the forced use of out of date languages like C based on the vanity and
> arrogance of senior people who (like senior faculty at Princeton in
> some, by no means all, cases) can not, ever, admit that there might be
> worthwhile things about their field that they don't know.

There are a very many issues that are not addressed here. Instead of railing
against this unavoidable fact, why not stick to actually addressing some
yourself?

> It's not enough, in my view, to say "well, Internet communication is
> flawed because non-word cues are missing." Nor is it nearly enough to
> add doo dads like videoconferencing; videoconferencing was in use at
> Morton Thiokol during the approval of the 1986 Challenger launch, and
> the key exchanges occured outside the camera's range;
> videoconferencing adds a margin between the seen and unseen which
> becomes MORE meaningful than the seen.
>
> Instead, old-fashioned hard work and charity are needed, by which I
> mean the willingness to do due diligence in understanding supplemented
> by an assumption that all participants mean well until proven
> otherwise. This doesn't allow repeatedly and mechanically posting
> "that's a lie" as does Richard.

I believe that Richard's "that's a lie" comments communicate quite
effectively what it is he wants to say, especially the way they are
interspersed among the comments that you repeatedly make without addressing
the dissent they have fostered.

> Richard tells us his time is valuable. This is slim evidence, but it
> is evidence, that he MAY be working as an agent on behalf of a
> corporate or government entity that would censor true freedom of
> speech on the Internet, because if his time is valuable, then why does
> he so often post?

Whenever I find myself thinking about another person that their actions can
mean only one thing (that I can think of, at least) and that one thing is so
outrageous and off the wall that, on its own, it is highly unlikely, I
remind myself that, when it comes to what makes other people tick, I usually
have no idea.

You have gotten certain conceptions into your head about various people you
have encountered here, and you seem to be clinging to these conceptions so
strongly that this rules out understanding much about us. And some of these
misconceptions are so odd, that it is easier to continue to believe any wild
new fantasy that comes along because it reinforces the misconception. I have
met others that are somewhat like this, and, really, sometimes there is no
talking to them.


/Al

Edward G. Nilges

unread,
Sep 21, 2002, 1:26:07 PM9/21/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8B9971...@eton.powernet.co.uk>...

> "Edward G. Nilges" wrote:
> >
> > The problem is that these groups do not attract working programmers
>
> There may just be a good reason for that - i.e. that working programmers
> couldn't give a tinker's cuss about the issues you want to discuss. It's
> a possibility worth bearing in mind.

Indeed, this may be the case. Another possibility, almost a
tautologous possibility, is that working programmers may be too busy
to discuss these issues.

Having been directed by an eminent company director to use C, they may
be too busy finding memory leaks and buffer overflows to sit about
like gentlemen of culture and of leisure, and gas about the Higher
Sodomy of C.

This genuine possibility was raised by none other than the old fraud
of Highgate Cemetary, Marx. His theory of "false consciousness" is
that the proletariat is unable to think things through in all
empirical cases because the proletariat is liable to be thrashed by
company directors.


>
> > and my concern is the situation of the working programmer,
>
> Then find a newsgroup devoted to the situation of the working
> programmer. This is not such a group. It is a group for discussing
> programming, not programmers.
>
> > directed by
> > lawn trolls to do the impossible with outdated tools like C.
>
> Begging the question. Typical shyster trick. Debate honestly, please.
>
> <noise snipped>
> >
> > Because a group of this description does not exist, the default group
> > remains appropriate.
>
> Not so. This is not "the default group" - it is a group which discusses
> programming. The non-existence of a group for discussing X does not
> imply that X is topical in comp.programming, irrespective of what X is.
>

Still wrong after all these months because the implication of
hierarchy is that default issues belong in higher levels of the damn
hierarchy.



> > However, if I am mistaken and it does exist I will transfer the
> > discussion.
>
> Thank you. And, if it does not exist, presumably you would want to
> create it. Fine by me.
>

What, and have you conduct a month-long campaign of character
assassination against the creation?

Not so much begging as rhetorically repeating myself for effect.



> <noise snipped>
> >
> > Richard tells us his time is valuable. This is slim evidence, but it
> > is evidence, that he MAY be working as an agent on behalf of a
> > corporate or government entity that would censor true freedom of
> > speech on the Internet,
>
> Look, I don't give a damn what you write as long as you do it in a
> newsgroup where it's topical. For discussions of 1930s Germany, try a
> history newsgroup. For discussions of regional politics, try a regional
> political newsgroup. Here in comp.programming, the charter says that we
> discuss programming, so that's what we discuss.
>

How convenient it would be to have everything unrelated to everything
else.



> > because if his time is valuable, then why does
> > he so often post?
>
> Simple - I happen to think that discussing programming, and answering
> people's questions about programming when I can, is a good use of my
> time. I also happen to think that it's a good use of my time to post
> corrections to errors of fact that I happen to notice in the articles I
> read.

But why do you spend so much time disrupting this thread?

Richard Heathfield

unread,
Sep 21, 2002, 2:28:54 PM9/21/02
to
"Edward G. Nilges" wrote:
>
<snip>

>
> Having been directed by an eminent company director to use C,

I presume you mean me, despite the word "eminent". Whom have I directed
to use C? I advocate choice and diversity, not stultifying uniformity.

> they may
> be too busy finding memory leaks and buffer overflows

For any language (and this includes C *and* Visual Basic), you should
learn how to write it before you write production code in it.

<snip>

> > <noise snipped>
> > >
> > > Because a group of this description does not exist, the default group
> > > remains appropriate.
> >
> > Not so. This is not "the default group" - it is a group which discusses
> > programming. The non-existence of a group for discussing X does not
> > imply that X is topical in comp.programming, irrespective of what X is.
> >
> Still wrong after all these months because the implication of
> hierarchy is that default issues belong in higher levels of the damn
> hierarchy.

I don't know of a damn hierarchy. Perhaps you meant the soc hierarchy.
This newsgroup is in the comp hierarchy, which is all about computers,
not sociology.


> > > However, if I am mistaken and it does exist I will transfer the
> > > discussion.
> >
> > Thank you. And, if it does not exist, presumably you would want to
> > create it. Fine by me.
> >
> What, and have you conduct a month-long campaign of character
> assassination against the creation?

Not at all. In fact, if you try to set up such a newsgroup and, in due
course, issue a call for votes, I'll even vote *for* it (if you remind
me). I suspect quite a few others here will, too.

<snip>

> > > Richard tells us his time is valuable. This is slim evidence, but it
> > > is evidence, that he MAY be working as an agent on behalf of a
> > > corporate or government entity that would censor true freedom of
> > > speech on the Internet,
> >
> > Look, I don't give a damn what you write as long as you do it in a
> > newsgroup where it's topical. For discussions of 1930s Germany, try a
> > history newsgroup. For discussions of regional politics, try a regional
> > political newsgroup. Here in comp.programming, the charter says that we
> > discuss programming, so that's what we discuss.
> >
> How convenient it would be to have everything unrelated to everything
> else.

Compartmentalisation is how we make sense of the world. If you think
there is a real benefit in having a newsgroup which can discuss the
relationship between programmers and society, then set up a newsgroup
for it. Like I said before, I'll vote *for* it.

> > > because if his time is valuable, then why does
> > > he so often post?
> >
> > Simple - I happen to think that discussing programming, and answering
> > people's questions about programming when I can, is a good use of my
> > time. I also happen to think that it's a good use of my time to post
> > corrections to errors of fact that I happen to notice in the articles I
> > read.
>
> But why do you spend so much time disrupting this thread?

What you call "disrupting", I call "correcting your errors". If I have
to post a lot, there's a good reason for that. Think about it.

Ben Pfaff

unread,
Sep 21, 2002, 3:19:40 PM9/21/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> writes:

> "Edward G. Nilges" wrote:
> > Having been directed by an eminent company director to use C,
>
> I presume you mean me, despite the word "eminent".

Wait a second. Are you an eminent company director or a
subversive MI5 agent? EGN seems to be getting his
comp.programming pantheon mixed up...
--
"Then, I came to my senses, and slunk away, hoping no one overheard my
thinking."
--Steve McAndrewSmith in the Monastery

Richard Heathfield

unread,
Sep 21, 2002, 4:09:29 PM9/21/02
to
Ben Pfaff wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> writes:
>
> > "Edward G. Nilges" wrote:
> > > Having been directed by an eminent company director to use C,
> >
> > I presume you mean me, despite the word "eminent".
>
> Wait a second. Are you an eminent company director or a
> subversive MI5 agent?

No.

> EGN seems to be getting his
> comp.programming pantheon mixed up...

Nor am I a theon. ;-)

Al Dunbar

unread,
Sep 21, 2002, 7:51:10 PM9/21/02
to

"Edward G. Nilges" <spino...@yahoo.com> wrote in message
news:f5dda427.02092...@posting.google.com...
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message
news:<3D8B9971...@eton.powernet.co.uk>...
> > "Edward G. Nilges" wrote:
> > >
> > > The problem is that these groups do not attract working programmers
> >
> > There may just be a good reason for that - i.e. that working programmers
> > couldn't give a tinker's cuss about the issues you want to discuss. It's
> > a possibility worth bearing in mind.
>
> Indeed, this may be the case. Another possibility, almost a
> tautologous possibility, is that working programmers may be too busy
> to discuss these issues.

Two different ways to say that the subject lacks sufficient importance to
get working programmers to spend time discussing it.

> Having been directed by an eminent company director to use C, they may
> be too busy finding memory leaks and buffer overflows to sit about
> like gentlemen of culture and of leisure, and gas about the Higher
> Sodomy of C.

Similarly, working VB programmers may be spending inordinate amounts of time
getting their software to actually do what it is supposed to after having
created the forms to make it look so.

/Al

Edward G. Nilges

unread,
Sep 21, 2002, 9:38:02 PM9/21/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8CBA66...@eton.powernet.co.uk>...

> "Edward G. Nilges" wrote:
> >
> <snip>
> >
> > Having been directed by an eminent company director to use C,
>
> I presume you mean me, despite the word "eminent". Whom have I directed
> to use C? I advocate choice and diversity, not stultifying uniformity.
>
> > they may
> > be too busy finding memory leaks and buffer overflows
>
> For any language (and this includes C *and* Visual Basic), you should
> learn how to write it before you write production code in it.

These hortatory, autobiographical statements run counter to thirty
years of experience in the development of large systems by multiple
and even single authors.

They have grown in recent years, I think partly because that madwoman,
Maggie Thatcher, declared in 1992 "there is no such thing as society."

This rippled through society to cause coders to regard themselves as
atomized individuals who only needed to code like men and did not need
to get along with "society", to the extent that PJ Plauger was moved
to comment on the destruction of the traditional code walkthrough by
face to face "flame" wars.

I think it is a mistake, because excessive creation of ng creates a
variance of what Cass Sunstein called, in Republic.COM, the "discourse
cascade."

Only left-leaning programmers, who continue to believe as against the
madwoman Thatcher that there IS such a thing as society, would open
the ng.

This would actually bias its conclusions towards left political
correctness. Furthermore it would drain the discussion of technical
issues as they appear to working programmers.

In fine, my original intent in May was indeed a sort of benign
disruption (which we need to contrast with your malign disruption.)

By saying, yo, what be this data quality act when de corporations be
not interested in software quality or the resulting accuracy of data
or annual reports, I created a *necessary* disruption by an implicit
speech act, which said, yo, this is important enough that programmers,
who would normally AVOID "computers and society" because they believe
in the ravings of a right-wing madwoman, should see it.

However, your disruption has been in my view completely out of
proportion, especially if the drift towards narrowcasting has bad
results, as Sunstein believes it does. Furthermore, as I have
demonstrated conclusively, you cannot by the nature of things "focus"
on any one topic insofar as your "focus" becomes so extreme, that the
topic becomes a complete monad.

For when it does, it does not float in a void nor is it in C terms a
pointer to void :-).

Instead, it floats in a DEFAULT (because undiscussed) social space
which is constructed by job arrangements of default programmers. I
claim this space includes quietism, today, about social impacts of bad
software because today programmers are discouraged (by such mechanisms
as the libelous questioning of competence) from considering
alternatives.



> > > > because if his time is valuable, then why does
> > > > he so often post?
> > >
> > > Simple - I happen to think that discussing programming, and answering
> > > people's questions about programming when I can, is a good use of my
> > > time. I also happen to think that it's a good use of my time to post
> > > corrections to errors of fact that I happen to notice in the articles I
> > > read.
> >
> > But why do you spend so much time disrupting this thread?
>
> What you call "disrupting", I call "correcting your errors". If I have
> to post a lot, there's a good reason for that. Think about it.

Even with regards to C, these "errors" are matters, primarily, of
opinion and style. Thus, "correcting my errors" becomes unpleasantly
akin to the Inquisition and Stalin's "show" trials of engineers
considered to be "erroneous" not because they maintained false
mathematical opinions but because they had the wrong opinion and the
wrong style.

About the only tech error was a typo bug. The other "errors" have
been "errors" of opinion and of style, notably my opinion that C is no
longer viable and the condign density of my fabulous code.

It is contrary to your stated committment to open discussion to
conduct a four-month campaign of libelous character assassination with
reckless disregard for the truth, and to with apparent deliberation,
attract confederates who you indirectly manipulate into stunning loss
of emotional control by your campaign, because this campaign is based
on "erroneous" opinion.

Richard Heathfield

unread,
Sep 22, 2002, 4:19:16 AM9/22/02
to
"Edward G. Nilges" wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8CBA66...@eton.powernet.co.uk>...
> >
> > For any language (and this includes C *and* Visual Basic), you should
> > learn how to write it before you write production code in it.
>
> These hortatory,

Here we go again.

"Hortatory" is under the same heading as "hortative", meaning "inciting;
encouraging; giving advice".

> autobiographical

"Autobiography: a person's life written by the subject".
"Autobiographical: of, or relating to, autobiography."

So you're just using the word to fill up space. If I were writing my
life story, I don't think I'd bother to include advice like "know what
you're doing before you do it for real", because the kind of people who
might conceivably be interested in my life story would not be so stupid
as to need telling that.

> statements run counter to thirty
> years of experience in the development of large systems by multiple
> and even single authors.

Let me get this straight. I said "For any language (and this includes C


*and* Visual Basic), you should learn how to write it before you write

production code in it", and you say this is "counter to thirty years of
experience" in the industry. "Counter" means "opposite". I'm trying to
envisage what possible opposite you had in mind. Here are some attempts:

Counter #1: For any language (and this includes C *and* Visual Basic),
you should NOT learn how to write it before you write production code in
it.

Counter #2: For any language (BUT this includes NEITHER C *NOR* Visual


Basic), you should learn how to write it before you write production
code in it.

Counter #3: For NO language (and this includes C *and* Visual Basic),


you should learn how to write it before you write production code in it.

Counter #4: For any language (and this includes C *and* Visual Basic),
you should learn how to write it AFTER you write production code in it.

Did you mean one of those, or something different?

Any of the four seems ludicrous to me.


<Over a hundred lines of OT stuff snipped>

Al Dunbar

unread,
Sep 22, 2002, 12:42:03 PM9/22/02
to

"Edward G. Nilges" <spino...@yahoo.com> wrote in message
news:f5dda427.02092...@posting.google.com...
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message
news:<3D8CBA66...@eton.powernet.co.uk>...
> > "Edward G. Nilges" wrote:
> > >
> > <snip>
> > >
> > > Having been directed by an eminent company director to use C,
> >
> > I presume you mean me, despite the word "eminent". Whom have I directed
> > to use C? I advocate choice and diversity, not stultifying uniformity.
> >
> > > they may
> > > be too busy finding memory leaks and buffer overflows
> >
> > For any language (and this includes C *and* Visual Basic), you should
> > learn how to write it before you write production code in it.
>
> These hortatory, autobiographical statements run counter to thirty
> years of experience in the development of large systems by multiple
> and even single authors.
>
> They have grown in recent years, I think partly because that madwoman,
> Maggie Thatcher, declared in 1992 "there is no such thing as society."

How is it that you are the only one who understands completely how world
events (such as the MT quote above that I do not remember, but seems taken
somewhat out of context) have combined to get us to where we are at present
regarding programmers and garden trolls? Have you ever frightened yourself
with your own ability to know you are always absolutely right about
everything? If not, you should be.

> In fine, my original intent in May was indeed a sort of benign
> disruption (which we need to contrast with your malign disruption.)

Without belabouring the point overmuch, I still feel it important to point
out that you are just about the only person involved in this thread to
qualify Richard's comments this way.

> By saying, yo, what be this data quality act when de corporations be
> not interested in software quality or the resulting accuracy of data
> or annual reports, I created a *necessary* disruption by an implicit
> speech act, which said, yo, this is important enough that programmers,
> who would normally AVOID "computers and society" because they believe
> in the ravings of a right-wing madwoman, should see it.
>
> However, your disruption has been in my view completely out of
> proportion, especially if the drift towards narrowcasting has bad
> results, as Sunstein believes it does. Furthermore, as I have
> demonstrated conclusively, you cannot by the nature of things "focus"
> on any one topic insofar as your "focus" becomes so extreme, that the
> topic becomes a complete monad.

This business about you demonstrating anything conclusively in this venue is
quite a conceit. I think the only things you have demonstrated conclusively
are those you still do not believe.

> > > > > because if his time is valuable, then why does
> > > > > he so often post?
> > > >
> > > > Simple - I happen to think that discussing programming, and
answering
> > > > people's questions about programming when I can, is a good use of my
> > > > time. I also happen to think that it's a good use of my time to post
> > > > corrections to errors of fact that I happen to notice in the
articles I
> > > > read.
> > >
> > > But why do you spend so much time disrupting this thread?
> >
> > What you call "disrupting", I call "correcting your errors". If I have
> > to post a lot, there's a good reason for that. Think about it.
>
> Even with regards to C, these "errors" are matters, primarily, of
> opinion and style.

Some are, but, as needs to be continually pointed out to you, your code
included errors of logic and issues of design.

> Thus, "correcting my errors" becomes unpleasantly
> akin to the Inquisition and Stalin's "show" trials of engineers
> considered to be "erroneous" not because they maintained false
> mathematical opinions but because they had the wrong opinion and the
> wrong style.

So now you have switched comparisons to the other side of political centre.
The only reason that "correcting your errors" became unpleasant is your
unreasonable reaction to criticism. Others have had various aspects of their
style criticized here, and most have come away with new ideas as a result.

> It is contrary to your stated committment to open discussion to
> conduct a four-month campaign of libelous character assassination with
> reckless disregard for the truth, and to with apparent deliberation,
> attract confederates who you indirectly manipulate into stunning loss
> of emotional control by your campaign, because this campaign is based
> on "erroneous" opinion.

I left this last paragraph unsnipped in order to say this: hogwash. it is
all in your head, these claims of conspiracy.

/Al

Edward G. Nilges

unread,
Sep 22, 2002, 7:14:47 PM9/22/02
to
"Al Dunbar" <Luigi...@hotmail.com> wrote in message news:<vpmj9.397121$f05.18...@news1.calgary.shaw.ca>...

> "Edward G. Nilges" <spino...@yahoo.com> wrote in message
> news:f5dda427.02092...@posting.google.com...
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message
> news:<3D8CBA66...@eton.powernet.co.uk>...
> > > "Edward G. Nilges" wrote:
> > > >
> <snip>
> > > >
> > > > Having been directed by an eminent company director to use C,
> > >
> > > I presume you mean me, despite the word "eminent". Whom have I directed
> > > to use C? I advocate choice and diversity, not stultifying uniformity.
> > >
> > > > they may
> > > > be too busy finding memory leaks and buffer overflows
> > >
> > > For any language (and this includes C *and* Visual Basic), you should
> > > learn how to write it before you write production code in it.
> >
> > These hortatory, autobiographical statements run counter to thirty
> > years of experience in the development of large systems by multiple
> > and even single authors.
> >
> > They have grown in recent years, I think partly because that madwoman,
> > Maggie Thatcher, declared in 1992 "there is no such thing as society."
>
> How is it that you are the only one who understands completely how world
> events (such as the MT quote above that I do not remember, but seems taken
> somewhat out of context) have combined to get us to where we are at present
> regarding programmers and garden trolls? Have you ever frightened yourself
> with your own ability to know you are always absolutely right about
> everything? If not, you should be.

Yeah, it's hard being so smart, Al.

Seriously, I make disclaimers all the time when I am wrong, and my
views of events do change. For example, in 1992 I believed C was
viable.

There is to me a confusion here with being an opinionated political
subject and being Mister KnowItAll (*allesweisen* in German.)

Were a typical attendee of the Lincoln Douglas debates to be
transported by a time machine to Illinois today, I think that once he
started to participate, on the Internet or in cafes, in political
discussion, he would be shunned as an *allesweisen*. For in that
distant time no premium was placed, per se, on being apolitical.

The word 'subjective' used as to mean 'your opinion, to which you are
entitled in much the same way you have clear title to your butt, good
luck to you, and don't let the door whack you in the aforesaid
hindquarter on the way out' is a neologism.

In philosophy up to the twentieth century it meant the views of a
human subject which could correspond to the actual nature of reality
in the manner of Descarte's skeptical reduction, or, in let us say
counter-Reformation Catholic views, when supplemented by charity and
faith.

But as a result of the technical manipulation of mass opinion (which
started in earnest in this country in order to get us into World War I
when in fact most people did not want the USA to enter that war)
subjective now means "opinion and as such without validity."

I'd merely ask you to consider the views in forming your own, which
you do, and to continue to refain, as you do, from a heathfield style
campaign of libel.

>
> > In fine, my original intent in May was indeed a sort of benign
> > disruption (which we need to contrast with your malign disruption.)
>
> Without belabouring the point overmuch, I still feel it important to point
> out that you are just about the only person involved in this thread to
> qualify Richard's comments this way.

Mr Walker seems a tad upset, so I am not alone. But even if I stood
alone this would remain logically independent of the truth, or
falsity, of my views.

Had Heathfield not intervened, there may have been a productive
TECHNICAL exchange between Chris and myself on the 40% speed
differential between my solution and his. But the tech thread has
been buried by heathfield's posts and my replies, which are necessary
to prevent the harm he seems intent on perpetrating.

You fail to enumerate them. What you are probably thinking of, as
regards design, is the combination of what I called 'set parsing' and
'string parsing.' But this was a feature and not a bug, for my
experience indicates that in parsing strings you need to make this
distinction, and the tool forces you to do so.

The malloc brain fart was not a logic bug but instead an inadvertant
demonstration that happens on the way to virtually representing
objects and therefore made my case, especially when it confused a
world-class expert (Heathfield.)

>
> > Thus, "correcting my errors" becomes unpleasantly
> > akin to the Inquisition and Stalin's "show" trials of engineers
> > considered to be "erroneous" not because they maintained false
> > mathematical opinions but because they had the wrong opinion and the
> > wrong style.
>
> So now you have switched comparisons to the other side of political centre.
> The only reason that "correcting your errors" became unpleasant is your
> unreasonable reaction to criticism. Others have had various aspects of their
> style criticized here, and most have come away with new ideas as a result.
>

I think those new ideas are in large measure what Adorno called
"psychoanalysis in reverse", for what people seem to learn on the
Internet is more and more authoritarianism and overall less eros and
more thanatos every day.



> > It is contrary to your stated committment to open discussion to
> > conduct a four-month campaign of libelous character assassination with
> > reckless disregard for the truth, and to with apparent deliberation,
> > attract confederates who you indirectly manipulate into stunning loss
> > of emotional control by your campaign, because this campaign is based
> > on "erroneous" opinion.
>
> I left this last paragraph unsnipped in order to say this: hogwash. it is
> all in your head, these claims of conspiracy.

As Richard has said, much like Tommy Lee Jones in JFK, if he was an
agent, he would not say so.
>
> /Al

Al Dunbar

unread,
Sep 23, 2002, 12:55:23 AM9/23/02
to

I think you missed my point. I was not commenting on your fallibility when
it comes to making errors of various sorts. Rather, I was commenting on your
seeming ability to extrapolate current events (i.e. programmers and gargen
trolls) from such things as what Ms Thatcher said in the past with such
great certainty.

> I'd merely ask you to consider the views in forming your own, which
> you do, and to continue to refain, as you do, from a heathfield style
> campaign of libel.

Since you appear to still have some consideration and respect for my stated
opinions, even since the AH remark, I wonder what you think of my view that
Richard has not actually libelled you. Am I duped, am I just too afraid to
show dissension towards Richard, or am I just plainly saying what I believe
and mean?

> > > In fine, my original intent in May was indeed a sort of benign
> > > disruption (which we need to contrast with your malign disruption.)
> >
> > Without belabouring the point overmuch, I still feel it important to
point
> > out that you are just about the only person involved in this thread to
> > qualify Richard's comments this way.
>
> Mr Walker seems a tad upset, so I am not alone. But even if I stood
> alone this would remain logically independent of the truth, or
> falsity, of my views.

I am not sure who you mean here. Richard replied to a request from a John
Walker for copies of some old .lib files to the effect that MS's copyright
had not expired. I saw no reply back from Mr. Walker, so I do not really
know if he is upset - perhaps my server is just behind.

Or do you mean perhaps "R K Walters", whose request for help with a homework
assignment caused a bit of a reaction from myself, Richard, and perhaps some
others.

But, as you say, even if absolutely nobody agreed with you, this fact would
have no effect on the falsity or truth of your views. Some of us do like to
take reality checks from time to time, though, and my experience has been
that when I am in an extreme minority, while I am sometimes right, I am less
often so in proportion to when others agree with me. So, no, this is not
proof; just something that would give a reasonable person pause to think.

> > > > > > > because if his time is valuable, then why does
> > > > > > > he so often post?
> > > > > >
> > > > > > Simple - I happen to think that discussing programming, and
> > answering
> > > > > > people's questions about programming when I can, is a good use
of my
> > > > > > time. I also happen to think that it's a good use of my time to
post
> > > > > > corrections to errors of fact that I happen to notice in the
> > articles I
> > > > > > read.
> > > > >
> > > > > But why do you spend so much time disrupting this thread?
> > > >
> > > > What you call "disrupting", I call "correcting your errors". If I
have
> > > > to post a lot, there's a good reason for that. Think about it.
> > >
> > > Even with regards to C, these "errors" are matters, primarily, of
> > > opinion and style.
> >
> > Some are, but, as needs to be continually pointed out to you, your code
> > included errors of logic and issues of design.
>
> You fail to enumerate them.

I need not because others already have, yet you remain oblivious.

> What you are probably thinking of, as
> regards design, is the combination of what I called 'set parsing' and
> 'string parsing.' But this was a feature and not a bug, for my
> experience indicates that in parsing strings you need to make this
> distinction, and the tool forces you to do so.
>
> The malloc brain fart was not a logic bug but instead an inadvertant
> demonstration that happens on the way to virtually representing
> objects and therefore made my case, especially when it confused a
> world-class expert (Heathfield.)

How serendipitous that when you attempted to demonstrate excellence in
coding, you were befouled by this particular curse of the language. It
conveniently got you off the hook (at least according to you) for any
errors.

I think he said this tongue in cheek. For surely, if he was an agent, he
would not bring up the old ambiguity of saying that if he were an agent he
would not say so. Unless of course, he realized that by not saying this, he
would leave the door open to us thinking that perhaps he was an agent...

Of course, if he was NOT an agent, what would he say? It is just like what
we said upthread (or elsethread) about the size of the minority having
nothing to do with the truth or falsity of a proposition: it is no proof
either way.

But you get your films mixed up. This kind of discussion reminds me more of
the exchange between the hero and villain played by Cary Elwes and Wallace
Shawn in the movie Princess Bride (sorry I do not remember the character's
names). The villain proposed a challenge of wits in which the hero would
poison one of the two glasses of wine they would drink. He demonstrated his
extreme cleverness by logically deducing which glass was poisoned, the one
in front of the hero or the one in front of the villain. At each turn he
convinced himself that the position was different, but he eventually came to
the irrefutable answer. Yet when they each took a drink, only the villain
died. I thought, OK, a 50-50 chance, and he outguessed himself. Yet it
turned out that both drinks were poisoned, the hero having conditioned
himself to be able to survive the poison.

/Al

gswork

unread,
Sep 23, 2002, 4:35:23 AM9/23/02
to
spino...@yahoo.com (Edward G. Nilges) wrote in message news:<f5dda427.02092...@posting.google.com>...

> "Al Dunbar" <Luigi...@hotmail.com> wrote in message news:<vpmj9.397121$f05.18...@news1.calgary.shaw.ca>...

> > > They have grown in recent years, I think partly because that madwoman,


> > > Maggie Thatcher, declared in 1992 "there is no such thing as society."
> >
> > How is it that you are the only one who understands completely how world
> > events (such as the MT quote above that I do not remember, but seems taken
> > somewhat out of context) have combined to get us to where we are at present
> > regarding programmers and garden trolls? Have you ever frightened yourself
> > with your own ability to know you are always absolutely right about
> > everything? If not, you should be.
>
> Yeah, it's hard being so smart, Al.
>
> Seriously, I make disclaimers all the time when I am wrong, and my
> views of events do change. For example, in 1992 I believed C was
> viable.
>
> There is to me a confusion here with being an opinionated political
> subject and being Mister KnowItAll (*allesweisen* in German.)

I think people are ready to accept that you have opinions informed by
what you have absorbed and reflected upon through life, and would give
such opinion more credence than the wailings of an uninformed youth
for example (at least I do).

However there are some points to remember:

1) However well informed, an opinion remains an opinion and,
especially in complex systems such as society, it is quite easy to be
very well infomed and wrong at once. The predictive accuracy of an
opinion is about the only guide to it's qualitative 'rightness' and
even that can sometimes be down to a good guess and little more.

2) An opinion on an element of computer science, even linked to the
complexity of society as it must be, does at least have a 'hard
science' part - the computer science. Therefore getting facts right,
code right and setting opinion in that context is important for it to
it have credence.

3) In usenet, no one can hear your tone. You appear to have a
stylistic tendency to state opinion as statements of fact, as if
equivelent to physical laws. you may not intend them to be read that
way, you may intend the generalisations of particulars to come accross
as demonstrative rather than as poor deduction, but you cannot expect
your tone-less words to convey all that. That's why a lot of people
liberally sprinkle 'IMO's in their posts, to help the recipient
discern the meaning of the message just that little bit more.

Gerry Quinn

unread,
Sep 23, 2002, 5:17:46 AM9/23/02
to
In article <f5dda427.02092...@posting.google.com>, spino...@yahoo.com (Edward G. Nilges) wrote:

>Seriously, I make disclaimers all the time when I am wrong, and my
>views of events do change. For example, in 1992 I believed C was
>viable.

And last year, you believed that George W. Bush caused a recession by
"talking down" the economy during his election campaign.

- Gerry Quinn

Richard Heathfield

unread,
Sep 23, 2002, 4:17:03 AM9/23/02
to
"Edward G. Nilges" wrote:
>
<snip>
>
> Seriously, I make disclaimers all the time when I am wrong,

No, only some of the time. You are quite often wrong without a
disclaimer, retraction, or correction in sight.

> and my
> views of events do change. For example, in 1992 I believed C was
> viable.

You are entitled to believe that it isn't, of course. Others, of course,
are entitled to believe otherwise.

<OT stuff snipped>


> I'd merely ask you to consider the views in forming your own, which
> you do, and to continue to refain, as you do, from a heathfield style
> campaign of libel.

Just a teensy-weensy little nit: I haven't libelled you.

> > > In fine, my original intent in May was indeed a sort of benign
> > > disruption (which we need to contrast with your malign disruption.)
> >
> > Without belabouring the point overmuch, I still feel it important to point
> > out that you are just about the only person involved in this thread to
> > qualify Richard's comments this way.
>
> Mr Walker seems a tad upset, so I am not alone.

Do you mean Mr Walters? Did you read all the replies he got? Did you
read my replies to him? Both of them? All the way through?

> But even if I stood
> alone this would remain logically independent of the truth, or
> falsity, of my views.

Indeed.

> Had Heathfield not intervened, there may have been a productive
> TECHNICAL exchange between Chris and myself on the 40% speed
> differential between my solution and his. But the tech thread has
> been buried by heathfield's posts and my replies, which are necessary
> to prevent the harm he seems intent on perpetrating.

#1: I am intent, not on *perpetrating* harm, but on *reducing* the level
of harm done by the errors you make in your articles.
#2: You claim that the tech thread has been buried. *YOU* have buried
it. It seems that, whenever anyone makes a *technical* criticism of your
work, you reply to that criticism with sociology, which is usually
enough to dissuade people from pursuing the matter. That doesn't mean
you have answered their criticism; it just means you've blown smoke and
fog at them.

<snip>

> > This business about you demonstrating anything conclusively in this venue is
> > quite a conceit. I think the only things you have demonstrated conclusively
> > are those you still do not believe.

Well said, Mr Dunbar. Unfortunately, Mr Nilges doesn't seem to have
noticed. Perhaps I can say it in a more obvious way: Mr Nilges' articles
clearly demonstrate his approximate level of competence in a way none of
his critics could hope to emulate.

<snip>

> > > Even with regards to C, these "errors" are matters, primarily, of
> > > opinion and style.
> >
> > Some are, but, as needs to be continually pointed out to you, your code
> > included errors of logic and issues of design.
>
> You fail to enumerate them.

Check the thread history. Many have been pointed out, some of them
several times.

> What you are probably thinking of, as
> regards design, is the combination of what I called 'set parsing' and
> 'string parsing.' But this was a feature and not a bug, for my
> experience indicates that in parsing strings you need to make this
> distinction, and the tool forces you to do so.

But you *combined* them. That was certainly a questionable design
choice. And not the only one.

> The malloc brain fart was not a logic bug but instead an inadvertant
> demonstration that happens on the way to virtually representing
> objects and therefore made my case, especially when it confused a
> world-class expert (Heathfield.)

I've debunked this so many times it's getting very old indeed. Here we
go again (from memory, admittedly) ... this is roughly what really
happened:

Chris said you'd made an error in that approximate area of code, and he
showed code which he said was a rewrite of your code.

You replied that Chris's choice of variable names indicated that he'd
misunderstood your code, and that there was no bug.

Your defence seemed reasonable (after a cursory inspection of the code),
and I made the *very* /big/ MISTAKE of believing your explanation. You
see, *even then* I was making the mistake of believing that you more or
less knew what you were doing. Had I not retained that mistaken belief,
I would have checked the code much more closely.

Chris then said that we'd both misunderstood, and showed that the bug
was actually one or two lines further on in the code.

When I looked where he said, lo and behold! there was the bug. A very
simple and straightforward case of not allocating enough memory for the
terminating null character on a C-style string. Nothing confusing about
it at all. The confusion lay in precisely where to look; this would have
been less of an issue, had you written your code more clearly.

Those are the *facts*. You can spin them how you like, but if you
continue to misrepresent them, I will continue to correct you. This is
what you call "disruption" and what I call "correcting your errors". If
you want the "disruption" to stop, stop making errors for me to correct.

<snip>

> As Richard has said, much like Tommy Lee Jones in JFK, if he was an
> agent, he would not say so.

And if I were /not/ an agent, I would not say so either. Anyway, this is
easily settled. Phone up MI5 and ask them. If they say "no, he's not an
agent", then I'm not an agent. And if they say "yes, he's an agent",
obviously they're reading this thread and enjoying it so much that they
are prepared to bend their deeply-held principles of honesty and
fairness just a little, so that they can keep this "debate" going a
little longer. Perhaps they're running a sweepstake.

If you think this logic is flawed, you're right, but it's flawed in
precisely the same way that yours is.

Kamilche

unread,
Sep 23, 2002, 11:38:28 AM9/23/02
to
spino...@yahoo.com (Edward G. Nilges) wrote in message news:<f5dda427.02083...@posting.google.com>...

> For some reason I failed to see the New York Times obituary for Aug 10
> of this year, and my obituary was misleading. Dijkstra passed away,
> but earlier this month.
>
> I saw an article in SD Times for Sep 1.
>
> My apologies for this error.

Thanks for pointing out that he died! I was unaware of it until you
mentioned it in the newsgroup, and went on a day-long spree, reading
up on his work and related works of advanced computational theory,
because of it. He played a major role in our field, and his demise is
worth noting.

You know - a lot of us could care less about 'names' attached to
posts, both in this newsgroup and the C newsgroups. I scan for
content, not popularity or quantity of posts.

To all participants in this newsgroup: if you're right and you know
it, there's nothing wrong with ignoring others who say you're wrong.
They could be wrong, after all.

"I never make mistakes... I thought I made one once, but I was
mistaken."

--Kamilche, klac...@attbi.com

Programmer Dude

unread,
Sep 23, 2002, 12:39:21 PM9/23/02
to
"Edward G. Nilges" wrote:

> About the only tech error was a typo bug. The other "errors" have

> been "errors" of opinion and of style,...

That, as you must know, is false. And since you must know it, the
statement above must be a willing lie.

The matters of style and the malloc typo are ancient news; you're
the one who keeps rehasing them, because you're apparently unwilling
to respond to what I've written repeatedly about the more serious bugs
in design (both the VB and C version) and implementation (C version).

Programmer Dude

unread,
Sep 23, 2002, 12:47:43 PM9/23/02
to
Al Dunbar wrote:

> This kind of discussion reminds me more of the exchange between the

> hero and villain played by Cary Elwes...

Westley

> ...and Wallace Shawn...

Vizzini

> ...in the movie Princess Bride (sorry I do not remember the character's
> names).

I love IMDB! :-)

> Yet it turned out that both drinks were poisoned, the hero having
> conditioned himself to be able to survive the poison.

I knew a man who'd been injecting himself with snake venom over the
years (very small amounts at first!). He was completely immune to
the bite of the King Cobra, and was sometimes flown by military jet
to someplace to save someone: his blood worked as anti-vemon serum!

We now return you to your regularly-scheduled flame fest....

Programmer Dude

unread,
Sep 23, 2002, 12:43:04 PM9/23/02
to
"Edward G. Nilges" wrote:

> Had Heathfield not intervened, there may have been a productive
> TECHNICAL exchange between Chris and myself on the 40% speed
> differential between my solution and his.

Not 40%. 40 TIMES! (That's 4000% if you wanna put it that way.)

Richard Heathfield

unread,
Sep 23, 2002, 3:26:25 PM9/23/02
to
Programmer Dude wrote:
>
> "Edward G. Nilges" wrote:
>
> > Had Heathfield not intervened, there may have been a productive
> > TECHNICAL exchange between Chris and myself on the 40% speed
> > differential between my solution and his.
>
> Not 40%. 40 TIMES! (That's 4000% if you wanna put it that way.)

Facts again, Chris? Is it worth it?

Programmer Dude

unread,
Sep 23, 2002, 4:22:47 PM9/23/02
to
Richard Heathfield wrote:

>>> Had Heathfield not intervened, there may have been a productive
>>> TECHNICAL exchange between Chris and myself on the 40% speed
>>> differential between my solution and his.
>>
>> Not 40%. 40 TIMES! (That's 4000% if you wanna put it that way.)
>
> Facts again, Chris? Is it worth it?

Prolly not, but hope springs eternal.

I plan to keep my contributions brief and purely fact-based for a
while. Every Monday, when I re-enter the fray after being away
all weekend, I wonder why I waste my time.

Like a train wreck, it's hard to look away.

Edward G. Nilges

unread,
Sep 23, 2002, 5:35:36 PM9/23/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8ECDFF...@eton.powernet.co.uk>...

> "Edward G. Nilges" wrote:
> >
> <snip>
> >
> > Seriously, I make disclaimers all the time when I am wrong,
>
> No, only some of the time. You are quite often wrong without a
> disclaimer, retraction, or correction in sight.
>
> > and my
> > views of events do change. For example, in 1992 I believed C was
> > viable.
>
> You are entitled to believe that it isn't, of course. Others, of course,
> are entitled to believe otherwise.
>
> <OT stuff snipped>
>
>
> > I'd merely ask you to consider the views in forming your own, which
> > you do, and to continue to refain, as you do, from a heathfield style
> > campaign of libel.
>
> Just a teensy-weensy little nit: I haven't libelled you.

With reckless disregard for the truth, you have posted globally false
statements about moi. This is libel under English and American law.

>
> > > > In fine, my original intent in May was indeed a sort of benign
> > > > disruption (which we need to contrast with your malign disruption.)
> > >
> > > Without belabouring the point overmuch, I still feel it important to point
> > > out that you are just about the only person involved in this thread to
> > > qualify Richard's comments this way.
> >
> > Mr Walker seems a tad upset, so I am not alone.
>
> Do you mean Mr Walters? Did you read all the replies he got? Did you
> read my replies to him? Both of them? All the way through?
>

Yes.



> > But even if I stood
> > alone this would remain logically independent of the truth, or
> > falsity, of my views.
>
> Indeed.
>
> > Had Heathfield not intervened, there may have been a productive
> > TECHNICAL exchange between Chris and myself on the 40% speed
> > differential between my solution and his. But the tech thread has
> > been buried by heathfield's posts and my replies, which are necessary
> > to prevent the harm he seems intent on perpetrating.
>
> #1: I am intent, not on *perpetrating* harm, but on *reducing* the level
> of harm done by the errors you make in your articles.

It appears that more globally you have become a paid or unpaid hall
monitor with a singular lack of charity.

> #2: You claim that the tech thread has been buried. *YOU* have buried
> it. It seems that, whenever anyone makes a *technical* criticism of your
> work, you reply to that criticism with sociology, which is usually
> enough to dissuade people from pursuing the matter. That doesn't mean
> you have answered their criticism; it just means you've blown smoke and
> fog at them.
>

My critique of the C language isn't sociology, it is that to get to
where you want you have to represent objects using a von Neumann
model. This has been found to be bug prone in the real world where
real programmers work in teams and where communications gaps produce
misunderstandings.



> <snip>
>
> > > This business about you demonstrating anything conclusively in this venue is
> > > quite a conceit. I think the only things you have demonstrated conclusively
> > > are those you still do not believe.
>
> Well said, Mr Dunbar. Unfortunately, Mr Nilges doesn't seem to have
> noticed. Perhaps I can say it in a more obvious way: Mr Nilges' articles
> clearly demonstrate his approximate level of competence in a way none of
> his critics could hope to emulate.
>

You have an unhealthy interest in my competence. However, the problem
in real programming is not the competence of individuals it is the way
individuals combine to form teams. I was fully open about how I
returned to C coding in response to Chris Sonnack's request, by
obtaining a freeware compiler and budgeting some time to a C solution.
You have inappropriately transformed this good-faith exercise into an
almost homoerotic, an almost pornographic, effort, to focus the
discussion on my personal affairs, which happens to violate your own
rules of "focus."



> <snip>
>
> > > > Even with regards to C, these "errors" are matters, primarily, of
> > > > opinion and style.
> > >
> > > Some are, but, as needs to be continually pointed out to you, your code
> > > included errors of logic and issues of design.
> >
> > You fail to enumerate them.
>
> Check the thread history. Many have been pointed out, some of them
> several times.
>

Yes, you have done so several times as a rhetorical effort to make it
seem that I made a lot of errors.



> > What you are probably thinking of, as
> > regards design, is the combination of what I called 'set parsing' and
> > 'string parsing.' But this was a feature and not a bug, for my
> > experience indicates that in parsing strings you need to make this
> > distinction, and the tool forces you to do so.
>
> But you *combined* them. That was certainly a questionable design
> choice. And not the only one.
>

In early Visual Basic, I saw that a lot of day to day parsing tasks
involved parsing words surrounded by runs of blanks, list items
surrounded by single commas, and files surrounded by runs of newlines.
I recognized two cases, the "set" case and the "string" case.

The commonality was that in both you need to use a 1-origin index to
obtain individual tokens. The difference was that in the set case, a
set of characters divides tokens and in the string case a fixed string
(or set of strings in an extension of the model) divides tokens.

I based the analysis on my prior use of C strspn and strcspn which
implement the set model and weren't available in VB.

I think it is eminently discussable whether these two concepts should
combine to form a single model with a binary switch, although as you
know in software e pluribus unum happens all the time. But to
characterise it as an error, and to use it as a basis for a
pornographic campaign, remains reminiscent of the Inquisition, the
Stalinist show trial, and, I am afraid, Nazi gestures.

> > The malloc brain fart was not a logic bug but instead an inadvertant
> > demonstration that happens on the way to virtually representing
> > objects and therefore made my case, especially when it confused a
> > world-class expert (Heathfield.)
>
> I've debunked this so many times it's getting very old indeed. Here we
> go again (from memory, admittedly) ... this is roughly what really
> happened:
>
> Chris said you'd made an error in that approximate area of code, and he
> showed code which he said was a rewrite of your code.

If memory serves, Chris' compiler found the error.


>
> You replied that Chris's choice of variable names indicated that he'd
> misunderstood your code, and that there was no bug.
>

Yup

> Your defence seemed reasonable (after a cursory inspection of the code),
> and I made the *very* /big/ MISTAKE of believing your explanation. You
> see, *even then* I was making the mistake of believing that you more or
> less knew what you were doing. Had I not retained that mistaken belief,
> I would have checked the code much more closely.
>
> Chris then said that we'd both misunderstood, and showed that the bug
> was actually one or two lines further on in the code.
>
> When I looked where he said, lo and behold! there was the bug. A very
> simple and straightforward case of not allocating enough memory for the
> terminating null character on a C-style string. Nothing confusing about
> it at all. The confusion lay in precisely where to look; this would have
> been less of an issue, had you written your code more clearly.
>

The second use of malloc in the code showed I was aware of the need.
My case rests in the need for this level of awareness as interfering
with our ability to address far more important tasks.



> Those are the *facts*. You can spin them how you like, but if you
> continue to misrepresent them, I will continue to correct you. This is
> what you call "disruption" and what I call "correcting your errors". If
> you want the "disruption" to stop, stop making errors for me to correct.
>
> <snip>
>
> > As Richard has said, much like Tommy Lee Jones in JFK, if he was an
> > agent, he would not say so.
>
> And if I were /not/ an agent, I would not say so either. Anyway, this is
> easily settled. Phone up MI5 and ask them. If they say "no, he's not an
> agent", then I'm not an agent. And if they say "yes, he's an agent",
> obviously they're reading this thread and enjoying it so much that they
> are prepared to bend their deeply-held principles of honesty and
> fairness just a little, so that they can keep this "debate" going a
> little longer. Perhaps they're running a sweepstake.
>

Give me a break. Even if I got Liz Hurley on the line, she'd deny any
association.



> If you think this logic is flawed, you're right, but it's flawed in
> precisely the same way that yours is.

The intelligence operative conclusion is more credible in that it's
hard to believe that given the way you value your time, you waste your
company's resources in persecuting Yanks.

Edward G. Nilges

unread,
Sep 23, 2002, 8:29:16 PM9/23/02
to
gsw...@mailcity.com (gswork) wrote in message news:<81f33a98.02092...@posting.google.com>...

Agreed. But I think that opinions should not be rhetorically reduced
to "errors".

>
> 2) An opinion on an element of computer science, even linked to the
> complexity of society as it must be, does at least have a 'hard
> science' part - the computer science. Therefore getting facts right,
> code right and setting opinion in that context is important for it to
> it have credence.
>

There is no way of coding the truth table compiler or word/string
parser that prevents change to even a bug free solution that
introduces, using C normally, the possibility of a memory "leak."
This is less "computer science" considered as a science of formal
languages than an unnamed combination of computer science and
philosophy such as the late Dijkstra attempted to do, which realized
that there's no such thing as a formal language and it's a good thing
too.

That is, "C" is ultimately praxis and praxis that is observably
subject to stupid errors by smart people. For this reason, if there
are better tools C should be abandoned.



> 3) In usenet, no one can hear your tone. You appear to have a
> stylistic tendency to state opinion as statements of fact, as if
> equivelent to physical laws. you may not intend them to be read that
> way, you may intend the generalisations of particulars to come accross
> as demonstrative rather than as poor deduction, but you cannot expect
> your tone-less words to convey all that. That's why a lot of people
> liberally sprinkle 'IMO's in their posts, to help the recipient
> discern the meaning of the message just that little bit more.

To say "I believe X" is only at second hand "anyone who believes Not-X
is a complete bozo." Therefore I submit to you that unless I become a
mad and silent monk, it were a lesser crime for me to post "C is not
viable" than to post regular expressions of the form *Nilges*blows*,
as does Heathfield in effect.

Lemme rephrase that. We search the collected works of Saint Dijkstra
in vain for many "biographical" statements of the form "John McCarthy
sucks", "Thomas J. Watson blows", or "John Backus is a criminal
because he designed Fortran, which totally sucks."

Dijsktra's writings are remarkably impersonal. Unlike many corporate
texts, they contain no mention of anyone's defects of character or
style with the signal exception of an almost Wittgensteinian focus on
Dijkstra's own limitations and their overcoming. Unlike the modal
intellectual, and rather like Sanctus Spinoza his countryman, Dijkstra
lived in his own world and while other people considered him their
enemy, he seems to have had no enemies.

Indeed, his department chair was moved to say at his funeral that in
person Dijkstra was mild-mannered in a way that belied his reputation
as a *monstrum horrendum*, even as Spinoza was patient with his
correspondent Blyenburgh, and idiot.

We search Dijsktra for personal attacks but we find statements
innocuous on their face such as "infantile disorder" that refer not to
people but to artifacts.

In response, the artisans who made (or to be precise, suborned hapless
graduate students to make) the artifacts seemed to have been less
concerned with the TRUTH of St. Dijkstra's writings and more with his
putative defects of character and style, as if computer science was
really a vast kinder-garten in which the important lesson in life was
not the truth of Fortran but cookies, milk, naps and above all,
playing well with others.

I am only a humble programmer and at best an admirer of St. Dijkstra,
himself a humble programmer. But note that what I said was "C is not
viable" which was interpreted, it seems, at second hand by Heathfield
to mean "Heathfield is under a sort of Internet Blitz-Krieg."

He took it, it seems, rather personally and as a result he's committed
what I regard as the bombing of Dresden in the form of actionable
libel.

What seems to be missing is the ability to discuss our mental
limitations in the way Dijkstra, and Grace Hopper, were able to.
Discussion seems to become an attack on a holy relic (the C language)
and from the woodwork emerge various mavens who account the discussion
as revelatory of the poor skill of the person who says "C, er, may not
be viable."

My claim was that even smart bastards like me make stupid mistakes
when we have to allocate n+1 bytes for a string in three hours on a
Sunday morning in response to Chris, and that smart and good-looking
people like me and Richard Heathfield deserve better tools, which are
now available.

Why should we have to labor with mediaeval artifacts late in the night
so that lawn trolls should acclaim us as studly duddly programmers,
when in fact even studly programmers can't get dates? I sense in the
process something that Herbert Marcuse identified in 1971, and that is
the tendency for the urban masses to fall in love with the inorganic.

There is to me a perverted Eros in being at all proud of being able to
"do" objects in C, and Dijkstra at one point (who may have been a
Frankfurt school critical theorist without knowing it himself) said
"the Puritan falls in love with his pain."

The Puritan then goes out, like Ken Starr during the hounding of
Clinton, in search not of his own defects but people to harass,
intimidate, persecute and libel. At a minimum, the Puritan divine did
so in the name of the Most High.

But to do so in the name of evanescent artifacts which are as dust and
nothing is Baal, is Moloch, is idolatry of the first water, especially
in view of the fact that it doesn't get you laid.

Edward G. Nilges

unread,
Sep 23, 2002, 8:33:07 PM9/23/02
to
ger...@indigo.ie (Gerry Quinn) wrote in message news:<A_Aj9.17161$zX3....@news.indigo.ie>...

He did a great job, Gerry. The stock market is headed for 800,
unemployment is rising, and anyone who learns C needs to have his head
examined if he thinks he's employable. Bush is now about to start a
war of aggression because he is even more incompetent than his father,
and the result may be something dreamt only by Chuck Norris, an
invasion of the USA by the United Nations in order to chill us out.

The invaders will force American programmers to learn Algol in
re-education camps. Nyahh ha ha.

It's hard to be right all the time. But let's talk about programming,
shall we?

Edward G. Nilges

unread,
Sep 23, 2002, 8:39:20 PM9/23/02
to
Programmer Dude <cjso...@mmm.com> wrote in message news:<3D8F43B9...@mmm.com>...

> "Edward G. Nilges" wrote:
>
> > About the only tech error was a typo bug. The other "errors" have
> > been "errors" of opinion and of style,...
>
> That, as you must know, is false. And since you must know it, the
> statement above must be a willing lie.
>
> The matters of style and the malloc typo are ancient news; you're
> the one who keeps rehasing them, because you're apparently unwilling
> to respond to what I've written repeatedly about the more serious bugs
> in design (both the VB and C version) and implementation (C version).

Chris, a really good string parser would be a VB.Net object based not
on regular expressions (which are an obfuscatory parsing notation,
expressions in which look like explosions in a gnome factory) but
Backus Naur form.

It would have properties at a minimum for the input string and the
grammar. When you saved either, you would do no work. Instead, the
caller would ask for a specific grammar symbol.

For example, he'd ask for the third function in a C program or the
third sentence in the fifth paragraph of an English text. The object
would then lazily and paradoxically get to work parsing top down and
left to right, building a parse tree which it would lazily keep for
further use, and return what was wanted.

You can't do this in sensible C. It's not easy in OO, but much more
natural.

We could discuss the construction of this if you'd get off your
homoerotic and pornographic focus on my biography, and if you think it
is worthwhile.

Edward G. Nilges

unread,
Sep 23, 2002, 8:56:01 PM9/23/02
to
klac...@home.com (Kamilche) wrote in message news:<889cbba0.02092...@posting.google.com>...

> spino...@yahoo.com (Edward G. Nilges) wrote in message news:<f5dda427.02083...@posting.google.com>...
>
> > For some reason I failed to see the New York Times obituary for Aug 10
> > of this year, and my obituary was misleading. Dijkstra passed away,
> > but earlier this month.
> >
> > I saw an article in SD Times for Sep 1.
> >
> > My apologies for this error.
>
> Thanks for pointing out that he died! I was unaware of it until you
> mentioned it in the newsgroup, and went on a day-long spree, reading
> up on his work and related works of advanced computational theory,
> because of it. He played a major role in our field, and his demise is
> worth noting.

I am also concerned with Dijkstra's unique personality and the way it
appears to have interacted with other personalities.

Some months ago and prior to Dijsktra's death, I innocently suggested
to John Levene, the moderator of comp.compilers, and to the group as a
whole, that Dijkstra deserved the (nonexistent) Nobel in compsci based
on Dijkstra's invention of the stack.

I was thinking of the belated rehabilitation of Nash although
Dijkstra, of course, did not fall into that level of obscurity. For
one thing, Dijkstra never was in a Vale of Humiliation, such that he
had to be brought to me for advice on C :-). It's been nowhere but up
for Nash since the latter had to ask me for help :-).

To my considerable surprise, Levene replied that Dijkstra didn't
invent the stack and seemed to ascribe credit to John McCarthy of
Stanford.

Based on my reading, in 1971, of Saul Rosen's 1968 compilation of
then-current papers on compilers, "Programming Systems and Languages",
I knew that Dijkstra had discussed the stack in an early paper on his
Algol compiler while McCarthy invented, not a stack, but the linked
list.

Although Dijkstra won the Turing award and was no Nash figure, I
noticed in 1992 that when he spoke out on cs education, the
Communications of the ACM seemed very concerned to make him a member
of a group rather than let him speak out, on his own, and this seemed
to be based on the editors' fear of Dijkstra's reputation as a loose
cannon.

I believe that in a better world, Dijkstra would get more credit, but
failed to realize that in the modern world, what is important is not
offending powerful players.

>
> You know - a lot of us could care less about 'names' attached to
> posts, both in this newsgroup and the C newsgroups. I scan for
> content, not popularity or quantity of posts.
>
> To all participants in this newsgroup: if you're right and you know
> it, there's nothing wrong with ignoring others who say you're wrong.
> They could be wrong, after all.
>

I am concerned as an independent consultant that Richard has spread
untruths about my abilities in a libelous way. But perhaps it is time
to just ignore him. Noam Chomsky asked his amaneusis Mike Albert to
s-tcan online queries from me in 1994 because Chomsky mistakenly
thought me to be wasting his time, and I have no problem with that.
Public figures on the Internet often feel harassed by actual posters
and the key is to realize that one's right to speak does not include
the right to harass, or even to make another person FEEL harassed, or
libeled.

I think it should be a general rule that if a poster FEELS harassed by
another poster, the latter should desist.

That is, when Mike Albert asked me to desist, I did so immediately. I
felt that I was "correcting" Chomsky's errors, for I felt that there
was a closer relation between his technical and political work than
Chomsky let on. But I deferred to his wish!

I'd ask Heathfield to do the same. He won't.

> "I never make mistakes... I thought I made one once, but I was
> mistaken."
>
> --Kamilche, klac...@attbi.com

Thanks for your comments.

Al Dunbar

unread,
Sep 23, 2002, 9:53:57 PM9/23/02
to

"Edward G. Nilges" <spino...@yahoo.com> wrote in message
news:f5dda427.02092...@posting.google.com...
> klac...@home.com (Kamilche) wrote in message
news:<889cbba0.02092...@posting.google.com>...
> > spino...@yahoo.com (Edward G. Nilges) wrote in message
news:<f5dda427.02083...@posting.google.com>...

> > To all participants in this newsgroup: if you're right and you know
> > it, there's nothing wrong with ignoring others who say you're wrong.
> > They could be wrong, after all.
> >
> I am concerned as an independent consultant that Richard has spread
> untruths about my abilities in a libelous way. But perhaps it is time
> to just ignore him.

Indeed, the court may ask you why you continued to exchange comments with
Richard if you really considered that he was libelling you.

> Noam Chomsky asked his amaneusis Mike Albert to
> s-tcan online queries from me in 1994 because Chomsky mistakenly
> thought me to be wasting his time, and I have no problem with that.
> Public figures on the Internet often feel harassed by actual posters
> and the key is to realize that one's right to speak does not include
> the right to harass, or even to make another person FEEL harassed, or
> libeled.
>
> I think it should be a general rule that if a poster FEELS harassed by
> another poster, the latter should desist.

Now *that* sentence could just as easily have been written by Richard! I
think that even I said as much on more than one occasion.

/Al

Richard Heathfield

unread,
Sep 24, 2002, 2:06:01 AM9/24/02
to
"Edward G. Nilges" wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8ECDFF...@eton.powernet.co.uk>...
> > "Edward G. Nilges" wrote:
> > >
<snip>
> >
> > > I'd merely ask you to consider the views in forming your own, which
> > > you do, and to continue to refain, as you do, from a heathfield style
> > > campaign of libel.
> >
> > Just a teensy-weensy little nit: I haven't libelled you.
>
> With reckless disregard for the truth, you have posted globally false
> statements about moi. This is libel under English and American law.

You keep saying that as if repetition will make it become true. I
haven't posted globally false statements about you, you ignoramus. You,
on the other hand, have wilfully misrepresented me throughout this
thread. But I don't mind that - it's part of Usenet that one just has to
put up with, and put up with it I do. You can run to the courts if you
dare. I prefer to discuss /technical/ issues with /technical/ people in
a /technical/ forum. I can fully understand why you would rather not do
that, though.

> > > > > In fine, my original intent in May was indeed a sort of benign
> > > > > disruption (which we need to contrast with your malign disruption.)
> > > >
> > > > Without belabouring the point overmuch, I still feel it important to point
> > > > out that you are just about the only person involved in this thread to
> > > > qualify Richard's comments this way.
> > >
> > > Mr Walker seems a tad upset, so I am not alone.
> >
> > Do you mean Mr Walters? Did you read all the replies he got? Did you
> > read my replies to him? Both of them? All the way through?
> >
> Yes.

Did you find anything in either of my replies to Mr Walters that could
have upset a reasonable man in any way?

<snip>

> > > Had Heathfield not intervened, there may have been a productive
> > > TECHNICAL exchange between Chris and myself on the 40% speed
> > > differential between my solution and his. But the tech thread has
> > > been buried by heathfield's posts and my replies, which are necessary
> > > to prevent the harm he seems intent on perpetrating.
> >
> > #1: I am intent, not on *perpetrating* harm, but on *reducing* the level
> > of harm done by the errors you make in your articles.
>
> It appears that more globally you have become a paid or unpaid hall
> monitor with a singular lack of charity.

That may be how it appears to you. It is not how it appears to me. I am
not in control of how things appear to you.


> > #2: You claim that the tech thread has been buried. *YOU* have buried
> > it. It seems that, whenever anyone makes a *technical* criticism of your
> > work, you reply to that criticism with sociology, which is usually
> > enough to dissuade people from pursuing the matter. That doesn't mean
> > you have answered their criticism; it just means you've blown smoke and
> > fog at them.
> >
> My critique of the C language isn't sociology, it is that to get to
> where you want you have to represent objects using a von Neumann
> model. This has been found to be bug prone in the real world where
> real programmers work in teams and where communications gaps produce
> misunderstandings.

Is this the same real world where you are required NOT to know a
language in order to write production code in it, as you have claimed
elsethread?

> > > > This business about you demonstrating anything conclusively in this venue is
> > > > quite a conceit. I think the only things you have demonstrated conclusively
> > > > are those you still do not believe.
> >
> > Well said, Mr Dunbar. Unfortunately, Mr Nilges doesn't seem to have
> > noticed. Perhaps I can say it in a more obvious way: Mr Nilges' articles
> > clearly demonstrate his approximate level of competence in a way none of
> > his critics could hope to emulate.
> >
> You have an unhealthy interest in my competence.

Strictly speaking, I don't think that's even possible.

<autobiographical stuff snipped>



> > <snip>
> >
> > > > > Even with regards to C, these "errors" are matters, primarily, of
> > > > > opinion and style.
> > > >
> > > > Some are, but, as needs to be continually pointed out to you, your code
> > > > included errors of logic and issues of design.
> > >
> > > You fail to enumerate them.
> >
> > Check the thread history. Many have been pointed out, some of them
> > several times.
> >
> Yes, you have done so several times as a rhetorical effort to make it
> seem that I made a lot of errors.

Not at all. I have neither the desire nor the need to multiply your
errors. You seem to be perfectly capable of doing that on your own.
Rather, you have been continually reminded of the errors for the simple
reason that you continue to pretend that you didn't make them - calling
your code "exemplary" is one example of this.

>
> > > What you are probably thinking of, as
> > > regards design, is the combination of what I called 'set parsing' and
> > > 'string parsing.' But this was a feature and not a bug, for my
> > > experience indicates that in parsing strings you need to make this
> > > distinction, and the tool forces you to do so.
> >
> > But you *combined* them. That was certainly a questionable design
> > choice. And not the only one.
> >
> In early Visual Basic, I saw that a lot of day to day parsing tasks
> involved parsing words surrounded by runs of blanks, list items
> surrounded by single commas, and files surrounded by runs of newlines.
> I recognized two cases, the "set" case and the "string" case.

Yes, you are not the first to notice this. Hence C's relatively rich set
of string searching functions.

> The commonality was that in both you need to use a 1-origin index to
> obtain individual tokens.

I see no reason for that, actually, but if you really want to have a
1-origin index, it isn't difficult to do. Certainly that is no reason to
combine two essentially different functions into one, separating them
only with a (poorly-commented, IIRC) parameter.

> The difference was that in the set case, a
> set of characters divides tokens and in the string case a fixed string
> (or set of strings in an extension of the model) divides tokens.

That is why it should have been two functions, not one.

> I based the analysis on my prior use of C strspn and strcspn which
> implement the set model and weren't available in VB.

I noticed that.

> I think it is eminently discussable whether these two concepts should
> combine to form a single model with a binary switch,

I think it's a poor design because it combines two essentially different
functions into one, for no reason other than that you wish each of them
to use a 1-based indexing. What if we suddenly discovered another 17
different things we wanted to do that all needed a 1-based indexing
convention? Turn the function body into a switch/case?

> although as you
> know in software e pluribus unum happens all the time.

Hmmmm. "Out of several, one"? My Latin isn't all it should be. Anyway,
whatever you mean by the Latin, I still don't think combining two
essentially different jobs into one general-purpose library function is
a good idea. As for this happening all the time, I don't think it does.
I've worked on quite a few large programs, and found this kind of
muddled combination of jobs within one function to be a rarity, thank
heaven.


<ignorant and offensive material snipped, as usual>

> > > The malloc brain fart was not a logic bug but instead an inadvertant
> > > demonstration that happens on the way to virtually representing
> > > objects and therefore made my case, especially when it confused a
> > > world-class expert (Heathfield.)
> >
> > I've debunked this so many times it's getting very old indeed. Here we
> > go again (from memory, admittedly) ... this is roughly what really
> > happened:
> >
> > Chris said you'd made an error in that approximate area of code, and he
> > showed code which he said was a rewrite of your code.
>
> If memory serves, Chris' compiler found the error.

Memory serves poorly, then.

<snip>

> > When I looked where he said, lo and behold! there was the bug. A very
> > simple and straightforward case of not allocating enough memory for the
> > terminating null character on a C-style string. Nothing confusing about
> > it at all. The confusion lay in precisely where to look; this would have
> > been less of an issue, had you written your code more clearly.
> >
> The second use of malloc in the code showed I was aware of the need.

Not necessarily. You might have got it right by chance. In any event,
the first use showed that this awareness, if it existed at all, was not
sufficiently to the fore.

<snip>
> >
> > > As Richard has said, much like Tommy Lee Jones in JFK, if he was an
> > > agent, he would not say so.
> >
> > And if I were /not/ an agent, I would not say so either. Anyway, this is
> > easily settled. Phone up MI5 and ask them. If they say "no, he's not an
> > agent", then I'm not an agent. And if they say "yes, he's an agent",
> > obviously they're reading this thread and enjoying it so much that they
> > are prepared to bend their deeply-held principles of honesty and
> > fairness just a little, so that they can keep this "debate" going a
> > little longer. Perhaps they're running a sweepstake.
> >
> Give me a break. Even if I got Liz Hurley on the line, she'd deny any
> association.

Then what is your problem? Clearly you consider Liz Hurley (whoever she
is) trustworthy, or you wouldn't call her, so you can probably believe
what she says, can't you?

> > If you think this logic is flawed, you're right, but it's flawed in
> > precisely the same way that yours is.
>
> The intelligence operative conclusion is more credible in that it's
> hard to believe that given the way you value your time, you waste your
> company's resources in persecuting Yanks.

How wrong is it possible for a single short paragraph to be? Let's see:

1) You place your credulity in an incredible hypothesis: although I may
(or may not) be an intelligent operator, I am most definitely not an
intelligence operative;
2) I do not post to Usenet on company time;
3) I do not persecute Yanks, merely errors. If you feel persecuted,
check your error rate.

Richard Heathfield

unread,
Sep 24, 2002, 4:44:39 AM9/24/02
to
"Edward G. Nilges" wrote:
>

<snip>

> [...] anyone who learns C needs to have his head


> examined if he thinks he's employable.

The following people have learned C:

Dennis Ritchie
Brian Kernighan
ken thompson
P J Plauger
Doug McIlroy
Jon Bentley
Al Aho
Peter Weinberger
Doug Gwyn
Rob Pike
Donald Knuth
Henry Spencer
Bjarne Stroustrup
Andy Koenig
Chris Torek

Anyone with a brain who had the chance to employ any one of these would
jump at the chance.

<snip>

Richard Heathfield

unread,
Sep 24, 2002, 4:55:04 AM9/24/02
to
"Edward G. Nilges" wrote:
>
> klac...@home.com (Kamilche) wrote in message news:<889cbba0.02092...@posting.google.com>...

<snip>

> > To all participants in this newsgroup: if you're right and you know
> > it, there's nothing wrong with ignoring others who say you're wrong.
> > They could be wrong, after all.
> >
> I am concerned as an independent consultant that Richard has spread
> untruths about my abilities in a libelous way.

You are mistaken. I have done no such thing.

> But perhaps it is time
> to just ignore him.

Feel free.

> Noam Chomsky asked his amaneusis Mike Albert to
> s-tcan online queries from me in 1994 because Chomsky mistakenly
> thought me to be wasting his time, and I have no problem with that.
> Public figures on the Internet often feel harassed by actual posters
> and the key is to realize that one's right to speak does not include
> the right to harass, or even to make another person FEEL harassed, or
> libeled.

What about the responsibility on all of us not to mislead?

>
> I think it should be a general rule that if a poster FEELS harassed by
> another poster, the latter should desist.

How do you square this with your frequently comparing me to a Nazi,
hmmm?

Anyway, it should certainly be a general rule that you shouldn't post
misleading or erroneous material. If you do, you shouldn't be surprised
if it gets corrected.

> That is, when Mike Albert asked me to desist, I did so immediately. I
> felt that I was "correcting" Chomsky's errors, for I felt that there
> was a closer relation between his technical and political work than
> Chomsky let on. But I deferred to his wish!
>
> I'd ask Heathfield to do the same. He won't.

Hypocrisy. I asked you to stop comparing me to a Nazi. You did not stop.
Now, you can say what you like - as indeed you have done - in this
newsgroup and I won't childishly threaten you with lawsuits; I'll leave
that particular idiocy to you alone. But this is meant to be a technical
forum for discussions about programming, and what I say in reply to your
articles is based on that fact. If you post errors in a technical
newsgroup, not to expect corrections is naive.

Richard Heathfield

unread,
Sep 24, 2002, 5:09:45 AM9/24/02
to
"Edward G. Nilges" wrote:
>
<snip>
>
> Chris, a really good string parser would be a VB.Net object

... or whatever ...

> based not
> on regular expressions (which are an obfuscatory parsing notation,
> expressions in which look like explosions in a gnome factory) but
> Backus Naur form.

That sounds reasonable so far.

> It would have properties at a minimum for the input string and the
> grammar. When you saved either, you would do no work. Instead, the
> caller would ask for a specific grammar symbol.

So does that.

> For example, he'd ask for the third function in a C program or the
> third sentence in the fifth paragraph of an English text.

This is where it gets a little hazy. What possible benefit can "third
function in a C program" bring? I can understand "entry function" and
"called function" being relevant, and of course "first function/next
function", but I see no particular benefit in "third function".
Similarly for the English text, except perhaps in the rather limited
case of a code book.

> The object
> would then lazily and paradoxically get to work parsing top down and
> left to right, building a parse tree which it would lazily keep for
> further use, and return what was wanted.
>
> You can't do this in sensible C.

Who can't? For example, do you think Dennis Ritchie could do this in
sensible C? If not, why not?

> It's not easy in OO, but much more
> natural.

To an OO programmer, an OO solution is more natural. To a procedural
programmer, a procedural solution is more natural. To a functional
programmer, a functional solution is more natural. To someone who has
truly mastered all these paradigms, the natural solution is likely to be
the one he thinks of first (or, bearing in mind the natural cussedness
of mankind, possibly the second), which may be OO, procedural, or
functional, depending on the individual.

Richard Heathfield

unread,
Sep 24, 2002, 5:26:48 AM9/24/02
to
"Edward G. Nilges" wrote:
>
> gsw...@mailcity.com (gswork) wrote in message news:<81f33a98.02092...@posting.google.com>...
> > >

<snip>

> > 1) However well informed, an opinion remains an opinion and,
> > especially in complex systems such as society, it is quite easy to be
> > very well infomed and wrong at once. The predictive accuracy of an
> > opinion is about the only guide to it's qualitative 'rightness' and
> > even that can sometimes be down to a good guess and little more.
>
> Agreed. But I think that opinions should not be rhetorically reduced
> to "errors".

Agreed. Nor should errors be glossed over as unimportant. They should be
faced and dealt with. And, of course, opinions should be clearly marked
as opinions, to distinguish them from claimed facts.

> > 2) An opinion on an element of computer science, even linked to the
> > complexity of society as it must be, does at least have a 'hard
> > science' part - the computer science. Therefore getting facts right,
> > code right and setting opinion in that context is important for it to
> > it have credence.
> >
>
> There is no way of coding the truth table compiler or word/string
> parser that prevents change to even a bug free solution that
> introduces, using C normally, the possibility of a memory "leak."

This seems to be saying that it is impossible to leak memory in a C
program for coding a truth table compiler. That is at odds with what I
believe your position to be, so I presume I've misunderstood. Could you
clarify, please?


> This is less "computer science" considered as a science of formal
> languages than an unnamed combination of computer science and
> philosophy such as the late Dijkstra attempted to do, which realized
> that there's no such thing as a formal language and it's a good thing
> too.

I suppose that depends on your definition of "formal language". I can
find no reference to it in the Dragon Book. What do *you* mean by
"formal language"?


> That is, "C" is ultimately praxis and praxis that is observably
> subject to stupid errors by smart people.

The use of any programming language is subject to stupid errors by smart
people.

> For this reason, if there
> are better tools C should be abandoned.

s/C/<language of your choice>/g


> > 3) In usenet, no one can hear your tone. You appear to have a
> > stylistic tendency to state opinion as statements of fact, as if
> > equivelent to physical laws. you may not intend them to be read that
> > way, you may intend the generalisations of particulars to come accross
> > as demonstrative rather than as poor deduction, but you cannot expect
> > your tone-less words to convey all that. That's why a lot of people
> > liberally sprinkle 'IMO's in their posts, to help the recipient
> > discern the meaning of the message just that little bit more.
>
> To say "I believe X" is only at second hand "anyone who believes Not-X
> is a complete bozo."

I disagree. For example, I believe that a program in which each function
has one entry point and one exit point is clearer than one for which
that condition does not hold, all else being equal. If we call that X,
then ProgrammerDude believes Not-X. Nevertheless, I do not consider
ProgrammerDude to be a complete bozo (or even an incomplete bozo).
Whether he believes me to be a complete bozo for believing X is germane,
of course, but I suspect that he does not. We could always ask him.

> Therefore I submit to you that unless I become a
> mad and silent monk, it were a lesser crime for me to post "C is not
> viable" than to post regular expressions of the form *Nilges*blows*,
> as does Heathfield in effect.

I have never said that. What I have done is to correct your errors. "C
is not viable" is such a strong claim that it ought to be supported by
equally strong credible evidence, and this is something you have not
provided. To say "in my opinion, C is not viable" is fair enough; to say
"C is not viable" requires justification.

<snip>


> I am only a humble programmer and at best an admirer of St. Dijkstra,
> himself a humble programmer. But note that what I said was "C is not
> viable" which was interpreted, it seems, at second hand by Heathfield
> to mean "Heathfield is under a sort of Internet Blitz-Krieg."

Not at all. See above.

> He took it, it seems, rather personally and as a result he's committed
> what I regard as the bombing of Dresden in the form of actionable
> libel.

I have neither committed libel nor bombed Dresden. Nor did I take your
statement about C personally. It was simply that you made an unsupported
claim without marking it as an opinion. When you make a claim, the onus
is on you to support that claim, if you wish it to be taken seriously.

> What seems to be missing is the ability to discuss our mental
> limitations in the way Dijkstra, and Grace Hopper, were able to.
> Discussion seems to become an attack on a holy relic (the C language)
> and from the woodwork emerge various mavens who account the discussion
> as revelatory of the poor skill of the person who says "C, er, may not
> be viable."

It is true that C may not be viable, in the same way that it is true
that the sun may not rise tomorrow, the die may not turn up a 6, or that
this thread may not come to a rapid conclusion. "May not" (in the sense
of "might not" rather than "must not") is a claim with very little
impact or relevance, though. What you actually said was not ", er, may
not be" but "is not", and that's a very different claim indeed.


> My claim was that even smart bastards like me

Hmmm. If I were now (or at any time in the future) to call you
illegitimate, I would have a defence in law because you have already
said as much yourself. I don't plan to do that, but if you're going to
start throwing libel lawsuits around, you ought to be careful about what
you say in public.

> make stupid mistakes
> when we have to allocate n+1 bytes for a string in three hours on a
> Sunday morning in response to Chris, and that smart and good-looking
> people like me and Richard Heathfield deserve better tools, which are
> now available.

It doesn't take a good C programmer three hours to allocate the right
number of bytes for a string (let alone the wrong number). You have some
evidence to support your assertion that I'm smart, I suppose, but I know
of no evidence available on-line to back up your claim that I am
good-looking.

>
> Why should we have to labor with mediaeval artifacts late in the night
> so that lawn trolls should acclaim us as studly duddly programmers,

No reason at all. You see, there's no such thing as a lawn troll. They
don't exist.

> when in fact even studly programmers can't get dates? I sense in the
> process something that Herbert Marcuse identified in 1971, and that is
> the tendency for the urban masses to fall in love with the inorganic.
>
> There is to me a perverted Eros in being at all proud of being able to
> "do" objects in C,

int i = 0; /* I rock! */

FCOL.

<OT stuff snipped>

Gerry Quinn

unread,
Sep 24, 2002, 6:57:56 AM9/24/02
to
In article <f5dda427.02092...@posting.google.com>, spino...@yahoo.com (Edward G. Nilges) wrote:
>ger...@indigo.ie (Gerry Quinn) wrote in message
> news:<A_Aj9.17161$zX3....@news.indigo.ie>...
>>
>> >Seriously, I make disclaimers all the time when I am wrong, and my
>> >views of events do change. For example, in 1992 I believed C was
>> >viable.
>>
>> And last year, you believed that George W. Bush caused a recession by
>> "talking down" the economy during his election campaign.
>
>He did a great job, Gerry. The stock market is headed for 800,
>unemployment is rising, and anyone who learns C needs to have his head
>examined if he thinks he's employable.

The stock market is certainly returning towards more plausible
price-earnings ratios (and the earnings reported since the peak of the
Clinton 'Boom' did not always exist as such). But the point you made
was not about the direction of the trend, but an assertion with regard
to its cause. Specifically, that the US economy (including for example
such companies as Enron) was healthy in 2000, until Bush (correctly, not
that it required genius) predicted a large fall in the Dow.

- Gerry Quinn


Christopher Barber

unread,
Sep 24, 2002, 9:53:16 AM9/24/02
to
spino...@yahoo.com (Edward G. Nilges) writes:
> We could discuss the construction of this if you'd get off your
> homoerotic and pornographic focus on my biography, and if you think it
> is worthwhile.

Falsely characterizing his criticism as "homoerotic" and "pornographic" is
clearly intended to defame him. This is clearly "actionable libel" by your
own definition. Give it a rest.

- Christopher

Kamilche

unread,
Sep 24, 2002, 11:52:06 AM9/24/02
to
spino...@yahoo.com (Edward G. Nilges) wrote in message news:<f5dda427.02092...@posting.google.com>...

> I am concerned as an independent consultant that Richard has spread
> untruths about my abilities in a libelous way.

I think you'd be surprised at how few people read that. :-D After your
post, I encountered 'the movie' post... skimmed the first paragraph,
saw '836 lines remaining', and thought... 'Wow, SOMEone is having a
BAD day!' I didn't read it past that.

Anyways, thanks again for the post, I felt you needed to know there
are some of us that appreciated it and didn't think it was off topic.

--Kamilche

Kamilche

unread,
Sep 24, 2002, 12:08:48 PM9/24/02
to
klac...@home.com (Kamilche) wrote in message news:<889cbba0.02092...@posting.google.com>...

I'm posting this message as a response to my own message, so no one
will get overly offended by it... but... have you guys read the book
'Don't Sweat the Small Stuff' by Richard Carlson? It's a tiny book,
with very short chapters, suitable for reading in 3-5 minute bites,
perfect for us computer addicts. ;-)

There's one bit in there, that I think is especially pertinent... I
dunno how much I can post of it and not get sued, but I'll take a
chance and post this one useful bit.

---------------------------------------------------

Chapter 12. Let Others Be "Right" Most of the Time

One of the most important questions you can ever ask yourself is, "Do
I want to be 'right' - or do I want to be happy? Many times, the two
are mutually exclusive!

Being right, defending our positions, takes an enormous amount of
mental energy and often alienates us from the people in our lives.
Needing to be right - or needing someone else to be wrong - encourages
others to become defensive, and puts pressure on us to keep defending.
Yet many of us (me too, at times) spend a great deal of time and
energy attempting to prove (or point out) that we are right - and/or
others are wrong. Many people, consciously or unconsciously, believe
that it's somehow their job to show others how their positions,
statements, and points of view are incorrect, and that in doing so,
the person they are correcting is going to somehow appreciate it, or
at least learn something. Wrong!

Think about it. Have you EVER been corrected by someone and said to
the person who was trying to be right, "Thank you so much for showing
me that I'm wrong and you're right. Now I see it. Boy, you're great!"
Or, has anyone you know ever thanked you (or even agreed with you)
when you corrected them, or made yourself "right" at their expense? Of
course not. The truth is, all of us hate to be corrected. We all want
our positions to be respected and understood by others. Being listened
to and heard is one of the greatest desires of the human heart. And
those who learn to listen are the most loved and respected. Those who
are in the habit of correcting others are often resented and avoided.

It's not that it's never appropriate to be right - sometimes you
genuinely need to be or want to be. Perhaps there are certain
philosophical positions that you don't want to budge on such as when
you hear a racist comment. Here, it's important to speak your mind.
Usually, however, it's just your ego creeping in and ruining and
otherwise peaceful encounter - a habit of wanting or needing to be
right.

A wonderful, heartfelt strategy for becoming more peaceful and loving
is to practice allowing others the joy of being right - give them the
glory. Stop correcting. As hard as it may be to change this habit,
it's worth any effort and practice it takes. When someone says "I
really feel it's important to..." rather than jumping in and saying,
"No, it's more important to..." or any of the hundreds of other forms
of conversational editing, simply let it go and allow their statement
to stand. The people in your life will become less defensive and more
loving. They will appreciate you more than you ever could have dreamed
possible, even if they don't exactly know why. You'll discover the joy
of participating in and witnessing other people's happiness, which is
far more rewarding than a battle of egos. You don't have to sacrifice
your deepest philosophical truths or most heartfelt opinions, but,
starting today, let others be "right" MOST of the time!

---------------------------------------------------

{stops typing, closes her eyes, crosses her heart, and
tiptoes out of the room where giants are battling.}

Richard Heathfield

unread,
Sep 24, 2002, 2:16:53 PM9/24/02
to
Kamilche wrote:
>
<snip>
>

[I ought to point out that Kamilche is quoting from 'Don't Sweat the
Small Stuff' by Richard Carlson.]

> Think about it. Have you EVER been corrected by someone and said to
> the person who was trying to be right, "Thank you so much for showing
> me that I'm wrong and you're right. Now I see it. Boy, you're great!"

Yes. Loads of times. What other logical response is there, if the
correction is correct?

> Or, has anyone you know ever thanked you (or even agreed with you)
> when you corrected them, or made yourself "right" at their expense?

Yes, many times. It works both ways.

> Of
> course not.

HUH??? Whoever wrote that has clearly never been involved in technical
discussions on Usenet.

> The truth is, all of us hate to be corrected.

Sure, but I'd rather be corrected and educated than uncorrected and
ignorant. Wouldn't you?

> We all want
> our positions to be respected and understood by others.

All the more reason to react sensibly when we are corrected.

Think about it, Kamilche - remember that assert(b) line of yours
elseNet, that you didn't realise invoked undefined behaviour? And
remember that, even if it were fixed, it was a bit too far down the code
to be useful? Both these facts were picked up on and, as soon as you
realised that the corrections were valid, you posted a "thank you", did
you not? And that is the *appropriate* response, a response that anyone
with a clue learns to use when they screw up. You've learned it. I've
learned it. Lots of people have learned it. Some, however, have not.

<snip>

Edward G. Nilges

unread,
Sep 24, 2002, 9:08:57 PM9/24/02
to
klac...@home.com (Kamilche) wrote in message news:<889cbba0.02092...@posting.google.com>...

Thanks.

Yeah, it's true that there are probably very few people who stay with
this thread from hell and it may be that the only ones who read the
posts are the posters themselves. The problem is that Google
permanently archives Richard's claims.

I could have used a pseudonym, but I feel that I have a right and duty
to be open as to who I am, and not have this name damaged, perhaps
unintentionally, by Richard.
>
> --Kamilche

Edward G. Nilges

unread,
Sep 24, 2002, 9:24:03 PM9/24/02
to
klac...@home.com (Kamilche) wrote in message news:<889cbba0.0209...@posting.google.com>...

> klac...@home.com (Kamilche) wrote in message news:<889cbba0.02092...@posting.google.com>...
>
> I'm posting this message as a response to my own message, so no one
> will get overly offended by it... but... have you guys read the book
> 'Don't Sweat the Small Stuff' by Richard Carlson? It's a tiny book,
> with very short chapters, suitable for reading in 3-5 minute bites,
> perfect for us computer addicts. ;-)

I haven't read "Don't sweat the small stuff" but I am quite familiar
with a genre that in recent years has become very popular and includes
"Chicken Soup for the Soul", "All I Need to Know I Learned in
Kindergarten", and "Who Moved My Cheese?"

These books are based on "recovery" language that was pioneered in the
1930s by a very great man: Bill Wilson of Alcoholics Anonymous. He
created, from nothing, a sort of American Buddhism which has saved
countless lives.

The problem is that in recent years, corporations and human resources
departments within corporations use third-order variants of this
language for two reasons: one good and one bad.

The good reason is that it helps people deal with genuine workplace
issues such as downsizing and stress even as Buddha helped people by
reminding them that life sucks.

The bad reason is that the corporation purveys this information, at
times, as part of a campaign that makes life suck for some and not
suck for others, the latter being heavy investors and CEOs.

In accomplishing their goal, the books advise a sort of agnosticism
and anti-intellectualism in which it becomes at all times *verboten*
to draw negative conclusions about the world and one's place within.
As such, they ignore a tenet of Buddhism which is that attention has
to be paid towards suffering.

At worst, "don't sweat the small stuff" can be interpreted as the
reverse of recovery language insofar as "sweat" is interpreted as
"know."

You may be thinking of me as a crazed Ted Kazcynski figure sitting in
an attic who is "sweating the small stuff" and treasuring rancorous
feelings towards Heathfield. However, the evidence is that I have
continually maintained my cool and never "lost it" as have certain
parties who shall remain nameless.

The law remains a recourse which was designed for people to use in
place of losing their cool and if indeed I have as I believe cause of
action, then it is open to me at this time. But you cannot know if I
am indeed sweating the small stuff. I may be merely amusing myself,
ultimately.

We do have to be able to name and identify imaginary gardens with real
toads in them, and I remain convince that Mr Heathfield, as the frog
prince of this thread, has gone off the rails.

Ultimately "don't sweat the small stuff" was what a vast segment of
the American bourgeoisie did during the 1980s and 1990s and as a
result they have it appears been expropriated of jobs and 401Ks.

Kamilche

unread,
Sep 24, 2002, 10:21:10 PM9/24/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D90AC15...@eton.powernet.co.uk>...

> Think about it, Kamilche - remember that assert(b) line of yours
> elseNet, that you didn't realise invoked undefined behaviour? And
> remember that, even if it were fixed, it was a bit too far down the code
> to be useful? Both these facts were picked up on and, as soon as you
> realised that the corrections were valid, you posted a "thank you", did
> you not? And that is the *appropriate* response, a response that anyone
> with a clue learns to use when they screw up. You've learned it. I've
> learned it. Lots of people have learned it. Some, however, have not.

Ah, you're right, that's true. Part of it may be that I don't have as
much of my ego wrapped up in programming, as a lot of other
programmers I've met (because I'm female? Who knows.)

Some of the programmers I've worked with, the most they can muster in
the way of 'thank you' when you help them with a problem, is to rush
away, try to forget they asked for your help, and pretend they came up
with on their own. Their egos won't let them admit to anything else.
:-D

Oh well, it IS a great book, even if it's not applicable in this case.
I readily admit I haven't been following this whole flame war. If the
Richard Carlson excerpt piques the interest of even one or two
programmers out there, it will have been worth mentioning it.

--Kamilche

Kamilche

unread,
Sep 25, 2002, 2:03:24 AM9/25/02
to
spino...@yahoo.com (Edward G. Nilges) wrote in message news:<f5dda427.02092...@posting.google.com>...

> Ultimately "don't sweat the small stuff" was what a vast segment of
> the American bourgeoisie did during the 1980s and 1990s and as a
> result they have it appears been expropriated of jobs and 401Ks.

Wow, that's quite a big leap you're making there... I don't follow all
you're saying, but it's probably my anti-intellectualism getting in
the way. (grin)

Hm. I'd really like to get into details here, to help you see that
prejudice against people you've never met and know nothing about, is
wrong... but I think it would be used against me. If you can turn my
admittedly small, humble offering of good vibes to the newsgroup, into
a vilification of me as an American bourgeoisie pig who lost my 401k
plan along with my job in a misplaced 'feel good' group grope in the
1980's, anything I say will only feed your hatred.

(Bowing out while her hair is still only slightly singed, and sorry I
ever tried to make peace in the first place,)

--Kamilche

Ben Pfaff

unread,
Sep 25, 2002, 2:14:47 AM9/25/02
to
spino...@yahoo.com (Edward G. Nilges) writes:

> Chris, a really good string parser would be a VB.Net object based not
> on regular expressions (which are an obfuscatory parsing notation,
> expressions in which look like explosions in a gnome factory) but
> Backus Naur form.

This is an interesting proposal. However, it is not new. If you
look into archives for comp.compilers, I think you'll find that
there's been discussion of this before by specialists in the
related area. If I recall correctly, there are basically two
categories of objections:

* First, BNF is relatively verbose compared to regular
expression syntax. Something that can be expressed in
a one-line RE might take several lines of BNF. The
very compactness of REs is a useful positive property.

* Second, BNF can be used to express grammars that are
difficult to parse. It's much easier to write a RE
parser and executor than it is to write a general
context-free grammar parser and executor, and because
it's easier to write, it's probably going to be better
optimized and faster for equivalent languages.

But I suggest you look it up for details.
--
"doe not call up Any that you can not put downe."
--H. P. Lovecraft

Richard Heathfield

unread,
Sep 25, 2002, 2:54:15 AM9/25/02
to
"Edward G. Nilges" wrote:
>
<snip>
>
> Yeah, it's true that there are probably very few people who stay with
> this thread from hell and it may be that the only ones who read the
> posts are the posters themselves.

Possibly.

> The problem is that Google
> permanently archives Richard's claims.

Why is that a problem, and what claims have /I/ made?

> I could have used a pseudonym, but I feel that I have a right and duty
> to be open as to who I am, and not have this name damaged, perhaps
> unintentionally, by Richard.

I have neither intentionally nor unintentionally damaged your name. I
have entered into technical discussions with you, in which I have
pointed out occasions where, for whatever reason, you are incorrect.

Richard Heathfield

unread,
Sep 25, 2002, 2:57:10 AM9/25/02
to
"Edward G. Nilges" wrote:
>
<snip>
>
> We do have to be able to name and identify imaginary gardens with real
> toads in them,

Why?

> and I remain convince that Mr Heathfield, as the frog
> prince of this thread, has gone off the rails.

I am neither a frog nor a prince, and I have no rails from which to
depart. Please get the facts right in future.

Al Dunbar

unread,
Sep 25, 2002, 11:21:01 AM9/25/02
to

"Edward G. Nilges" <spino...@yahoo.com> wrote in message
news:f5dda427.02092...@posting.google.com...
> klac...@home.com (Kamilche) wrote in message
news:<889cbba0.02092...@posting.google.com>...
> > spino...@yahoo.com (Edward G. Nilges) wrote in message
news:<f5dda427.02092...@posting.google.com>...
> >
> > > I am concerned as an independent consultant that Richard has spread
> > > untruths about my abilities in a libelous way.
> >
> > I think you'd be surprised at how few people read that. :-D After your
> > post, I encountered 'the movie' post... skimmed the first paragraph,
> > saw '836 lines remaining', and thought... 'Wow, SOMEone is having a
> > BAD day!' I didn't read it past that.

Odd that Ed did not comment how a large linecount may not actually indicate
someone's having a bad day. Ed's posts are long regardless of the type of
day he is having ;-)

> > Anyways, thanks again for the post, I felt you needed to know there
> > are some of us that appreciated it and didn't think it was off topic.
>
> Thanks.

I am left wondering which post it is that Kamilche is referring to - your
Dijkstra obitiuary post or one of the others...

> Yeah, it's true that there are probably very few people who stay with
> this thread from hell and it may be that the only ones who read the
> posts are the posters themselves. The problem is that Google
> permanently archives Richard's claims.

... along with all the others. Or do you think that Google is complicit as
well.

> I could have used a pseudonym, but I feel that I have a right and duty
> to be open as to who I am, and not have this name damaged, perhaps
> unintentionally, by Richard.

Very gracious of you to say so.

/Al

Al Dunbar

unread,
Sep 25, 2002, 11:28:34 AM9/25/02
to

"Edward G. Nilges" <spino...@yahoo.com> wrote in message
news:f5dda427.02092...@posting.google.com...
> klac...@home.com (Kamilche) wrote in message
news:<889cbba0.0209...@posting.google.com>...
> > klac...@home.com (Kamilche) wrote in message
news:<889cbba0.02092...@posting.google.com>...
> >
> > I'm posting this message as a response to my own message, so no one
> > will get overly offended by it... but... have you guys read the book
> > 'Don't Sweat the Small Stuff' by Richard Carlson? It's a tiny book,
> > with very short chapters, suitable for reading in 3-5 minute bites,
> > perfect for us computer addicts. ;-)
>
> I haven't read "Don't sweat the small stuff" but I am quite familiar
> with a genre that in recent years has become very popular and includes
> "Chicken Soup for the Soul", "All I Need to Know I Learned in
> Kindergarten", and "Who Moved My Cheese?"

<snip>

> At worst, "don't sweat the small stuff" can be interpreted as the
> reverse of recovery language insofar as "sweat" is interpreted as
> "know."
>
> You may be thinking of me as a crazed Ted Kazcynski figure sitting in
> an attic who is "sweating the small stuff" and treasuring rancorous
> feelings towards Heathfield.

This sometimes seems a feasible explanation, but ...

> However, the evidence is that I have
> continually maintained my cool and never "lost it" as have certain
> parties who shall remain nameless.
>
> The law remains a recourse which was designed for people to use in
> place of losing their cool and if indeed I have as I believe cause of
> action, then it is open to me at this time. But you cannot know if I
> am indeed sweating the small stuff. I may be merely amusing myself,
> ultimately.

... this is perhaps the explanation having the lowest incredibility index.
As Gswork implied recently, it is so difficult to really *know* what is
behind what one says (and not just you) in usenet that it is more valid to
assume one does not know.

> We do have to be able to name and identify imaginary gardens with real
> toads in them, and I remain convince that Mr Heathfield, as the frog
> prince of this thread, has gone off the rails.

Personally, I prefer the imagery of imaginary garden gnomes to one of real
toads.

/Al

Al Dunbar

unread,
Sep 25, 2002, 11:30:05 AM9/25/02
to

"Kamilche" <klac...@home.com> wrote in message
news:889cbba0.02092...@posting.google.com...

But, Ms. Kamilche, Ed's response to you (the one that singed your hair) was
one of the mildest and most gracious I have seen in a while.

/Al

Programmer Dude

unread,
Sep 25, 2002, 11:07:20 AM9/25/02
to
Kamilche wrote:

> (Bowing out while her hair is still only slightly singed, and sorry
> I ever tried to make peace in the first place,)

[hands over burn ointment]

Best not to stand in middle of ancient feuds.... ;-\

--
|_ CJSonnack <Ch...@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL |
|_____________________________________________|_______________________|

Programmer Dude

unread,
Sep 25, 2002, 12:11:37 PM9/25/02
to
"Edward G. Nilges" wrote:

>>> About the only tech error was a typo bug. The other "errors" have
>>> been "errors" of opinion and of style,...
>>
>> That, as you must know, is false. And since you must know it, the
>> statement above must be a willing lie.

And your reply to this is the off-on-a-tangent smoke screen we've come
to recognize as the Nigles Response. Apparently, once again, you have
no cogent reply to being caught in another lie.

>> The matters of style and the malloc typo are ancient news; you're
>> the one who keeps rehasing them, because you're apparently unwilling
>> to respond to what I've written repeatedly about the more serious bugs
>> in design (both the VB and C version) and implementation (C version).

And rather than address this, we're off once again for a joy-ride under
the pink and purple skies of Planet Nigles.

> Chris, a really good string parser would be a VB.Net object...

A "really good" tool that only works on platforms supporting .Net?
We have very different ideas of what constitutes a "really good" tool.
Why even talk about a platform when discussing a design? What possible
connection does .net have the design of a string parser (other than,
perhaps, to provide a place were it could run much slower)?

> ...based not on regular expressions (which are an obfuscatory parsing


> notation, expressions in which look like explosions in a gnome factory)

Another axe to grind over another skill you just can't quite manage
to grasp? We had this discussion last year, and I'll give you the
same answer now I did then. (I expect you'll probably give me the same
answer you did then.)

> ...but Backus Naur form.

I use RE's *many* times a day when writing code, and I place great
value in their terseness and expressive power. I would *never* use a
tool that forced me to write BNF just to do S&R (or even just S).
Here, for instance, is an RE to swap the second and third words in
lines that qualify. How would you do this in BNF?

s/^( [^ ]+ *)([^ ]+)( +)([^ ]+)( +)/\1\4\3\2\5/

It took about a minute and not only identifies the 2nd and 3rd words,
but swaps them. I'd like to see BNF do that!

Someone else has already pointed out some of the technical objections
to this idea, along with the information that it's been considered and
found wanting.

There's an interesting parallel, perhaps. You don't like C or REs,
but prefer VB and BNF. The latter two are, in some regards, more
powerful than the first two, but in some regards they are also more
limited.

Interesting to me is the perception I have that the skill-level required
for the first two is probably higher than for the second two, and I can't
help but ponder on that which regard to your axe grinding. Your complaints
about skill, your constantly expressed autobiography, and the targets of
your axe-grinding all paint a rather consistant picture to me.

But whatever.

Anyway, I'd disagree with BNF for a string parser, especially in that
most cases of what you insist of calling parsing is simple tokenizing.
This is not to say that a tool that used BNF wouldn't be a good thing
for the places where it would be a good thing. I like BNF and use it
whenever I need to define a "mini-language".

> For example, he'd ask for the third function in a C program or the
> third sentence in the fifth paragraph of an English text.

Nice exercise, but what's the value? What application or user cares
about text in terms of sentence # or paragraph #? And be honest, have
you *ever* in your *life* wanted to find the third function in a file??

> You can't do this in sensible C. It's not easy in OO, but much more
> natural.

I'm sorry, Ed, but you're just wrong. Maybe it looks that way to you,
but not to me.

> We could discuss the construction of this if you'd get off your
> homoerotic and pornographic focus on my biography, and if you think
> it is worthwhile.

I talk facts whenever you give me the chance. I will continue to point
out your lies and major errors of FACT. And it's probable I will also
continue to *disgree* with most of your opinions, but you should be used
to that by now. ;-)

Programmer Dude

unread,
Sep 25, 2002, 1:14:17 PM9/25/02
to
Kamilche wrote:

[ This post has been edited to be flame-free. Anything that looks ]
[ like a flame isn't. Re-color it as wry irony.... ]

> ---------------------------------------------------
> Chapter 12. Let Others Be "Right" Most of the Time
>
> One of the most important questions you can ever ask yourself is, "Do
> I want to be 'right' - or do I want to be happy? Many times, the two
> are mutually exclusive!

Indeed.

An important lesson I learned (IIRC) sometime shortly after high school
was that sometimes in life you must choose between being "right" and
being effective. Especially in work situations.

Or to put it another way: don't spell-check your lover's letters! ;-\
(And, yes, a high-school girl-friend once taught me this lesson in no
uncertain terms!)

However, that said, in *technical* settings there is usually a shift
from the 'feelings-preservation' mode of social settings towards the
view that correctness has a value beyond personal feelings. And most
people who aspire (or perspire) techically would actually *prefer* to
be corrected when they are wrong (at least, IME).

> Think about it. Have you EVER been corrected by someone and said to
> the person who was trying to be right, "Thank you so much for showing
> me that I'm wrong and you're right. Now I see it. Boy, you're great!"

Many, many, MANY times! I place a *far* greater value on correctness
than on *my* ego or feelings. (I expect everyone else to be the same,
and that's sometimes a problem.) It's acutally a form of vanity in a
way: I want to be perfect; the only way that can happen is if I correct
ALL my errors, and I can't do that alone!

I think, generally speaking and IN THE TECHNICAL AREAS, people who take
growth and skill seriously appreciate a more knowledgable person providing
the benefit of their experience. I'd listen carefully to even a guy like
Dan Pop (over in clc) no matter how he presented his teachings.

> Or, has anyone you know ever thanked you (or even agreed with you)
> when you corrected them, or made yourself "right" at their expense?

Sometimes yes, sometimes no. Depends on lots of stuff.

> The truth is, all of us hate to be corrected.

I disagree that's a truth! I think it depends greatly on the setting.
In a social setting, the old saying about opinions and assholes is,
I think, spot on. In technical settings, it's more about the facts.

Technical is easier and less taxing. Facts is facts, and it's no ones
fault if the facts disagree. Right-thinking people are like, "Oh, I'm
wrong. Now I know better, and now I'll be right next time." No need
for hurt feelings.

But in social settings, geeze, it's complicated. "Honey, do these
pants make me look fat?" I mean there's just no right answer. ;-)

> A wonderful, heartfelt strategy for becoming more peaceful and loving

> is to practice allowing others the joy of being right...

Part of where I get off this boat is when it starts getting into this
new-age "all views are equally 'right'" crap. Americans are especially
good at opening their minds until their brains run out.

No, sorry, *some* opinions are pure crap. I'll sometimes allow people
the joy of being "full of it" or "dead wrong" just because it's simpler
that way and it makes them happy, but make no mistake: they ain't "right".

> Stop correcting. As hard as it may be to change this habit,
> it's worth any effort and practice it takes. When someone says "I
> really feel it's important to..." rather than jumping in and saying,
> "No, it's more important to..." or any of the hundreds of other forms
> of conversational editing, simply let it go and allow their statement
> to stand. The people in your life will become less defensive and more
> loving.

And more wrong. ;-) (Sorry, couldn't resist.)

More ranting. At some point in this country, we began to view
competition as a Bad Thing. We didn't want to bruise the egos
of the losers. I mean, of the winning-challenged.

When I first was a field tech, my company had a Grand Masters Contest
every year where us techs competed for a week-long vacation in Hawaii.
They discontinued the program before I had enough years in the company
to participate (pity, I think I would have won), and the main reason
given was the "hurt" feelings of the, um, winning-challenged.

Yet, I've (in 22 years here) NEVER heard a tech comment about how their
feelings were hurt they didn't win. It appears to be another management
cave-in to perceived social pressure.

The same pressure that tries to reduce the difference between good
students and poor students (in the name of self-esteem...what kind
of self-esteem is generated by having the world handed to you?).

So, anyway, you're completely right in a social sense, but I think
the rules are a little different in a technical arena.

Programmer Dude

unread,
Sep 25, 2002, 1:37:24 PM9/25/02
to
Richard Heathfield wrote:

>> The difference was that in the set case, a set of characters divides
>> tokens and in the string case a fixed string (or set of strings in
>> an extension of the model) divides tokens.
>
> That is why it should have been two functions, not one.
>

> [small snip]


>
>> I think it is eminently discussable whether these two concepts should
>> combine to form a single model with a binary switch,
>
> I think it's a poor design because it combines two essentially different
> functions into one, for no reason other than that you wish each of them
> to use a 1-based indexing. What if we suddenly discovered another 17
> different things we wanted to do that all needed a 1-based indexing
> convention? Turn the function body into a switch/case?

Hold on to your hats, I'm gonna argue Ed's case on this one (and, Ed,
are you paying attention: I'm **disagreeing** with Richard (and it
ain't the first time, neither :-)).

I don't actually see these as such distinct functions they *demand*
separation. Really, both are just special cases of the single task
of dividing a string into sub-strings using delimiters. (Contrast
this, perhaps, with dividing a string based on column positions or
other *external* criteria. In our model, the string carries embedded
information describing its division.)

One special case is that there are one-or-more *single* characters
that are considered delimiters. A common example is whitespace-
separated text; the space, tab, carriage-return, line-feed and
vertical-feed are all considered equal delimiters. Another example
might be "CSV", comma-separated values. Such might be defined with
the comma being the only legal delimiter or it might allow semi-colons
to be treated like commas.

Note that, in the above two examples, the former usually "collapses"
multiple delimiters into a single delimiting occurance, while the
former usually treats contiguous delimiters as signifying a "blank"
token. For example, in most applications, the first string below
probably contains two tokens, while the second likely contains five:

" Hello, World! "
" , arg-2, arg-3,, arg-5 "

Another special case is if the delimiter is allowed to have structure
beyond a single char. That is, it consists of a sub-string which must
appear as a whole to count as delimiting. A simple case might be text
with CR/LF line endings in an application that required both CR and LF
to be present.

What Ed did, and with which I have no issue, is overload the argument
containing the delimiter set so it can be viewed as an "array" of
single-character delimiters OR as a single delimiting string. And
he requires a second parameter to inform the routine which type of
delimiting set is passed.

Since I see the two cases over-lapping rarely (if at all?), I just
don't have a problem with this on a design level. I don't have a
problem with "configuring" a tokenizer to tailor its behavior.

That all said, there are a number of improvements possible on the
original interface.

First, the design assumes one form of delimiting always collapses
contiguous delimiters while the other form always doesn't. I think
this is a large design error. The whitespace/CSV examples above
show that single-character delimiting can require either behavior.

Second, one could expand the delimiter argument to be an array.
If one is delimiting characters ("set"), one puts one char in as
many array slots as required. If one is delimiting strings, then
one puts strings in as many array slots as required. This removes
the "switch" argument as there would be no distinction between "set"
and "string" delimiting. (One would still want a switch to collapse
or not contiguous delimiters.)

Third, I would prefer an interface that allows me to submit the
delimiters once and not every time. This is based on the observation
that most of the time, the delimiters don't change. One of the bigger
errors (in my mind) with the interface as designed is you must pass
the delimiter string each time. It should be a separate action.
_____________________________________________________________________


>> The second use of malloc in the code showed I was aware of the need.
>
> Not necessarily. You might have got it right by chance.

Oh, come on, how likely is that? Give him this much: he did know what
he was supposed to do with malloc(), that's clear from the second use.
(That you didn't spot it immediately, and that it slipped past Ed, to
me suggests our criticism of the code style was cogent. The complexity
of the lexography make it harder to spot.)

> Then what is your problem? Clearly you consider Liz Hurley (whoever she
> is) trustworthy, or you wouldn't call her, so you can probably believe
> what she says, can't you?

I've been wondering about this "Liz Hurley"... The one I know is an
actress:
http://www.Sonnack.com/WillCall/elizabeth_hurley1.jpg

You might have seen her in the remake of BEDAZZLED:

http://www.Sonnack.com/WillCall/elizabeth_hurley2.jpg

[shrug] Not quite sure what she has to do with programming...but you
probably DO wish you worked for her..... ;-\

Al Dunbar

unread,
Sep 25, 2002, 3:44:32 PM9/25/02
to

"Programmer Dude" <cjso...@mmm.com> wrote in message
news:3D91E039...@mmm.com...
> "Edward G. Nilges" wrote:

> > Chris, a really good string parser would be a VB.Net object...
>
> A "really good" tool that only works on platforms supporting .Net?
> We have very different ideas of what constitutes a "really good" tool.
> Why even talk about a platform when discussing a design? What possible
> connection does .net have the design of a string parser (other than,
> perhaps, to provide a place were it could run much slower)?

Hey, don't knock it. If it runs slow enough, then one can debug it without
having to slow it down with breakpoints! How's that for a development
feature? ;-)

/Al

Al Dunbar

unread,
Sep 25, 2002, 3:54:09 PM9/25/02
to

"Programmer Dude" <cjso...@mmm.com> wrote in message
news:3D91F454...@mmm.com...
> Richard Heathfield wrote:

> >> I think it is eminently discussable whether these two concepts should
> >> combine to form a single model with a binary switch,
> >
> > I think it's a poor design because it combines two essentially different
> > functions into one, for no reason other than that you wish each of them
> > to use a 1-based indexing. What if we suddenly discovered another 17
> > different things we wanted to do that all needed a 1-based indexing
> > convention? Turn the function body into a switch/case?
>
> Hold on to your hats, I'm gonna argue Ed's case on this one (and, Ed,
> are you paying attention: I'm **disagreeing** with Richard (and it
> ain't the first time, neither :-)).

Hanging dearly on to my Velikovskian hat!

> Third, I would prefer an interface that allows me to submit the
> delimiters once and not every time. This is based on the observation
> that most of the time, the delimiters don't change. One of the bigger
> errors (in my mind) with the interface as designed is you must pass
> the delimiter string each time. It should be a separate action.

(still holding on to those hats, now...)

ParseDefinition.delimiter = ","
ParseDefinition2.delimiter = ",;\"

That is one reason that I like certain aspects of built-in object
orientation. This is not, of course, to say that the same design aspect
could not be carried out in a procedural language ;-)


/Al

Programmer Dude

unread,
Sep 25, 2002, 4:14:48 PM9/25/02
to
Al Dunbar wrote:

>> Why even talk about a platform when discussing a design? What possible
>> connection does .net have the design of a string parser (other than,
>> perhaps, to provide a place were it could run much slower)?
>
> Hey, don't knock it. If it runs slow enough, then one can debug it
> without having to slow it down with breakpoints! How's that for a
> development feature? ;-)

Heh! Reminds me of the days of 300 baud when you could read the text
as the printer printed it. (Or 110 baud where you'd read it while
tapping your foot. :-)

Programmer Dude

unread,
Sep 25, 2002, 4:17:18 PM9/25/02
to
Al Dunbar wrote:

>> Third, I would prefer an interface that allows me to submit the
>> delimiters once and not every time.
>

> ParseDefinition.delimiter = ","
> ParseDefinition2.delimiter = ",;\"

Yep, exactly what I had in mind (or equiv).

> That is one reason that I like certain aspects of built-in object
> orientation. This is not, of course, to say that the same design aspect
> could not be carried out in a procedural language ;-)

Absolutely. I would consider this a feature of interface design that
completely transcends code organization and underlying design.

Richard Heathfield

unread,
Sep 25, 2002, 4:48:50 PM9/25/02
to
Programmer Dude wrote:
>
> Richard Heathfield wrote:
>
> >> The difference was that in the set case, a set of characters divides
> >> tokens and in the string case a fixed string (or set of strings in
> >> an extension of the model) divides tokens.
> >
> > That is why it should have been two functions, not one.
> >
<snip>

>
> I don't actually see these as such distinct functions they *demand*
> separation.

Do you not see the extra parameter as indicative of this distinction?
Well, obviously not, but I certainly do. :-)

> Really, both are just special cases of the single task
> of dividing a string into sub-strings using delimiters.

Would that C had array literals. If so, the delimiters could be passed
as a NULL-terminated array of char * without the need for special
set-up. (C gained struct literals in 1999, but they don't really cut it
here.) That way, no extra parameter would be needed.

> (Contrast
> this, perhaps, with dividing a string based on column positions or
> other *external* criteria. In our model, the string carries embedded
> information describing its division.)

But that information is clearly not sufficient on its own to describe
the division, or you would not have to tell the function what delimiters
to use or how to use them. In other words, the external criteria are
still there.

> One special case is that there are one-or-more *single* characters
> that are considered delimiters. A common example is whitespace-
> separated text; the space, tab, carriage-return, line-feed and
> vertical-feed are all considered equal delimiters. Another example
> might be "CSV", comma-separated values. Such might be defined with
> the comma being the only legal delimiter or it might allow semi-colons
> to be treated like commas.

Careful. With CSVs, it's not uncommon for strings to contain "quoted
commas, like the one in this quoted string", which are to be considered
part of the data, rather than delimiters. For this reason, it's better
to write a separate CSV parser.


> Note that, in the above two examples, the former usually "collapses"
> multiple delimiters into a single delimiting occurance, while the
> former usually treats contiguous delimiters as signifying a "blank"
> token. For example, in most applications, the first string below
> probably contains two tokens, while the second likely contains five:
>
> " Hello, World! "
> " , arg-2, arg-3,, arg-5 "

Right. In fact, it would be useful for the parser to know - or be told -
which is required.

> Another special case is if the delimiter is allowed to have structure
> beyond a single char. That is, it consists of a sub-string which must
> appear as a whole to count as delimiting. A simple case might be text
> with CR/LF line endings in an application that required both CR and LF
> to be present.

(Such as in typical TCP-based protocols like POP3, SMTP, etc.)

Yes, and I suppose this is really where my discussion of the quoted
comma really belongs, in that the quotation marks introduce a structure
beyond the single char. In this case, though, it's not as simple as "a
sub-string". Rather, it's a set of rules.


> What Ed did, and with which I have no issue, is overload the argument
> containing the delimiter set so it can be viewed as an "array" of
> single-character delimiters OR as a single delimiting string. And
> he requires a second parameter to inform the routine which type of
> delimiting set is passed.

I see that as a poor design (and yes, that means I disagree with you,
but such is life) because it adds complexity at both ends - the function
is harder to write and harder to use, compared to a pair of functions,
each doing one of the two jobs under consideration. I will sometimes
(rarely) put up with added user-complexity for the sake of making a
function q&d to write; I am much more likely to put up with added
lib-complexity for the sake of making the function q&d to *use*. To make
both the implementation and the usage more difficult strikes me as
giving me the worst of both worlds.

We could probably meet halfway by using a splitter function:

int zog(char *whatever, char *thingy, char *doodad, int func)
{
int rc = ZOGERROR;

if(func == ZOGSET)
{
rc = zogset(whatever, thingy, doodad);
}
else if(func == ZOGCHAR)
{
rc = zogchar(whatever, thingy, doodad);
}

return rc;
}

Even then, though, it's hard to justify denying the user direct access
to zogset() and zogchar().


> Since I see the two cases over-lapping rarely (if at all?), I just
> don't have a problem with this on a design level. I don't have a
> problem with "configuring" a tokenizer to tailor its behavior.
>
> That all said, there are a number of improvements possible on the
> original interface.
>
> First, the design assumes one form of delimiting always collapses
> contiguous delimiters while the other form always doesn't. I think
> this is a large design error. The whitespace/CSV examples above
> show that single-character delimiting can require either behavior.

The CSV example shows that single-character delimiting isn't always as
adequate as it's cracked up to be.

> Second, one could expand the delimiter argument to be an array.
> If one is delimiting characters ("set"), one puts one char in as
> many array slots as required. If one is delimiting strings, then
> one puts strings in as many array slots as required. This removes
> the "switch" argument as there would be no distinction between "set"
> and "string" delimiting. (One would still want a switch to collapse
> or not contiguous delimiters.)

Yes, this is the solution I came up with (above) which "homogenises" the
two functions into one. Regrettably, though, it is a little clumsy to
use without array literals. Not impossible, though, by any means. For
example, one could do this:


.
.
.
{ /* local scope allows us to define a very local variable even in C90
*/
char *delimiters[] =
{
"this", "that", "the other", NULL
};
whatever(otherparams, delimiters);


> Third, I would prefer an interface that allows me to submit the
> delimiters once and not every time. This is based on the observation
> that most of the time, the delimiters don't change. One of the bigger
> errors (in my mind) with the interface as designed is you must pass
> the delimiter string each time. It should be a separate action.

Fine, but then you have to be prepared to record that state somewhere,
preferably without screwing up re-entrancy. This is why strtok gets such
a bad press - it maintains state internally within the function, which
can be problematic if you want to interleave the tokenising of two or
more strings, or even if you don't necessarily want to but might not be
able to prevent it (e.g. when threading). Fortunately, there is an easy
way around this; you can have a struct which describes the parse, and
just pass a pointer to that struct into the function; it can take the
place of *all* the arguments if you like. (Yes, strictly this means that
you're still passing the data in each time, but you've removed the
hassle factor of doing that, which is the main thing.)


> _____________________________________________________________________
> >> The second use of malloc in the code showed I was aware of the need.
> >
> > Not necessarily. You might have got it right by chance.
>
> Oh, come on, how likely is that?

I don't know. That's why I said "might". Bear in mind that we have seen
very little code from Mr Nilges, and the code we have seen had serious
problems. I really don't know whether his code normally works by luck,
by judgement, or indeed at all.

<snip>

Kamilche

unread,
Sep 25, 2002, 6:17:33 PM9/25/02
to
Programmer Dude <cjso...@mmm.com> wrote in message news:<3D91EEE9...@mmm.com>...

> So, anyway, you're completely right in a social sense, but I think
> the rules are a little different in a technical arena.

There are some areas in the technical area where it could still be
effectively applied, however. Anything that starts a 'holy war' among
computer people, such as choice of programming language, choice of
indenting, etc. And even for a particular task, there are many
different ways of skinning a cat - if they all work, it's unkind to
punish someone for not using YOUR flavor-of-the-month method, as long
as their function/module/class also works.

It is more applicable to social than technical areas though, I agree
with you there. This whole war appears to be solidly in the social
arena, and those fanning the flames could benefit from a a calmer,
milder attitude.

If the shoe fits, wear it. If it doesn't, give it to someone who it
does fit. :-) I'm not trying to imply YOU or YOU or YOU are wrong or
in need of advice... just that diatribe like this is unproductive, and
harms all who participate.

--Kamilche

Kamilche

unread,
Sep 25, 2002, 6:51:21 PM9/25/02
to
spino...@yahoo.com (Edward G. Nilges) wrote in message news:<f5dda427.02092...@posting.google.com>...

> The problem is that in recent years, corporations and human resources


> departments within corporations use third-order variants of this
> language for two reasons: one good and one bad.
>
> The good reason is that it helps people deal with genuine workplace
> issues such as downsizing and stress even as Buddha helped people by
> reminding them that life sucks.
>
> The bad reason is that the corporation purveys this information, at
> times, as part of a campaign that makes life suck for some and not
> suck for others, the latter being heavy investors and CEOs.

I agree with you that corporations generally suck. Normally I'd drone
on and on here, outlining the ways in which I have been harmed by
American corporations and state governments, but I'd be boring even
myself. :-/

At one point in the past, Ben and Jerry's Ice Cream touted the fact
that the president made only X times the amount of money of the lowest
paid employee in the corporation, and that if he wanted more money, he
had to give EVERYONE a raise, not just himself. I forget the exact
amount, it was way high, but at least it was a real LIMIT that people
could point to and applaud. I don't know if they follow that any
longer... but it seemed like a good model to me at the time.

But instead, American employers do their best to enslave the
population, giving the leaders stratospheric,
build-your-own-moon-rocket salaries while paying the rest of the
company as little as they can get away with... minimum wage, in many
cases. (most?) Few people earn a truly 'living' wage in America, one
where they can buy the necessities from month to month without having
to take out loans or use credit cards.

It's really pathetic. The popular television show 'The West Wing' had
a scathing comment about the situation recently... They said that the
reason people put up with the situation, is that everyone has a dream
that THEY'LL be the ones with the stratospheric income, some day. And
of course, it never happens.

The dichotomy between the rich and the poor in America is becoming
worse, not better, and for no 'good purpose' either - not only is
there no 'free health insurance' for the populace, they've made
cutbacks to the welfare program, to boot. And so many Americans think
this is a 'good' thing... all the Republicans, for instance.

So we're not coming from totally opposing viewpoints, Mr. Edward
Nilges. If you wouldn't antagonize other people by disparaging them
when you don't even know them, you might find life a bit less
difficult. ;-D

--Kamilche

Edward G. Nilges

unread,
Sep 25, 2002, 8:44:17 PM9/25/02
to
Programmer Dude <cjso...@mmm.com> wrote in message news:<3D91E039...@mmm.com>...

> "Edward G. Nilges" wrote:
>
> >>> About the only tech error was a typo bug. The other "errors" have
> >>> been "errors" of opinion and of style,...
> >>
> >> That, as you must know, is false. And since you must know it, the
> >> statement above must be a willing lie.
>
> And your reply to this is the off-on-a-tangent smoke screen we've come
> to recognize as the Nigles Response. Apparently, once again, you have
> no cogent reply to being caught in another lie.

My, we are off our medication, aren't we.


>
> >> The matters of style and the malloc typo are ancient news; you're
> >> the one who keeps rehasing them, because you're apparently unwilling
> >> to respond to what I've written repeatedly about the more serious bugs
> >> in design (both the VB and C version) and implementation (C version).
>
> And rather than address this, we're off once again for a joy-ride under
> the pink and purple skies of Planet Nigles.
>
> > Chris, a really good string parser would be a VB.Net object...
>
> A "really good" tool that only works on platforms supporting .Net?
> We have very different ideas of what constitutes a "really good" tool.
> Why even talk about a platform when discussing a design? What possible
> connection does .net have the design of a string parser (other than,
> perhaps, to provide a place were it could run much slower)?

When you lose your temper, your ability to parse seems to regress to
Chomsky type 0 such that you respond to keywords only. OK, it would
also be the SAME object in Java. The idea is independent of its
specific implementation.

>
> > ...based not on regular expressions (which are an obfuscatory parsing
> > notation, expressions in which look like explosions in a gnome factory)
>
> Another axe to grind over another skill you just can't quite manage
> to grasp? We had this discussion last year, and I'll give you the
> same answer now I did then. (I expect you'll probably give me the same
> answer you did then.)
>
> > ...but Backus Naur form.
>
> I use RE's *many* times a day when writing code, and I place great
> value in their terseness and expressive power. I would *never* use a
> tool that forced me to write BNF just to do S&R (or even just S).
> Here, for instance, is an RE to swap the second and third words in
> lines that qualify. How would you do this in BNF?
>
> s/^( [^ ]+ *)([^ ]+)( +)([^ ]+)( +)/\1\4\3\2\5/
>
> It took about a minute and not only identifies the 2nd and 3rd words,
> but swaps them. I'd like to see BNF do that!

You confuse regular expressions with one of the features of their
implementation that could easily be added to an implementation of BNF.
Formally considered, regular expressions and BNF are notations not
for editing but for recognizing, anmd, as such, all REs have a
corresponding BNF but not vice versa. Furthermore, BNFs do not look
like explosions in a gnome factory.

>
> Someone else has already pointed out some of the technical objections
> to this idea, along with the information that it's been considered and
> found wanting.
>
> There's an interesting parallel, perhaps. You don't like C or REs,
> but prefer VB and BNF. The latter two are, in some regards, more
> powerful than the first two, but in some regards they are also more
> limited.
>
> Interesting to me is the perception I have that the skill-level required
> for the first two is probably higher than for the second two, and I can't
> help but ponder on that which regard to your axe grinding. Your complaints
> about skill, your constantly expressed autobiography, and the targets of
> your axe-grinding all paint a rather consistant picture to me.
>
> But whatever.
>
> Anyway, I'd disagree with BNF for a string parser, especially in that
> most cases of what you insist of calling parsing is simple tokenizing.
> This is not to say that a tool that used BNF wouldn't be a good thing
> for the places where it would be a good thing. I like BNF and use it
> whenever I need to define a "mini-language".
>
> > For example, he'd ask for the third function in a C program or the
> > third sentence in the fifth paragraph of an English text.
>
> Nice exercise, but what's the value? What application or user cares
> about text in terms of sentence # or paragraph #? And be honest, have
> you *ever* in your *life* wanted to find the third function in a file??

I am primarily considering the problem of comparing two source
programs in a meaningful way, such that difference is expressed in the
form of the syntax of the programming language and not in terms of
lines.

As such, my interest in parsing is far beyond the capabilities of C
considered as an actual programming language as opposed to a formal
system.

Edward G. Nilges

unread,
Sep 25, 2002, 9:04:30 PM9/25/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D902BD9...@eton.powernet.co.uk>...
> "Edward G. Nilges" wrote:
> >
> <snip>

> >
> > Chris, a really good string parser would be a VB.Net object
>
> ... or whatever ...

>
> > based not
> > on regular expressions (which are an obfuscatory parsing notation,
> > expressions in which look like explosions in a gnome factory) but
> > Backus Naur form.
>
> That sounds reasonable so far.
>
> > It would have properties at a minimum for the input string and the
> > grammar. When you saved either, you would do no work. Instead, the
> > caller would ask for a specific grammar symbol.
>
> So does that.

>
> > For example, he'd ask for the third function in a C program or the
> > third sentence in the fifth paragraph of an English text.
>
> This is where it gets a little hazy. What possible benefit can "third
> function in a C program" bring? I can understand "entry function" and
> "called function" being relevant, and of course "first function/next
> function", but I see no particular benefit in "third function".
> Similarly for the English text, except perhaps in the rather limited
> case of a code book.

Not "third" function per se, but a description of the function in
terms, not of "lines of code" but of the syntax of the whole.

My problem is telling ACCURATELY the difference between two large
source programs.

Existing tools seem to do so in the time-honored way of "lines of
code." For example, windiff highlights different ranges of lines of
code.

This is to ignore the fact that when you compare two source programs,
you are not comparing two flat files but you are comparing two TREES.
To me, the difference between two TREES is "Marxist", for it is the
minimal amount of labour needed to transform the one to the other.

Thus a truly usable windiff rewrite would say, "yo, to change program
A to program B, remove the third function. It is not used and does
not appear in B."

You can't get to this language if you compare "lines of code", you
can't get to this language if you use regular expressions, but you can
get to this language level if you use...BNF.

Of course, this is not "Marxist" computer science except insofar as
far from idealizing real problems and assigning the hard stuff to
graduate students considered as a lesser species, it takes into
account a genuine problem.

>
> > The object
> > would then lazily and paradoxically get to work parsing top down and
> > left to right, building a parse tree which it would lazily keep for
> > further use, and return what was wanted.


> >
> > You can't do this in sensible C.
>

> Who can't? For example, do you think Dennis Ritchie could do this in
> sensible C? If not, why not?

This is the Great Man theory of computer programming in which the
Great Man can use machine language to do anything.

Richard, I think Dennis deserves better than to be put to work using C
to solve new problems.

Your view is based on folk literary theory because it models a program
as written by a singular author. The reality reflects some of the
discoveries of recent literary theory in that the default situation is
that programs are written, serially or in parallel, by groups of
people.

Even if a Great Man like me or you or Dennis sits down to write a new
program, a truly Great Man will remember something that hero computer
scientist Dijkstra said, which is that it is not so much his
responsibility to write one program as to devise a class of programs
representing what the Great Man's long-suffering manager would call
the system life-cycle.

>
> > It's not easy in OO, but much more
> > natural.
>

> To an OO programmer, an OO solution is more natural. To a procedural
> programmer, a procedural solution is more natural. To a functional
> programmer, a functional solution is more natural. To someone who has
> truly mastered all these paradigms, the natural solution is likely to be
> the one he thinks of first (or, bearing in mind the natural cussedness
> of mankind, possibly the second), which may be OO, procedural, or
> functional, depending on the individual.

But I was a procedural programmer in 1994 who then boned up on OO, as
opposed to a lawn troll who concludes that all he needed to know he
learned in kindergarten, or graduate school. To taxonomize
programmers into warring tribes is neo-barbarism and it occludes
programmers humble enough to spare a dime and learn a new paradigm.

I am reminded in this connection of the image used by The Waite Group
on its books about various programming languages. On the books we see
troops of obviously male armed men riding under the banner, not of
accurate code in all languages, but of C or VB.

This brings to pass your countryman's Matthew Arnold's vision on the
strand at Dover, where ignorant armies clash by night.

It is an interesting, if unnoticed form, of structural scientific
Fundamentalism in which the leading figures like Ritchie or Kernighan
don't have to adhere to any one church (Kernighan is teaching
bonehead, excuse me nonmajor, cs, using vb) but us ordinary slobs are
expected to sign-on for the duration into one tribe.

Thus Samuel Huntington preaches that we are now in a "clash of
civilisations" while he continues, at best, to attend a liberal
Episcopelean church with women priests, while his expectation is that
the ordinary slob will show his bona-fides by becoming a
Fundamentalist. One speculates in this connection that elites don't
have to be Fundamentalists, in either the generally accepted or my
neologistic scientific sense, because they get enough air-time to show
their basic committment to elite values.

Whereas in ordinary life in rural areas, the ordinary slob attends a
Fundamentalist church in part to show that he's not Charles Manson.

By this highly speculative logic, ordinary programmers show their
loyalty to dominant paradigms efficiently by loyalty not to abstract
computer science but instead to an artifact such as C and VB. They
are expected to produce, in the short time made available, an expected
series of messages.

When members of the C tribe, they are expected to palaver about how
they used to make stupid errors in malloc but don't anymore. When in
the VB tribe they are expected to declare that the C concerns are
"academic" without defining "academic."

The cost of not doing this may be character assassination and
deliberate misrepresentation, in either the social or the scientific
sphere.
>
> <snip>

Richard Heathfield

unread,
Sep 26, 2002, 2:56:55 AM9/26/02
to
"Edward G. Nilges" wrote:
>
> Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D902BD9...@eton.powernet.co.uk>...
> > "Edward G. Nilges" wrote:
> > >
<snip>
> >
> > > For example, he'd ask for the third function in a C program or the
> > > third sentence in the fifth paragraph of an English text.
> >
> > This is where it gets a little hazy. What possible benefit can "third
> > function in a C program" bring? I can understand "entry function" and
> > "called function" being relevant, and of course "first function/next
> > function", but I see no particular benefit in "third function".
> > Similarly for the English text, except perhaps in the rather limited
> > case of a code book.
>
> Not "third" function per se, but a description of the function in
> terms, not of "lines of code" but of the syntax of the whole.

Then what you want is the Nth function, surely? No need to store state,
other than "you are here", so JIT is a waste of time in this example.

> My problem is telling ACCURATELY the difference between two large
> source programs.

Define "difference". (I have a reason for asking that seemingly odd
question - see below.)

>
> Existing tools seem to do so in the time-honored way of "lines of
> code." For example, windiff highlights different ranges of lines of
> code.

Right, and that's how windiff defines "difference" - take two files, and
identify which lines are the same, which lines are gone, which lines are
new, and which lines have moved. Fair enough, but not what *you* want.

> This is to ignore the fact that when you compare two source programs,
> you are not comparing two flat files but you are comparing two TREES.

> To me, the difference between two TREES is [...] the


> minimal amount of labour needed to transform the one to the other.

Fair enough. The minimal amount of labour needed to transform the tree
of one source program into the tree of another source program is to copy
the source program you want to imitate over the source program you want
to do the imitating. This is very quick and very easy.

> Thus a truly usable windiff rewrite would say, "yo, to change program
> A to program B, remove the third function. It is not used and does
> not appear in B."

It effectively does this (although the terminology is different) because
it identifies the block of lines that constitute the third function, and
points out that these do not appear in B.

>
> You can't get to this language if you compare "lines of code",

I can.

> you
> can't get to this language if you use regular expressions, but you can
> get to this language level if you use...BNF.

In the more general case (automated dependency analysis being one
example that springs instantly to mind) you have an excellent point; a
BNF-based approach does indeed enable sophisticated parsing techniques
that regular expressions just cannot deal with.


<snip>

> > > The object
> > > would then lazily and paradoxically get to work parsing top down and
> > > left to right, building a parse tree which it would lazily keep for
> > > further use, and return what was wanted.
> > >
> > > You can't do this in sensible C.
> >
> > Who can't? For example, do you think Dennis Ritchie could do this in
> > sensible C? If not, why not?
>
> This is the Great Man theory of computer programming in which the
> Great Man can use machine language to do anything.

No, it isn't. It is a counter-example to your claim.

> Richard, I think Dennis deserves better than to be put to work using C
> to solve new problems.

Irrelevant. You made a claim and I offered a counter-example. And it is
by no means the only one, either - there are many C programmers who
would easily be capable of doing, in sensible C, something you said
cannot be done in sensible C.


<irrelevant stuff snipped>

> But I was a procedural programmer in 1994 who then boned up on OO, as
> opposed to a lawn troll who concludes that all he needed to know he
> learned in kindergarten, or graduate school.

There is no such thing as a lawn troll. Please believe me. They really
don't exist.


<irrelevant stuff snipped>

Programmer Dude

unread,
Sep 26, 2002, 3:54:07 PM9/26/02
to
Richard Heathfield wrote:

>> I don't actually see these as such distinct functions they *demand*
>> separation.
>
> Do you not see the extra parameter as indicative of this distinction?
> Well, obviously not, but I certainly do. :-)

Nope. I see it as a parameterizing argument to a general function.
(In the solutions I presented, there were two such: one to switch
between "SET/STRING" tokenizing and the other for collapse/not-collapse
contiguous delimters.)

Consider this: that second switch argument in my solutions. Would you
view those two behaviors as demanding separate functions? If not, what
is the difference between switching the first behavior verses the second?

>> Really, both are just special cases of the single task
>> of dividing a string into sub-strings using delimiters.
>
> Would that C had array literals. If so, the delimiters could be passed
> as a NULL-terminated array of char * without the need for special
> set-up.

Not quite sure what you mean, but last post I suggested one way around
the perceived distinction is to, rather than passing a single string,
pass an array of strings (NULL-terminated). Each member would specify
a single delimiter (which could be one or more chars long). Then you
re-design the algorithm to use the array set. I actually considered
such an implementation when I was playing dueling solutions with Ed.

The fact that you could do this without really changing much argues
to me that the Set/String division is not intrinsic. Ed just collapsed
the solution set somewhat for the most common uses and overloaded that
delimiter arg (added a switch arg). It simplified the design at the
expense of some flexibility and power. The implementation left a bit
to be desired, but the basic design choice seems adequate to me.

>> (Contrast this, perhaps, with dividing a string based on column
>> positions or other *external* criteria. In our model, the string
>> carries embedded information describing its division.)
>
> But that information is clearly not sufficient on its own to describe
> the division, or you would not have to tell the function what delimiters
> to use or how to use them. In other words, the external criteria are
> still there.

True, but they could be implicit ("Whitespace", for instance, with
regard to parsing most programming languages), and I think there is
still a big difference between external information that *precisely*
codes tokenizing information and external information that informs
behavior in a *general* way.

If I cut columns in a fixed-column text file, my external information
specifies exactly where the information is. The external information
is aware of and directly linked to the data. If you changed the data,
you'd also have to change the cut info.

If I tokenize on whitespace, I can change the text, submit completely
different text, do quite a lot of things without ever needed to modify
the "external" information that controls tokenizing. That control info
is *very* weakly bound to the data.

Also an important distinction here is that the text carries with it
the actual delimiting information. You really only need a single
general "atom" of information to perform tokenizing on any valid input.

>> Another example might be "CSV", comma-separated values. Such might
>> be defined with the comma being the only legal delimiter or it might
>> allow semi-colons to be treated like commas.
>
> Careful. With CSVs, it's not uncommon for strings to contain "quoted
> commas, like the one in this quoted string", which are to be considered
> part of the data, rather than delimiters. For this reason, it's better
> to write a separate CSV parser.

Or write one that's (perhaps selectably) quote-aware. That doesn't
alter the (somewhat minor) distinction between tokenizing on single
chars verses on sub-strings.

And, really, all I'm saying is that the former is just a special case
of the latter: a one-char sub-string.

>> For example, in most applications, the first string below
>> probably contains two tokens, while the second likely contains five:
>>
>> " Hello, World! "
>> " , arg-2, arg-3,, arg-5 "
>
> Right. In fact, it would be useful for the parser to know - or be told -
> which is required.

Yep. Each of the solutions I presented did just that. But it was a
switching argument, and you seem to be suggesting that indicates I
should have written two functions?> ;-)

> ...the quotation marks introduce a structure beyond the single char.


> In this case, though, it's not as simple as "a sub-string". Rather,
> it's a set of rules.

Right! And you need to use the right tool in the right place. If you
want to tokenize more complex input, then this string tokenizer probably
won't meet the need.

However, it's not too hard to write a string tokenizer that is quote-
aware. I tend to use an FSM *always* for this stuff, so it's trivial
to include a few states that recognize quotes and even allow escaped
quotes inside the "string".

>> What Ed did, and with which I have no issue, is overload the argument
>> containing the delimiter set so it can be viewed as an "array" of
>> single-character delimiters OR as a single delimiting string. And
>> he requires a second parameter to inform the routine which type of
>> delimiting set is passed.
>
> I see that as a poor design (and yes, that means I disagree with you,
> but such is life) because it adds complexity at both ends - the function
> is harder to write and harder to use, compared to a pair of functions,
> each doing one of the two jobs under consideration.

It appears we just see the design differently. But I disagree that it
is so complex. The solutions I presented only needed to be SET/STRING
aware in one place: a little routine, called, ST_is_delimiter (or by
a slightly different name in the other versions). It looks like this:

static int ST_is_delimiter (STRING_TOKENS* me, const char* cp)
{
if (me->string_delimiter == ST_STRING_DELIMIT) {
if (0 == memcmp(cp, me->the_delims, me->delims_len))
return -1;
}
else {
const char* dp = me->the_delims;
while (*dp)
if (*dp == *cp)
return -1;
else
++dp;
}
return 0;
}
Doesn't seem terribly complicated.

And I would argue that the user will see this as a single function:
"I wanna split strings....here's some details about how."

> We could probably meet halfway by using a splitter function:

> [snip]


> Even then, though, it's hard to justify denying the user direct
> access to zogset() and zogchar().

If you do, you're offering exactly the same thing the original does:
a function that takes a switching parameter. If you don't, you're
offering them (and maintaining yourself) three functions. I don't
see that as reducing complexity. ;-)

> The CSV example shows that single-character delimiting isn't always
> as adequate as it's cracked up to be.

But is *frequently* plenty adequate enough. By talking about this
sort of tool, we're implicitly talking about situations where the
tool is useful, so what value is there in bringing in situations
that require a different tool?

>> Second, one could expand the delimiter argument to be an array.
>> If one is delimiting characters ("set"), one puts one char in as
>> many array slots as required. If one is delimiting strings, then
>> one puts strings in as many array slots as required. This removes
>> the "switch" argument as there would be no distinction between "set"
>> and "string" delimiting. (One would still want a switch to collapse
>> or not contiguous delimiters.)
>

> Yes, this is the solution I came up with (above)...

The design I'm proposing eliminates the problem entirely. There ceases
to *be* a distinction between SET and STRING tokenizing. It's all just
tokenizing. (You still need an argument to switch on or off contiguous
delimiter collapsing.)

> Regrettably, though, it is a little clumsy to use without array
> literals. Not impossible, though, by any means.

I guess I don't know what you mean by array literals and why they're
required.

> For example, one could do this:
>

> char *delimiters[] =
> {
> "this", "that", "the other", NULL
> };
> whatever(otherparams, delimiters);

Yes, that is exactly the sort of thing I'm talking about. And if
you were tokenizing on whitespace it might look like:

char *delimiters[] =
{
" ", "\t", "\r", "\n", "\v", NULL
};
> whatever(otherparams, delimiters);

>> Third, I would prefer an interface that allows me to submit the
>> delimiters once and not every time.
>

> Fine, but then you have to be prepared to record that state somewhere,
> preferably without screwing up re-entrancy.

Absolutely. See any of the several solutions I posted.

Programmer Dude

unread,
Sep 26, 2002, 4:04:35 PM9/26/02
to
"Edward G. Nilges" wrote:

>> How would you do this in BNF?
>>
>> s/^( [^ ]+ *)([^ ]+)( +)([^ ]+)( +)/\1\4\3\2\5/
>>
>> It took about a minute and not only identifies the 2nd and 3rd words,
>> but swaps them. I'd like to see BNF do that!
>
> You confuse regular expressions with one of the features of their
> implementation that could easily be added to an implementation of BNF.

No, you're not answering the question. Let's see the BNF that
recognizes the second and third words, and let's see your proposed
extension that implements substitution.


> I am primarily considering the problem of comparing two source
> programs in a meaningful way, such that difference is expressed in the
> form of the syntax of the programming language and not in terms of
> lines.

Ok, that's a fine exercise. I question its value, but that's no
reason not to go for it if it interests you.


> As such, my interest in parsing is far beyond the capabilities of C
> considered as an actual programming language as opposed to a formal
> system.

A nonsensical statement in that C is one of the better languages for
parsing text.

Programmer Dude

unread,
Sep 26, 2002, 4:00:28 PM9/26/02
to
"Edward G. Nilges" wrote:

> My problem is telling ACCURATELY the difference between two large
> source programs.

I use a wonderful "diff" shareware program, called "Compare It!" and
don't have the problem you describe.

> Thus a truly usable windiff rewrite would say, "yo, to change program
> A to program B, remove the third function. It is not used and does
> not appear in B."

Compare It! shows the files side-by-side with user-defined color coding
to indicate:

lines that exist in both but are different (different part highlighted)
lines that appear in A
lines that appear in B

Using a few brainions when I look at the screen and notice that an entire
function is highlighted as orphaned, I say, "Yo! to change program A to
program B, add *that* block of lines or remove *that other* block of
lines.

And then I press [Alt]+[->] or [Alt]+[<-] depending on which way I want
the difference exchanged.

Works quite well, and I don't have to write BNF for anything.

Programmer Dude

unread,
Sep 26, 2002, 4:10:28 PM9/26/02
to
Kamilche wrote:

>> So, anyway, you're completely right in a social sense, but I think
>> the rules are a little different in a technical arena.
>
> There are some areas in the technical area where it could still be
> effectively applied, however. Anything that starts a 'holy war' among
> computer people, such as choice of programming language, choice of
> indenting, etc. And even for a particular task, there are many
> different ways of skinning a cat - if they all work, it's unkind to
> punish someone for not using YOUR flavor-of-the-month method, as long
> as their function/module/class also works.

I agree completely without reservation.

The "gotcha" is perceptions of that last part: "as long as [it] works."
Sometimes, one persons working program is another persons catastrophe.
One of my favorite quotes for "keeping me real" as a programmer is:

Nearly every electrical engineer believes deep in his
heart that he is better at writing computer software
than any computer programmer, and can show as proof
the fact that he has written a number of small applications,
each of which was done quickly, easily, and exactly met
his needs.

And who's to say those are "bad" programs? Usually every professional
programmer, but it's wise to keep in mind that those awful things do
work in the one place they are required to work, and that is something.

> It is more applicable to social than technical areas though, I agree
> with you there. This whole war appears to be solidly in the social
> arena, and those fanning the flames could benefit from a a calmer,
> milder attitude.

Keep in mind some of us call it amUSENET. And with regard to me, keep
two words always in mind: Performance Theatre. [wink]

Ben Pfaff

unread,
Sep 26, 2002, 4:40:58 PM9/26/02
to
Programmer Dude <cjso...@mmm.com> writes:

> > As such, my interest in parsing is far beyond the capabilities of C
> > considered as an actual programming language as opposed to a formal
> > system.
>
> A nonsensical statement in that C is one of the better languages for
> parsing text.

You really think it's better than, say, Perl, Python, Ruby, or
(recent versions of) Java? All of these have better support,
in my opinion, for text processing. And that's just the
general-purpose languages that I can think of off the top of my
head.
--
"The USA has no monopoly on stupidity.
They just work longer hours."
--Richard Heathfield

Ben Pfaff

unread,
Sep 26, 2002, 4:42:01 PM9/26/02
to
Programmer Dude <cjso...@mmm.com> writes:

> Compare It! shows the files side-by-side with user-defined color coding
> to indicate:
>
> lines that exist in both but are different (different part highlighted)
> lines that appear in A
> lines that appear in B

For what it's worth, GNU Emacs has an "ediff" mode that does
these things, and more. It's wonderful. I use it often to
compare files against their versions in CVS, and so on.
--
"To the engineer, the world is a toy box full of sub-optimized and
feature-poor toys."
--Scott Adams

Programmer Dude

unread,
Sep 26, 2002, 5:04:38 PM9/26/02
to
Ben Pfaff wrote:

>> A nonsensical statement in that C is one of the better languages for
>> parsing text.
>
> You really think it's better than, say, Perl, Python, Ruby, or
> (recent versions of) Java? All of these have better support,
> in my opinion, for text processing.

Touche!

I guess I was thinking of the more popular, non-script languages,
but I'd agree perl is a (maybe The) master. I'm not familiar
enough with Python or Ruby, but I think I would disagree with
Java being *better* than C. I think C is more flexible and
powerful than Java (although my Java experience isn't as thorough
as it should be to back up that opinion). I *suspect* the ability
of C to look directly (and quickly) inside strings makes it better.

Josh Sebastian

unread,
Sep 26, 2002, 5:33:46 PM9/26/02
to
On Thu, 26 Sep 2002 07:56:55 +0100, Richard Heathfield
<bin...@eton.powernet.co.uk> wrote:

>"Edward G. Nilges" wrote:
>>
>> This is to ignore the fact that when you compare two source programs,
>> you are not comparing two flat files but you are comparing two TREES.
>> To me, the difference between two TREES is [...] the
>> minimal amount of labour needed to transform the one to the other.
>
>Fair enough. The minimal amount of labour needed to transform the tree
>of one source program into the tree of another source program is to copy
>the source program you want to imitate over the source program you want
>to do the imitating. This is very quick and very easy.
>
>> Thus a truly usable windiff rewrite would say, "yo, to change program
>> A to program B, remove the third function. It is not used and does
>> not appear in B."
>
>It effectively does this (although the terminology is different) because
>it identifies the block of lines that constitute the third function, and
>points out that these do not appear in B.
>
>>
>> You can't get to this language if you compare "lines of code",
>
>I can.

I actually very much like Ed's idea, if I understand it correctly.
I've been toying with the idea of doing something like it for C++ (or
C, since it'd be easier). My motivation, though, was not the same as
Ed's. It occurred to me that a significant amount of "style"
difference in C is entirely due to storing C source as text. Why must
we do so (other than the standard saying we must :-)? Why can't we
actually store the *state* of the program's source, rather than the
representation. The most immediate advantage I can think of is that we
could have an editor that read the file, and depending on user
preferences, formatted the actual text to fit a particular style. And
it would do so based on the rules of the language, rather than regexps
and such (as existing tools do). I find that a superior solution. (Of
course, for source portability, you can't really beat ASCII :-)

Josh

Programmer Dude

unread,
Sep 26, 2002, 5:53:21 PM9/26/02
to
Josh Sebastian wrote:

> It occurred to me that a significant amount of "style" difference in
> C is entirely due to storing C source as text.

Indentation and such, but names of things are a big part of "style",
too, and storage would have no impact there.

> Why can't we actually store the *state* of the program's source,
> rather than the representation. The most immediate advantage I can
> think of is that we could have an editor that read the file, and
> depending on user preferences, formatted the actual text to fit a
> particular style.

VB used to do the special-storage part of this. I think it was in
VB4 they switched to using text files. Speaking from experience,
the binary storage of VB3 files was a huge pain in the ass, and is
still a source of some frustration (I have some old VB3 programs I'd
like to examine the source of).

I find that, generally speaking, the more an editor stays out of my
way, the happier I am. For example, I really hate that little trick
of quickly bouncing off the matching parens or bracket or whatever.
One of the first things I permanently disable! ;-)

> I find that a superior solution. (Of course, for source portability,
> you can't really beat ASCII :-)

The problem with binary storage is you need the tool to edit what is
really still just a text file. It sorta *sounds* like a Good Idea
on paper (and it does), but the reality never seems as good as the
idea (at least so far).

Maybe you (or Ed) will break new ground and revolutionize the industry.
Gopher It!

Edward G. Nilges

unread,
Sep 26, 2002, 6:00:32 PM9/26/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D92AFB7...@eton.powernet.co.uk>...

> "Edward G. Nilges" wrote:
> >
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D902BD9...@eton.powernet.co.uk>...
> > > "Edward G. Nilges" wrote:
> > > >
> <snip>
>
> > > > For example, he'd ask for the third function in a C program or the
> > > > third sentence in the fifth paragraph of an English text.
> > >
> > > This is where it gets a little hazy. What possible benefit can "third
> > > function in a C program" bring? I can understand "entry function" and
> > > "called function" being relevant, and of course "first function/next
> > > function", but I see no particular benefit in "third function".
> > > Similarly for the English text, except perhaps in the rather limited
> > > case of a code book.
> >
> > Not "third" function per se, but a description of the function in
> > terms, not of "lines of code" but of the syntax of the whole.
>
> Then what you want is the Nth function, surely? No need to store state,
> other than "you are here", so JIT is a waste of time in this example.

(Sigh.) If you are asking for the Nth function, chances are you will
need neighboring functions later: chances are you asked for
neighboring functions before, as in a code editor where you jump
around in a semi-random way. This is nothing more than a
generalization of the neighborhood principle supported by virtual
storage, and C's psychology of "read until you have finished reading
the entire source file" is inadequate to the problem.

>
> > My problem is telling ACCURATELY the difference between two large
> > source programs.
>
> Define "difference". (I have a reason for asking that seemingly odd
> question - see below.)
>
> >
> > Existing tools seem to do so in the time-honored way of "lines of
> > code." For example, windiff highlights different ranges of lines of
> > code.
>
> Right, and that's how windiff defines "difference" - take two files, and
> identify which lines are the same, which lines are gone, which lines are
> new, and which lines have moved. Fair enough, but not what *you* want.

This is to reduce a genuine problem to what "I" want and as such it
denies that programs are anything but series of lines of code. It is
to impose a newbie's mental model when that imposition is itself the
problem.

>
> > This is to ignore the fact that when you compare two source programs,
> > you are not comparing two flat files but you are comparing two TREES.
> > To me, the difference between two TREES is [...] the
> > minimal amount of labour needed to transform the one to the other.
>
> Fair enough. The minimal amount of labour needed to transform the tree
> of one source program into the tree of another source program is to copy
> the source program you want to imitate over the source program you want
> to do the imitating. This is very quick and very easy.
>

Nope, it is to make the absolute minimum number of alterations.



> > Thus a truly usable windiff rewrite would say, "yo, to change program
> > A to program B, remove the third function. It is not used and does
> > not appear in B."
>
> It effectively does this (although the terminology is different) because
> it identifies the block of lines that constitute the third function, and
> points out that these do not appear in B.
>

In so doing, windiff and similar unix tools FORCE the programmer to
copy characters that DON'T CHANGE, thereby exposing the operation to
inadvertent changes.

Basically, for ten years, "syntax driven editing" has existed as an
academic curiosity while its tools are migrating slowly to industry.
They migrate slowly because of two assumptions: the (probably correct)
assumption that most programmers don't know the formal syntax of their
language in a formalistic way and the (false) assumption that they
don't need to know this.

I am reminded in this connection that makers of early GPS (Global
Positioning System) hardware did not want to make these devices for
the mass market because at the time they reasoned that most Americans
don't know how to read maps. As it happened, the market has shown
that GPS users do indeed know how to read maps and use coordinates, or
can learn as part of using the tool.

Edward G. Nilges

unread,
Sep 26, 2002, 6:04:53 PM9/26/02
to
Ben Pfaff <b...@cs.stanford.edu> wrote in message news:<871y7ie...@pfaff.Stanford.EDU>...
> spino...@yahoo.com (Edward G. Nilges) writes:
>
> > Chris, a really good string parser would be a VB.Net object based not

> > on regular expressions (which are an obfuscatory parsing notation,
> > expressions in which look like explosions in a gnome factory) but
> > Backus Naur form.
>
> This is an interesting proposal. However, it is not new. If you
> look into archives for comp.compilers, I think you'll find that
> there's been discussion of this before by specialists in the
> related area. If I recall correctly, there are basically two
> categories of objections:
>
> * First, BNF is relatively verbose compared to regular
> expression syntax. Something that can be expressed in
> a one-line RE might take several lines of BNF. The
> very compactness of REs is a useful positive property.
>
> * Second, BNF can be used to express grammars that are
> difficult to parse. It's much easier to write a RE
> parser and executor than it is to write a general
> context-free grammar parser and executor, and because
> it's easier to write, it's probably going to be better
> optimized and faster for equivalent languages.
>
> But I suggest you look it up for details.

I saw the proposals and contributed "regular expressions considered
harmful" last year.

The compactness of REs makes them like EMacs: a niche market
accessible only to gnomes and adepts willing to use and understand the
notation.

I think

sentence := subject verb
sentence := subject verb object

is clearer than most REs.

Furthermore and in a mathematical sense, since BNF corresponds if
memory serves to Chomsky type 1, a broader class than Chomsky type 0
(the class of languages parsed by REs) then anything REs can do, BNFs
can do...better, because they are clearer and can as needed be made
terse, by using single-character grammar identifiers.

Ben Pfaff

unread,
Sep 26, 2002, 5:59:53 PM9/26/02
to
Programmer Dude <cjso...@mmm.com> writes:

> Ben Pfaff wrote:
>
> >> A nonsensical statement in that C is one of the better languages for
> >> parsing text.
> >
> > You really think it's better than, say, Perl, Python, Ruby, or
> > (recent versions of) Java? All of these have better support,
> > in my opinion, for text processing.
>
> Touche!
>
> I guess I was thinking of the more popular, non-script languages,
> but I'd agree perl is a (maybe The) master. I'm not familiar
> enough with Python or Ruby, but I think I would disagree with
> Java being *better* than C. I think C is more flexible and
> powerful than Java (although my Java experience isn't as thorough
> as it should be to back up that opinion). I *suspect* the ability
> of C to look directly (and quickly) inside strings makes it better.

Recent versions of the JDK have regular expression support
integrated into java.lang.String, which makes a lot of things
that are easy in Perl not too bad to do in Java as well.
--
Peter Seebach on managing engineers:
"It's like herding cats, only most of the engineers are already
sick of laser pointers."

Josh Sebastian

unread,
Sep 26, 2002, 6:23:53 PM9/26/02
to
On Thu, 26 Sep 2002 16:53:21 -0500, Programmer Dude
<cjso...@mmm.com> wrote:

>Josh Sebastian wrote:
>
>> Why can't we actually store the *state* of the program's source,
>> rather than the representation. The most immediate advantage I can
>> think of is that we could have an editor that read the file, and
>> depending on user preferences, formatted the actual text to fit a
>> particular style.
>

>I find that, generally speaking, the more an editor stays out of my
>way, the happier I am. For example, I really hate that little trick
>of quickly bouncing off the matching parens or bracket or whatever.
>One of the first things I permanently disable! ;-)

Me too, I *hate* that :-}

What I'm proposing wouldn't have any effects while the source is being
edited; it would only happen on save and load. If you don't use the
binary format, it'll never use you.

>Maybe you (or Ed) will break new ground and revolutionize the industry.
>Gopher It!

Wouldn't that be nice... "Josh Sebastian, Revolutionary
Extraordinaire" :-}

Josh

Edward G. Nilges

unread,
Sep 26, 2002, 7:39:29 PM9/26/02
to
Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D9000C9...@eton.powernet.co.uk>...
> "Edward G. Nilges" wrote:
> >
> > Richard Heathfield <bin...@eton.powernet.co.uk> wrote in message news:<3D8ECDFF...@eton.powernet.co.uk>...

> > > "Edward G. Nilges" wrote:
> > > >
> <snip>
>
> > > > I'd merely ask you to consider the views in forming your own, which
> > > > you do, and to continue to refain, as you do, from a heathfield style
> > > > campaign of libel.
> > >
> > > Just a teensy-weensy little nit: I haven't libelled you.
> >
> > With reckless disregard for the truth, you have posted globally false
> > statements about moi. This is libel under English and American law.
>
> You keep saying that as if repetition will make it become true. I
> haven't posted globally false statements about you, you ignoramus. You,

Well, there you are: a string which falls under my regular expression
you *.

No, you have not only posted global statements in this form you have
also falsely made statements such as the claim that I don't "know" the
requirements of malloc. The reckless disregard for the truth of these
statements is shown by the fact that in the example code the malloc
was clearly a brain fart which confused you.

Note that there is a substantive difference between my conduct in this
discussion and yours, and that is that I made neither global
conclusions nor claims about you as a person or a professional based
on this brain fart.


> on the other hand, have wilfully misrepresented me throughout this
> thread. But I don't mind that - it's part of Usenet that one just has to
> put up with, and put up with it I do. You can run to the courts if you
> dare. I prefer to discuss /technical/ issues with /technical/ people in
> a /technical/ forum. I can fully understand why you would rather not do
> that, though.

No, your real intent is to use this facility as a playground for
making irresponsible statements.

>
> > > > > > In fine, my original intent in May was indeed a sort of benign
> > > > > > disruption (which we need to contrast with your malign disruption.)
> > > > >
> > > > > Without belabouring the point overmuch, I still feel it important to point
> > > > > out that you are just about the only person involved in this thread to
> > > > > qualify Richard's comments this way.
> > > >
> > > > Mr Walker seems a tad upset, so I am not alone.
> > >
> > > Do you mean Mr Walters? Did you read all the replies he got? Did you
> > > read my replies to him? Both of them? All the way through?
> > >
> > Yes.
>
> Did you find anything in either of my replies to Mr Walters that could
> have upset a reasonable man in any way?

Yes, because in fact he was upset and he is a reasonable man. So are
they all, reasonable men...
>
> <snip>
>
> > > > Had Heathfield not intervened, there may have been a productive
> > > > TECHNICAL exchange between Chris and myself on the 40% speed
> > > > differential between my solution and his. But the tech thread has
> > > > been buried by heathfield's posts and my replies, which are necessary
> > > > to prevent the harm he seems intent on perpetrating.
> > >
> > > #1: I am intent, not on *perpetrating* harm, but on *reducing* the level
> > > of harm done by the errors you make in your articles.
> >
> > It appears that more globally you have become a paid or unpaid hall
> > monitor with a singular lack of charity.
>
> That may be how it appears to you. It is not how it appears to me. I am
> not in control of how things appear to you.


>
> > > #2: You claim that the tech thread has been buried. *YOU* have buried
> > > it. It seems that, whenever anyone makes a *technical* criticism of your
> > > work, you reply to that criticism with sociology, which is usually
> > > enough to dissuade people from pursuing the matter. That doesn't mean
> > > you have answered their criticism; it just means you've blown smoke and
> > > fog at them.
> > >
> > My critique of the C language isn't sociology, it is that to get to
> > where you want you have to represent objects using a von Neumann
> > model. This has been found to be bug prone in the real world where
> > real programmers work in teams and where communications gaps produce
> > misunderstandings.
>
> Is this the same real world where you are required NOT to know a
> language in order to write production code in it, as you have claimed
> elsethread?
>
> > > > > This business about you demonstrating anything conclusively in this venue is
> > > > > quite a conceit. I think the only things you have demonstrated conclusively
> > > > > are those you still do not believe.
> > >
> > > Well said, Mr Dunbar. Unfortunately, Mr Nilges doesn't seem to have
> > > noticed. Perhaps I can say it in a more obvious way: Mr Nilges' articles
> > > clearly demonstrate his approximate level of competence in a way none of
> > > his critics could hope to emulate.
> > >
> > You have an unhealthy interest in my competence.
>
> Strictly speaking, I don't think that's even possible.
>
> <autobiographical stuff snipped>
>
> > > <snip>
> > >
> > > > > > Even with regards to C, these "errors" are matters, primarily, of
> > > > > > opinion and style.
> > > > >
> > > > > Some are, but, as needs to be continually pointed out to you, your code
> > > > > included errors of logic and issues of design.
> > > >
> > > > You fail to enumerate them.
> > >
> > > Check the thread history. Many have been pointed out, some of them
> > > several times.
> > >
> > Yes, you have done so several times as a rhetorical effort to make it
> > seem that I made a lot of errors.
>
> Not at all. I have neither the desire nor the need to multiply your
> errors. You seem to be perfectly capable of doing that on your own.
> Rather, you have been continually reminded of the errors for the simple
> reason that you continue to pretend that you didn't make them - calling
> your code "exemplary" is one example of this.
>
> >
> > > > What you are probably thinking of, as
> > > > regards design, is the combination of what I called 'set parsing' and
> > > > 'string parsing.' But this was a feature and not a bug, for my
> > > > experience indicates that in parsing strings you need to make this
> > > > distinction, and the tool forces you to do so.
> > >
> > > But you *combined* them. That was certainly a questionable design
> > > choice. And not the only one.
> > >
> > In early Visual Basic, I saw that a lot of day to day parsing tasks
> > involved parsing words surrounded by runs of blanks, list items
> > surrounded by single commas, and files surrounded by runs of newlines.
> > I recognized two cases, the "set" case and the "string" case.
>
> Yes, you are not the first to notice this. Hence C's relatively rich set
> of string searching functions.
>
> > The commonality was that in both you need to use a 1-origin index to
> > obtain individual tokens.
>
> I see no reason for that, actually, but if you really want to have a
> 1-origin index, it isn't difficult to do. Certainly that is no reason to
> combine two essentially different functions into one, separating them
> only with a (poorly-commented, IIRC) parameter.


>
> > The difference was that in the set case, a
> > set of characters divides tokens and in the string case a fixed string
> > (or set of strings in an extension of the model) divides tokens.
>
> That is why it should have been two functions, not one.
>

> > I based the analysis on my prior use of C strspn and strcspn which
> > implement the set model and weren't available in VB.
>
> I noticed that.


>
> > I think it is eminently discussable whether these two concepts should
> > combine to form a single model with a binary switch,
>
> I think it's a poor design because it combines two essentially different
> functions into one, for no reason other than that you wish each of them
> to use a 1-based indexing. What if we suddenly discovered another 17
> different things we wanted to do that all needed a 1-based indexing
> convention? Turn the function body into a switch/case?
>

> > although as you
> > know in software e pluribus unum happens all the time.
>
> Hmmmm. "Out of several, one"? My Latin isn't all it should be. Anyway,
> whatever you mean by the Latin, I still don't think combining two
> essentially different jobs into one general-purpose library function is
> a good idea. As for this happening all the time, I don't think it does.
> I've worked on quite a few large programs, and found this kind of
> muddled combination of jobs within one function to be a rarity, thank
> heaven.
>
>
> <ignorant and offensive material snipped, as usual>
>
> > > > The malloc brain fart was not a logic bug but instead an inadvertant
> > > > demonstration that happens on the way to virtually representing
> > > > objects and therefore made my case, especially when it confused a
> > > > world-class expert (Heathfield.)
> > >
> > > I've debunked this so many times it's getting very old indeed. Here we
> > > go again (from memory, admittedly) ... this is roughly what really
> > > happened:
> > >
> > > Chris said you'd made an error in that approximate area of code, and he
> > > showed code which he said was a rewrite of your code.
> >
> > If memory serves, Chris' compiler found the error.
>
> Memory serves poorly, then.
>
> <snip>
>
> > > When I looked where he said, lo and behold! there was the bug. A very
> > > simple and straightforward case of not allocating enough memory for the
> > > terminating null character on a C-style string. Nothing confusing about
> > > it at all. The confusion lay in precisely where to look; this would have
> > > been less of an issue, had you written your code more clearly.


> > >
> > The second use of malloc in the code showed I was aware of the need.
>

> Not necessarily. You might have got it right by chance. In any event,
> the first use showed that this awareness, if it existed at all, was not
> sufficiently to the fore.
>
> <snip>
> > >
> > > > As Richard has said, much like Tommy Lee Jones in JFK, if he was an
> > > > agent, he would not say so.
> > >
> > > And if I were /not/ an agent, I would not say so either. Anyway, this is
> > > easily settled. Phone up MI5 and ask them. If they say "no, he's not an
> > > agent", then I'm not an agent. And if they say "yes, he's an agent",
> > > obviously they're reading this thread and enjoying it so much that they
> > > are prepared to bend their deeply-held principles of honesty and
> > > fairness just a little, so that they can keep this "debate" going a
> > > little longer. Perhaps they're running a sweepstake.
> > >
> > Give me a break. Even if I got Liz Hurley on the line, she'd deny any
> > association.


>
> Then what is your problem? Clearly you consider Liz Hurley (whoever she
> is) trustworthy, or you wouldn't call her, so you can probably believe
> what she says, can't you?
>

> > > If you think this logic is flawed, you're right, but it's flawed in
> > > precisely the same way that yours is.
> >
> > The intelligence operative conclusion is more credible in that it's
> > hard to believe that given the way you value your time, you waste your
> > company's resources in persecuting Yanks.
>
> How wrong is it possible for a single short paragraph to be? Let's see:
>
> 1) You place your credulity in an incredible hypothesis: although I may
> (or may not) be an intelligent operator, I am most definitely not an
> intelligence operative;
> 2) I do not post to Usenet on company time;
> 3) I do not persecute Yanks, merely errors. If you feel persecuted,
> check your error rate.

You are returning to the same small set of errors in order to make it
appear that it is a large set when I do not do so with regards to your
deficiencies. Your abusive conduct needs to end. I would suggest a
long vacation in the Canary Islands with Liz Hurley, your apparent
supervisor.

Al Dunbar

unread,
Sep 26, 2002, 8:33:21 PM9/26/02
to

"Josh Sebastian" <cur...@cox.net> wrote in message
news:1f17pu8si1a3dn557...@4ax.com...

Ed referred to program source as logically having a "tree" structure, rather
than being simply a flat text file. That would be one way to look at it,
however, that is not quite how I see it. Unfortunately, I'm not sure how I
would go about explaining how I see it.

But I think that a program-source comparison program could go more fully
into the structure and syntax in order to compare two versions to highlight
or document the differences. If, for example, you take your original source
and re-order the subroutines so that they appear in alphabetical order, but
making NO changes to any routine, the flat-text-file-compare program will
probably spit out reams of differences. I envision the separate routines
being referenced in an associative array so the order of appearance would
not matter.

Similarly, within a routine, if you renamed local variable ABC as XYZ and
local variable XYZ as ABC, the net effect (other than to confuse maintenance
programmers) would be nill. Similarly, changing vertical and horizontal
whitespace and comments should have no effect on the logic or operation of
the routine, and therefore none on the overall program.

Changing the order of a couple of blocks of statements might, or might not,
change the outcome, but a really clever source comparator would hopefully be
able to determine whether or not two programs that differ only in statement
order were functionally identical.

In terms of these various versions of an otherwise identical program being
somehow resolved to a binary version, I agree that binary source is yucky.
But that should not preclude the development of a "vanilla" flavoured style
representation of each program that is stored in plain text. It could
contain meta-information in comments regarding, say, the programmer's
version of things (variable names, routine and statement order) such that
two logically identical programs would be stored with essentially identical
code, but different meta-comments.

A useful approach?


/Al

It is loading more messages.
0 new messages