# Quarantine Notes - Week 10


I've been starting these weekly posts with an update on how COVID-19 has
impacted me in the past week. This week, nothing really changed. I'm still
staying at home, still wearing a mask during my biweekly excursion to the
grocery store, and still compulsively using hand sanitizer whenever I come into
contact with anything from the "outside world". I suspect this is how I know
that I've truly entered into a "new normal" – when it's not even interesting to
discuss anymore.

## _On Writing Well_

This week I read
[On Writing Well](https://www.goodreads.com/book/show/53343.On_Writing_Well) by
William Zinsser. It's an opinionated guide to writing non-fiction and seems
focussed more at Professional Writers™️ than hobbyists like myself. However,
there's a lot of useful suggestions nonetheless.

Zinsser spends many pages arguing for a straight-talking writing style: eschew
adverbs, fancy adjectives, and cliches, but feel comfortable using the
first-person "I" pronoun. Use a broad spectrum of verbs. Avoid neologisms and
"Latinate nouns like 'utilization' and 'implementation'".

I'm thinking about how to apply this book to my own writing. For example, I
noticed that I have the tendency to add qualifiers like "kind of" and "a bit" to
phrases, which Zinsser argues is a quality of weak writing:

> Prune out the small words that qualify how you feel and how you think and what
> you saw: “a bit,” “a little,” “sort of,” “kind of,” “rather,” “quite,” “very,”
> “too,” “pretty much,” “in a sense” and dozens more. They dilute your style and
> your persuasiveness.

On a higher level, I also find that when picking topics to write about, it's
easy to fall victim to topic creep. Instead of writing a wandering article about
several aspects of a topic too large to discuss in a single piece, Zinsser
advices to pick a very specific subtopic. Recognize that you won't be able to
say _everything_ about that topic, and decide on the _most important_ single
thought that drives a piece. The goal of an article is to ensure that, if
nothing else, the reader internalizes that singular point:

> Most nonfiction writers have a definitiveness complex. They feel that they are
> under some obligation—to the subject, to their honor, to the gods of
> writing—to make their article the last word. It’s a commendable impulse, but
> there is no last word.
>
> As for what point you want to make, every successful piece of nonfiction
> should leave the reader with one provocative thought that he or she didn’t
> have before. Not two thoughts, or five—just one.

Reading through "On Writing Well" made me want to improve my recreational
writing. When I was in school, I remember feeling satisfaction in wordsmithing
an essay until it was as tight as I could possibly make it. I find it hard to
summon the same energy to rewrite and revise blog posts. Of course, it's OK to
write in an informal style, and not every blog post needs to be a master work.
"Writing for quality" is a level above "writing as a means of organizing
thoughts"; the latter is a process, the former is a craft.

"On Writing Well" reminded me that writing is a skill I want to develop, and
that communicating clearly without jargon is difficult.

## `feedly-to-sqlite`

This week I wrote and published
[`feedly-to-sqlite`](https://github.com/bcongdon/feedly-to-sqlite), a CLI tool
to export your Feedly subscriptions to a SQLite database. This is part of my
increasing usage of [Datasette](https://github.com/simonw/datasette), a really
cool tool for exploring datasets.

This fits within the [Dogsheep](https://dogsheep.github.io/) ecosystem, which is
a collection of CLI tools that export data from various internet services into
portable SQLite databases. I've written similar tools for exporting data from
[Beeminder](https://github.com/bcongdon/beeminder-to-sqlite) and
[Todoist](https://github.com/bcongdon/todoist-to-sqlite). Dogsheep maintains a
bunch of other exporters for services like Github and Twitter.

Datasette ingests the SQLite database(s) created by an exporter, and provides a
friendly web interface for querying and basic visualization. It's the brainchild
of [Simon Willison](https://github.com/simonw/), one of Django's co-creators,
who has been using it for some cool
[data journalism projects](https://simonwillison.net/2019/Sep/10/jsk-fellowship/).

This probably warrants its own post, but I strongly agree with the philosophy of
Dogsheep: everything lives in a SQLite database (that you own!), each exporter
tool is its own separate CLI, and Datasette is an extremely flexible tool to
explore data. The Dogsheep ecosystem is totally self-hosted (you own your data)
and free (as in beer), unlike personal data aggregator platforms like
[Exist.io](https://exist.io/) and [Gyroscope](https://gyrosco.pe/).

## `codemod`

I was working on a large refactor at work this week. The technical details
aren't super interesting, but the task involved performing a rote
find-and-replace operations over several dozen files. I've been increasingly
using [codemod](https://github.com/facebook/codemod) for these types of tasks.

Codemod allows you to search and replace using regex in a large number of files.
There's nothing special about it. I'm sure you could replicate it's
functionality with `find` and `sed`. But, it's good at what it does, and has
some nice quality-of-life affordances, like prompting you for each replacement
with an option to jump into an editor and make fixup changes on-the-fly.

## Assorted Links

-   [This Decoder Ring episode](https://overcast.fm/+M6VmMBft8) on the 2011
    viral hit ["Friday"](https://www.youtube.com/watch?v=kfVsfOSbJY0) was
    excellent.
    -   I remember when Rebecca Black's "Friday" first surfaced, the dominant
        narrative was that the music video had been paid for by Black's parents,
        with the insinuation that Black was a "spoiled rich kid". Of course,
        this was used as justification for all sorts of mockery and internet
        bandwagoning. Unsurprisingly, the truth is more subtle.
-   [Covid-19 Slang and How Language Evolves Quickly in Stressful Times](https://kottke.org/20/05/covid-19-slang-and-how-language-evolves-quickly-in-stressful-times)
    by Jason Kottke.
    -   In early march, I
        [predicted](https://twitter.com/BenRCongdon/status/1238272216216645637)
        that "social distancing" would be the word-of-the-year for 2020. Two
        months later, I stand by that prediction. COVID-19 has injected many new
        phrases into popular usage: "flatten the curve", "essential worker",
        "Zoom call". I observed this week that my family uses "Zoom call" to
        refer to any video chat. Though we use a combination of Google Meet,
        Microsoft Teams, Facetime and, yes, Zoom for work and social occasions,
        "Zoom call" has become the colloquial catch-all.
-   Kevin Kelly's
    [68 Bits of Unsolicited Advice](https://kk.org/thetechnium/68-bits-of-unsolicited-advice/)
    is worth a thorough read. These types of articles tend to be horrible
    listicles filled with survivorship bias. When this article first made the
    rounds, I skipped it. However, I'm glad that someone recommended it to me.
    Each of these bits of advice is worth pondering for a second.
    -   My favorites:
        > The purpose of a habit is to remove that action from self-negotiation.
        > You no longer expend energy deciding whether to do it. You just do it.
        > Good habits can range from telling the truth, to flossing.
        >
        > Optimize your generosity. No one on their deathbed has ever regretted
        > giving too much away.
        >
        > How to apologize: Quickly, specifically, sincerely.
    -   I also enjoyed reading
        [Jason McIntosh's response](https://fogknife.com/2020-05-10-personal-reflections-on-kellys-68-bits.html).

