I just upgraded my laptop to OS X 10.5 and it’s great, but I hit one major snag along the way.  Although I thought all of the Intel Macs shipped with the new GUID partition scheme, it seems like my early-generation Macbook Pro used the old Apple partition scheme, and unless I reformatted my drive as GUID, I couldn’t install 10.5.  Fortunately, I spent the day backing up my old drive, so I just forged on, and once 10.5 was installed, I used the Migration Assistant to transfer my old home directory.

It worked…  mostly.  Partially by design, I chose to not migrate some command line tools, but now I find that every so often, I want to accomplish some task and I can’t … quite … do it, because I need to reinstall something, or perhaps reconfigure something.  I’d say 95% of the old functionality is still there, but the remaining 5% comes up often enough that it feels like something more than 5%.  The feeling is this lurking suspicion that I can’t trust my computer to do something that I know it used to be capable of, and it reminded me of a disease called Semantic Dementia. I don’t have semantic dementia in the sense of the neurological disease, but I’d like to start this off with a story about it.

The Professor’s neural net

Back in 2002, I was taking a class called something like “Cognitive Neuroscience” from a neural networks pioneer.  I already knew this work from a previous class on neural networks, which relied heavily on a textbook written by this professor and his former colleague.  While the neuroscience class was fascinating, the most salient memory I have of the class involves a fairly personal reflection by the professor on the state of his colleague, who although relatively young, suffers from a form of semantic dementia called Pick’s Disease (or, if it’s not a form of semantic dementia, it’s related to it).  In any case, Pick’s Disease is a neuro-degenerative disorder.  The deep irony of this is that in the 1980s, these two researchers provided the first and possibly still-best description of neural networks, which could only have come from a profound insight into how the brain functions. I’m not mistaken, this ultimately lead to a bridge between neural networks and an older model of semantic cognition called ISA networks.  As I recall it, it’s in terms of ISA networks that semantic dementia can be understood, which provides an intuitive way to describe how categories of items can become indistinct.

Consider: is a cat an animal?  Is a bird an animal?  Is a canary a bird?  Is a penguin a bird?  Is a penguin an animal?  It’s when we say “a penguin ISA bird,” and “a bird ISA animal” that we’re establishing categories, but lots of categories have weird and one-of-a-kind rules that lead us to say, “a penguin is a bird, even though it doesn’t fly” or “even though a cat is an animal that doesn’t fly, it is not a bird.”  Kids have to learn this through trial and error (e.g. a horse has four legs, but it isn’t a cat).

ISA example

Semantic dementia is a condition where concepts lose their meaning, and a possible explanation for this comes from the inability to categorize concepts anymore.  This might have to do with making new distinctions between concepts, and it might relate to the retrieval of concepts that were previously distinct.  I think of semantic dementia as being like a car crash victim who is paralyzed and unable to communicate with the world, even though they are not cognitively impaired in any other way.  I imagine semantic dementia as being the frustrating condition of “knowing” what you want to say, but being unable to find the right words to say it.  Maybe it’s like having every word on the “tip of your tongue” and trying to construct sentences in spite of it.

Corrupted Greenthink

Earlier this year, I read a book by Vernor Vinge called Marooned in Realtime about life in a post-singularity enclave.  First off, I recommend Marooned in Realtime highly, but the book contains a cautionary tale about relying on an external system to store your personal database.  Whereas humans once kept their thoughts in their brains, and later turned to notebooks for assistance, in the MiR universe the pinnacle of personal database technology is called Greenthink.  While Greenthink has some similarities to 2009’s Wikipedia, I think it also includes personal notes, and presents a deeply personalized interface for interacting with these information objects.

Because the characters in MiR departed from Earth at different times over the span of about a century, and because technology continued to improve at an exponential rate, those who departed 10 years later benefited from vastly superior technology than those who were 10 years earlier.  One of the characters is so advanced as to be barely recognizable as a human, and this character has the deepest and most integrated relationship with Greenthink.

At one point, another character tries to use the futuristic Greenthink database, but since they were familiar with an older version of Greenthink, the interface is so foreign and personalized that they are unable to accomplish much of anything.  With some practice, they get up to speed, but the learning curve is steep.  During a fascinating future-combat scene, parts of Greenthink are corrupted, and the futuristic character struggles to retrieve information objects that were previously available.

Again, this reminds me of semantic dementia.  In the case of Greenthink it’s the retrieval cues that no longer lead to the right information objects; perhaps the interface doesn’t link correctly, perhaps the “menus” don’t have the right choices, or perhaps the choices are all there but the information objects aren’t there.  Whatever the case is, the character is frustrated and somewhat crippled by the inability to “think” the way they are used to, or to think at the speed they are accustomed to.

Although Vinge wrote Marooned in Realtime back in 1986, it is startling prescient.  As is the case with many series, I only found out too late that MiR is the third book in the Across Realtime trilogy, and I haven’t read the first two books yet.

Thinking in real-time

I can imagine some of the frustration of semantic dementia, or with aphasia (another language disorder), in terms of the amount of time it takes to accomplish something.  I definitely don’t think this provides any insight to the disorders themselves, but just consider the “tip of the tongue” phenomenon.  There’s a word that means something, and you know exactly what that thing is, but you just can’t think of the word.  If it weren’t that you are in the middle of a conversation, there would be no problem with sitting down to ponder the concept until you remember precisely the word you were looking for.  However, there’s another person waiting for you to finish your thought, and you are so compelled to express what it is that you have to say.  This results in a feeling of frustration, because it’s so irritatingly imprecise to not have access to the word you need, to the extent that it won’t do justice to the concept you are expressing.

In other words, we like to think and talk in real-time, but when something delays us, we get frustrated.  Likewise, I like to compute in realtime, and I strongly doubt I’m alone on this one.  Although I have many stories about my frustration with an early-1990s 286 computer (which I used until about 1996), I experienced the same problem in 2006 with my shiny new laptop.  It showed up with 512MB of RAM, which was not my intention.  I waited several months to upgrade to 1GB, but during this time-period, I experienced the profound frustration of swap disk hell.  Let me explain.

You might think of computers as a pyramid of buckets, where the fewest buckets at the top of the pyramid are the fastest to put things into and to get things out of.  As you go down the pyramid, you find that the buckets are both more numerous and also slower.  At the top of this pyramid is the storage that is physically located on the CPU; this is very small and extremely fast (called L1 Cache).  Depending on your CPU type, there might be two more levels of storage here (called L2 and L3), and just slightly slower is that type of storage called RAM.  Almost at the bottom of the pyramid is the hard drive, which is about 1000 times slower than RAM, but is correspondingly cheaper and much larger.

So there I was, using a totally modern machine that had way less RAM than it needed.  To run some software quickly might require lots of RAM, but if you don’t have that, modern operating systems elegantly “swap” data from RAM to the hard disk.  Recall that the hard drive is 1000 times slower than RAM, so swapping can be a very slow process.  However, this is much better than being restricted from running certain software because there isn’t enough RAM.

My typical usage pattern required vastly more RAM than I had available, such that I had to wait as much as 30 seconds to switch from my web browser to my word processor.  If I were leisurely wasting time, I might not mind this so much, but the fact of the matter is that I was working really hard at the time, and I didn’t have time for all of those 30-second delays.  As a result, I was frustrated, which is really an understatement.  I was able to think so much faster than my computer, and it felt like I was crippled somehow because I wasn’t free to think as fast as I wanted.  I call these 30-second delays “swap disk hell.”

For what it’s worth, I’ve maxed out my laptop at 2GB, and I’m quite happy, because I’ve caught back up with real-time.

The tip of the fingers phenomenon

On Thursday, I upgraded to OS X 10.5, and as I said, I migrated about 95% of my old functionality to the new system.  It’s that lingering 5% that comes up way more often than it should.  The 5% of the time that I try to do something (say, run a Python script I rely on) but I find that I can’t, it’s at once surprising (since I can’t predict when it will happen) and frustrating (since it will invariably delay me from accomplishing my task).

In some senses, this is like the tip of the tongue problem: I know what I want to do, and I could describe exactly what needs to happen, but I am looking for the command to actually accomplish my goal and the command just isn’t there.  It’s like a corrupted Greenthink database, and the frustration is just as bad as living in swap disk hell.  It’s like thinking and knowing everything you always used to know, and finding that it just doesn’t matter how it used to work, because it doesn’t work that way anymore.  This leads to suspicion and distrust, like I can’t totally rely on my ability to think anymore, because my thoughts don’t map onto actions the way they used to.

Semantic dementia can be a progressive disease, meaning it doesn’t necessarily happen all at once, and instead comes on in degrees.  Over time, I will rehabilitate my computing environment to be back at 100% - this is one sense in which my problem is totally unlike semantic dementia, because I can recover from reformatting my computer.  Really, there are many senses in which everything I’ve said is just a metaphor for semantic dementia; I don’t know what it’s like, and even what I do know about it is still quite different from what I am experiencing now.

Still, in everything that I do, I find that I hesitate slightly, since I am not certain I will accomplish the goal I have in mind as long as my computer is partially corrupt.  This is the “tip of the fingers phenomenon” … and the only cure is the slow and deliberate process of rehabilitation.