The Zettelkasten

I have always been a bit of a nerd about note taking and knowledge management systems. I read David Allen’s Getting Things Done with relish, and I’ve obsessively experimented with every iteration of note taking apps and tools mankind has created. Trello, Todolist, Evernote, Bullet Journal, you name it. I think my obsession in this area is mostly driven by the combination of my love of useless trivia and my immense capacity for forgetfulness, a perfect recipe if ever there was one for developing the habit of writing things down.

Read More…

Introducing ijq, an Interactive jq Tool

If you’re unfamiliar with the tool jq, it describes itself as the “sed for JSON”. It’s a powerful command line tool that lets you do complex parsing and manipulation of JSON documents and is extremely useful for testing APIs or analysing JSON datasets. One challenge with jq, however, is finding just the right filter. The query language that jq uses is not always obvious, so typically you’ll spend a bit of time getting it just right to select the data you need.

Read More…

Managing Dotfiles With Git

Managing so-called “dotfiles” (config files starting with a . in your home directory) in git is a fairly common practice. There are many write-ups on this topic already, but I wanted to share my own workflow as well as some potentially useful tips and tricks.

Read More…

Building Site Search With Hugo

Search is a handy feature you might want on your Hugo static site. Hugo does not have any built-in way to provide a search function, but they do offer some suggestions on how to do it yourself. The difficulty with implementing a search function is that it usually requires some kind of server side logic, which is obviously missing when using a static site like Hugo. So any search implementation must be done entirely on the client side.

Read More…

Books for Beginner Economists

I am not an economist by any definition of the word: I haven’t taken a formal economics class since high school. But in the last few years I’ve read a few books that have introduced me to the wonderful, fascinating world of economics, which I now consider one of my favorite subjects. Two books that provide a good grasp on foundational economics are Naked Economics by Charles Wheelan and Undercover Economist by Tim Harford.

Read More…

Creating Your Own Git Server

Ever considered setting up and running your very own git server? It’s actually quite easy! In this post, I’ll outline the steps I took to set up my own so that you can give it a try yourself. But first, why might you even want to go through the trouble of setting up your own server?

Read More…

Caching LDAP Queries in Mutt

You can use the lbdb tool to query an LDAP server within Mutt using the query_command setting. Setting up lbdb is out of scope for this article, although you can find plenty of documentation and examples online (here and here, for instance). One drawback to this approach, however, is that everytime you want to look up a recipient in Mutt you have to query your LDAP server, which can be quite slow.

Read More…

Git Plumbing

Porcelain and Plumbing git commit Plain English: Create a new tree object from the current index and create a new commit object from that tree. The commit object combines a commit message, parent, date, author, committer, and the tree. Update the ref pointed to by HEAD with the hash of the new commit object. Plumbing Once files are in the index (using git add or git update-index) use git write-tree to create a new tree object:

Read More…

You Don't Want a Tax Refund

Tax time is approaching and this year, like every year, it is common to hear people excited about receiving their tax return discussing the exciting purchases they plan on making with this perceived windfall.

I want to challenge this conventional wisdom by stating a true but unpopular fact: getting a tax return is not necessarily a good thing and, in most cases, is actually the least desirable financial outcome one can achieve.

Read More…