comp.lang.c and the BP Oil Spill

S

spinoza1111

It is emerging that on the day of the accident that caused the spill,
BP executives were bullying technicians and engineers to "fix"
problems too fast and too cheaply while having a party on the rig.

I worked in software for Standard Oil in Chicago and Tulsa for a brief
and unhappy period. I was doing OS code for the IBM (mainframe)
Virtual Machine operating system. I was applying secret Standard Oil
changes to the VM source code to secure its seismic data, and writing
new OS code, using assembler. I worked as consultant from a Chicago
firm.

[I would remark that VM/360 prefigured modern "open source" since it
was shipped in source form, and customers could make their own
modifications. VM/360 provided, on dumb terminals, the illusion of
having a personal computer. While I was working with Standard Oil, a
brilliant English programmer, Mike Cowlishaw, developed the Rexx
programming language to write scripts for VM.]

I got the changes done on time and they worked in Chicago, on "my" VM.
VM had been designed to allow systems programmers to fully test new
editions of the OS privately, just like modern Virtual Machine
software.

At the same time, my marriage was heading south because, as I now
realize, my former wife had unrecognized depression. Nonetheless, I
was "forced" to go to Tulsa to demonstrate to the customer that the
software worked, and, more important, that I was a good old boy type
of programmer, which I'm not.

The Tulsa visit was a disaster, although the software worked. The good
old boys thought I was some sort of homo. I didn't like oil patch
culture at all; for one thing, all you could drink was 3.2 beer. The
customer was "offended".

I noticed a culture of "normalized deviance" (a term invented by
anthropologist Dianne Vaughan): a male/macho culture in which thinking
was suspect despite the fact that as early as 1981, the technical
apparatus was scaling up to a point that required thought...including
the realization that my company was wasting time and jet fuel sending
me to Tulsa to look good.

Accounts of the day of the Deepwater Horizon accident are trickling
out. There was, it now appears, an excess of arrogant SOB British
Petroleum executives on the rig, having a party to celebrate their
safety record (!). When problems arose they made idiotic suggestions
which made the problem worse.

But this is well known. What's less commented on is that the
engineers, rather like the engineers on the spot in Chernobyl, did not
push back against the apparatchiks. Instead, they did things offline
and in secret that made the situation worse. Viewing themselves as
engineers using their education and skills to conquer nature, in
another part of their psyche, they'd incorporated the proposition that
"no matter what, managers and owners are our customers, and, the
customer is always right".

I'd protested that I needed to be with my wife and to help her with
our two babies, and that the OS modifications I'd made worked. I was
told that "the customer is always right".

Here, "programmers" like Seebach have incorporated the axioms to the
extent that they can always justify incredibly poor practice by
reference to inchoate ideas of practicality that have nothing to do
with the problem. For example, we were supposed to accept code as
exemplary that fails if a percent is followed by a different character
than p. We were supposed to accept fall through switch when that made
it appear that what was an error, was not, and vice versa.

At the same time, just as on the rig, any one engineer who objected to
the strikingly crude procedures in use could be isolated and mocked,
Schildt is mocked by people who cannot do a proper technical review.

The bespoke-suited executives, underneath a veneer, turn out to be
savages and barbarians with no education or culture above the World
Cup.

Just as Marxism as actually practiced in the Soviet Union resulted in
Chernobyl, Deepwater Horizon is capitalism's Chernobyl. The messes
here, including C standardization, are smaller instances.

To be a "man" on the Deepwater Horizon platform, you had to be...less
than a man, and never speak out, even when ordered to pump seawater
when you knew that that would make it worse. You must never defend
your coworkers. You must find the target du jour and join the mob.

After Exxon Valdez, I was told, in the same hysterical terms used here
in defense of deep C nonsense, that it wasn't practical to double hull
tankers. Likewise, it's not practical to convert to Java.
 
J

jacob navia

spinoza1111 a écrit :
To be a "man" on the Deepwater Horizon platform, you had to be...less
than a man, and never speak out, even when ordered to pump seawater
when you knew that that would make it worse. You must never defend
your coworkers. You must find the target du jour and join the mob.

After Exxon Valdez, I was told, in the same hysterical terms used here
in defense of deep C nonsense, that it wasn't practical to double hull
tankers. Likewise, it's not practical to convert to Java.

As I have repeated many times before, C is a simple language. This is a
good feature or a bad feature, depending on the usage of that
simplicity.

Things aren't black or white, one or zero. There are infinite shades of
gray. I prefer simplicity because the world is very complicated as it
is, without the need to invent complicated software to make it even
worst. I like C because of that, because it allows the programmer to do
what he/she wants wthout imposing a predefined view of the world like
Java or C#. Obviously that gives you a great freedom to do all kinds of
creative software constructs, but also gives you all kinds of pitfalls
and problems.

As you may know I am well aware of the prblems with C and I have tried
to address them. But in all my propositions the essential simplicity of
the language remains untouched because I consider that the fundamental
cornerstone.

Comparing this love of simplicity with a supposed "macho" attitude to
programming is a mistake even if here we have seen a lot of that:

o I never used a debugger
o malloc/free are the only sensible solutions
o Zerp terminated strings can't be replaced by something better.

This attitude is maybe a "macho" programming paradigm, but it is surely
not widespread outside this group.
 
K

Kenny McCormack

jacob navia said:
This attitude is maybe a "macho" programming paradigm, but it is surely
not widespread outside this group.

But it *is* common in this group, and this group is what we are
concerned with and it is what we discuss here.

--
(This discussion group is about C, ...)

Wrong. It is only OCCASIONALLY a discussion group
about C; mostly, like most "discussion" groups, it is
off-topic Rorsharch [sic] revelations of the childhood
traumas of the participants...
 
T

Tom St Denis

But it *is* common in this group, and this group is what we are
concerned with and it is what we discuss here.

You're probably mistaking confidence for machoism. A lot of us are
confident in the usefulness of our answers because we're actually
productive and expert users of said tools we're talking about.
Whereas people like you moan and bitch all day in USENET trying to
"make a difference."

What gets me is that I'm still surprised to this day that there exists
trolls for such niche topics like the C programming language. Like I
get [while not condoning] trolls in sci.math and sci.physics because
those are more mainstream pop culture topics, and to a lesser extent I
see how they could exist in sci.crypt.

But comp.lang.c? I mean in all the things people could get into C
programming is fairly obscure. There are 6.5billion people on earth,
and maybe a couple million [at most] people with any non-trivial
passing knowledge of C. And yet here we are, people who made the cut
to have even a basic passing knowledge of C and what do they do with
it? Troll usenet. My FSM, what's wrong with people...

The C language has nothing to do with BP and their recent half-ass
safety standards inducing ecological nightmare. You can be a very
careful and prudent developer in most any language including C.
Spinzolas lack of experience notwithstanding, there are in fact people
who write C code with fairly high standards and low code defect
ratings.

But serious, stop trolling comp.lang.c. Get a life, take up art, take
up music, get laid, hell get laid while taking up art. Go for a walk,
learn the game Go, for FSM sake do something with your life. Trolling
USENET? That's the best you can think of? Really? How smart are
you?

Tom
 
S

spinoza1111

spinoza1111 a écrit :





As I have repeated many times before, C is a simple language. This is a
good feature or a bad feature, depending on the usage of that
simplicity.

Things aren't black or white, one or zero. There are infinite shades of
gray. I prefer simplicity because the world is very complicated as it

Lotsa luck modeling the real world if you prefer simplicity and cannot
organize complexity.
is, without the need to invent complicated software to make it even
worst. I like C because of that, because it allows the programmer to do
what he/she wants wthout imposing a predefined view of the world like

"I want to do what I want" as a professional motto? My Dad as a
neurosurgeon didn't do what he wanted. Neither did Captain
Sullenberger, who landed in the Hudson.
Java or C#. Obviously that gives you a great freedom to do all kinds of
creative software constructs, but also gives you all kinds of pitfalls
and problems.

Can you identify any such pitfalls and problems? Unfortunately, if you
haven't learned either language, the "pitfall and problem" is "your
ignorance".
As you may know I am well aware of the prblems with C and I have tried
to address them. But in all my propositions the essential simplicity of

Jacob, I implore you...you are one of the smartest people in this
group. Stop wasting your God-given talents on reinventing a broken
wheel.
 
J

jacob navia

spinoza1111 a écrit :
Lotsa luck modeling the real world if you prefer simplicity and cannot
organize complexity.

The real world is neither all black nor all white, as I said in my
message above. Precisely because of the complexity of the real world,
we need simple tools to deal with that complexity to avoid adding
the complexity of the tool to the complexity we are trying to understand.

Abstraction allows us to eliminate details and concentrate in the
essentialm. Abstraction simplifies our world, with simple general
tools.

Look at

F = G* (m1*m2)/(r*r)

Simple isn't it?

I want to organize complexity precisely without getting into problems
of the tool instead of the problems I want to model.

"I want to do what I want" as a professional motto? My Dad as a
neurosurgeon didn't do what he wanted. Neither did Captain
Sullenberger, who landed in the Hudson.

So What?

What has the profession of your father to do here?
Complextely IRRELEVANT to give you the impression you are answering when
you actually aren't.
Can you identify any such pitfalls and problems? Unfortunately, if you
haven't learned either language, the "pitfall and problem" is "your
ignorance".

I have programmed in C# since more or less its inception.
The many problems it has are
(1) Tied to microsoft and windows.
(2) Mono under linux doesn't share the MS library of course, so C# is
just not portable.
Etc. Most of that shared with Java.
 
M

Malcolm McLean

"I want to do what I want" as a professional motto? My Dad as a
neurosurgeon didn't do what he wanted.
The surgeon wants to reattach a nerve so that patient can use his arm
again.
However he really wants to be circus clown, not a surgeon.
But, excpet for a very few, most circus clowns don't make much money.
He wants wife, kids, car, family holiday. So in fact he does want to
be a surgeon.

However the hospital is losing money on this particular patient. He
doesn't want to do the op.
But he voted for the government that passed the laws that oblige the
hospital to treat this particular patient at a loss. So he does want
to treat the patient.

But the patient is a prisoner serving time for attempted murder. In a
year he'll be out, and free to try to murder again, with his
reattached hand. So he doesn't want to treat him.
He could refuse to do the job on principle, but that would cause a
huge hassle with the surgeon's regulatory body. Easier far simply to
accept instructions and treat the patient. So he does want to treat
the patient.

Maybe accidentally on purpose botch the job?

Is he doing what he wants or not?
 

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

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,050
Latest member
AngelS122

Latest Threads

Top