RAND: random rant cot'd

Eugene Leitl (Eugene.Leitl@lrz.uni-muenchen.de)
Sun, 23 Mar 1997 17:17:50 +0100 (MET)


Since I have already perfectly wasted this early
Saturday [IRQ] make that Sunday afternoon as well [RTI]
afternoon, I could as well go on. This rant will be
hopefully more focused (though _which_ focus I am still
at loss to decide), less generic.

Well, I _am_ currently in the process of getting a life.
For almost two months now I am doing -- of all things
-- vehicular embedded programming, in a secondary
outsource tributary to Bayerische Motorenwerke, a
Kraut car manufacturer. This is both bad and good.

Bad, since lots of transhumanist-value-set people seem to be
accumulating in an IT-related job sink, with all the strings
attached (being restricted to a peculiar activity type, and
presenting an only-too-convenient external classification
handle (not a _scientist_, just an another IT professional,
you see, so you can safely redirect whatever he says
>/dev/null)) but maybe that's an artefact of observing
only net-visible transhumanists/extropians. I suppose
there is a whole non-wired world out there. (It has
been rumoured there _is_ one). Well.

Good, since distributed realtime embedded systems are
likely to play a large role in future infrastructures,
whichever, you pick your choice. Everything concerning
desktop machines, networks, and physical agentry. Current
CAN embeddeds and embedded-DSP hybrids seem to herald
this. Industrial programming is pragmatic (which is also
both good and bad, since one rarely has to combat ivory
tower-attitude, but otoh cannot hover over a single project
indefinitely, polishing it to perfectness past recognition),
and one has often to touch hardware. Now controlling
nontrivial (since heterogenous and/or multiple) hardware,
reliably, _and_ in realtime, is interesting. It both
helps to contain age-related creeping dementia, and
allows one to acquire a set of possibly useful skills
for the interesting times we are purportedly have to
face soon.
Or so I hope.

(Another good thing is that the outfit I am currently
with also does diverse things like simulation, emulation,
testing systems (cum GUIs), virtual machines, and the like,
so one will probably rarely get bored; but I digress).

I discovered there is no freedom in the academia, and none
outside of it. In the academia, even postdocs bend to the
whims of the head of the lab they work in, and by time they
had progressed to the stage of being able to define their
own research topics, they discover they're semi-burnt-out
elderly ex-researcher-now-administrator-types. Gawks. So
the only way you can influence what you do is by travelling
long, hard and frequently, and polishing a lot of brass
doorknobs to bright sheen, besides. It also helps being
very very good.

In the industry you also fail to be self-determined. Large
outfits, very like brontos in tar pits, are boggled down with
overhead. Flat structures all and well, but you still hark to
your chef, and he to his, and so recursively upwards. In small
outfits, customer, especially Large Customer, is King, and the
only thing left to you is which customer you do choose. (If
you reject too many of them in a row you might face some
terminal cash problems). It also helps being very very good.

Anyway, here's a list of random observation I'd like to
commit to my hard drive/modem lest they fade from memory
altogether (though stale already, since past the fresh
impression stage ). I'll be hopping from tier to tier
incoherently (this is a rant, no?), so bear with me.

First, a short sketch of the outfit I'm currently with.
It's quite small, being 8 persons in toto, of which two
work constantly off-location. There is no regular working
hours, but those cooperating with BMW must be available
during certain hours (09-17), since these guys work only
at these fixed time. Occasionally, some of them are
working at home. Working on weekends is not exceptional
during high load time.

Since it's a mass-market (>100 kUnits, I am speaking of
the large-company-related business thread) there is no
inflation in the hardware performance as witnessed by
PCs: the embeddeds utilized are 68HC11xxx derivates, a
time-honoured 16-bit Motorola product line (for the curious:
these are custom versions like EA9, P2, etc.) Paying a
programmer for several weeks to optimize away some 1 kByte
seems to pay on the short run, as even $0.10 amounts
accumulate if mass-produced. Let's face it, the customer
is conservative. Even worse, he is sometimes randomly
stupid (a random bigwig adhocery, deciding "we need that
feature").

Due to inefficiences of large car manufacturers, radical
(EV) designs from small outfits ought to have distinct
advantages on the market. (Their big disadvantage will
be absence of serious cash (both for R&D and marketing),
so their possible success will be depedant on risk
capital venture's wisdom). I am thinking about ZEV
legislation in California here.

Backwards compatibility is a must, so though a CAN
trend is firmly there, older families must still be
supported for the next decade, or so. Vehicular digital
electronics seem to also suffer from creeping featuritis,
as even more microprocessors, sensors, buses, and
actuators are pressed into the high-end vehicle. This
contributes to a mushrooming power drain, which demands
bigger on-board generators, larger batteries, more
space to accomodate the gadgetry, and larger motors.
(In short, this is a dog. For a person, who has waited
for the advent of 100-kg, compound-frame, methanol
reformer PEM fuel cell, regen braking, motor-in-the-wheel,
for the past decade, despairing by increments, this is
the very antithesis of the trends extrapolated. Another
sad confirmation to the so-called free market's failure
to provide technically decent solutions, due to average's
customer dire stupidity). </diatribe>

Moreover, it tends to increase the system's brittleness,
since a software defect may jam (since shared) bus traffic,
drain the battery overnight due to failure to go to sleep
mode, and to switch off, etc. Interesting is a trend to
multiple, intravehicular heterogenous packet-based
networks: Kbus, MIbus for the steppers, Diagnosis-Bus,
now CAN, etc. This requires the use of (part-time)
intelligent bridges, which do packet translation,
sub-net broadcasting, and trivial routing. There is
no obvious trend towards optical LANs, albeit
vehicular environment to be heavily EMfected.

Stepping back a step; two trivial observations: a) that the
vehicle is starting to resemble one's habitat ("my car is
my castle"), and b) its intelligent networks increasingly
look very like that of an animal. A fully autonomous
vehicle is not an mid-80's pipe dream, anymore. Further,
gauging from past trend, we are likely so see downscaling
of high-end features into the mid- and low-end niche.
Moreover, distributed realtime control systems from the
car, are likely to spill over into the house automation,
the next Big Thing after the PC.

Considering a (yet hypothetical) wearable, it might also
vastly profit from these developments. I am particularly
heartended to learn of book-sized methanol direct
metabolizing fuel cells currently being developed, of
about a 50 W/unit performance. I dunno how you feel,
but I consider inability of accessing one's well-configured
environment to be maddening. Portables, and palmtops are
both inadequate. Two diametrally differing solutions seem
possible: everybody runs Win2000, and carries his frozen
configuration state on a solid-state card, or plucks it
from net home node, whether over wire link or cellular.
Or, verey like a hermit crab, one carries his working
environment with him. Since the latter version speaks
contra microsoftian monoculture, I vote for the latter
option.

Tasks diversity considered, like head-up video, GPS
and inertial navigation, biotracking, power management,
voice recognition, IrDa, cellular modem, nonvolatile storage
unit, and generic computation (secure comm link, digicash,
...), this asks for a distributed realtime embedded
solution. (What fun! Next thing they'll be asking will
be an active exoskeleton). Anybody is already doing
this? If not, they should.

that's enough for today,
ciao,
'gene