Hi all,

There's a movie on the web called "Evacuate Earth" at
https://www.youtube.com/watch?v=kpkzxT2Ntto

The premise is that a neutron star is coming to eat Earth, and a
quarter million humans must go to a planet 5 lightyears away in order
to preserve our species.

The only part of this movie on-topic to this mailing list is the part
on assembling the spacecraft, 55:15 to 1:02:30. They're shooting the
sections up into space orbit and joining them in space, mostly via
robotics but some human intervention involved. By this space assembly
the spacecraft needn't gobble energy just leaving Earth.

Can you imagine the opportunity for failure? These sections are made in
factories all over the planet, and when they get up there, tab A must
fit into slot 1, every time. How in the world do you get that kind of
perfection. Really think about it.

I thought about it. The space ship is a 16 mile long, 2 mile diameter
cylinder. I'd put it together with interlocking and weldable cylinder
arcs, **all the same**. To the extent possible, I'd make the major
parts conform to one of a few templates. I'd make each template as
simple as possible, but with fittings and furniture sufficient to cover
all anticipated needs. Such simplicity makes perfection doable.

I'd design the templates from the ground up to be built by robotics,
but still reasonably assemblable/disassemblable by real humans with
reasonably simple tools.

For every template, I'd specify and build a test jig (perhaps call it a
unit test). Every piece that's built would be unit tested on earth,
before spending the time and opportunity cost to send it to space. I'd
make sure test jigs built in one factory are used in another, to limit
instrumentation errors that pass bad units.

Inevitably, the initial template designs will forget provisions for a
few features. Unless these features are a life and death thing, once
building commenced, I would neither change the design nor make complex
workarounds to accommodate those features. The crew and passengers
would just live their lives to make those features unnecessary.

I look at GNU/Linux (and BSD and POSIX in general) and see a lot of such
design. A startup script looping through the script files of
whatever.d/ is a perfect example of simple and openended design. Runit,
s6 and daemontools are another example. Even sysvinit is an example,
although sysvinit left out enough that those scripts
in /etc/rc.d/rc5.d/ must be overly complicated.

In the movie, parts get launched to the ship and bolted/welded on.
What is NOT done is to monolithically build huge megasections comprising
dozens of differing functionalities, and send those up. This was one of
the first lessons I had to learn when switching to GNU/Linux: My days of
building the single-executable-does-it-all were over. The new
catchphrase was do one thing and do it well. I found out that
executables are the best places to divide, and they can naturally be
made to have very thin and understandable interfaces.

If I had only one chance to save humanity, I'd build my spaceship like
GNU/Linux, not like Windows. And I wouldn't hire Poettering to be part
of the effort.

SteveT

Steve Litt
January 2018 featured book: Troubleshooting: Why Bother?
http://www.troubleshooters.com/twb
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to