[ snip ]
I've explained that the technical lower middle class IS at risk for
Fascism, and I have nothing but contempt for homosexuals who have
benefited from the fag movement only to take out their resentments by
using the sort of "bashing" language they were subject-to. I am
referring to Seebs.
"fag movement"? How is that *not* gay-bashing ....
It's only "gay bashing" in what I call the Chomsky 3 sense. That is,
for bureaucratic convenience rather than for real human rights,
bureaucratic machinery examines human language AS IF it were a series
of regular expressions, which when applied fully means that because "I
don't think you should call me a 'fag'" conforms to the regular
expression *fag*, it is disallowed: "don't ask, don't tell".
This not only occurs literally in certain automated tools with
Orwellian results, it's also applied to speech in such a way that
people, today, use a language that is considerably less vivid, and
fails consistently to add to human dignity, than our language of the
Sixties. Frankly, I encounter situations here of such absurdity, and
such a theater of cruelty, that the only sensible response is either
poetic (which I've essayed) or something like "shove it up your
ass" (which also seems to fit).
The movement for homo rights was on the street a fag movement. The
Chomsky 3 bureaucratic rule ignores intentions and treats speakers as
objects. But my intention was to draw attention that (in my opinion)
Seebach uses the liberation movements of the 1960s merely to unfairly
make his life easier and shit on others.
I was 18 when gays rioted at Stonewall. What it meant was that people
didn't have to go around in "character armor" denying their own
vulnerability, and one result in computing was the structured
walkthrough in which people would be "humble" on the one side, and,
perhaps even more important, unwilling to go off topic from problem
solving and start attacking people's credibility and qualifications,
as Seebach does. The effect is to me sickening, because as I've said
it's the delinking of humility from charity.
(And while I'm at it -- the phrase you use elsewhere, "feminized
men" -- how is that not .... No, no, never mind; I'm pretty sure
I don't want to, um, go there.)
I will. Robert Bly, you know, the "men's movement" drumming in the
woods guy, ain't no joke. He's a real poet and a smart guy: I've met
him. He started the men's movement when he noticed how badly younger
post-Sixties males treated (1) their Moms and (2) their friends and
(3) their wives, and Bly was also horrified by the crap on the
Internet, where from day one people have said things they would not
say person to person (at the point where Seebie and Heathfield have
taken us, I WOULD invite them, person to person, to go ****
themselves).
He said "men learn compassion from their fathers". I think Seebach et
al. failed to learn this from emotionally or physically absent
fathers, whether those fathers were distanced by corporate jobs at IBM
which demanded unpaid overtime on projects like OS/360, or absented by
the divorces and family breakdowns which resulted from many
programming, engineering, and other types of jobs. So much so that the
men fortunate enough to have better fathers (which Seebs may very well
have had) learned the normalized deviance from their peers.
Despite Dijkstra's numerous enemies, you can search his quotes in vain
to EVER find him attacking another man by name or unique description.
In ALL cases, he describes GROUPS of people by describing GROUP
behaviors. Dijkstra was unaware, or did not care, that this always
makes trouble for the speaker.
Socrates described the folly of wealth, the folly of mob democracy,
and the love of wisdom that made it clear that he though most men,
including Athens' elite, to be fools, while Sophists were
strategically more clever: they would use the far commoner method of
scapegoating by selecting a unique person.
The result was Socrates' death, and Dijkstra's premature death from
the effects of lifelong clinical depression (according to Peter
Neumann, who I interviewed for my book). Dijkstra took out his own
anger on a group abstraction, the design of hardware and software
using foolish procedures, which was far more charitable than the sort
of specific attacks launched by Jean Sammet, John McCarthy and others
on their personal enemies. However, in the language of the ugly
corporate word "offend", Dijkstra was more "offensive" because many
people who read him could ask "does this not refer to me"?
If I write in an email that "Joe is a slob", this is safe as long as
Joe ain't a CEO and is below me or at my level. Whereas I discovered,
as did my female coworkers interested in best practice, that in the
corporate world it was almost always unsafe to diss a programming
language or practice, since in big corporations there could always be
some group using the idiotic praxis.
Men who learn compassion from their fathers are like Dijkstra anxious
to do things right like Dad, without attacking a named scapegoat like
Schildt. Whereas today, the normalised deviance is to always take care
to describe a sort of Chosen One or Monster, and to equate another
person with this fabular beast...as in the case where when someone
posts something intelligent and/or nonstandard here, and instead of
replying straightforwardly, posters start yapping about some "guy" who
used to work at their company or posted here in the old days, as if
the Chosen One or Monster could daemonically possess different people.
Seebach to his (limited) credit makes it no secret that, in what he
calls a timesaving gesture he will reject code that uses "quirky"
syntax but which given what I've seen of his skills is something more
than a timesaving gesture. But this reduces code reviews to adolescent
levels, where wearing the wrong sort of clothes ostracizes the "geek".
I always thought that to be the urbane, witty, intelligent guy that
some of my mates think I am, it is necessary to learn at least one
foreign language, to not get bent out of shape if someone wears
Speedos, and to also learn new computing paradigms in detail, as I
struggle to learn OO in the 1990s. But now I find that noooooo....the
Eternal Sunshine of the Spotless Mind is to get stuck in adolescence
until you fly a plane into a building or some shit like that.
Finally, it is true that unlike Dijkstra the Blessed, I attack people
by name. All I can say is that I've put up with their shit for too
long, after giving them the benefit of the doubt and asking them to
correspond privately. But they are cowards who flee this type of
encounter. Therefore I say, bring me the heads of Seebach and
Heathfield!
[ snip ]
[ .... ] such as my replace code
which is superior to anything else I've examined.
Have you looked at the code posted by others here? On a quick
skim of your code and that of the others I've been benchmarking
(Harter, Bacarisse, Thomasson, and willem), all of them seem to be
roughly comparable with respect to solving the problem correctly
and efficiently, and the only one that's not at least as readable
as yours (in my opinion anyway) is willem's -- and he probably
wasn't trying for readable. Harter's code even contains copious
comments, which again on a quick skim seem pretty good to me.
What is it you think is superior about your code?
I solved the problem, which was to avoid string.h, and thinking
influenced by string.h, in which you have to start at one byte to the
right of the last point at which you did strstr (or its equivalent)
because strstr doesn't tell you where the one-character "handle" might
start to the left of this point.
The comments are not only highly literate, they are attractively laid
out in two dimensions within the limits of an Ascii view, as is the
code. I disciplined myself to keep nearly all lines (save two) within
67 characters, this being the limit imposed by the newsreader,
apparently. Each logical level has its own nesting.
I used literate and meaningful identifiers, and the use of pre-
Szymonyi "Hungarian" means I made a conscious and documented decision
as to data types (that's called "programming on purpose" as opposed to
the opposite, which ain't good in my book)
Because I released the code early in its development and because I not
only fixed each bug as it arose (unlike friend Seebach) the bug rate
diminished exponentially, approaching zero as a limit and not floating
maddeningly above zero at some large constant value, which happens to
be the case for most "working" software. I took the risk of the
cruelest form of mockery and abuse in this fucking slum so as to get
the insights of the decent people here in debugging, which is far and
away the best course.
I used the best possible algorithm within the constraint that I did
not choose to create auxiliary tables, which was to create a linked
list of segments where the target does not occur and then assemble
this linked list and each target occurence into the result string.
This was, I believe, the minimal algorithm in terms of time and memory
complexity within the constraint, along with Willem's elegant
solution, which uses extra stack memory.
I carefully tuned this algorithm using ideas from reading the Boyer
Moore CACM paper by restarting the search at the first occurence of
the first character of the target to the right of the previous
starting point, by noting this occurence in the search for the target.
Above all, I took pains. I realize that such craft, in the corporation
is now interpreted as "wasting" valuable (if unspecified) "resources"
in language that assumes I'm chattel because I don't own the means of
production. But I'm too old to start regarding Peter's slop as decent
code.
Any questions, blmblm?
I clearly deserve A+ if you ask me. I regard Willem's work as A+ and
although his style is radically different from mine, as a decent
programmer I do NOT use shibboleth as doth Peter Seebach. I dove right
into his code and read it, discovering his recursive insight...which I
helped him bring to fruition. I am all too familiar with people who
call themselves programmers but who can't and won't read unfamiliar
code, preferring personality destruction to Hamlet's "as a stranger
give it welcome".
Anyway, you asked for an apologia you got one.
You know, I really didn't know that my misspelling of your name was
also the name of a feminine hygiene product, because I'm not up to
speed in feminine hygiene. I live in Hong Kong ha ha. But speaking of
another meaning of apologies, I owe you one for that
confusion...despite the fact that *pace* Peter S, as in zip it,
knowing feminine hygiene, or its lack, hath zip to do with programming
as far as I can see.