ShadowKat Studios
Blog
Projects
About

Programmer-archaeologist

To steal a wonderful phrase, software engineering is like an onion; you peel away the layers and you start crying.

I’ve been reading Vernor Vinge’s excellent Zones of Thought series. In A Deepness in the Sky, one of the main characters' job title is programmer-archaeologist. When I read that, I had to step back and think for a moment. While programmer-archaeologist may be a strong term, consider the existence of StackOverflow. But, as with our systems and our software, there’s more layers to it.

Mature Programming Environment

Sura gave up on her debugging for the moment. “The word for all this is ‘mature programming environment.’ Basically, when hardware performance has been pushed to its final limit, and programmers have had several centuries to code, you reach a point where there is far more signicant code than can be rationalized. The best you can do is understand the overall layering, and know how to search for the oddball tool that may come in handy.”

Sound familiar?

There were programs here that had been written five thousand years ago, before Humankind ever left earth. The wonder of it — the horror of it, Sura said — was that unlike the useless wrecks of Canberra’s past, these programs still worked! And by a million circuitous threads of inheritance, many of the oldest programs still ran in the bowels of the Qeng Ho system. Take the Traders' method of timekeeping. The frame corrections were incredibly complex — and down at the very bottom of it was a little program that ran a counter. Second by second, the Qeng Ho counted from the instant that a human had first set the foot on Old Earth’s moon. But if you looked at it more closely… the starting instant was actually some hundred million seconds later, the 0-second of one of Humankind’s first computer operating systems.

While it’s never explicitly stated, it’s strongly implied that Qeng Ho starships - that is, the vehicles of the protagonists - are running a unix-like operating system. More than that, their star ships are filled with all manner of computers. Everything that does something has a computer in it. More than that, everything communicates nicely.

When systems depended on underlying systems, and those depended on things still older… it became impossible to know all the systems could do. Deep in the interior of fleet automation there could be - there must be - a maze of trapdoors. Most of the authors were thousands of years dead, their hidden accesses probably lost forever. Other traps had been set by companies or governments that hoped to survive the passage of time. Sura and Bret and maybe a few others knew things about the Reprise’s systems that gave them special powers.

The medieval prince in Pham Nuwen was entranced by this insight. If one could be at the ground floor of some universally popular system… If this new layer was used everywhere, then the owner of those trapdoors would be like a king forever after, throughout the entire universe of use.

If the system used on Qeng Ho starships is actually derived from Unix, there’s a non-zero chance there is one, in the base layer of the operating system; outlined in Ken Thompson’s article, Reflections on Trusting Trust

By Izaya
2020/01/20 23:10 +1100

Tags: software unix

© ShadowKat Studios
The software used to generate this page is licensed under the Mozilla Public License version 2 and can be found here