Re: strlen(), K+1: clarification




NB: This post is not directed at mr. Nilges, but rather at the other
readers of this newsgroup, to clarify what most already know about
his behaviour, namely that he is obsessively trying to get any
attention he can, be it good or bad.


spinoza1111 wrote:
) On Feb 26, 6:57 pm, Willem <wil...@xxxxxxxx> wrote:
)> As an example, I will present some facts here. Note the tactics the
)> troll will use to attack this proof.

And here we go, we have a reply. Let's analyze it.

) The phrase "constant time" is a property of algorithms, as I have
) repeatedly pointed out, not of code. Every book on computational
) complexity I've looked at contains this disclaimer. Because, as Knuth

The latest fad that he has been pushing in order to rile up discussion.
Note the 'appeal-to-authority' and the 'namedropping' tactics used.

) ...
) "Constant time with respect to running code" (CT') is the only
) intellectually responsible way of using borrowed terminology.
)
) If microcode implements a scan and test instruction an order of
) magnitude faster than code, then if strlen(s) is compiled to a single
) code instruction that calls the microcode, then even if the microcode
) loops (which it must), the non-microcode instruction is said to run at
) CT prime.

Note the 'is said to' tactic, diverting attention away from the fact
that he has just invented this totally unfounded claim himself.

) The C programmer has in fact the human right to expect that trivial
) library functions run at CT prime. He shouldn't have to even use fgets

Note the excursion into 'human rights', which have nothing to do with
the subject.

Note also how he suddenly inserts 'fgets' into his claims, hoping to
draw in people from the fgets discussion thread, as well as creating
another diversion.

) for this reason, and responsible C programmers generally avoid non-CT-
) prime functions, not only for performance reasons but also because of
) their hidden bugs which are by definition inherited by his code,
) making it buggy in term. As Malcolm has pointed out, using fgets()
) means that you have a bug. As Richard unintentionally demonstrated,
) using memcpy means you need to check for overlap yourself to avoid a
) bug.

Note how he manages to get all his latest favourite trolling points
together into one paragraph.

) And if you have to work with strings longer than cache length, it's
) probably a good idea to redo all strings as

Ah, a nice one.
Trying to cut off the easy response of 'memory is the bottleneck' by
claiming that strlen should only be called on 'short strings', and also
setting up his later 'cache' angle (see below).

) struct TYPstring
) {
) long intLength;
) char * strValue;
) }
)
) with an inspect function to make sure that the value is the length
) claimed. It is obscene that this has to be done, but that's C for you.

And here we have the first foul word, together with a snipe at C,
which seems to be his favourite pasttime.

) RISC architectures are not typically microcoded: but what part of
) "cache" don't you understand? Because of the design errors in the C
) language (such as placing the length on the wrong end of a string),
) design errors which, as I've said, would have caused Thompson and
) Ritchie to be laughed at had they worked in Iowa or Bangalore, RISC
) chips have been overdesigned to execute C. If strlen(s) is used in a
) for loop, and the optimizer doesn't change it, s will be in the cache
) and, in the only responsible usage of "constant time", it will operate
) in constant time.

Of course, the troll is never satisfied with a single angle, so he now
inserts a completely different angle, the "cache", obviously hoping that
both angles will get responses, thereby doubling his 'attention yield'.

) Sure, careful C programmers writing real code (not extempore code that
) was posted to establish a non-performance-related point) would put
) strlen(s) in a variable before the for. But as opposed to forgetting
) the behavior of memcpy and confusing && and || under pressure, this

Of course, he cannot resist the temptation to once again repeat his
favourite attack on his prime target.

) error is de minimis. To go into a court of law claiming it was
) anything else would amuse judge and jury once the science was
) explained to them clearly.

Note the detour into law, and note also the way how he tries
to move the burden of proof away from himself, below.

) If this can be empirically shown not to be the case, and I believe it
) cannot, then C is even more of a joke than I thought.

Another snipe at C, although not very effective.

) The issue was blown out of proportion in 2003 with respect to
) extempore code. Programmers who actually write large working programs

Note how he repeatedly mentions this, of course misrepresenting the
facts in order to get a response out of those he attacked back then.

) as I have do NOT misuse computer science terms they do NOT properly
) understand, nor make absurd claims in order to harass people and
) maintain control of a newsgroup.

Note the implicit claim/insult that he would be the only one who
has ever written large programs.

) All people can establish here is that strlen(s) doesn't work well on
) their platforms because they have chosen a poor language. This isn't
) science, it's postmodern folklore and it's being used to destroy
) people like Schildt.

Here he manages to pull his favourite underdog into the fray, again.
He seems to see this as one of his stronger weapons, attacking people
for 'destroying' (read: criticizing) an author.

) Stop trolling me on this issue. If there's anything worse than
) trolling, its mass trolling. You're trying to eliminate me because my
) sentence structure alone humiliates you.

And finishing with a 'stop replying to me' request, thinking this is
a win-win situation in that if the person replies, he gets the attention
he craves, and if the person does not, he can claim 'victory'.

Note also the chest-pounding and the direct insult, an attempt to get
more (hopefully heated) replies, and thus more attention.


SaSW, Willem
--
Disclaimer: I am in no way responsible for any of the statements
made in the above text. For all I know I might be
drugged or something..
No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT
.



Relevant Pages

  • [REVS] Introduction to HTTP Response Splitting
    ... single HTTP request that forces the web server to form an output stream, ... one response. ... HTTP response splitting is a fairly new web application vulnerability. ... Web cache poisoning: In this form a rather larger defacement takes place ...
    (Securiteam)
  • Re: GNU Public Licences Revisited (again)
    ... > Most programmers who write free-software seem to be much more ... > response, or a curt response dismissing it as a personal problem of my ... response of "It's open source, ...
    (comp.programming)
  • Re: How to clean up routing cache?
    ... I actually need criteria that shows that DNS response is slow. ... The local cashing of response disturbs the picture since the timeout ... value for the cache seems longer than i am going to do probing... ... > And even if your host did not cache the negative answer, ...
    (comp.unix.solaris)
  • Re: Windows Explorer is Not Responding - Help!
    ... The thrust of my original message was that it's disapointing that such a ... 'offset' to find those) and check the response. ... the problem is not being given greater attention by MS. ... For me it can happen against almost any program - Internet Explorer, ...
    (microsoft.public.windows.vista.general)
  • Re: Suffix allowed on expressions?
    ... your article and my followup. ... I'm posting his response to my e-mail. ... | of C programmers know what volatile is, ... I'm smarter than the compiler, ...
    (comp.lang.c)