You Need a Mustache

Our household recently switched to You Need a Budget (YNAB) after many years of using Mint.

YNAB is missing a report I’d find useful: Savings Rate. That metric is the most important consideration in Mr. Money Mustache’s “Shockingly Simple Math Behind Early Retirement”. YNAB has a well-documented API so I was thinking of making a tool, You Need a Mustache (YNAM), where one can oAuth into their YNAB account and get that calculation from all that transaction data.

Another YNABer started a project similar to this called Budget Reports, so I know I’m not the first person to get this joke. But there seems room here for other 3rd party reporting tools.

If you’re also a Mustachian and YNABer, leave a comment if you’d find any use in a tool like this or if there’s anything else you think is missing from YNAB.

Warming Up with Coding Cardio

One of my favorite resources to point front-end people to is Wes Bos’s JavaScript30 course on YouTube. In particular two of the videos which he calls “Array Cardio.” While most of the videos are little projects you can make in about 30 minutes, those two days have less of a result and are mostly about using all the array methods and just printing all the results into the console.

It’s a really enjoyable process: focusing on the fundamentals of the language you’re working in. And this morning I found myself needing something similar. I have a couple heavier projects on my mind and getting my mind ready to work on them was proving difficult. It wasn’t a procrastination problem, just a clarity problem.

For some reason the “cardio” idea came to mind, which reminded me of another little project I have on the backburner: working through Learn Python the Hard Way. That course is almost entirely code cardio, very intentionally. To use Zed’s words:

It’s only the “hard” way because it uses a technique called instruction. Instruction is where I tell you to do a sequence of controlled exercises designed to build a skill through repetition.

To start my coding session off, instead of getting right into the PHP I’d be doing the rest of the morning: I actually did a lot of typing in Python using the next exercise from LPTHW. Like a light jog before a workout, it was exactly the trick I needed.

What You Do and How You Do It

When examining my career, I describe most of my efforts both ways. It’s why I’ve pushed so hard to improve on a craft I believe in. Until today I don’t think I’ve ever sold myself that way.

What I do: WordPress developer, front-end developer, full-stack developer, PHP developer.

How I do it: on time, just-in-time, humbly, transparently, remotely, honestly.

I used to think the “what” could make me rare and valuable. But more and more the feedback I get says it’s the “how.”

Todoist: My Current Toy for Tasks

Speaking of toys, one of my latest favorite toys is the task manager Todoist. At work we had project management software and I made a point to route most of my day through that, but all my personal notes, todos, reminders and whatnot have been through Todoist since August. Now that I’m flying solo, I’m putting all my freelancing tasks through Todoist as well and it’s been amazing.

What to look for in a Todo app

The only thing I care about in a todo app is “what does the app assume I care about?” Productivity apps almost always work better when you follow their system instead of trying to force your system upon them. So when I started considering Todoist what really sold me was a particular blog post from the company’s founder in 2016, “Systemist: A modern productivity workflow“. The post outlines how Todoist assumptions basically start with the classic Getting Things Done (GTD) methods but let’s all admit to ourselves that some of the GTD decision tree is just in the way. What Todoist assumes I want is to capture tasks and thoughts into my inbox really quickly, from everywhere you’d expect to get tasks and thoughts. From there it assumes I want nicely filtered views while I’m in action mode so I can concentrate on only the tasks I want to work on. On these two fronts I’ve been able to more rapidly adopt Todoist than any other task application I’ve used in the past.

Quick add even quicker

Many features and integrations make it easy to add tasks. Perhaps most importantly they don’t feel like additional tools to learn, they’re just part of the system.
  • The quick-add toolbar feels a lot like Alfred workflows, but even better
  • The natural language syntax for projects, labels, and reminders doesn’t have to be taught, it just happens
  • Todoist for GMail and Todoist for Chrome are really stable and make adding emails or webpages as tasks really fast
Between those three options, I already was capturing more tasks than I normally would.


I wholeheartedly endorse Todoist if you’re in the market for a todo application. However,going into it you should really think of it as a $30/yr application not a freemium application. The free version is great for giving you a feel for how it works, but I really cannot imagine trying to tame a monkey brain without the premium features. Labels, reminders, and comments are really all essential.


I’ve been avoiding opening comments on my blog posts, but in this case I’m kind of interested to know if any of my friends use Todoist and what they think about and I’m also open to questions on how I use it. So comments are open!


If you purchase Todoist Premium and use my referral link I get 2 extra months of premium, which I love. Thanks in advance for the click:


My boss liked to poke at me because of how much I enjoy my “toys:” the little tools, tricks, and habits I’ve picked up over the last five years. But I’m starting to learn  the toys I play with have a profound effect on the decisions I seem to make.

Let me be clear: he was never hurtful. It just shows how different we approached our identities as developers beyond our immediate work where we held so many of the same opinions.

Does it really matter if I like Carbon to make source code snippets look nice? Probably not. It’s just a toy and there are a hundred other ways to share code snippets. But I bet I also read a lot more 🔥tips on twitter than he does, and in that circle of devs Carbon is super common. People like us share code like this.

Terminal vs Hyper. Google Docs vs Simplenote. Plain text vs Markdown. QWERTY vs Colemak. It would come up all the time how not only did I not use what everyone else used, but I very much loved my choice for one reason or another. The point being not that we disagreed, but that it seemed kind of silly that I would spend time even considering my preferred toy when the normal kind does just fine.

Toys are Tools When Work is Play

It might be my downfall one day, but my love of the tools in my craft is part of why I love the craft itself. I spend too many hours a day trying to make good art not to feel like my tools are helping me instead of hurting. Software, hardware, my chair and desk (yes, I have a sit/stand desk) have all been carefully improved upon bit by bit for a long time. And the more I feel at home with these tools, the more my art is just a game I play.