Blog drafts


This is the landing page for my notes.

This is 100% inspired by Andy Matuschak's famous notes page. I'm not technically skilled enough to replicate the full "Andy Mode", though, so I just did some simple hacks. If you're curious how these notes compiled, check out the summary in How these notes are made into HTML pages.

This is my "notes garden". I tend to it on a daily basis, and it contains some of my less fully-formed thoughts. Nothing here is intended to be cited, as the link structure evolves over time. The notes are best viewed on a desktop/laptop computer, because of the use of hovers for previews.

There's no formal "navigation", or "search" for these pages. To go somewhere, click on any of the "high-level" notes below, and enjoy.

  1. Notes on statistics
  2. Notes on differential computing
  3. The State of Data Science
  4. Network science
  5. Scholarly readings
  6. Software skills for data scientists
  7. The Data Science Programming Newsletter MOC
  8. Life and computer hacks
  9. Reading Bazaar
  10. Blog drafts
  11. Conference Proposals

Working in niche places can be satisfying

Over the years, I found that I gravitate most naturally to the places where eyeballs are not really focused on. These are the topics that are maybe up-and-coming, but not so popular. In the bell curve of adoption of new ideas, I think I like working at the 1-2 sigma ahead-of-the-population regime.

Building a great personal knowledge graph with Obsidian

Obsidian is a very unique product amongst personal knowledge management software. Over a recent two-week break that I took from work, I spent some time really digging into Obsidian and the broader idea of "personal knowledge graphs".

One particularly excellent example of how to build a personal knowledge graph is done by Andy Matuschak.

Why Obsidian?

Some of my own notes on Obsidian:

  1. Obsidian is an IDE for linked thought
  2. Obsidian operates on open standards
  3. Publishing Obsidian vaults is cross-platform and portable

How to build an effective notes/knowledge graph

How should notes be written to make an effective knowledge graph?

Paraphrasing Andy Matuschak:

  1. Notes should be atomic
  2. Note titles should imperatively advance one idea
  3. Notes should be centered around concepts
  4. Notes should be linked densely

And my own thoughts tacked on:

  1. The knowledge garden should be tended to daily

How to build the notes site?

Now, what were the exact steps in building out the notes website?

Firstly, I used Obsidian to author the notes. The fact that it's a great IDE for linked thought helps a ton.

Secondly, I used an unpublished, install-from-source-only Python package, apparently developed by a Google engineer called Lettersmith to compile the markdown files into HTML files. I followed a baseline script by another GitHub user @kmcgillivray, who made obsidian-lettersmith, which provided a starter script I used as a base. I used a Jinja template to populate each page.

Thirdly, I re-visited Bootstrap docs to get styling done in a Bootstrap-idiomatic style. Previously, I was completely unaware of the styling utilities available. This meant I was maintaining very poorly-documented CSS hacks to get styling done right. By using the Bootstrap 4 utilities, I was able to compose together styling in a fashion that was much, much easier to maintain.

Fourthly, I wanted hover previews, which meant hacking the Jinja template with some custom JavaScript. Not pretty, and a bit verbose in the compiled pages, but it worked :).

By this point, I was happy enough with the sort-of-replicated Andy site.

I continue to use Obsidian to author the notes. As an IDE for linked thought, the graph view helps me see which notes are still isolated to one another; this gives me a great visual hint as to where I could add more links. I also continue to hack on the notes UI. The source code is in a private repository at this point, as I have plans to separate out the code for building the site from the notes source.