First: I finished the long short story last night, amidst a headache. It’s done. And I like it. And I’m pretty proud of it. *grin*
Second: Found this summary here. I really like it, I really like what he says. both about fountain pens and handwriting, AND about programmers and debugging.
Keynote: Programmer as a writer. Do it right the first time The keynote address was given by Neal Stephenson, the author of Cryptonomicon, Snow Crash, The Diamond Age, and the upcoming Quicksilver
Neal Stephenson is a professional writer. He started his insightful keynote with an observation that programmers and professional writers have a lot in common. In particular, both groups build complex mental structures, which they must serialize through a keyboard by pressing one key at a time.
A good writer (and a good programmer) does not work by distilling good ideas from a large pool of bad and good ones, but by producing few if any bad ideas in the first place. It is important to give ideas time to mature [in the subconsciousness] so only good ideas percolate to the conscious level.
The gist of his talk was an argument against a defined _methodology_ of writing (where ‘methodology’ is to be understood as in ‘software development methodology’ or in the Capability Maturity Model CMM). A good novel should be written mostly right the first time. A good novel is written mainly subconsciously, with the great involvement of emotion. Neal Stephenson is a great fan of Antonio Damasio. He quoted extensively from Damasio’s book “Descartes’ error” [see however, a critique of Damasio in http://www.cogsci.soton.ac.uk/~harnad/Tp/bookrev.htm]
At the beginning of his talk, Neal Stephenson noted that it was 20 years ago, almost to-date, that he signed his first contract and became a professional writer. He told an interesting and amusing story of writing his first book. It was a hot summer in Iowa City. Neal Stephenson had a regular job, and yet had a hunch that writing might be for him. He had written a “query” — a plot summary, the outline of a book, biographies of characters, and a few sample chapters — and started to send them to editors, which he picked at random from trade directories. Many rejection letters followed. Finally, one editor wrote that he was intrigued by the outline and the sample chapter and asked for the rest of the novel. After a brief exhilaration the reality set in: there was no novel yet. He had to write it. With all his vacation time and the 4th of July holiday there were 10 days, in which to write a novel. He rented a modern typewriter, secluded himself in his apartment and started to type. Soon a problem appeared: the typewriter had a modern plastic ribbon. The plastic mellowed and became sticky: it was July in Iowa City, and the apartment was hot. The only way to prevent the ribbon from getting stuck is to keep the ribbon moving. And the only way to keep the ribbon moving is to keep pressing the keys. That discovery did wonders for his productivity. He didn’t have time to think: he had to keep pressing the keys and write the first thing that came into his mind. He sent thus created manuscript to the editor. The latter replied that his publishing house can’t print that — but the work was interesting and should be published. Eventually, Neal Stephenson got an agent, a publisher, and his first published book, “The Big U”.
And so Neal Stephenson has become professional writer, and started to think about his next book. He wanted to follow some system of writing a book, so at least he could tell himself that he’s not a slacker but a diligent worker. He picked a “distillation theory”. The theory states that to write a book you start with a big draft. You keep re-writing — distilling — it until you remove bad parts and bring the draft to the size of a novel. The process is similar to making good whiskey out of large quantities of bad beer. Neal Stephenson spent a year working on a huge draft. When he started to distill it, he made a grim discovery. The good stuff in the draft was so intertwined with large quantities of bad stuff that it was impossible to separate them. He panicked and quickly wrote a new novel, which was published with little editing — partly because it was written of the right size the first time. He found the process: do it right the first time. He also found that he tends to write good stuff in the morning and bad stuff in the afternoon. So he adopted the following regimen: he would write only in the morning. And to fill the rest of the day, he would help a friend as a construction worker. Surprisingly, that worked well. The construction work provided the “background” for subconscious work, where ideas were born. Some of these ideas would bubble to the conscious surface by the morning, and he would write them down.
Neal Stephenson has discovered another remarkably helpful technique: a fountain pen. The great advantage of the pen is that it is _slow_. Ideas, in his view, come faster than we can “serialize” them on the paper or at the keyboard. Therefore, the ideas are stored in an “accumulation buffer” in the brain. When in the buffer, the ideas interact and purify. If we empty the buffer too soon, we don’t give the ideas enough time to mature and we get a half-baked prose. There is a virtue in slow typing or in hand-writing. Needless to say, Neil is not a fan of a PowerPoint. He contends that writing on a blackboard gives a teacher and a student so important time to think.
Neil Stephenson gave a few more examples for his thesis. For instance, many stories of Charles Dickens were first published in a magazine, over a course of several months. It is not often emphasized that Dickens didn’t have time to distill his novels and to write draft after draft. He had to write in monthly installments, with barely a time for one draft. He had to do it right the first time.
One member of the audience observed that in software development, the distillation theory is called “the process”. That theory states that given a number of average or bad programmers, after many iterations, good code can be produced. Just as everybody can be a writer if they merely get patience and diligence to write enough drafts. The reality of book writing and of software development shows the falsity of these views. Not everybody can be a good writer. Bad writers always write bad prose. Bad programmers always write bad code.
The message of the talk is also against debugging. It’s all too prevalent for programmers to quickly type in the code they don’t quite understand and aren’t sure of correctness, and then debug it away. Again, the experience (e.g., with ftp clients and Sun’s tooltalk daemon) shows that the code badly written the first time remains buggy and filled with holes, no matter how much it is debugged.