C the complete nonsense

S

Seebs

I think you may have misread him. He hasn't (that I've seen) promised
to either blank the page or put in a disclaimer, other than to note
that the old CTCN page refers to the 3rd edition. The main thing he's
said he'll do soon is to create a new CTCN page covering some of the
errors in the 4th edition of CTCR. Given your proven history of
making promises and quickly reneging on them, don't you think you
should give Seebs a few more days to publish this new CTCN page?

I would certainly hope so -- I did not, that I recall, promise to do it
SOON. But at this point, I have something I wouldn't be entirely ashamed
of, I just want to get a bit more technical review in on it.
I think he has greatly underestimated the magnitude of the task and will
only produce a fairly superficial errata page, but I'm at least giving
him a chance to prove me wrong.

Well, I'm sure as hell not going to try to cover all of them.

Currently, I have a selection of the various errors we found flipping the
book to random pages, a brief discussion of some of the high-level conceptual
problems Schildt demonstrates (such as clearly not understanding EOF), and
an analysis of the differences between the 3rd and 4th edition, specifically
as they pertain to criticisms from C:TCN.

But! You, Random Internet Guy, can help. Pick a number, any number, in
the range 1..700, inclusive. I'll add a detailed review of the ten pages
starting at that page. Including nitpicks and everything, just trying to
catch all the errors. I have no confidence that I'll catch EVERYTHING, but
I figure I can at least try.

-s
 
B

BruceS

I would certainly hope so -- I did not, that I recall, promise to do it
SOON.  But at this point, I have something I wouldn't be entirely ashamed
of, I just want to get a bit more technical review in on it.

ISTR an implication that it would be fairly soon, though I didn't see
any specific date. I'll do you the favor of setting a specific
deadline. April 20. There, now *I* have given a date by which you'll
have the new CTCN. I feel like a cat-herder.
Well, I'm sure as hell not going to try to cover all of them.

I'll be impressed if you can cover 20%. Unfortunately, measuring this
would require getting the whole job done, then measuring your results
against the total.
Currently, I have a selection of the various errors we found flipping the
book to random pages, a brief discussion of some of the high-level conceptual
problems Schildt demonstrates (such as clearly not understanding EOF), and
an analysis of the differences between the 3rd and 4th edition, specifically
as they pertain to criticisms from C:TCN.

But!  You, Random Internet Guy, can help.  Pick a number, any number, in
the range 1..700, inclusive.  I'll add a detailed review of the ten pages
starting at that page.  Including nitpicks and everything, just trying to
catch all the errors.  I have no confidence that I'll catch EVERYTHING, but
I figure I can at least try.

OK. Let's see...try the sum of the 12th and 32nd primes. If I'm
doing the math right, that's 168. If that has already been covered,
try the difference of the 200th and the 123rd...I get 546. I'll throw
in four gross plus a baker's dozen (589) while I'm at it.
If anyone argues that I'm Pascal-biased and therefore OT here, I'll
argue for the historic primality of 1.
 
S

Seebs

ISTR an implication that it would be fairly soon, though I didn't see
any specific date. I'll do you the favor of setting a specific
deadline. April 20. There, now *I* have given a date by which you'll
have the new CTCN. I feel like a cat-herder.

Hee.

Actually, modulos any new material and additional review passes, I was
thinking this afternoon sometime.
I'll be impressed if you can cover 20%. Unfortunately, measuring this
would require getting the whole job done, then measuring your results
against the total.

I am not expecting to beat 5%. I'm aiming, not for completeness, but for
a representative sample.
OK. Let's see...try the sum of the 12th and 32nd primes. If I'm
doing the math right, that's 168.

Good luck! I'd hit 164, but nothing else before the 200s.

I'll add a discussion of Page 168-177 in some detail. Gonna need to
take this one out to lunch, though.

-s
 
W

Walter Banks

Nick said:
if he or his publishers had acceptted criticism early on and published
errata (maybe online even!) it would probably saved a lot of grief.

Most technical books have errata and publish errata on line. This
material is usually accumulated by the author and available from
the author's personal website or the publishers website. It
re-enforces the commitment the author has with the readers of
their works.

Seeb's and Clive's reviews have been posted for a long time
on the internet and essentially forgotten until Nilges brought
the comments back to life a year or two ago here. The bulk of
the criticism now aimed at Schildt is that he knew about errata
and failed to use the information with understanding in newer
editions of the publication and that he failed to inform his readers
of inaccurate information in a published work.. The reviews we
not a comprehensive editing pass but a short overview of the
types of errors that were found.

Nilges rants about twenty errors and then chided a reviewer
for not demonstrating a claim that there were hundreds of errors
has prompted the kind of detailed error posting that both confirm
the presence of hundreds of errors and may result in a very
hard look at Schildt's publications.

Nilges has forcefully questioned the accuracy of the reviews on
Schildt's book. His questions are being tested by looking at the
review issues in detail and individual book pages are being
selected at random and scanned for errors. Nigles is free to
challenge the tests point by point in an academic search for the
truth. He will need to demonstrate intellectual honesty to be
credible.

w..
 
I

Ian Collins

Nilges has forcefully questioned the accuracy of the reviews on
Schildt's book. His questions are being tested by looking at the
review issues in detail and individual book pages are being
selected at random and scanned for errors. Nigles is free to
challenge the tests point by point in an academic search for the
truth. He will need to demonstrate intellectual honesty to be
credible.

In other words, it won't happen.
 
S

spinoza1111

Most technical books have errata and publish errata on line.  This
material is usually accumulated by the author and available from
the author's personal website or the publishers website. It
re-enforces the commitment the author has with the readers of
their works.

Seeb's and Clive's reviews have been posted for a long time
on the internet and essentially forgotten until Nilges brought

This is not correct. They were referenced in making the Schildt
"biography" on wikipedia in 2006 and over these years, there has
always been a high frequency of references. Furthermore, newbies have
always been directed to the C FAQ which makes a libel a fact.
the comments back to life a year or two ago here. The bulk of
the criticism now aimed at Schildt is that he knew about errata

It is clear that he did not since Peter has admitted that the CTCN
errata have been fixed. In a stunt of astonishing vulgarity, Seebach
has taken credit for this...and in response, is renewing his "open
source" call to find more errors. Again, he does not offer to work
with Schildt. He has learned nothing.

Inadvertent errors that are matters of interpretation. Seebach, in
these errata, makes unambiguous errors such as "the heap is a DOS
term". He does not have the ability to construct an errata.
 
S

Seebs

You're right, seebs. This dude is funny as hell.
Think he'll make me some money?

No. But he will brighten an otherwise dull afternoon*.

I'm hoping he's happy now that the Wikipedia article no longer refers to an
out-of-date article that is not adequately researched, fact-checked, and
documented. I mean, the problem, as described, was that the Wikipedia entry
linked to something essentially obsolete and not very well-organized. I
have corrected this deficiency.

-s
[*] Yes, it's a reference.
 
W

Walter Banks

spinoza1111 said:
This is not correct. They were referenced in making the Schildt
"biography" on wikipedia in 2006 and over these years, there has
always been a high frequency of references. Furthermore, newbies have
always been directed to the C FAQ which makes a libel a fact.


It is clear that he did not since Peter has admitted that the CTCN
errata have been fixed.

Some of the specific errata have been fixed in a later edition
but the same errors elsewhere not directly referenced in Seeb's
were left unchanged. A solid technical editing pass should have
been made between revisions and the examples should have
been validated against the written description and run in the
context that the fragments were intended.
In a stunt of astonishing vulgarity, Seebach
has taken credit for this...and in response, is renewing his "open
source" call to find more errors. Again, he does not offer to work
with Schildt. He has learned nothing.

It is Schildt's work Seeb's email address is readily available he
could have easily contacted Seeb (maybe he did). Seebs has
no obligation to work with Schildt. The current review started
directly with your call to treat Schildt honestly. Classify the errors
in some rigorous way starting with mundane to serious and
let the results stand for themselves.

Knuth paid for bug reports. Haberson and Steele author
published errata might be a good example to follow.

http://careferencemanual.com/errata.htm


w..
 
S

Seebs

Some of the specific errata have been fixed in a later edition
but the same errors elsewhere not directly referenced in Seeb's
were left unchanged.

The point being, he clearly knew that his claim that you needed to use
feof() to detect the end of a binary file with getchar() was wrong,
because he removed it -- but he didn't make the same change to getc().

What's the difference? It's that one of them was mentioned in the old
C:TCN and the other wasn't.
A solid technical editing pass should have
been made between revisions and the examples should have
been validated against the written description and run in the
context that the fragments were intended.

Right. This obviously did not happen.
It is Schildt's work Seeb's email address is readily available he
could have easily contacted Seeb (maybe he did).

He has not. He once sent, via his publisher, a document arguing that
the C89 standard really did allow "void main()" portably. That's the
extent of his offers to work with me.
Seebs has
no obligation to work with Schildt. The current review started
directly with your call to treat Schildt honestly. Classify the errors
in some rigorous way starting with mundane to serious and
let the results stand for themselves.

I really don't see any reason for Schildt to care either way. It's been
ten years since the last edition of C:TCR -- the previous ones were much
closer together. I don't imagine there are plans for a 5th edition, now
that he's making his money in the C++ and Java markets.

However, I did feel that it would be a crying shame if anyone thought the
Wikipedia article was based on an insufficiently-researched document. I
have addressed this, and the previous document has been altered to clearly
state that it is obsolete and based on a prior edition.

Since this is exactly what Nilges said he wanted, I ought to be surprised
that he's whining, but frankly, I'm not.

-s
 
J

J de Boyne Pollard

(Sigh) If you post a new document:
1.  Questions will still remain at wikipedia how you misled them with
the old document for fifteen years, violating their Biographies of
Living Persons policies with maliciously false information [...]

Hey! M. Seebach! You violated a Wikipedia policy with something not
even written on Wikipedia, and managed to do it for six years before
Wikipedia even existed. Did you know you were capable of such feats?

Archimedes Plutonium thinks that Wikipedia existed in 1997, too.
 
R

rigs

(Sigh) If you post a new document:
1.  Questions will still remain at wikipedia how you misled them with
the old document for fifteen years, violating their Biographies of
Living Persons policies with maliciously false information [...]

Hey!  M. Seebach!  You violated a Wikipedia policy with something not
even written on Wikipedia, and managed to do it for six years before
Wikipedia even existed.  Did you know you were capable of such feats?

Archimedes Plutonium thinks that Wikipedia existed in 1997, too.

Time machine go!
 
S

Seebs

(Sigh) If you post a new document:
1.  Questions will still remain at wikipedia how you misled them with
the old document for fifteen years, violating their Biographies of
Living Persons policies with maliciously false information [...]
Hey! M. Seebach! You violated a Wikipedia policy with something not
even written on Wikipedia, and managed to do it for six years before
Wikipedia even existed. Did you know you were capable of such feats?

There also is the tiny detail that, in fact, I never misled anyone with the
old document. It was substantially correct, the bulk of the comments in
it are comments that anyone competent in the field would generally agree
with, the errors in it were in fact (as now demonstrated at length)
representative and typical... In short, it was not false, let alone
"maliciously false".

I have improved the quality of the citation, but not significantly changed
its substance.

-s
 
J

J de Boyne Pollard

        The header file associated with the I/O functions defined by
        ANSI is called STDIO.H.

Okay, that's wrong.

It's right if the file is stored on a FAT volume.
        For many C compilers, the header file related to the UNIX-like file
        system is called IO.H.

Never heard of such a header, even allowing for the bogus caps.  Anyone
know whether it's a DOSism?

I do.
 
S

spinoza1111

(Sigh) If you post a new document:
1.  Questions will still remain at wikipedia how you misled them with
the old document for fifteen years, violating their Biographies of
Living Persons policies with maliciously false information [...]
Hey!  M. Seebach!  You violated a Wikipedia policy with something not
even written on Wikipedia, and managed to do it for six years before
Wikipedia even existed.  Did you know you were capable of such feats?

There also is the tiny detail that, in fact, I never misled anyone with the

No, I'm afraid you have.
old document.  It was substantially correct,

14 over 20 of the errata were not errors and they contained errors of
their own, such as "the 'heap' is a DOS tems".
the bulk of the comments in
it are comments that anyone competent in the field would generally agree

This is tantamount to defining "competence in the field" as agreement
with someone who has no academic qualifications in computer science
whatsoever and is an incompetent coder.

If you define competence as agreeing with you on such propositions as
"the 'heap' is a DOS term" or "the stack should not be mentioned in
describing C runtime" then:

(1) You're wrong
(2) You're committing the logical fallacy of petitio principii

with, the errors in it were in fact (as now demonstrated at length)
representative and typical... In short, it was not false, let alone
"maliciously false".

Malice on your part has been proved, since you refused McGraw Hill's
offer of an honorarium and made no effort to deal directly with
Schildt, who probably regards you as a stalker. Malice exists because
then and now you call for assistance in finding "errors" in the books
of one and only one author.

Malice would not have existed had you, like Brian Kernighan in his
early book The Elements of Programming Style, described the issue of
errors in printed software in a morally serious way, without naming
and shaming one author in a field where the law is used by publishers
to indemnify themselves and their authors against errors.
I have improved the quality of the citation, but not significantly changed
its substance.

You are lying: the page (http://www.seebs.net/c/c_tcr.html) is
unchanged.
 
S

spinoza1111

(Sigh) If you post a new document:
1.  Questions will still remain at wikipedia how you misled them with
the old document for fifteen years, violating their Biographies of
Living Persons policies with maliciously false information [...]
Hey!  M. Seebach!  You violated a Wikipedia policy with something not
even written on Wikipedia, and managed to do it for six years before
Wikipedia even existed.  Did you know you were capable of such feats?

**** you, asshole. Seebach allowed CTCN to be cited in 2006 as the
main source for an article which was a vicious attack and still
contains a vicious Reception section, and has not fixed this despite
the fact it's been brought to his attention repeatedly, and despite
the fact that it is in violation of Biographies of Living Persons.
Learn to read.
 
J

J de Boyne Pollard

        The header file associated with the I/O functions defined by
Not really.  On a case-insensitive filesystem, alternative spellings might
be accepted, but that doesn't mean that's what the header is called.

Yes, really. And it's what the *header file* is called. That's
exactly the
spelling that a FAT filesystem will use for the header file's 8.3
name.
And is it?

Yes. It, <dos.h>, and <direct.h> comprise the (header portions of
the) C
language bindings to the DOS system API, as supplied by pretty much
all
DOS-targetting implementations of the C language. They're often
conflated
with the POSIX API C language bindings, but they are in fact a wholly
different API, that just happens to resemble the POSIX API on a dark
night
if one squints heavily. The most widely-known difference is mkdir().
In
the C language bindings to the DOS system API, which really did spell
it
without a leading underscore in DOS-targetting compilers, it takes
one
argument. In the C language bindings to the POSIX API it takes two.

They're also available on compilers that don't target DOS, as shims
mapping to the underlying system API, for compatibility with programs
ported from DOS. This mapping is usually quite imperfect. For
example:
on OS/2 and Win32, directory searches have to be closed lest one leak
handles. But this is not true for the DOS system API. Since the DOS
API C language bindings only have _dos_findfirst() and
_dos_findnext(),
there's usually either a bodge in the library to attempt to reduce
search handle leakage heuristically (as was the approach taken by
Borland C/C++ for OS/2) or an API extension providing a new
_dos_findclose() function that ported DOS code has to be modified
to call (as is the approach taken by Watcom C/C++).

On that latter note, I recommend a look at Microsoft KnowledgeBase
article 195930.
 
J

J de Boyne Pollard

(Sigh) If you post a new document:
1.  Questions will still remain at wikipedia how you misled
them with the old document for fifteen years, violating
their Biographies of Living Persons policies with
maliciously false information [...]

Hey!  M. Seebach!  You violated a Wikipedia policy with
something not even written on Wikipedia, and managed to
do it for six years before Wikipedia even existed.  Did
you know you were capable of such feats?

Archimedes Plutonium thinks that Wikipedia existed in 1997, too.

Seebach allowed CTCN to be cited in 2006 as the main source for an
article [...]

Hey! M. Seebach! Apparently you have the power to magically
control whether any other people can hyperlink to your WWW pages
from elsewhere. Did you know that you could probably make a
fortune from the WWW advertising industry with that ability?

Anyone care to hazard a guess, out of the various architectures
that the C language has been implemented on, which one
has a representation for integers where 2010-2006 is 15? It's
not twos-complement, certainly.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,262
Messages
2,571,044
Members
48,769
Latest member
Clifft

Latest Threads

Top