Archive the Internet

As the Internet continues to grow and age, we are seeing more and more of a phenomenon called “link rot”. Link rot is the all-too-familiar experience of returning to a bookmark or link only to find that it’s no longer maintained, been taken down, or even changed to something else. What can we do about this?

Read More…

2019 Reading Review

In 2019, I read 27 books. This was less than last year’s 40 and is not an overly impressive quantity for any serious reader, yet I’m happy with both the amount and the content that I read this year. Below, I’ll give a brief summary of my favorites.

Read More…

Evaluating Markdown Code Blocks in Vim

When writing Markdown it is common to have code blocks within your document that look something like this:

This is a code block:
echo "Hello, world!"

One of the great features of Emacs’ Org mode is its ability to evaluate blocks of code from within the editing environment. I always appreciated this feature about Org mode which got me to thinking about implementing something similar in Vim.

Read More…

Write Your Own Man Pages

This post was inspired by the tool um. I decided to try my hand at making my own lightweight implementation using just a shell function. I decided to name my tool ual as a nod to the fact that it complements man.

Read More…

The Birthday Problem

The “Birthday Problem” is a classic in introductory probability theory, and it never fails to impress the newly initiated. The problem goes like this:

How many people do you need to have in one room for the probability that at least 2 people in that room share a birthday to be 50%?

The answer may surprise you. Before we get to the answer though, let’s go real briefly into the math behind it.

Read More…

Make Your Mac Clean Itself

Update (6/18/2019): Since writing this post I have released a tool called pushbroom that should make all of this easier. If you have Homebrew installed simply run

brew install gpanders/tap/pushbroom

from the Terminal. Follow the instructions on the screen to setup the configuration file and start the pushbroom service.

Read More…