Saturday, November 21, 2009

Abstractions Always Leak - DUH!

I was lurking in my favorite IRC channel today, and not-so-calmly
read as a fellow user blathered on about wanting to provide useful
exercises to help inculcate a better eye for abstraction. Now, while
as explained in this form, I see no problem with this, one of the
other denizens of the channel raised a minor objection to the idea
as being in a way, the opposite of abstraction, to which the original
fellow replied with how it wasn't, since "abstractions leak." Now,
I know for a fact that this person is miles ahead of me in every
positive way to measure computer skill, and better off in many other
ways not relating directly to said skill (i.e., I'm sure the person is
younger, fitter physically, and likely more handsome than I).
However, there is one place where I have him beat - this is my blog
- and I'm going to unfairly exploit my tiny advantage as far as
possible, starting with reiterating my title:

Abstractions Always Leak - DUH!

First off, I want to make sure I'm being clear: I'm not trying
to insinuate that this fellow is any less knowledgeable than I am;
I think I made it clear that he is miles ahead of me in CS
knowledge, technical ability, scholastic achievement, academic
talent and industrial usefulness. I'm just using his remarks
completely out of context as a means to spout off on a topic
only tangentially relevant to his remarks, and utterly underestimating
his understanding of the topic. Remember, I've already stated:
I'm the dumb one in the line-up. Also, once again: this is my blog.
His is much clearer, relevant, enlightening and fun to read.

Okay, now that I've wasted everyone's time with all of my caveats,
let's go back to my original point: abstractions. They leak. Duh.
To start, abstractions are metaphors. They are encoded means of
make-believe and pretend. They are "what-if" in software form.
As such, they are meant to go so far in the world of "let's pretend",
and no farther. Unfortunately, most of the software industry is
based on folks who don't know what they want in software, and
are at times talented enough to craft some that works well enough
at a task that other people are willing to pay for its use. Part of the
fun of Computer Science (yes, yes, it isn't really about computers
as such, but what can be done with one) is finding out how far we
can push the abstraction and when it "leaks", how does it leak,
and why. The most important part about finding where the leak
begins in that we can put up a nice friendly sign and warn people
"here there be Monsters!", i.e. "Just (Don't) Do It". Those are the
two most important things to know about an abstraction, or
a metaphor in general, how it applies, and how it doesn't. When
you tell someone "it's raining cats and dogs," you have to know
stepping in a poodle is a joke, otherwise it isn't funny, except
to others laughing at you. Even then, it isn't really that funny, 'cause
you'd have to be an alien, or a Turing Test-flunking computer not
to recognize that old joke.

But I digress.

So, I guess there are three main points to a metaphor, what's
the comparison between, how does it hold, and where does it leak.
Then you can figure out how you can rely on it to give you good
answers about the first thing, or on something else entirely that
uses a useful characteristic.

Just watch out for those leaks. You don't want to step in a schnauzer.

Thursday, August 20, 2009

Autodidacts, Stand Up and Cheer!

For reasons unknown, but gratefully accepted, MIT has placed almost all of its curruculua on the Web.

Now, those folks that don't have the smarts - or the fat wallet! - for MIT can see what they're missing. Plus, those who live for self-study and self-improvement can follow along at their leisure!

While I have no solid idea why they did this, I have a glimmer of a possibility: whenever I can afford it, I'm going to give MIT $100 a month. Granted, $1200 a year isn't going to get my name on a building, but I can rest assured that the folks that set up MIT's OCW site aren't going to be moping in their offices after ten years, wondering if they "ever made a difference in the world".

As an online writer I read has also commented, this move will also start to show up all those other colleges, that wish they had the competence to stand in MIT's company.

In the meanwhile, I'm going to see what those smarties in MA are being taught, but without forking over the thousands to feed all of that ivy...

Saturday, April 4, 2009

Pet the Nice Doggerrel

When either I, or one of my HS/college buddies were working our card skills - and big egos - out, we had a little saying, "I'm going down fast, but I'm miles above you." Usually, such boasting would be promptly followed by getting the needed contract exactly, or in my case, more likely, missing said contract by a hand. Anyway, I was "in a mood", so I fleshed out the boast into a little ditty, so for posterity's sake, and your perusal, here it goes:

"I'm going down Fast, but I'm miles above you.
I'm going down Hard, but it's okay, I'm tough.
It's not much comfort that you'll land before me,
It's not much comfort - but it's good enough."