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.

46 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 Anonymous Coward · · Score: 3, Funny

      You work for Microsoft, don't you?

      Your still in college, aren't you?

      In the real world, compromises have to be made. The later a bug is found in a product development cycle, the more expensive it is to fix it. Once you reach a certain point, you are going to just have to learn how to live with just about everything except for a drop-dead fatal error.

    3. 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!!!
    4. 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.
    5. Re:Hardly realistic by Paradise+Pete · · Score: 5, Funny
      Your still in college, aren't you?

      Oh the irony.

    6. Re:Hardly realistic by Maditude · · Score: 2, Funny

      kludge everything! the debug stage of the development life cycle is all about kludges. we call it klop - kludge-oriented programming:

      Hey, you've been spying on us, haven't you! I told the boss we needed to get a patent on our development process ASAP, dammit!

    7. Re:Hardly realistic by carlos_benj · · Score: 4, Funny

      Your still in college...

      What about their still in college? Are you suggesting that they supplemented their income to pay tuition by moonshining? Egad!

      --

      --

      As a matter of fact, I am a lawyer. But I play an actor on TV.

  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. Spoiler? by ivan256 · · Score: 3, Funny

    Can somebody tell me what the ending is? I'm too busy writing code to read it.

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

      Yea...

      He uncomments:

      work();

    2. Re:Spoiler? by Anonymous Coward · · Score: 1, Funny

      quick, blow your head off!

  4. 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.

    1. Re:Obviously fiction/fantasy by beef3k · · Score: 2, Funny

      Well, if he's using gdb to track it down it's not THAT unlikely...

    2. Re:Obviously fiction/fantasy by Tackhead · · Score: 2, Funny
      > I happen to have a good fiancee' and, while we have certainly had some problems, these past 5 years have been great. She's into computers and video games, so maybe I'm just lucky, but I think it's sad th[snip]

      Look, who cares about all that crap, what's important is have you fixed the damn bug or not?!?!?!? :)

    3. Re:Obviously fiction/fantasy by Anonymous Coward · · Score: 1, Funny

      Sometimes you can't see the bug because it's just too big!

      I once had a line of code in C++

      obj->dispose

      that wasn't working and it took me forty minutes to figure out what was wrong with it. I have no possible excuse for this except to say that five other programmers in the department with decades of accumulated experience were blind to it's sheer stupidity as well (I'm sure everyone else here spots it at once).

      As with all great bugs, it began with a cut and paste. :)

      I'm going to buy this book - sounds good.

  5. 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]
  6. 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.
    1. Re:Snide-commenting? by vaxer · · Score: 4, Funny

      /*Yeah, sure, this code will work. *snicker*/

      Shouldn't that be /*Yeah, sure, this code will work. *snicker* */ ?

      There's your bug -- you never closed your snicker emote asterisk.

      Ben

    2. Re:Snide-commenting? by TwistedGreen · · Score: 2, Funny

      ...it's called optimization. He simply combined two already extant asterisks into one to avoid redundancy and save space. It's more elegant that way.

  7. subject by Anonymous Coward · · Score: 5, Funny

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

    Plenty of source material then!

    1. Re:subject by Anonymous Coward · · Score: 4, Funny

      Please read the slashdot terms of use. You are only allowed to make those kind of jokes about Microsoft. Please keep this in mind in the future before you make a negative comment about anybody else.

  8. Re:Spolier WARNING by Dark+Lord+Seth · · Score: 2, Funny

    He probably comes back from the future with a shiny, flying Delorean with a souped up blender on top of it and a SERIAL CONSOLE. (not embedded on said Delorean, duh)

  9. End of the book... by da3dAlus · · Score: 3, Funny

    "Jester's dead. Yee Haw!"

    --

    Sometimes I doubt your commitment to Sparkle Motion.
  10. 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.

  11. Re:Plagiarism! by TopShelf · · Score: 3, Funny

    Maybe so, but the thought of a bunch of programmers walking around saying things like "shiver me timbers" sounds pretty cool...

    --
    Stop by my site where I write about ERP systems & more
  12. 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
    1. Re:Quick fix.. by Anonymous Coward · · Score: 2, Funny

      The code you have written is violating a Microsoft patent. The pattent covers "rebooting of a computer to fix an unidentified or unfixable bug." You can not use this code without paying royalty. Also, having a helpdesk instruct you to reboot your computer to fix a problem has been patented by Microsoft. ALL YOUR REBOOTS ARE BELONG TO US! MUHAHAHA.....

  13. 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,
  14. Re:You'll just have to wait... by Q+Who · · Score: 2, Funny

    Let me guess, he is intentionally causing the the bug because he has a mental disorder.

    Oh my, how deep...

  15. Damn! by grasshoppah · · Score: 2, Funny

    Shit! You mean that System.exit( 1 ) wasn't supposed to be there??

  16. Re:Plagiarism! by drgroove · · Score: 2, Funny

    Do not read this book. It is a plagiarism of Moby DICK. They just replaced some of the names.
    The Bug = The DICK, Roberta = Ishmael, Ethan = Cpt. Ahab.
    Just like Tanya Grotter! Melville WILL sue!


    The real threat here isn't that Melville will sue (he is dead, after all).

    The problem here is that, if your analogy is true, that means that the great-grandson of Ellen Ullman will become a new-age euro-trash remix artist calling himself "Bug", after his great-grandmother's famous antagonist by the same name.

    Now that's a frightening thought.

  17. Re:I'd like to read fiction about something *else* by DWIM · · Score: 2, Funny
    I think there's something to be said for being more well-rounded.

    Isn't that a typical problem among geeks...and a contributiong reason for why they don't have girlfriends?

  18. Re:Sounds dumb by Anonymous Coward · · Score: 1, Funny
    Also, the bug sounds more supernatural than realistic.

    This book sounds like Bill Gates' biography. "One day we discovered a bug in DOS and it just eluding us. We'd make a fix and it'd get worse and worse until suddenly we've got 120,000 bugs in Windows XP and people are breaking into our systems left and right and I can't take this anymore!!!!! DAMN YOU BUG!"

  19. 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 ----
  20. I know it! Here's the plot: by JoeCommodore · · Score: 3, Funny

    THE LAST BUG

    "But you're out of your mind!"
    they said with a shrug,
    "The customer's happy,
    what's one little bug..."

    But he was determined;
    the others went home.
    He spread out the program,
    deserted, alone.

    The cleaning men came,
    the whole room was cluttered
    with memory dumps, punch cards,
    "I'm close..." he muttered.

    The mumbling got louder,
    simple deductions,
    "I've got it! It's right,
    just change one instruction!"

    But it still wasn't perfect,
    as year followed year.
    People would comment,
    "Is that guy still here?"

    He died at the console
    of hunger and thirst;
    the next day he was buried
    face-down, nine-edge first.

    The last bug in sight,
    an ant passing by.
    It saluted his tombstone,
    and whispered "nice try."

    Author unknown. Circa late 1970s

    --
    "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
  21. 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!
  22. Re:Plagiarism! by D_Gr8_BoB · · Score: 2, Funny

    I recommend International Talk Like a Pirate Day. Yar.

  23. Pinnacle of Programming! by Greyfox · · Score: 3, Funny

    But don't you see! It's not that he derives no joy in his life. He has attained nirvana, basking in the pure, white light of the code he has created. All other happiness is nothing but an illusion cast by the demons of the flawed organic mind. We should all cherish him as an enlightened one, no longer tied to the useless aspects of this world!

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  24. Re:I read this book. by Thud457 · · Score: 2, Funny

    PHB's are what polluted Love Canal. Nasty stuff. They had to spend billions to clean up the site.

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  25. why did she have to name him Ethan? by egomaniac · · Score: 2, Funny

    My first name is Ethan. It's a very unusual name, to the point where I'm completely unaccustomed to anyone else sharing my name. Sure, I've heard of a few other Ethans, but I've never actually met one. So whenever I heard the name "Ethan", that's me.

    ...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.

    ....

    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.


    It's really weird reading something like that when my brain keeps wanting to associate the name "Ethan" with "me".

    Authors, please name all main characters -- particularly those with serious personality flaws -- David. Davids are used to sharing their name with millions of other people. The name "Ethan", on the other hand, should only appear in Penthouse Letters, when describing studly guys with twelve-inch cocks servicing four women at once.

    Thanks, I'd really appreciate it.

    --
    ZFS: because love is never having to say fsck
  26. Re:You'll just have to wait... by ebh · · Score: 4, Funny

    No, no, no.

    In the Stephen King (Richard Bachman, if you want to get technical) version, everybody on the development team has to work until the bug is found, no matter how long it takes. The instant you stop typing, you're shot.

    Oh wait. That's MY company. Oh, SHI-----

    NO CARRIER

  27. No, sounds like something else... by fireboy1919 · · Score: 3, Funny

    A workaholic with a joyless job, no friends who's life falls apart because of an inexplicable bug? Sounds like the Metamorphosis, Kafka's classic.

    The only twist on this one is that the bug takes over the guy's program instead of the guy himself.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  28. And if they make a pirate movie by beacher · · Score: 3, Funny

    with all of the programmers saying "shiver me timbers", it would be

    Rated Arrrrrrrrrrrrrrrrr
    -B

  29. The Last Bug by limbostar · · Score: 4, Funny
    I'm reminded of "The Last Bug" by Jim Owen:

    But you're out of your mind
    They said with a shrug
    The customer is happy
    What's one little bug?

    But he was determined
    The others went home
    He spread out the program
    Deserted, alone

    The cleaning men came
    The whole room was cluttered
    With memory dumps
    I'm close, he muttered.

    The mumbling got louder
    Simple deduction
    I've got it, it's right
    Just change one instruction.

    It still wasn't perfect
    As year followed year
    And strangers would comment
    Is that guy still here?

    He died at the console
    Of hunger and thirst
    Next day he was buried
    Face down, nine edge first.

    And the last bug in sight
    An ant passing by
    Saluted his tombstone
    And whispered - Nice try!
    Note that "face down, nine edge first" is a reference to an IBM puch card reader which had those words printed on it ("place cards face down, nine edge first"), the 'nine edge' typically being the lower edge of the card where the row of nines were.
    --
    this is a sig.
  30. Re:It's a JOKE people, sheesh by f97tosc · · Score: 3, Funny

    I'm amazed at the responses I've been getting. My post was a JOKE

    Sorry, you can't joke about everything. Joking with nerds about their lack of girlfriends is a no-no. You really hit a sensitive spot.

    Tor