Writing on GitHub

I’ve been using google docs for writing for two years but I’ve recently decided to move to GitHub. Yes, you heard that right. Writing on GitHub. I’m attempting to make this change for the following reasons.
- Consistent Public Output
As a knowledge worker, I should be producing a steady stream of content. I was trying to hold myself accounting to writing every day by sticking to a daily routine that included study and writing but it was hard to visualize and see exactly what that looked like. Maybe I missed one day but wrote a lot another day. The don’t-break-the-chain habit pattern is powerful and now I’m getting it for free via the GitHub contribution widget. No app required.
2. Collaboration
Google docs are very easy to share and convenient to collaborate with others in. Up to a point. It’s super easy to share a screen and get some content out in the form of a first draft but as a body of content begins to mature, it’s extremely important to know exactly what is being changed. I’m not aware of anything that provides that level of refinement besides source control.
3. An API for Agreement
Git has the concept of requesting and accepting changes built into how it works in the form of pull requests. This acts as a kind of contract for what gets accepted and from who. A shared google doc doesn’t capture that as powerfully.
4. Markdown
Copying and pasting formatted text from one word-processing environment to another is clunky and almost always an awful experience. Writing in Markdown does away with all this and provides a universal file format that can be used as plain text, formatted text, or HTML all in one.
5. Writing on Software
I’m not primarily writing novels. I aspire to be producing writing that is tightly integrated and dealing with software development so the medium of GitHub strongly lends its self to this idea.
6. Writing Produced by Software
I’m fascinated by how content generation is falling within the domain of computer science. With the announcement of language models like GPT-3, I think we should be exploring how we can leverage these technical capabilities to augment our content creation.
7. Versioned Canonical Links
I intend on posting much of what I’m writing to Medium. One reason for this is that Medium lets you post a canonical link pointing to where the original article appeared. I like the idea that I can point to a commit and that a person can see the history of that work and it also allows me to post that body of content at a later time after it has morphed and transformed into something else and use the later commit for the canonical tag.
In a future post, I’ll describe:
- The details of my new writing setup
- Steps to migrate existing Google docs projects to GitHub
- A status report on how things are going
My follow-up post here: Writing on GitHub II