Good Math, Bad Math

The Geekiest? Right here.

Yes, it appears that I have won the great ScienceBlogs nerdoff/geekoff. [Janet announced the results yesterday][geekoff], and despite [much][orac-whines] [whining][pz-whines], I’m proud to say that I was the winner. There was some stiff competition, particularly from Orac, but in the end, no one could quite exceed my pathetic level of geekiness.

In answer to a question I’ve heard a couple of times: Janet called it a “Nerd-Off”, but I’ve preferred to call it a “Geek-Off”. I consider them roughly equivalent. Depending on where you are, geographically, I’ve found that the differences between the two vary by location. Growing up, I always heard “nerd” used as a sort-of-positive thing (Nerds were smart people with odd interests, etc.); and “geek” was purely pejorative (geeks were obnoxious twits with no social skills). When I went to grad school, everyone there used the two words in exactly the opposite fashion: Geeks were the good ones, and Nerds were the obnoxious ones. So why do I like geek better? Because my wife has an “I love my geek” shirt that she likes to wear. And hey, if you’re a total geek like me, and by some incredibly strange stroke of luck, you somehow wind up meeting and marrying an amazing, brilliant, gorgeous, brilliant woman, you pretty much do whatever she prefers. (and yes, I repeated brilliant on purpose; she’s just that smart.)

Anyway; I think that my winning had something to do with the slide rules… so, as an award for myself, I ordered a brand-new slide rule – the Pickett whose simulated image I used for the slide rule posts last week. I’ll need a second one at some point anyway, since I have two kids, and I want them each to have a rule to learn on.

[geekoff]: http://scienceblogs.com/ethicsandscience/2006/09/and_the_nerdiest_is.php
[orac-whines]: http://scienceblogs.com/insolence/2006/09/i_was_robbed.php
[pz-whines]: http://scienceblogs.com/pharyngula/2006/09/it_was_rigged.php

Comments

  1. #1 Fellow geek
    September 19, 2006

    Mark,
    I was curious if you could post some of your thoughts on the origins of your geekiness, in particular with respect to your earlier post on depression. Do you think you would have been as much of a geek if you were perfectly healthy? Do you ever see your geekiness as a way to escape?

  2. #2 walt
    September 19, 2006

    Some of us prefer “nerd” because we know the original meaning of geek… To quote die.net, “Originally, a `geek’ was a carnival performer who bit the heads off chickens.”

  3. #3 Mark C. Chu-Carroll
    September 19, 2006

    I don’t think that geekiness has anything to do with my depression. I’ve been a geek pretty much from the time I was three years old; I never had any problems with depression until I was in my thirties.

    Why am I so geeky? I think it’s a combination of a lot of things. Part nature, part nurture.

    1. I think genetics has a lot to do with it. When I was three years old, I was already taking things apart to see how they worked. I’ve seen my own son (now 3 1/2) do exactly the same thing. I think that a lot of that is just pure nature.

    2. My parents strongly encouraged me and my siblings to explore whatever interested us. As a result, I ended up pursuing things that most children wouldn’t have. And my father, who is also a geek, taught me a lot of unusual stuff starting at a very young age. For example, when I was in third grade, he was working for RCA as a physicist working on semiconductor manufacturing. He brought home some test data that needed to be analyzed, and I asked him what it was. He explained to me the idea of statistics, bell curves, and standard deviations. Basically, as long as I continued to understand, he kept going. So I pretty much never learned any math in high school; my dad had already taught it to me before I got to the class.

    The same sort of thing happened with programming; when I expressed an interest in computers, they got me books, and helped me save money for my first computer.

    3. I’m got a perceptual impairment; technically a kind of learning disability. There are a bunch of things that normal people can do that I really can’t, like catching a ball. So I’m utterly worthless at any kind of sports, which of course led me towards more geeky things.

    4. My parents starting reading to me at a very young age. Some of my earliest memories are of my dad reading stories to me before bed. And growing up, my family wasn’t poor, but we certainly weren’t wealthy either; there were lots of things I wanted but couldn’t have because they cost too much. But my parents never said no to books. If my siblings or I found a book we wanted, we pretty much got it.

  4. #4 Mark C. Chu-Carroll
    September 19, 2006

    Walt:

    I actually do know the origin of the term, and it’s really disgusting :-) But would *you* let disgusting word origins get in the way of doing what your wonderful wife wants?

  5. #5 ArtK
    September 19, 2006

    Congratulations! Yes, I think that the slide rules really put you over the edge. It sounds like your parents did the right thing — I hope I’m doing the same for my kids.

  6. #6 KeithB
    September 19, 2006

    David Brin has an article in Salon (I don’t subscribe so I have not read the thing)

    http://www.salon.com/tech/feature/2006/09/14/basic/index_np.html

    Basically, (hah!) he makes the case that the lack of a simple language like Basic not being available will make it difficult for kids to learn programming.

    So maybe our kids are going to be less geeky in the future.

  7. #7 Mark C. Chu-Carroll
    September 19, 2006

    KeithB:

    I actually think that Brin’s argument is a pile of nonsense. I was actually considering writing a post about it.

    As I see it, when I got my first computer, it came with Basic, and Basic was pretty much the limit of what it could really do. There was also a crappy implementation of the UCSD p-system for Pascal, but it was slow, extremely limited, and much more expensive than a kid could ever hope to buy.

    Today, as a Mac user, I get a computer that comes with Python and Ruby pre-installed – both really fantastic beginners languages. If I’m interested in programming and I’m willing to spend 2 minutes on google, I can find free tools for Scheme, Smalltalk, CommonLisp, Pascal, Oberon, and Java – any of which are great languages for beginners.

    Windows doesn’t come with anything built in (as far as I know), but I know that there are free tools for Java, Python, Ruby, Scheme, CommonLisp, Smalltalk, and Oberon.

    For someone learning to program today, there is a wealth of programming languages to start with, and code to look at and learn from that would have been unimaginable when I was getting started. Someone starting today would be free of so many of the awful habits I acquired from Basic; and because they can easily get code to read, they can figure out how to do things in days (or even hours) that took me months to figure out, because as much as I wanted to, there was no way for me to find a real program to look at to see how something was supposed to work.

  8. #8 parkrrrr
    September 19, 2006

    Windows comes with the Windows Script Host built-in. Whether that counts as “anything” is a matter of taste, but you do get to choose between JavaScript and VBScript.

  9. #9 Dan R.
    September 20, 2006

    Congrats on the win.

    Orac IMHO still had the single geekiest item of anyone — the Dalek cookie jar.

    That said, the totatility of the nerdiness clearly went to you. The fact that you are a computer scientist, who also is an expert in computational history (sliderules, abacuss, etc), definately beats out a surgical oncologist.

  10. #10 oxeador
    September 20, 2006

    I thought that a “nerd” was the smart one that likes intellectual activites (such as math or logic puzzles), a “geek” was the one who has a strong interest or understanding on topics that the majority of the population does not care so much about (such as computers — in this case it refers to understanding, and it is an intellectual activity — or science fiction — in this case it refers to interest and it is not an intellectual activity — ), and a “dork” was the one lacking social skills. Nerds tend to be geeks, but geeks need not be nerds, and they all may or may not be dorks. For instance, somebody who speaks Klingon is a geek, but not necessary a nerd. And you, dear host, are both. But what do I know, not being a native English speaker? I just learned all this in my English-as-a-foreigh-language class.

  11. #11 Mark C. Chu-Carroll
    September 20, 2006

    oxeador:

    Like I said; the difference seems to be a regional thing, with a dozen different variations on the precise pairs of meanings assigned to the words. So I basically consider them effectively synonymous, since there’s no good way to universally recognize which geek/nerd distinction a particular person is talking about.

  12. #12 MattF
    September 20, 2006

    And then there’s the novel “Geek Love” by Katherine Dunn. It’s, uh, very weird.

  13. #13 KeithB
    September 20, 2006

    It is like pop and soda. I imagine you could use a person’s definition of geek and nerd to pinpoint the culture/area they moved around in when they learned the words.

    I guess I am off to learn Python, so I can teach it to my son and daughter. I will start with my standard “use random numbers to calculate pi” algorithm I always use to learn a new language.

  14. #14 Stu Savory
    September 20, 2006

    The Greeks had a word for it : Geek.
    Geek means heterosexual Greeks,
    i.e. ones with no Rs ;-)

  15. #15 Daniel Martin
    September 20, 2006

    I’ll note that criticisms similar to Brin’s occasionally show up on slashdot and elsewhere, and they basically boil down to this: “the experience of growing up around computers today is not exactly like it was when I was growing up, so nothing good can happen!”. It often seems to me that those making this argument ignore the fact that the proportion of the population that uses computers at home today is much larger than it was, say, 20 years ago. As a consequence, that a smaller proportion of the computer-using population is inclined towards computer programming does not mean that a smaller proprotion of the overall population is inclined to program.

    I remember that when I saw my youngest sister (12 yr. difference) start to use the computer regularly, I was disappointed that she wasn’t even trying to do any programming, but comparing that to a world in which she would voluntarily sit at the TI Basic prompt and type in programs is disingenuous. If she had to program to use the computer, she simply wouldn’t use the computer. As it was, she was putting together her web page on her own domain name, and integrating her blog into the setup. This is much, much more technical than she ever would have gotten back in that golden age when BASIC was king.

    Yes, the signal/noise ratio among resumes we receive for advertised programming positions is very low, but I see no reason to believe that this means that fewer good programmers are out there or that fewer good programmers are being raised. It just means that there’s more noise, and more people who aren’t necessarily born to program are picking it up out of monetary concerns. Would anyone with even a vague clue of how free markets work expect otherwise?

    Oh, and in regards to winning the nerd-off, I’ll repeat my previous comment that a true analog computing geek would get himself a planimeter.

  16. #16 speedwell
    September 20, 2006

    And then there’s the novel “Geek Love” by Katherine Dunn. It’s, uh, very weird.

    I was a member of the proofreading team for the typesetters of that book’s first edition. We mixed our coffee extra black to get through that one.

  17. #17 Daniel Martin
    September 20, 2006

    Oh, and as for this:

    Windows doesn’t come with anything built in (as far as I know), but I know that there are free tools for Java, Python, Ruby, Scheme, CommonLisp, Smalltalk, and Oberon.

    A few months ago, I found myself in Ithaca at a hotel without internet access, with my wife’s laptop and with my brain stuck on a problem that I was itching to attack programmatically. (Namely, is there an x such that a game of chomp that starts with a 3-by-x board can be won by the second player)

    Now, my wife isn’t a computer geek and at the time there was no perl, python, ruby, java, etc. installed on her laptop. So I was bummed, until I remembered about the dynamic, object-oriented, prototype-based loosely typed language that every modern machine is equipped with an interpreter for. I brought up notepad, wrote up the problem, and then brought up firefox to run my javascript program. (Answer: no x that I could find before filling all available memory with cached results)

    Not only does every modern machine come equipped with a javascript interpreter that also happens to implement a highly declarative language for UI construction, but anyone who uses computers enough to have read Brin’s essay is already regularly exposed to tons of completed examples, all with source available (albeit sometimes highly obfuscated). That this (web browser + javascript) isn’t considered a programming system while a BASIC read-eval loop is can only be explained by old-school snobbishness.

  18. #18 KeithB
    September 20, 2006

    As was pointed out in the thread where I picked up on the article:

    http://discussions.apple.com/thread.jspa?threadID=650215&tstart=0

    There was something very *accesible* about those Basic programs, and they were capable of immediate feedback.

    You could write a program to have someone enter their name and reply with “ is a poo-poo head” very quickly and then modify it to change the color and move it around the screen. It was very visual and very simple.

    Now things are buried and you have to get into a programming environment to start programming.

    What ever happened to Logo?

  19. #19 KeithB
    September 20, 2006

    oops, I enclosed the word ‘name’ in brackets after the quote and it got swallowed. It should read: “[Name] is a poo-poo head.”

  20. #20 walt
    September 20, 2006

    Great discussion. And, Mark, the simple answer is no…I’d never let a definition get in the way of doing what [my] wonderful, smarter-than-I-am wife wants. Never have so far, at least.

  21. #21 Mark C. Chu-Carroll
    September 20, 2006

    KeithB:

    Python, Ruby, and Scheme, and Squeak are all *great* *free* beginners programming languages where you can sit down and start typing, and get immediate feedback.

    The programming environments aren’t a *bad* thing either. I think that the “Oh, we used to use computers *without* programming environments” is roughly the same kind of snotty nostalgia as the Dana Carvey routine: “When I was a kid, we didn’t use these newfangled programming environments. We entered our programs in binary, using a toggle switch. And we liked it!”

    Good free IDEs are a boon for new programmers.

  22. #22 Blake Stacey
    September 20, 2006

    Despite the proliferation of computers, programming languages and resources, it is far more difficult today to start with a store-bought computer and dive into programming than it was to start QBasic under MS-DOS 5 over a decade ago. Having somehow survived the transition from BASIC-XL on my Atari 400 to Python on my server box now — without really noticing the changes at the time! — I have to say that something has changed, qualitatively, about the availability and accessibility of introductory programming languages.

    It doesn’t matter how damn good Python or JavaScript is, if you can’t get to it as easily as I could plug a cartridge into my Atari 400, and if source code in the Amazing Wonder Language isn’t included in science and math textbooks.

    Of course, I think that BASIC is a clunker. So does David Brin.

    Those few who did not skim, leap to a conclusion and howl… those few who actually read the essay… realize that my complaint is actually about something else entirely — the lack of a pervasively accessible “lingua franca” language, included in all computers, that would let publishers assign those little exercises at the end of chapters in math and science textbooks. Exercises that allow (encourage, require) kids to do those first primitive experiments before moving on to something better.

    Something universal enough that millions could compare notes and gripe and learn something about the guts of the machines they (and their civilization) rely upon.

    Something to let millions (not a few elite thousands) see that the screen in front of them is composed of dots, and each of those dots is moved and changed by genies called algorithms. And, once-upon-a-time, those genies were under direct human control. Indeed, if you really WANTED to…

    Hey, look people. You can preach till the cows come home about which language kids “ought” to start off learning. By all means innovate and push your favorites! Let the really motivated ones take classes in Python, Java, Perl… or even SELF-teach, the way my son is learning C++. Terrific.

    And yet, underlying all of this is a level of towering and outrageous arrogance. An implicit assumption that programming is only for the self motivated alphas out there. And all the rest of the kids can go to hell.

    Quote-mining Guido van Rossum:

    In the seventies, Xerox PARC asked: “Can we have a computer on every desk?” We now know this is possible, but those computers haven’t necessarily empowered their users. Today’s computers are often inflexible: the average computer user can typically only change a limited set of options configurable via a “wizard” (a lofty word for a canned dialog), and is dependent on expert programmers for everything else.

    […]

    The open source movement claims that peer review of software by thousands can greatly improve the quality of software. The success of Linux shows the value of this claim. We believe that the next step, having millions (or billions) of programmers, will cause a change of a different quality–the abundant availability of personalized software.

  23. #23 DouglasG
    September 20, 2006

    If you have MS Office, you get Visual Basic for Applications which can do much of what BASIC did.

  24. #24 Daniel Martin
    September 20, 2006

    And if you have firefox, a full javascript read-eval-print loop with tab completion is just a click away after you install the javascript shell bookmarklet. (Where “install” means “drag a link found on that page to the toolbar”)

    I wonder if there aren’t kids out there right now learning programming by modifying greasemonkey scripts. That’s just as accessible as BASIC or Logo was back in the day (though sometimes I miss the TI Logo II sprite editor; I know, I’m sick), and it solves the “interest bootstrapping” problem that people sometimes complain about with modern computers. (Namely, that there’s such a huge gap between the command-line programs you can write when starting out and the GUIs people use every day that it’s difficult to maintain interest) Tweaking some aspect of a frequently-visited website to your own personal preferences is something that has almost-immediate payoff.

The site is currently under maintenance and will be back shortly. New comments have been disabled during this time, please check back soon.