The thing that I’ve discovered over the last two weeks is that without
at least two cups of coffee a day, I’m completely crippled. It verges
on paralysis; I’m a total waste of mineral content. It would be agony,
if I could find the energy to notice. Normally, at between two and eight
cups a day, I don’t sleep much, and I’m generally irritable. I figured
it was time to cut back, though, so I cut the caffeine right out of my
diet. And what do I get from my efforts? Now, I can barely do anything
but sleep, I get debilitating withdrawal headaches and the rest
of the time, when I can muster the energy, I’m generally irritable. Boy,
that’s a win.
To hell with that. I’d like two large cups of coffee and a double
espresso, please. Yes, and if you could just empty out a largeish
horse-tranquilizer syringe and serve it to me in that, that is my
vessel of choice, yes indeed. Why yes, I am glad to hear that you offer
refills. I’m thrilled about that.
I’ve been working on a little project lately (by which I mean “an
independent study upon which I will be graded, so I’d better get my
collective shit together.” Hi, boss!) that, now that I’ve been properly
recaffeinated, is working out very well. I’m pleased with my progress
in the last 24 hours. You might have seen the pictures of the
Home that were making the rounds a while back – this is basically
the same idea, except with less Amish farmers and more silicon. And no
barn. I’m building a framework for ad-hoc distributed processing over
local networks. I’ll tell you more about it if you ask politely, but
please, don’t tell me it’s been done. It better not have, or I’m going to
feel kind of silly. Don’t point me to anything that smells even vaguely
of RMI, though. I
know all about it, and it’s not nearly flexible enough for what I’m
doing. Having to know something about what your system is doing ahead
of time is so 90’s. And these Grid Computing people, trying to
re-enact Night of the Living
Mainframes Dead? “Ladies
and gentlemen, there has been a slight change to tonight’s program; this
evening the Armies of Shambling Undead will be played by seventies-era
You guys aren’t fooling me, no way.
So anyway, hubris aside, the most interesting things that I’ve been
learning is that the difficulties in networked applications are, once
the code strays past the boundaries of its home machine, entirely
social ones. Are you dealing with just a handful of people you know
and trust? No problem – you can form a consensus and move on. More than
about six people? Time to start delegating or voting – time to pick a
leader, at the very least. We’ve all been there: there’s no way you can
send a dozen people to the video store and hope to ever, ever leave.
More than that, and you’re going to start needing some more elaborate
systems – ideally, something that works OK when you’ve got a dozen
participants and that still works OK when you’ve got, say, a million.
And you can bet that it won’t involve piling them all circus-clown-style
into one overcrowded sedan and drowning your local Blockbuster in a
tsunami of opinionated meat. For starters, you’d need a hell of a huge
tiny little car.
So like Real Life, there are ways of dealing with groups that scale up,
and ways that don’t, and like Real Life, if you don’t bring some measure
of empiricism to bear you’ll never have any idea why that thing that
worked OK before, your inadvertently O(n3) process, suddenly
turns into a logistical nightmare just because there’s five more people
involved. Likewise, moving messages around can be thorny. It’s easy
for one person to give ten thousand people instructions, informing them
that you’re a Berliner or that you have a dream, you know, whatever –
it’s hard for ten thousand people to call back with their results all
at once, if those results are at all more significant than “Rah Rah
Rah”. You should probably set up something in your appointment book,
or what we in the bit-prodding business call a locking mechanism. A
secretary or three wouldn’t hurt, either.
The supercool part about networked applications is that the
social-network metaphor just keeps going and going – what happens if
one of your network nodes starts behaving suspiciously, not showing
up for work, giving you suspect results and so forth? You’ve got to
have processes in place to deal with it. And the best part is, the
relationship with things social has the potential to be reciprocal –
there’s no reason that innovations in computer organization can’t
be applied to social structures as well, to see if an organization’s
efficiency can be improved thereby.
Apropos of nothing those of you who looked at that last paragraph, in
which I proposed experimentally applying CompSci principles to human
behaviour, and got a little technophobe frisson out of it, who possibly
had thoughts involving the word “Orwellian” or fleeting images of the
Terminator movies, y’all need to do three things: reread the paragraph,
reread (more likely, though, just “read”) 1984, and take a good hard
look at the self-mutilation that an astounding number of organizations
have gone through to accomodate prefabricated and deeply inflexible
enterprise software. For years now no small number of corporations and
government agencies have been cutting off their own fingers so that
they fit the SAP glove just right,
for example, happily bleeding green the whole time.
“Science”, the old saw goes, is to “Computer Science” as hydrodynamics
is to plumbing. One Stan Kelly-Bootle said that; Stan didn’t think
much of compsci, I guess, but it’s pretty obvious to me that Stan also
didn’t get it. “Finite Mathematics is to Computer Programming what
Hydrodynamics is to Plumbing”, maybe. I’d buy that. I’m much more
fond of Edsgar Dijkstra’s line: “Computer science is as much about
computers as astronomy is about telescopes”. Computer Science, as in
“the science of computing”, is the application of the scientific method
to the mustering and application of limited resources, and there may
be no more social science than that. At its finest, it really is the
engineering of engineering. And,
if I’m a little bit lucky and a little bit good, I’ll be able to push
back the bounds of what’s possible a little bit.
This next bit’s not quite as preachy, so if you want to go get a coffee
or have a smoke or something, that’s cool. Take five. This page will
probably be here when you get back.
As you can see, I’ve added Alex back to the sidebar, because he’s found
a workaround for the Videotron Problem, which can be succinctly stated
as “Videotron Sucks”. To celebrate Alex’s reappearance, he’s put many
colorful, embarrassing and, I might add, freaking huge photos up,
that I’ve mirrored here:
you can see the finest photo available on the inter-web of my
beautiful girlfriend, being shamelessly molested by my
- I don’t like being photographed, and I try to avoid it. But
sometimes, with these newfangled digital cameras, people who
think they’re trying to avoiding being photographed are actually
in the act of trying to avoid being photographed. Alex, I hate you.
- My attempt to avenge this humiliation by
Alex with my heat-ray vision did not produce the results I had hoped for.
I’ll get you next time, Gadget; next time.