Remember this post where I talked about Spanner: Google's Globally Distributed Database? Since then we wrote a paper on this, which got accepted at LADIS '13: 7th Workshop on Large-Scale Distributed Systems and Middleware, a workshop co-located with SOSP 2013.
The paper is available here.
Friday, August 23, 2013
Thursday, August 15, 2013
Writing is easy. All you do is sit staring at the blank sheet of paper until the drops of blood form on your forehead.Let's get this cleared first. Writing is hard. Whoever says it is easy is lying. There is a lovely book by Sophy Burnham called "For Writers Only" which includes countless quotes from writers on the exquisite pain of the writing life. I highly recommend the book. All the quotations in this post are taken from that book.
-- Red Smith
I see but one rule: to be clear.Of course, I am not going to talk about how to write great works of literature. For that I am unqualified. I will talk about technical/scientific writing, which is a bit easier and manageable. For technical writing you do not necessarily need to be creative, playful, and poetic. You just have to communicate your points clearly. (Unfortunately, this is easier said than done.)
We do not write in order to be understood, we write in order to understand.Writing is very important for our careers as researchers. Writing helps us make sense of our research and findings, so we should first and foremost write for ourselves. Writing is also how we document/communicate our results so that others can benefit and build on them. Consequently, writing is what we are evaluated on as academics.
-- C. Day-Lewis
If we had to say what writing is, we would have to define it essentially as an act of courage.While writing is very important, it is often neglected and poorly done. This is because writing is hard work; it exposes how weak and unorganized our thoughts really are. After all those years of writing, I still feel uneasy about writing.
My trick to writingWhen I was a rookie graduate student in the distributed systems field, I was a huge Dijkstra fan. I was a romantic and would strive to write like Dijkstra: think hard, get the entire composition ready in your mind, and write at once (you won't even need to revise because you shall get it right the first time). After a while, I found that this type of writing was not sustainable for me. It was very hard to get started. I would freeze with the pressure of getting it perfect the first time. So, over time, I developed a trick to get my job easier. I became pragmatic and a believer of rapid prototyping.
The more a man writes, the more he can write.My trick is not novel. It is essentially freewriting: Lower your expectations and write freely in bulk, and you will be amazed at what you produce.
-- William Hazlitt
There are two steps to this type of writing: Mess up and tidy up. The main idea is to separate drafting (messing up) from revising (tidying up).
Beginning to write, you discover what you have to write about.This is the exploration phase. The goal is to jot down any useful idea that can lead to other useful ideas and to produce in bulk. In this phase don't criticize or restrain yourself. Don't worry about good prose, clarity, style, or better wording. Don't correct the typos. You don't need to capitalize, you don't even need to write in full sentences. Just write and accumulate text. After you follow some false leads and take unfruitful paths, you will eventually start putting down some useful ideas, and write more and produce more on top of those ideas.
-- Kit Reed
It's a messy business. You wind up with shoe boxes of scrap paper.In order to loosen up, you need to go further and convince yourself that you are writing to throw these away, and not to use them. Of course the reality is that usually what you write is mostly not that bad and after some tidying up you reach an acceptable draft.
-- Cormac McCarthy
Kill your darlings, kill your darlings, even when it breaks your egocentric little scribbler’s heart, kill your darlings.This is the focusing phase. The goal is to remove the useless parts and revise the useful parts. Less is more when it comes to writing. In order to keep the writing focused, you have to remove a lot of cruft. Revel in deleting text (it is like deleting code :-), you should be happy if you can explain what you want in less words. (If you are uncomfortable with removing text, try first commenting it out or moving it at a separate junk-text buffer so you can still consider adding it back later. Often you will find that you will be OK removing that text as you grow less attached to it.)
-- Stephen King
A paragraph is the unit of composition, so start at the paragraph level. Watch the paragraphs form as you get related text together. Reorder the paragraphs and remove some of them. Check that the flow of the writing (the high-level train of thought) is there. While doing this, sympathize with the reader and consider the reader's point of view. Can the reader follow the flow? Or are there places where a reader (a distracted one, or one with different set of assumptions/expectations/background) may diverge. Work out those kinks, or (if you still feel weak/lazy/unsure) write self notes/comments about these issues so you can start addressing them in later revisions.
Easy reading is damned hard writing.Now that you have a zeroth draft, you can start reviewing and revising. You are now the editor. Forget you wrote the text produced earlier and imagine that another guy wrote it. (Shake your head rigorously, if that works for you.) Do a harsh review of the writing and identify the issues with it. Then go over the writing and try to fix as much as you can.
-- Nathaniel Hawthorne
I have often rewritten --often several times-- every word I have ever published. My pencils outlast their erasers.You are almost done. Repeat the revising step a couple more times until you feel satisfied with the writing. Do one more revision even after then. If this is a research paper, send it out to your friends/collaborators to review it for you. They may be able to find issues that escaped your senses.
-- Vladimir Nabokov
Bonus tip: Gear up
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.You will (and should) spend an enormous amount of time writing during your career, so identifying the right tools for your writing matters a lot. An outliner helps greatly for this type of writing (drafting then revising). I found that Emacs org-mode is great for writing and organizing my thoughts. Take time to find what works best for you. If you feel lazy about this, consider this: the physicists had to build telescopes and the Hadron collider as their tools, so they can get things done. Tools are really important, and you should realize that time spent mastering/customizing a tool is not time wasted.
-- Abraham Lincoln
Ever tried? Ever failed? No matter. Try again. Fail again. Fail better.Since writing is also a tool, the advice on honing your tools also applies to writing. The best way to get better at writing is by writing a lot. Write daily. By writing a lot of bad prose, you will eventually learn how to write better and get more comfortable with writing. Take every opportunity to write. Maintain a blog. Read a lot. All the while, be mindful of your writing. Always consider how you can improve it further.
-- Samuel Beckett
How do I write a research paper?Writing a research paper requires more discussion: How do you write in parallel with your research? How do you accumulate enough text to get started? How do you structure/organize your paper into appropriate sections. But these will have to come at a later post. (UPDATE: See How to write your research paper post.)
The best part about writing is stopping.
-- Colin Walters
Related postsWriting advice
How to write your research paper
How I read a research paper
My advice to my graduate students
My advice to my undergraduate students