Geekout

Draw your pocket protectors, it’s a geekout!


Janet, our lovely resident ethicist has challenged all of the ScienceBloggers to [a geekout][geekout], to determine who, among us, is the geekiest. How could I, a *math* blogger and computer language geek, pass up such a challenge? (Incidentally, Janet, as the person who seems to do more community building and social stuff than anyone else at SB, I think you’ve pretty much disqualified yourself.)
Let’s start with recent stuff.
* I write a blog on theoretical math. Come on guys, how do you think you can compete with that? I spent my first two months at SB writing about *category theory*, a field of mathematics so detached from reality that it’s *inventors* proudly describe it as “abstract nonsense”.
* **I met my wife because she was sitting in the neighboring desk while we were studying for our prelims.**
* I know well over 150 different programming languages. A sampling, off the top og my head:
* C family: C, C++, Objective-C, D, C*, Java.
* Functional: SML, Objective CaML, Haskell, Miranda, Erlang, Clean, Scala.
* Scripting: Perl, Python, PHP, Ruby, ABC, Javascript, Rexx, Tcl, Awk, Groovy, Lua.
* Shells: csh, bash, DCL, JCL
* Lisp family: CommonLisp, Scheme, Dylan
* Pascal family: Pascal, Modula-2, Modula-3, Oberon, Ada
* Numeric: Fortran-77, Fortran-9x (9x is really quite different from 77), Sisal
* Misc object-oriented: Smalltalk, Eiffel, Sather, Simula, Beta, CLU, Self
* Distributed: Hermes, Act1, Actor, Occam
* Logic: Prolog, Mercury, Godel
* Misc archaic: Algol-60, Bliss, RPG
* Misc: Turing, Pike.
* Incredibly geeky: Forth, Fifth, Io, Postscript, Factor
* Unbelievably geeky: TECO
* I’ve implemented at least a dozen different programming languages.
* I read programming language specifications and math books *for fun*.
* Sitting next to me where I sit are DVDs for: Buffy the Vampire Slayer, Serial Experiments: Lain, Babylon-5, Doctor Who.
* I own and play 10 flutes, and about 30 tinwhistles.
* I listen to music by people like John Corigliano.
* I’ve read “Lord of the Rings” **30** times.
* I’ve read “The Silmarillion” 5 times.
* I have two full bookshelves of RPGs, which I *still* play.
* I build highly detailed scale models of airplanes out of *paper*. (Like what you can see [here][pwb])
* That’s a real picture of me on my blog, balding ponytail and all.
* *I’m sitting here writing a list of reasons why I’m such a big geek*.
Come on, who can compete with *this* in terms of geekiness?!
Update: my results at the nerd test: 99th percentile. I am nerdier than 99% of all people. Are you nerdier? Click here to find out!
[geekout]: http://scienceblogs.com/ethicsandscience/2006/09/its_a_nerdoff.php
[pwb]: http://www.paperwarbirds.com/

0 thoughts on “Geekout

  1. Mudbug

    That’s a lot of accomplishments but I think it’s time for you to pick up a copy of “Zen and the Art of Motorcycle Maintenance” and hit the open road. Peace

    Reply
  2. Mark C. Chu-Carroll

    Orac:

    Besides, there’s more to nerdiness than just high-powered math and computer programming. 😉

    That’s what the thirty tinwhistles, ten flutes, two clarinets are for! (There also used to be a banjo in the mix, but I had to give that up due to RSI.)
    What’s could be geekier hobbies than playing traditional Irish music on a tinwhistle, and building elaborately detailed models models out of paper?

    Reply
  3. andres

    After reading the answers of other SBloggers to the nerd-off, I was waiting for this one. No way. As a high-nerd, I’m hardly worthy to post this comment… Maaaasteer!

    Reply
  4. Mark W

    I guess you don’t consider Basic and its Microsoft derivatives languages or it is not prominent enough to be displayed as programming prowness…

    Reply
  5. mgr

    With that last name, it’s expected that one would play traditional Irish music on a tin whistle, or flute. 🙂 Nerdliness is chosen, not innate!
    Let’s not have playing Celtic music a part of the criteria, or my son, who plays baseball, is in 4-H, does not want any of his friends to know about his interest in fossils or physical science, wants to do motocross, and plays the bagpipe, will score higher than his Dad’s 95.
    Mike

    Reply
  6. Mark C. Chu-Carroll

    Actually, the last name *isn’t* Irish at all.
    The “Chu” part comes from my Chinese wife. The “Carroll” part does come from my family; but it’s not the Irish “Carroll”, it’s actually an americanization of the Lithuanian Jewish “Karolciok”. So actually, I’m an american jewish boy married to a chinese canadian woman who plays traditional Irish music.

    Reply
  7. ArtK

    I bow to your superior nerdiness. I only got a 98 on that test and you’ve beaten me by a few programming languages. I’ll admit to some that you don’t list, though: Object Pascal, Fortran IV, a few assembly languages (S/360, S/370, 6502, Z80, 68000, PPC, Intel.) I haven’t implemented languages, but I have contributed to the standarization effort on C++ and served on the ANSI H2 (SQL Language) committee — those are some serious language nerds!
    I’m also old enough to know what face-down, 9-edge first means.
    Nerdy music: Dressing up in Renaissance costume and playing the shawm. You’ve got more whistles than I do, but I probably have a wider range of instruments (2 clarinets [A and Bb], flute, oboe, sop. sax, tenor sax, 2 banjos [tenor and 5-string], a busted banjo/uke, autoharp, assorted recorders and whistles, shakuhachi…) I’ve made my own reeds for oboe and bassoon.
    My SO and I met while singing in a Welsh choir.
    Here’s a nerdly accomplishment: I have a blue ribbon from the L.A.County fair for tablescaping.

    Reply
  8. Bob Munck

    You don’t know PL/1, PL/S, or COBOL? Languages that were very important in the history of your company. Also, no assembly languages? I remember a loud discussion at ACM 20 with Al Perlis and Bernie Galler about how you couldn’t be a real programmer if you didn’t understand how the machine works at the machine code level. Or at least S/360 assembler with the Harlan Mills structured programming macros.
    In all seriousness, you could be out of touch with the basic thought processes of many of the most senior people in the programming community. I realize that your list above was just a sample, but you really, really should know COBOL.

    Reply
  9. Mark C. Chu-Carroll

    Bob:
    Actually, I’ve quite deliberately never learned Cobol.
    PL/1 I’ve read a lot about, but I’ve never actually *written* any code in it. I don’t say that I know a language unless I’ve actually used it to write something. So I’m familiar with PL/1, but I haven’t coded it.
    I also didn’t feel like listing assembly languages; I know a bunch of them; but actually not any particularly recent ones. Personally, I don’t really believe in writing assembly code by hand anymore. Modern architectures are so complex to program *efficiently* that there’s no reasonable way for a human to really do it. For modern architectures, we write compilers; the way to learn the inner workings of a machine is to write a compiler back-end for it.

    Reply
  10. Bob Munck

    Actually, I’ve quite deliberately never learned Cobol.

    I think that’s a mistake, because of the “thought processes” aspect. A lot of the gross-structure architecture of relatively recent systems, especially the very big ones, comes from people who spent a large part of their early careers writing COBOL, and in my experience COBOL requires a very different mind-set. I did my first large COBOL project in 1979 (a budget-tracking system for DoE, still in use today), after fourteen years in the field, and the change in worldview that it required was a real revelation to me. (btw, Admiral Hopper would slap your wrist for spelling it “Cobol” and take away your nanosecond-long wire.)

    PL/1, well, it’s kind of a vanilla language, kind of what you’d get if you combined C, Pascal, and FORTRAN and took out any unique features from any of them. PL/S, however, was an important (secret) language in the early days of your company, and I’m sure its influence lingers. You may know it as BSL or PL/0.
    I do actually agree with you about knowing and writing machine code, though I didn’t until about 1985. I’ve only written two code generators myself, one for my own language BRUIN (a PL/1-syntax version of Dartmouth BASIC) and one a series of macros in ML/1 that transformed FORTRAN II into S/360 assembler.
    Btw, I met my wife at the ACM 20th Nat. Conf. Perlis/Galler/van Dam debate mentioned above, in 1966.

    Reply
  11. Janne

    I’m sitting here writing a list of reasons why I’m such a big geek.
    hich pretty much disqualifies you – what real geek cares about their status, after all?

    Reply
  12. Matt

    Well, the first two programming languages I learned (in the mid 60’s) were IBM 1620 machine language (which was decimal-in-binary), and CDC 6600 assembler, which was 64-bit load/store– twenty-five years ahead of its time.

    Reply
  13. mgr

    “Actually, the last name *isn’t* Irish at all.”
    Well, that makes it all the more delightful. I bow before your nerdliness.
    Mike

    Reply
  14. Daniel Martin

    Does you claim of “know well” mean that you could be handed a listing in one of those languages and say what it does? Because although I could probably do that with most of those languages you mention (even the ones I know only vaguely), and be right > 50% of the time, I’m damn impressed that someone could do that cold with TECO without regular exposure to it.
    I am glad to see that someone else admits to knowing DCL. One language family I see missing from your list, aside from the already noted and deliberate COBOL, is the APL family: APL, J, and K. (Maybe you could include things like A+ in that list)

    Reply
  15. Bob Munck

    One language family I see missing from your list … is the APL family: APL, J, and K.

    Ah, but he has Perl, and once you have one write-only-completely-unreadable language, you have them all.

    Reply
  16. Mark C. Chu-Carroll

    My claim of “know well” means that they’re languages that I’ve written a non-trivial program in. It doesn’t mean that if you hand me a printout of program code, I’ll definitely be able to remember it without the help of some kind of reference. *Most* of the languages on that list, I *would* be able to read even without a reference guide, but definitely not all. TECO is one of the ones that I would absolutely need a reference for. I still remember the basics of how it works, but I’d need something to help me remember the specifics.
    But I did a *lot* of stuff in TECO. Back in my undergrad days, when I got my first account on a Vax, I used it mainly over a 300 baud modem. At 300 baud, you can’t use a full-screen editor like emacs. So I discovered TECO, it it become my main editor for the next three or so years. I very quickly discovered that it wasn’t just an editor, but a programming language for manipulating text, and I started using it for all kinds of things. I *loved* TECO. Just talking about it makes me want to go see if I can find an implementation that can be compiled on MacOS. TECO would make a fun friday pathological programming language!

    Reply
  17. Thony C.

    I’m not sure if somebody who only scores as a low level nerd is even qualified to make comments on this subject but in my opinion a true nerd does not play a musical instrument! He dreams of doing so but his only musical achievement is that he can do bad renditions of VdGG saxophone soli on comb and toilet paper.

    Reply
  18. AndyS

    Bob Munck,

    I remember a loud discussion at ACM 20 with Al Perlis and Bernie Galler about how you couldn’t be a real programmer if you didn’t understand how the machine works at the machine code level. Or at least S/360 assembler with the Harlan Mills structured programming macros.

    There can’t be too many Bernie Gallers who would have a loud discussion with Perlis, so it must be the Bernie Galler who I was a TA for at UM in the 1980’s. My fondest and most terrifying memory of Bernie was riding in his car as he drove at incredible speeds up a multi-level parking structure in Ann Arbor while explaining that I need not fear because he had been a taxi driver in Chicago while working his way through college.
    I also remember Bernie giving a lecture to freshman where he asked how many of them thought it was okay to copy software that was under copyright. 90% of them raised their hands. Bernie, a man rarely at a loss for words, didn’t know what to say.
    Bernie died just a few days ago on September 4, 2006.
    In memorium, since Bernie was “a mathematician and computer scientist at the University of Michigan who was involved in the development of large-scale operating systems and computer languages including the MAD (Michigan Algorithmic Decoder) programming language and the Michigan Terminal System operating system”:

    MAD is perhaps most famous for the line printer picture of Alfred E. Neumann which was printed when an attempted compilation had too many errors. Underneath the picture it printed the caption: See this man about your program–He might want to publish it. He never worries–but from the looks of your program, you should (Gray)

    Since our revered blog author is into music, we should also note:

    He [Bernie Galler] excelled in music and played violin in several orchestras throughout his life. He also enjoyed playing in chamber groups and encouraged each of his children to play a musical instrument. In 2001, he co-founded the Ypsilanti Youth Orchestra for children whose schools did not have string music education.

    [quotes from Wikipedia]

    Reply
  19. z

    Postscript incredibly geeky?
    I am too shocked to comment. But there may well be a letter to Doctor Dobb’s next issue.

    Reply
  20. Peter

    I only got an 88, but that seems low.
    Properly defining nerd and geek is, of course, a job for the nerdy and geeky.
    I don’t program – does that mean I am not a geek?
    OTOH, I am a statistician who reads math books for fun. I didn’t win my HS science project fair becauee several teachers did not understand what I did. (Really! They told me that!)
    I write a series of diaries on math for daily Kos
    Every item of clothing that I have ever gotten a compliment on was bought for me by someone else.
    I got 800 on the analytic part of my GREs
    When arguing with a professor, I used to (more than once) bring in reference books the next class to show I was right.

    Reply
  21. Eduardo

    Man, if that’s true you’ve read The Lord of the Rings 30 times and own tons of rpg books, if you read math books for fun, you’re a truly geek. Congratulations!
    I’ve managed to read the lord of the rings twice, and i’m still looking for somebody to lend me the silmarillion.
    I’m not a tenth the geek you are.
    🙂

    Reply
  22. CJ Croy

    I have two full bookshelves of RPGs, which I still play.
    If you really wanted to take this competition to the next level, you’d do a rigorous mathematical analysis of an aspect of an RPG. You would be the Kobayashi of geekiness, so geeky that no-one even tries to compete with you.

    Reply
  23. Dr. Stephen Cromwell

    I am the geekiest of all. I studied mathematics and physics at MIT. I have a computer science masters at Caltech and a Math Phd at MIT again. I know 152 programming languages. I speak fluent english, spanish, french, german and japanese (I’m learning mandarin). I have published papers in Annals of Mathematics and other scientific magazines. I am a Google consultant and I play the violin and the piano. I also like RPG’s, in fact I consider myself a Pokemon master and a Final Fantasy lord. I have a wife and three kids, the older studies in Stanford and the others have performed well in the IMO. Currently I am Senior researcher in quantum computation and applied quantum cryptography at IBM labs. I have made 45 patents so far and am willing to make much more. I also have a star trek poster on my living room.

    Reply

Leave a Reply