Stevey's Blog Rants: Programming's Dirtiest Little Secret 4/24/14, 3:53 PM
Total Page:16
File Type:pdf, Size:1020Kb
Stevey's Blog Rants: Programming's Dirtiest Little Secret 4/24/14, 3:53 PM Compartir 89 Más Siguiente blog» Crear blog Acceder Stevey's Blog Rants RANDOM WHINING AND STUFF. Wednesday, September 10, 2008 About Me Programming's Dirtiest Little Secret STEVE YEGGE KIRKLAND, WASHINGTON, UNITED "And as for this non-college bullshit I got two words for that: learn to STATES fuckin' type" VIEW MY COMPLETE — Mr. Pink PROFILE This is another one I've wanted to write forever. Man, I've tried a bunch of times. No Previous Posts ruck. Not Rucky. Once again I'm stuck feeling so strongly about something that I'm tripping over myself trying to get my point across. Business Requirements are Bullshit Done, and Gets Things Smart So! Only one thing left to try: bust open a bottle of wine and see if that gets the ol' Rhinos and Tigers creative juices flowing all over my keyboard. Rather than top-down, which is boring, let's Dynamic Languages Strike Back go bottoms-up. XEmacs is Dead. Long Live XEmacs! Settling the OS X focus-follows- Once upon a time... mouse debate js2-mode: a new JavaScript mode for ...in, uh, let's see... it was about 1982. Yeah. A looooong time ago. This is practically a Emacs fairy tale. Four console games you might like... Once upon a time in '82, there was this completely hypothetical fictitious made-up dorky Get that job at Google 12-year-old kid named Yeev Staigey, who was enduring his sophomore year at Paradise Portrait of a N00b High School in Paradise, California. Yeev had skipped 3rd, 7th and 8th grades and entered high school at age 11, in a heroic and largely successful effort to become socially inept for the rest of his life. Boy, I could tell you all sorts of stories about little Yeev at that age. He was even lamer and more pathetic than you're probably already imagining. However, our story today concerns Yeev's need to take a, um, an... elective of some sort. I'm not sure what they called it, but at Yeev's school, you couldn't just take math and science and languages and history and all that boring stuff. No! Yeev was being educated in the United States of America, so he had to take "electives", which were loosely defined as "Classes Taught by the Football Coach because Some Law Said that Football Coaches Had to Teach A Course Other Than Football." These "electives" (which you could "elect" not to take, in which case they would "elect" not to graduate you) were the kinds of courses that put the "Red" in Red-Blooded http://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html Page 1 of 53 Stevey's Blog Rants: Programming's Dirtiest Little Secret 4/24/14, 3:53 PM American. These were courses like Wood Shop, Metal Shop, Auto Shop, and of course that perennial favorite, Just Chop Your Hand Off For Five Credits Shop. At the time our story begins, our pathetic hero Yeev is peering through his giant scratched bifocal goggles at the electives list, trying to find one that doesn't involve grease and sparks and teachers screaming for a medic, can anyone here make a tourniquet, help help help oh god my pension, and all that manly American stuff you find in Shop class. Yeev noticed that one of the electives, surely placed there by mistake, was Typing. Like, on a typewriter. Yeev thought this seemed, in the grand scheme of things, relatively harmless. The worst that could happen was maybe getting your fingers jammed in an electric typewriter just as lightning hit the building, causing you to jerk wildly in such a way that your pants accidentally fall down around your ankles and everyone laughs loudly at the Mervyn's white briefs your mom bought you. That would be mildly embarrassing, yes, but in a few years almost nobody would remember, except when they saw you. Despite this potential pitfall, Typing definitely sounded more appealing than Tourniquet Shop. Yeev checked, and sure enough, the school's football coach was actually teaching the class. For real. Seeing as this was going to be the closest Yeev would ever get to a football field during his educational career, Yeev decided to go for it. Yeev didn't know it at the time, but they say coaches make the best teachers. You know. "Them." "They" say it. It's got some truth to it, actually. Coaches have to get a bunch of complicated information through to people with the attention spans of hungry billy goats. That takes mad skilz, as "they" also say. Have you ever noticed how on NFL Prime Time, the ex-coach commentators and coached ex-player commentators always have big, beefy hands, and they wave them at you as they talk, riveting your attention on the speaker? It's because your reptilian brain is thinking "that dude is about to hit me." Coaches know how to get your attention. They know how to teach. So Yeev was pretty fortunate in getting a coach. It wasn't all roses, mind you. He was unfortunate in the sense that he was living in 1982, he had little to no experience with computers, and the school was so backwards that by 2008 they still wouldn't have a fugging website, apparently. And back in 1982 they could only afford budget for half the typerwriters to be electric; the rest were the old, manual, horse-drawn kind of typewriter. It would have been better if Yeev had been learning to type today. Today they have fast keyboards, and smart programs that can show you your exact progress, and so on. I feel almost jealous of people who need to learn to type today. Don't you? But in 1982, little bifocaled Yeev had no software training programs, so he had to learn from a football coach. http://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html Page 2 of 53 Stevey's Blog Rants: Programming's Dirtiest Little Secret 4/24/14, 3:53 PM And all things considered, this was pretty rucky. Let me tell you how it went down... Learning Licks Have you ever watched a professional concert musician practicing? I'm talking about those those world-class ones, the kinds of musicians that were trained in academies in China and Russia and have all the technique of Japanese robots combined with all the musical soul of, well, Japanese robots. Well, they practice like this: Fast, Slow, Medium. Fast, Slow, Medium. Over and over. That's how they practice. It's kinda like Goldilocks. You remember her, don't you? That little girl in the fairy tale that got eaten by bears? Too hot, too cold, just right. That's how musicians practice. In classical music, they call difficult hunks of music "passages". In electric guitar music, they call 'em "licks". But it's pretty much the same thing. You want to train your fingers to swipe through those notes like a Cheshire Cat licking its big smile. Llllllick! Here's how you train your fingers. You start with a passage. Anything at all. At first it'll just be a single note. Later it'll become a few notes, a phrase, a measure, a couple of measures. Anything you're having trouble with and you want to master. First you play the lick as fast as possible. You don't care about making mistakes! The goal of this phase is to loosen your fingers up. You want them to know what raw speed feels like. The wind should be rushing through their fingery hair! Yuck! Next you play it as slow as necessary. In this pass you should use proper technique. That basically means "as proper as you can", because state-of-the-art technique is (a) constantly evolving and (b) always somewhat personal. You pick any discipline, they've got schools of thought around technique. There's no right answer, because our bodies all work a little differently. You just have to pick the technique that you like best and try to do it right. Eventually you can invent your own technique. Sometimes you're forced to: I'll tell you about that in a little bit. But at first you should learn someone else's tried-and-true technique, and after you've mastered it, then decide if you want to change it. Before you go charging off in your own crazy directions, you need to master your form. Form is liberating. Believe it. It's what they say, and they say it for sound reasons. Whatever technique you choose, in the slow pass you don't care about speed AT ALL. You care about accuracy. Perfect practice makes perfect, and all that. You want your http://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html Page 3 of 53 Stevey's Blog Rants: Programming's Dirtiest Little Secret 4/24/14, 3:53 PM fingers to know what it feels like to be correct. Doesn't matter if it takes you 30 seconds per note. Just get it right. If you make a mistake, start over from the beginning, slower. Finally, you play it "at speed". If you're practicing a musical instrument, you play it at the target tempo. You want your fingers to feel musical. Musicians generally agree that you don't want to make mistakes in this phase, or you're just practicing your mistakes.