# text is copy-paste of the second paragraph
# text <- c("...") ... == copy-paste
# split using "; "
<- stringr::str_split(text, "; ")
sp
# To create a checklist
# DASH SPACE [ ] SPACE SPACE
<- paste0("- [ ] ", unlist(sp))
sp # append markdown title
<- c("# Paul Graham's Writing Checklist", sp)
sp
# Capitalize first letter of every sentence
<- stringr::str_to_sentence(sp) sp
I spent a good portion of the end of 2019 and the beginning of 2020 reading Paul Graham’s essays. Many caught my attention (and my fingers to take notes). I want to comment on an essay about advice for good writing. Because it was written in a way that allowed for easy reformatting (ideas separated by ;
), I thought it would be cool to convert the prose into a checklist).
Creating the checklist
The main text comes from here. For simplicity, I have only used the main paragraph (aka, copy and paste the second paragraph). I omitted it here because it would be long and you can read it in the native format from the source.
In the code chunk below I comment the steps I took.
If you want to write it to file, you can use writeLines()
# write
<- file("paul_graham_writing_checklist.md")
fileConn writeLines(sp, fileConn)
close(fileConn)
# If you want to knit to html you can do this
# knitr::knit2html("paul_graham_writing_checklist.md")
Let’s take a look at the product:
# printing for web post
cat(sp, sep = "\n")
# Paul graham's writing checklist
- [ ] Write a bad version 1 as fast as you can
- [ ] Rewrite it over and over
- [ ] Cut out everything unnecessary
- [ ] Write in a conversational tone
- [ ] Develop a nose for bad writing, so you can see and fix it in yours
- [ ] Imitate writers you like
- [ ] If you can't get started, tell someone what you plan to write about, then write down what you said
- [ ] Expect 80% of the ideas in an essay to happen after you start writing it, and 50% of those you start with to be wrong
- [ ] Be confident enough to cut
- [ ] Have friends you trust read your stuff and tell you which bits are confusing or drag
- [ ] Don't (always) make detailed outlines
- [ ] Mull ideas over for a few days before writing
- [ ] Carry a small notebook or scrap paper with you
- [ ] Start writing when you think of the first sentence
- [ ] If a deadline forces you to start before that, just say the most important sentence first
- [ ] Write about stuff you like
- [ ] Don't try to sound impressive
- [ ] Don't hesitate to change the topic on the fly
- [ ] Use footnotes to contain digressions
- [ ] Use anaphora to knit sentences together
- [ ] Read your essays out loud to see (a) where you stumble over awkward phrases and (b) which bits are boring (the paragraphs you dread reading)
- [ ] Try to tell the reader something new and useful
- [ ] Work in fairly big quanta of time
- [ ] When you restart, begin by rereading what you have so far
- [ ] When you finish, leave yourself something easy to start with
- [ ] Accumulate notes for topics you plan to cover at the bottom of the file
- [ ] Don't feel obliged to cover any of them
- [ ] Write for a reader who won't read the essay as carefully as you do, just as pop songs are designed to sound ok on crappy car radios
- [ ] If you say anything mistaken, fix it immediately
- [ ] Ask friends which sentence you'll regret most
- [ ] Go back and tone down harsh remarks
- [ ] Publish stuff online, because an audience makes you write more, and thus generate more ideas
- [ ] Print out drafts instead of just looking at them on the screen
- [ ] Use simple, germanic words
- [ ] Learn to distinguish surprises from digressions
- [ ] Learn to recognize the approach of an ending, and when one appears, grab it.
The checklist is not in strict chronological order, so I might try to reshape it later into something that would make more sense as a timeline. It will render as a checklist in something that is GitHub flavored (e.g., on GitHub). However, I will probably just use it as text file or print it as is.
I also noticed that the link for the Spanish translation is broken/outdated, so I tried my best to translate it. Here it is
Summary
I think this checklist is an awesome learning opportunity and a clear path to improving one’s writing. Quite happy to have found it, looking forward to improving my skills.
I got to learn a few cool R things like, 1) I can use writeLines()
to write a .md
file and 2) stringr::str_to_sentence()
is an awesome function.
Reuse
Citation
@online{andina2020,
author = {Andina, Matias},
title = {Writing {Checklist}},
date = {2020-01-02},
url = {https://matiasandina.com/posts/2020-01-02-writing-checklist},
langid = {en}
}