Slashdot Mirror


The Bug

Trevor Stow writes with the review below of Ellen Ullman's The Bug. "The Bug is about a programmer, Ethan Levin, at a software start-up in the mid-1980s, tracking down one particularly irksome bug in his own C code. The longer this bug eludes Ethan, which his co-workers start calling the 'The Jester,' the more destructive its effects on his personal life. The Jester is this story's villain, one that can't talk, eat, get tired, or be reasoned with." Read on for the rest of Trevor's review. The Bug author Ellen Ullman pages 368 publisher Doubleday rating 8.5 reviewer Trevor Stow ISBN 0385508603 summary A programmer 's life unravels as he struggles to find a bug.

In fact, The Jester seems to have an impish intelligence of its own, laying dormant for weeks somewhere deep in the libraries of the company's ground-breakingly new GUI front end. When it does surface, it's usually during a sales presentation, causing a complete system failure: garbage on the screen, frozen keyboard. It's enough to frighten any and every potential customer. For a start-up still living on venture capital funding, this is a bad thing.

As if the stakes weren't high enough, our hero, Ethan, isn't exactly a well-rounded Renaissance Man. He has a single friend at the office, and they barely talk. Otherwise, Ethan is irritable, distant, and often loses himself in his own logic-gated thoughts. He suffers moments of mild panic where he doubts his own competency and frets over not having an advanced degree. Plus, his fellow coders are a petty, snide-commenting bunch; meetings degrade into profanity-laden shouting matches, passing the blame, etc, all of which spurs Ethan to work harder. He autopilots through dinner while reading a Unix manual, works from home, and falls asleep in his clothes.

None of this leaves room for Ethan's girlfriend, Joanna. At the story's beginning, she goes to India for a month with her male friend Paul. Ethan can't go, citing the importance of his work. Paul's wife can't go either. We see where that's heading.

Ethan's life begins to unravel. He associates his personal problems with The Jester. Once that damn bug's squashed, he tells himself, the rest of his life will stabilize into some happier space.

The story's narrator is Roberta, who speaks to us from the early 2000s, remembering her job as the QA tester who worked most closely with Ethan. Roberta does have an advanced degree, in linguistics, but jobs in academia are scarce, and what else do you do with a degree in linguistics? At first, Roberta dismisses the programmers as a gruff, dismissive pack of dorks, just as they dismiss her because she can't code. A frosty wall separates the two sides of the product development team: those who write the bugs, and those who find them. In her evenings, Roberta composes poetry and suffers her own anxiety over abandoning a higher education for a plain job in IT.

Eventually, though, Roberta learns to program in C, and that's where The Bug shines brightest, touching on some sparkling insights: the nature of life, the nature of time, the cold beauty of code, and ourselves, living side-by-side with computers that are not, alas, alive. Stuff that will stick with you.

However...

I was disappointed with the book's end. If you program for a living (as I do), you will see parts of yourself in Ethan. But hopefully, you aren't Ethan. Even if you have no friends, no girlfriend, nothing, you still might play video games or watch TV or something (read?). Ethan, it seems, makes no effort to find even brief happiness. His life is joyless. And that's probably why I didn't like the ending. The book builds so well, keeps a quick pace, with smart dialog, rich characters, suspense, and very high stakes: I felt the pay-off could have -- should have -- been much grander.

Ellen Ullman, who also wrote Close to the Machine, was a programmer in the 80s. I caught her interview on NPR, where she explained that Ethan's story and The Jester were very loosely based on her own pursuit of a bug while working at Sybase.

You'll probably enjoy The Bug, even if you don't like computers and write poetry for a living. It's adult fiction and feels contemporary without trying to be 'zany' or 'hypercharged.' It's not a funny book, but rather a calm, wise walk into unexplored story matter, with lots of interesting bits to think about.

You can purchase the The Bug from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

16 of 273 comments (clear)

  1. Hardly realistic by Anonymous Coward · · Score: 5, Funny

    At that frazzle point the guy would have either contacted the local gdb guru,just rewritten the damn thing, or documented it as a known issue and blame it on hardware.

    1. Re:Hardly realistic by Scurrility+Extempore · · Score: 5, Funny

      ...documented it as a known issue and blame it on hardware. You work for Microsoft, don't you?

    2. Re:Hardly realistic by botzi · · Score: 5, Funny
      ...or documented it as a known issue and blame it on hardware.

      Yeeeah.... I can see it:
      <from the doc>
      ...there's a nasty bug with the GUI, but stay calm, it only represents itself when you're using a monitor, as long as any terminal of any type isn't connected to the PC, it won't bother you....
      </from the doc>

      --
      1. No sig. 2. ???? 3. Profit!!!
    3. Re:Hardly realistic by Frymaster · · Score: 5, Funny
      if you have debuggery problems like this, you should meditate on my maxims and arrows

      debuggery - maxims and arrows

      1. be hostile: your application was your friend - your baby. you gave it life. well, no longer. now your application is your enemy. do you admire the intricate house of cards you have built like hiram abif? don't. you have a glue gun now and you are going to do a little explaining about who is boss here! your app is taunting you - it's thinking "what does a chemical/analogue hack like that have that i don't?" well, i'll tell you: an index finger. suitable for hitting the "del" key. make this crystal goddamn clear!
      2. kludge everything! the debug stage of the development life cycle is all about kludges. we call it klop - kludge-oriented programming:

        kludge foo = new kludge(specialCase bar);

        you've written that. the debugging phase comes at the end of a project. ie the part closest to the deadline when clueless suits and moneyment[1] confuse line count with product. the pressure is on. the company is on the line. are you going to walk into the glass tower and pitch to the vc's about how yr going to have to go back to the uml's and rebuild x? good luck! can i have your job when you're done? get the tape, get the staples, get the glue.

      3. blame others: teamwork is just a code word for being the shepherd to a flock of scapegoats. if you were smart, you'd have been working on cultivating a culture of accepting blame early on in the cycle. this is espescially effective if yr building a client/server thingy. establish early on that most of the failures are on the client(server) side. whichever one you're not writing.

        make yourself documentation czar if possible - then abuse the position to retroactively assign blame to other team members ("the docs explicitly state that we use roman numerals" - "gee, i don't remember that" - "well tough. get coding").if you set it up right you can build an army of debugging minions to do your kluding for you while you, uh, write in your blog...

      4. redefine feature sets. the client is a clueless little doughboy who can't tell his ass from his operating system anyway. he's been flaking you on the spec-n-req all year. turn those tables! if a feature is buggy, yank it. if there's a complaint, reference the client to some vaguely-related advisory somewhere (trust me, he won't read all the way down). if he complains say "in light of advisory x we strongly adivse against implementing _______ (feature). a work around may be possible at a future point and we are more than willing to calculate the billing for that additional work now."
      all that and echo will solve all yr debuggery problems.
    4. Re:Hardly realistic by Paradise+Pete · · Score: 5, Funny
      Your still in college, aren't you?

      Oh the irony.

  2. Spolier WARNING by Jonsey · · Score: 5, Funny

    I know the end of the book: Either the bug gets squashed, or he does. Or maybe dumbledore... wait, no, no main characters die... He comes back from the future to fight a new terminato----hulk... Wait, I'm lost again.

    --
    I assert that my comment is only my opinion, not that of any employer, past, present or future.
  3. Obviously fiction/fantasy by binaryDigit · · Score: 5, Funny

    A person as nerdy as he is and he has a girlfriend. How is that even remotely possible? And this girlfriend is apparently attractive enough to get someone to cheat on his wife with her, pure fantasy I tell you. This book loses all credibility on this one point alone. Plus, anyone who's THAT much of a geek and takes THAT long to find a bug, isn't someone I have a lot of respect for and would really care about anyway.

  4. I think we all know who the Jester is by pytheron · · Score: 5, Funny
    When it does surface, it's usually during a sales presentation, causing a complete system failure

    Common theme: Sales Presentation. Most sales-drones I've ever seen look and act like Jesters anyway.. certainly the promises spewing from their powdered faces seem utterly fantastic and comical at times

    --
    "I am not bound to please thee with my answers" [William Shakespeare]
  5. Snide-commenting? by PetWolverine · · Score: 5, Funny

    Plus, his fellow coders are a petty, snide-commenting bunch

    Forgive me, but when I read that, I thought this: /*Yeah, sure, this code will work. *snicker*/

    --
    I found the meaning of life the other day, but I had write-only access.
  6. subject by Anonymous Coward · · Score: 5, Funny

    > based on her own pursuit of a bug while working at Sybase.

    Plenty of source material then!

  7. Re:Spoiler? by HaeMaker · · Score: 5, Funny

    Yea...

    He uncomments:

    work();

  8. Re:won't read it by fobbman · · Score: 5, Funny

    "I don't want to read 'about myslf', but rather about something much more entertaining that I don't experience every day."

    Give Penthouse Letters a try.

  9. Quick fix.. by robbo · · Score: 5, Funny

    #include <signal.h>
    #include <stdlib.h>

    void handler(int arg) {
    char command[1024];
    sprintf(command, "/sbin/reboot");
    system(command);
    }

    int main(int argc, char ** argv) {
    signal(SIGSEGV, handler);
    ...
    }

    --
    So long, and thanks for all the Phish
  10. Re:Sounds good. by grub · · Score: 5, Funny


    Any ideas where can I find a book that's 'zany' and 'hypercharged'

    Here you go.

    --
    Trolling is a art,
  11. Sounds Familiar by nurb432 · · Score: 5, Funny

    Sounds vaguely like something I read long ago, something about a whale and a obsessed fisherman.. :)

    Ah, the classics never die, they just get a bad sequel..

    --
    ---- Booth was a patriot ----
  12. Re:Plagiarism! by delcielo · · Score: 5, Funny

    Toward thee I scroll, thou unconquering but all-destroying fail; to the last I grapple with thee; from Bill's heart I stab at thee; for hate's sake, I spit my espresso at thee.

    --
    Hot Damn! It's the Soggy Bottom Boys!