Skip to main content

A new means of releasing software

From a recent conversation with a colleague, I learned that worms have been around a lot longer than I imagined:

.                      JOHN WALKER   JANUARY 1975
.
.
. THIS PROGRAM IS A TOTALLY NEW WAY OF DISTRIBUTING VERSIONS OF
. SOFTWARE THROUGHOUT THE 1100 SERIES USER COMMUNITY.  PREVIOUS
. METHODS REQUIRED THE DELIBERATE AND PLANNED INTERCHANGE OF
. TAPES, CARD DECKS, OR OTHER TRANSFER MEDIA.  THE ADVENT OF
. 'PERVADE' PERMITS SOFTWARE TO BE RELEASED IN SUCH A MANNER THAT
. IF SOMEONE CALLS YOU UP AND ASKS FOR A VERSION OF A PROCESSOR,
. VERY LIKELY YOU CAN TELL THEM THAT THEY ALREADY HAVE IT, MUCH
. TO THEIR OWN SURPRISE.

Self replicating software a decade before the Morris worm.

Cool.

One thing that I keep in the back of my mind is that even with nearly 30 years of computing experience, I’m still a newbie. There is a vast body of knowledge and experience that precedes me, and much of that is locked away in the archives of the minds of the brilliant people who invented the things that I use today. It’s unfortunate that only a fraction of that knowledge gets passed on from one generation to the next.

An example of this is my maternal grandfather. He was born early in the 20th century, grew up on a farm, worked as a machinist, factory worker and owned a small engine repair shop. He knew nothing about technology and probably didn’t know anything about combustion, yet he could listen to an engine for a couple seconds, pull out a screwdriver, turn a couple screws on the carburetor and make it run like new.

As a teen, he was responsible for heating the house. That meant spending the winter cutting down trees and splitting the logs needed to keep the house warm two winters into the future (the wood from the current winter had to dry a couple years before it could be used to heat the house). So he knew how to look at a tree, place the chain saw in the right place at the right angle and drop the tree right where it needed to land.

When I was a teen, we had various storms and other events on the family farm. Dozens of trees were damaged and need to be cut down. My grandfather couldn’t run the chain saw anymore (heart attack), but he knew how to drop trees. I could run the chain saw, but I had no clue how to drop a tree. (Or – I knew how to drop a tree…I didn’t know how to drop a tree in a predictable direction.)

You see where this is going…. Winking smile

As we walked the farm from end to end, he eyed up each damaged tree. Three puffs on his ever present pipe, an eyeball on the most off-balance, mangled, crooked tree around, and he knew how to make it fall. He pointed to a spot on the trunk and held his hand at the angle that I needed to hold the chain saw. As I wrestled the 1960’s vintage gasoline powered saw, whose power to weight ratio was far more weight than power, he tweaked the angle of his outstretched hand and I tweaked the saw to match.

Every single tree fell exactly where it needed to go.

And of course if the saw wasn’t singing the right melody, he held up his hand, I paused, he pulled the ever present screwdriver out of his shirt pocket, touched it to the carburetor and the chain saw magically changed it’s tune.

What I regret most is that I was only able to retain and use a tiny fraction of his knowledge. I’m sure that if I did that today without him guiding my saw, the trees would fall in a direction modeled by some function involving /dev/random, and the saw’s melody would pain the neighborhood.

This happens every generation, and certainly happens in system administration, development and the other foundations of our technology.

Too bad.

Comments

  1. You might enjoy this clip of Mike Rowe (Dirty Jobs) giving a talk about this kind of thing:

    http://www.youtube.com/watch?v=r-udsIV4Hmc

    ReplyDelete
  2. What you describe is information and knowledge being lost. That's sad. Know what's worse? Information and knowledge that is readily available about the computer history and people still keep doing the same mistakes over and over.. and they think that this new 'thing' they invented wasn't thought by anyone else before so how could they learn something from anyone?

    Tons of different programming languages, new 'paradigms' being created to tackle such small problems that the great inventors of our area would laugh (or cry).

    IT seems to be destinated to live in a loop, wasting resources. However, it looks like we've a lot of resources to spare.. since we seem to be improving somehow.

    ReplyDelete
  3. Giovanni - I couldn't agree more.

    Justin - That's a great show, but felling trees isn't really a 'dirty job'. I enjoyed it too much.

    ReplyDelete
  4. The heart of the matter in this topic is, in my view, a balance between learning and innovation. NPR ran a story yesterday about the inability of the Chinese education system to produce people who could do more than repeat what they've been taught. My son attended a conference recently in which the head of South Korea's equivalent of our federal Department of Education bemoaned the inability of S. Korea's education system to produce innovative thinkers.

    So, the American model of freedom and innovation is messy but is the envy of the world for its ability to create new ideas and new solutions.

    The question is, do we have a proper balance of learning to innovation?

    ReplyDelete

Post a Comment

Popular posts from this blog

Cargo Cult System Administration

“imitate the superficial exterior of a process or system without having any understanding of the underlying substance” --Wikipedia During and after WWII, some native south pacific islanders erroneously associated the presence of war related technology with the delivery of highly desirable cargo. When the war ended and the cargo stopped showing up, they built crude facsimiles of runways, control towers, and airplanes in the belief that the presence of war technology caused the delivery of desirable cargo. From our point of view, it looks pretty amusing to see people build fake airplanes, runways and control towers  and wait for cargo to fall from the sky.The question is, how amusing are we?We have cargo cult science[1], cargo cult management[2], cargo cult programming[3], how about cargo cult system management?Here’s some common system administration failures that might be ‘cargo cult’:Failing to understand the difference between necessary and sufficient. A daily backup is necessary, b…

Ad-Hoc Verses Structured System Management

Structured system management is a concept that covers the fundamentals of building, securing, deploying, monitoring, logging, alerting, and documenting networks, servers and applications. Structured system management implies that you have those fundamentals in place, you execute them consistently, and you know all cases where you are inconsistent. The converse of structured system management is what I call ad hoc system management, where every system has it own plan, undocumented and inconsistent, and you don't know how inconsistent they are, because you've never looked.

In previous posts (here and here) I implied that structured system management was an integral part of improving system availability. Having inherited several platforms that had, at best, ad hoc system management, and having moved the platforms to something resembling structured system management, I've concluded that implementing basic structure around system management will be the best and fastest path to …

The Cloud – Provider Failure Modes

In The Cloud - Outsourcing Moved up the Stack[1] I compared the outsourcing that we do routinely (wide area networks) with the outsourcing of the higher layers of the application stack (processor, memory, storage). Conceptually they are similar:
In both cases you’ve entrusted your bits to someone else, you’ve shared physical and logical resources with others, you’ve disassociated physical devices (circuits or servers) from logical devices (virtual circuits, virtual severs), and in exchange for what is hopefully better, faster, cheaper service, you give up visibility, manageability and control to a provider. There are differences though. In the case of networking, your cloud provider is only entrusted with your bits for the time it takes for those bits to cross the providers network, and the loss of a few bits is not catastrophic. For providers of higher layer services, the bits are entrusted to the provider for the life of the bits, and the loss of a few bits is a major problem. The…