In the mid to late 1990's I had a job that required me to work most of the time on a help desk. Generally I provided second and third level support for technology resellers and integrators, with the occasional exception where I would actually have to speak to an end user. And from time to time I would stand down from the help desk, and go and work for my employer's training department. During these periods I would generally teach for two straight weeks, starting with the general introduction to Unix, and moving on through Unix system administration, TCP/IP, serial communications and shell programming. Two weeks was enough to do the full cycle, and I quite enjoyed teaching. According to my class feedback forms, I was pretty good at it. And there is nothing like teaching a subject to really clarify it in your own mind. I knew my subjects, knew them well. All those obscure Unix command line arguments, the vi editor, the tips and tricks that make all the difference between coping with an operating system and actually managing it were second nature to me.
Years passed (cue falling calendar pages or whatever), and I moved into consulting and then into presales. I dallied with other operating systems. I learned other technologies. And somewhere along the way, I began to forget my old skills.
I've now gone back to consulting (rather joyfully, I don't think I have any great talent for presales work), and a few months ago I began to learn Python. Python is rather a fun language, and I needed to learn it to satisfy the requirements of a customer. I got that job done, having learned enough Python to perform the task at hand but not much more. So I looked around for something else that needed coding: I can't learn a language unless I have something to do with it. Working through the exercises in books bores me to tears: I need a practical task to which the language can be applied.
I found a suitable task fairly easily. A while back there was a reminiscent post on Boing Boing about the old Omni magazine. Now I have a complete collection of Omni, from 1978 to 1995, about 180 or 200 issues. I hadn't looked at them in years - they were in journal boxes in my non-fiction room (shown on the house plans as Bed 4, actually full of book shelves). So I dug them out and had a look. I had forgotten what fun they were. A bit of online research showed that many people recall Omni fondly - there is even a Facebook page - and that it has never been properly indexed. There is a fiction index, but no comprehensive index of the whole thing. There have been some abortive attempts, which appear to have foundered because someone attempted to type every citation in manually, and got bored after the first half dozen issues.
Here's a job worth doing, and actually not that hard. I can scan the contents pages, put them through an OCR process and then write some scripts to reorganize and reformat the output, and to construct an index. Ideal for extending my Python knowledge, and good practice at getting back to the command line, a place that I haven’t spent much time recently.
Now anyone who has ever made much use of OCR knows that it is far from perfect. Particularly on old or degraded print, the recognition can be spotty, to say the least. So as each chunk of text is rendered, I open it up in vi and do some basic cleanup manually. The first few times that I did this, I struggled: I couldn't remember the vi commands to get things done quickly. I was actually trying to learn Python, so I didn't want to have to keep stopping and looking up the vi MAN pages. And then, quite suddenly, it all began to come back. But it wasn't as if I had remembered the keystrokes that I needed - it was if my fingers had remembered. Quite strange. Once I'd entered a command, my brain could analyse it and go "oh yes, I remember that syntax now, and it works like this". Since vi has a very regular command structure, once I got a few commands back into my brain, I could get most of the rest by extrapolation.
There is a scene in Robert Heinlein's novel "I will fear no evil" (if you've never read it, synopsis: extremely wealthy elderly man - Johann Smith - arranges to have his brain transplanted into a donor body. He recovers consciousness to discover that not only has the operation worked, but that previous occupant of the body has not entirely moved out, and furthermore was female -Eunice Branca), in which Johann Smith attempts to play the piano, a skill that he used to have. He can't do it, his new body won't cooperate. Then the "ghost" of Eunice takes over and operates a complicated piece of office machinery that Johann has never used. It works perfectly, because as Eunice says "the body remembers".
I've heard similar things from someone I know who had to learn to walk again after suffering brain damage. His brain knew how to walk, but his body had to relearn the skill (which his said was astonishingly difficult, for something that we take so much for granted).
Anyway, my fingers seems to have remembered all the vi short cuts that my brain forgot, and the Omni index is progressing nicely. I have it on line over here, if you want a look, and I'm hoping for some help with the proof reading.