Reading List

The most recent articles from a list of feeds I subscribe to.

How to Hire a Cartoonist to Make Your Blog Less Boring

I had just completed a passionate blog post.

Too passionate, maybe, as I had written over 8,000 words. That’s 1000x longer than the average Buzzfeed article. Worse, it was a giant wall of text with nary a visual element to break it up aside from some screenshots and a few tables. Ooh, exciting tables!

An Illustrated Book of Bad Arguments book cover

An Illustrated Book of Bad Arguments by Ali Almossawi

KetoHub Update: Month 3

In early October, I launched a new website, KetoHub, a recipe aggregator for keto meals. Each month, I’ve evaluated the site’s progress to decide how it’s doing and what areas need improvement.

I’m doing my evaluation of December publicly. Here’s what was good, bad, and learnable about KetoHub last month.

Improvements in December

The most visible change is that KetoHub now has a logo. Behold!

KetoHub logo

KetoHub logo

Deploy static sites to Digital Ocean with Travis CI

This blog is written with Hugo, a static site generator written in Go. I also have a second blog that uses Hugo as well - and while I love the speed and simplicity of this system, it’s still a pain to deploy by ssh-ing into my remote machine, pull updates, and build manually. Even when I can authenticate via YubiKey ;) So over the Christmas holiday, I automated the deployment of this blog whenever I push to the master branch.

Set up 2FA on Ubuntu with YubiKeys

What’s a YubiKey? A YubiKey is basically a tiny device that plugs into your USB slot and pretends to be a keyboard. When you tap the little golden disc, it types out a One Time Password (OTP). Through the Yubico API, you can easily validate this password, and use it in combination with another method of authentication (such as a password or ssh key) to achieve two-factor authentication (2FA). Many popular websites like Google, Facebook, and Github allow you to enable 2FA via YubiKeys.

The Perils of Outsourcing Your MVP

A few months ago, I had a brilliant idea for a website. Then, I had an even brillianter idea: build the website, but outsource all the work.

Every great website starts with an MVP: the minimum viable product. It demonstrates the idea in its simplest form to test whether anyone is interested. When Twitter launched their MVP, you could only tweet pictures of Russet potatoes. Slack famously launched with language support limited to pig latin. Netflix is now so synonymous with instant streaming that you may have forgotten its first version, which required you to select a movie, then wait several days until Reed Hastings arrived at your house to act out the plot himself.