October 22nd, 2001


Brain on slo-mo today....

So... my brain is being particularly slow today. I have had
problems with paradigms that I've had no problem with in the

The C++ Standard Template Library has these things called
iterators. A typical thing to do is:

vector< string >::iterator it = vec.begin();

while ( it != vec.end() ) {
// do something

Iterators take a bit of getting used to, but I've been using them
quite a bit lately. Well, there are also these things called
reverse iterators. Golly, what do they do? They go through the
list in the reverse direction.

vector< string >::reverse_iterator rit = vec.rbegin();

while ( rit != vec.rend() ) {
// do something with rit

But... today, my brain has entirely flip-flopped on it. The naming
of the methods that return iterators were meant to be such that you
always go from the begin() to the end(). My brain, today, has been
entirely convinced that if you want to go through the list backwards,
you should be doing it from rend() to rbegin().

Needless to say, this has made debugging a real pain.

In addition to that, I was also debugging a program that had
functions called startElement() and endElement(). To get the
debugger to let me see what was going on, I needed to type:

stop in startElement()

My brain froze up. ``You can't stop in a start,'' it screamed.

Amazingly enough, I haven't had the scrollbar paradigm problem
yet today.

I wonder what it is that causes some paradigms to get mushy when
tired. I wonder if there are several layers of things that go into making
a whole coherent thought. I wonder if there are several stages....
One stage makes a blatantly wrong suggestion, another stage
smooshes the suggestion around a bit, another stage inverts the
sense of the suggestion, and finally the suggestion enters its
conscious form. Maybe the part of my brain that does the inversion
stage is a bit wonky at the moment. I mean, today I can fairly
quickly tell between left-and-right (which is quite odd for me).

If I think about the brain as a sort of big Genetic Programming
engine, then learning is simply firing off random possibilities and
combining and enforcing the ones that work. Maybe the random
possibilities for my sense of begin() and end() contains a double
negative and one of the negatives is tired today. Maybe the
random possibilities for my stop and start have a bigger dampener
on them to squelch cross-talk, and it's tired today.
  • Current Mood
    tired tired