Does the keyboard affect the way you think?
Just got back from a wickedly cool conversation with a group of MIT students and Frank Wilson -- author of The Hand: How Its Use Shapes the Brain, Language, and Human Culture. Wilson's book argues that the hand has inexorably shaped the way we use our brains. The unique structure of the hand -- and how it lets us manipulate our environment -- is what has allowed humans to develop such highly evolved cognition.
But the really interesting part of the conversation began when we argued over the computer keyboard -- and how and whether it affects the way we think.
Most of the twentysomething students in the class, who grew up using computers, believe it totally affects the way they process thoughts. I agreed. In the past, I've used voice-recognition software and found that it totally screws up my thought processes. The voice moves too quickly; I found myself blurting out sentences, realizing they weren't quite what I wanted to say, and then having to go back and erase or revise them. Typing, in contrast, slows my output down and leaves me time to process my thoughts as I think them. It creates a sort of buffer zone between the speed of my thinking and the speed of my expression -- and the "thinking" seems to happen (partly, anyway) in that space.
And on an emotional level, I find keyboard weirdly and almost erotically pleasant. I remember old keyboards the way you remember the old smells of former houses, or your dad's aftershave. When I got my hands on an old Vic-20 two years ago, the clunky, thick-as-molasses action on the keys instantly transported me back to my geek-ass childhood, hacking shitty slow-mo games in BASIC. (One of my fellow Knight Fellows, Annalee Newitz, writes a lot on the physical erotics of technology and had extremely cool stuff to say about this also.) And these days, when I'm away from the keyboard for a day, I'll actually look forward to sitting down at one -- not specifically to do anything, but just to dig the feel. Maybe it's that I associate a type of pleasant thinking or communicating (like IM) with a keyboard. Pathetic, kinda, but there you go.
The weird thing is, Wilson himself was extremely skeptical of the keyboard's role in shaping cognition. For the hand to have a serious impact on our thinking, he feels, it has to involve a "nontrivial" movement of the body. Keyboarding, with its tiny little vibrations of the fingers, doesn't count. It is not, he argued, even close to the way we play an instrument like the piano, where the hand is the conduit for a full-body experience, with the player leaning into the instrument, balancing, pulling back. I couldn't disagree more. Much as I hate to indulge "generational" analysis, it seemed like that was at play here: Rich is a middle-aged guy who didn't grow up keyboarding. "I've never felt any sort of attachment to the keyboard myself," he says. "As far as I'm concerned, I could just as easily be using a voice-recognition system. It's just an input device."
Wilson and his book are brilliant, but I think he's selling the keyboard short. Typing absolutely involves your entire body, as much as any musical instrument. I've played guitar for 20 years and found the rhythms of the two amazingly comparable. For example, guitar players frequently breathe in rhythm with their playing. You inhale at the beginning of a riff, and exhale slowly as you go along -- sometimes stopping when you run out of breath. It helps make your playing seem on a more human pace; when you're gasping for air, it's a sign your riff has gone on for too long. And I swear to god I do the same thing typing: I inhale, hold my breath, work in spasms, tense up as I think through something, then release.
(Realaudio interview with Wilson about the hand, here on NPR.)
Posted by Clive Thompson at September 24, 2002 10:45 PM
Trackback Pings
TrackBack URL for this entry: http://www.collisiondetection.net/mt3/mt-tb.cgi/471
So, so true. I learned to type on a manual typewriter, and I went through a writer's-blocked period of thinking that if I could only get my hands on one just like it, all my problems would be solved.
But I also have a real attachment to the process of editing on paper with a pen, despite being younger than you are, and a love of fountain pens in particular. Neal Stephenson is writing his next novel entirely in fountain pen: here's what he had to say about it:
I’ve written every word of it so far with fountain pen on paper. Part of the theory was that it would make me less long-winded, but it hasn’t actually worked. I think it has improved the quality of the actual work somewhat, simply because it is actually easier to edit something on paper than on screen. So usually every page of the original manuscript has been gone over 2 or 3 times before it goes into the computer and then when I type it into the computer that’s another pass again where I can make changes if I want to.
Me, I don't write anything without printing it up and marking it up. But nevertheless it's a truism for me that if I'm having trouble with it, I write in longhand, and if I'm firing on all cylinders, I need my keyboard.
Posted by: Misha at September 24, 2002 11:15 PM
Damn, that is interesting about Stephenson! I had no idea. I love manual typewriters too, and actually collect old ones (I've got five now, dating back to the 1920s) and write on them sometimes when their rhythms seem appropriate.
Posted by: Clive at September 24, 2002 11:23 PM
Thanks for the information
Posted by: sonneries at January 8, 2004 9:41 AM
Posted by: Online Casino at January 16, 2004 2:56 AM
When Batman went home at the end of a night spent fighting crime, he put on a suit and tie and became Bruce Wayne. When Clark Kent saw a news story getting too hot, a phone booth hid his change into Superman. When you're programming, all the variables you juggle around are doing similar tricks as they present one face to you and a totally different one to the machine.
Posted by: Tobias at January 20, 2004 10:40 AM
This is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.
Posted by: Jerome at January 20, 2004 10:40 AM
Inside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Lucy at January 20, 2004 10:41 AM
To address this issue, we turn to the second place to put variables, which is called the Heap. If you think of the Stack as a high-rise apartment building somewhere, variables as tenets and each level building atop the one before it, then the Heap is the suburban sprawl, every citizen finding a space for herself, each lot a different size and locations that can't be readily predictable. For all the simplicity offered by the Stack, the Heap seems positively chaotic, but the reality is that each just obeys its own rules.
Posted by: Cadwallader at January 20, 2004 10:41 AM
When compared to the Stack, the Heap is a simple thing to understand. All the memory that's left over is "in the Heap" (excepting some special cases and some reserve). There is little structure, but in return for this freedom of movement you must create and destroy any boundaries you need. And it is always possible that the heap might simply not have enough space for you.
Posted by: Annabella at January 20, 2004 10:41 AM
The rest of our conversion follows a similar vein. Instead of going through line by line, let's just compare end results: when the transition is complete, the code that used to read:
Posted by: Charity at January 20, 2004 10:42 AM
The rest of our conversion follows a similar vein. Instead of going through line by line, let's just compare end results: when the transition is complete, the code that used to read:
Posted by: Tristram at January 20, 2004 10:42 AM
This back and forth is an important concept to understand in C programming, especially on the Mac's RISC architecture. Almost every variable you work with can be represented in 32 bits of memory: thirty-two 1s and 0s define the data that a simple variable can hold. There are exceptions, like on the new 64-bit G5s and in the 128-bit world of AltiVec
Posted by: Kenelm at January 20, 2004 10:43 AM
Inside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Elizeus at January 20, 2004 10:43 AM
Let's take a moment to reexamine that. What we've done here is create two variables. The first variable is in the Heap, and we're storing data in it. That's the obvious one. But the second variable is a pointer to the first one, and it exists on the Stack. This variable is the one that's really called favoriteNumber, and it's the one we're working with. It is important to remember that there are now two parts to our simple variable, one of which exists in each world. This kind of division is common is C, but omnipresent in Cocoa. When you start making objects, Cocoa makes them all in the Heap because the Stack isn't big enough to hold them. In Cocoa, you deal with objects through pointers everywhere and are actually forbidden from dealing with them directly.
Posted by: Lawrence at January 20, 2004 10:44 AM
Posted by: Greg at January 24, 2004 2:17 PM
Posted by: julia at January 24, 2004 8:08 PM
Posted by: gay at February 1, 2005 11:34 PM
Post a comment
So, so true. I learned to type on a manual typewriter, and I went through a writer's-blocked period of thinking that if I could only get my hands on one just like it, all my problems would be solved.
But I also have a real attachment to the process of editing on paper with a pen, despite being younger than you are, and a love of fountain pens in particular. Neal Stephenson is writing his next novel entirely in fountain pen: here's what he had to say about it:
Me, I don't write anything without printing it up and marking it up. But nevertheless it's a truism for me that if I'm having trouble with it, I write in longhand, and if I'm firing on all cylinders, I need my keyboard.
Posted by: Misha at September 24, 2002 11:15 PM
Damn, that is interesting about Stephenson! I had no idea. I love manual typewriters too, and actually collect old ones (I've got five now, dating back to the 1920s) and write on them sometimes when their rhythms seem appropriate.
Posted by: Clive at September 24, 2002 11:23 PM
Thanks for the information
Posted by: sonneries at January 8, 2004 9:41 AM
Nice site. thx.
Posted by: Online Casino at January 16, 2004 2:56 AM
When Batman went home at the end of a night spent fighting crime, he put on a suit and tie and became Bruce Wayne. When Clark Kent saw a news story getting too hot, a phone booth hid his change into Superman. When you're programming, all the variables you juggle around are doing similar tricks as they present one face to you and a totally different one to the machine.
Posted by: Tobias at January 20, 2004 10:40 AM
This is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.
Posted by: Jerome at January 20, 2004 10:40 AM
Inside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Lucy at January 20, 2004 10:41 AM
To address this issue, we turn to the second place to put variables, which is called the Heap. If you think of the Stack as a high-rise apartment building somewhere, variables as tenets and each level building atop the one before it, then the Heap is the suburban sprawl, every citizen finding a space for herself, each lot a different size and locations that can't be readily predictable. For all the simplicity offered by the Stack, the Heap seems positively chaotic, but the reality is that each just obeys its own rules.
Posted by: Cadwallader at January 20, 2004 10:41 AM
When compared to the Stack, the Heap is a simple thing to understand. All the memory that's left over is "in the Heap" (excepting some special cases and some reserve). There is little structure, but in return for this freedom of movement you must create and destroy any boundaries you need. And it is always possible that the heap might simply not have enough space for you.
Posted by: Annabella at January 20, 2004 10:41 AM
The rest of our conversion follows a similar vein. Instead of going through line by line, let's just compare end results: when the transition is complete, the code that used to read:
Posted by: Charity at January 20, 2004 10:42 AM
The rest of our conversion follows a similar vein. Instead of going through line by line, let's just compare end results: when the transition is complete, the code that used to read:
Posted by: Tristram at January 20, 2004 10:42 AM
This back and forth is an important concept to understand in C programming, especially on the Mac's RISC architecture. Almost every variable you work with can be represented in 32 bits of memory: thirty-two 1s and 0s define the data that a simple variable can hold. There are exceptions, like on the new 64-bit G5s and in the 128-bit world of AltiVec
Posted by: Kenelm at January 20, 2004 10:43 AM
Inside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Elizeus at January 20, 2004 10:43 AM
Let's take a moment to reexamine that. What we've done here is create two variables. The first variable is in the Heap, and we're storing data in it. That's the obvious one. But the second variable is a pointer to the first one, and it exists on the Stack. This variable is the one that's really called favoriteNumber, and it's the one we're working with. It is important to remember that there are now two parts to our simple variable, one of which exists in each world. This kind of division is common is C, but omnipresent in Cocoa. When you start making objects, Cocoa makes them all in the Heap because the Stack isn't big enough to hold them. In Cocoa, you deal with objects through pointers everywhere and are actually forbidden from dealing with them directly.
Posted by: Lawrence at January 20, 2004 10:44 AM
free men fuck boys gallerys | my wife fucking a homeless black man | black men fuck blonde women | smiley face fuck you | butt fuck videos | fuckingmachinescommembers | fuck galleries | incest smut fucking stories | tawnee stone fucking | throat fucking movie post | submissive male butt fucked | xxx fucking naked pussy | private moms fucking videos | black men fucking white wives | latin girls fucking black dicks | fuck bus mpeg | free porn fucking movies | hot chicks getting fucked in the ass | indian girls getting fucked | college fuck fest dvd | video clip of a year old girl getting fucked in the ass | free mothers id like to fuck pictures | free long fuck movies | flash meaning word fuck | free hardcore suck fuck tits pussy free movies | free fuck stories | fucking old men | will you fuck my wife today | asian girls fucks black men | fuckingmachinesnet | fat guys fucking | dads fucking girls | build a fucking machine | free amateur fuck pics | anal fucking | tyra misoux free movies fucking blowjob |
Posted by: Greg at January 24, 2004 2:17 PM
Posted by: julia at January 24, 2004 8:08 PM
Hi good site thank you sexy - sex stories fuck - masturbation porno - anal sex oral sex - free sex stories orgasm - lesbian sex
Posted by: gay at February 1, 2005 11:34 PM