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: https://todoist.com/r/alex_xiwmok


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.

Better Alfred Hotkeys with Karabiner

One of the better decisions in my work was pushing as many of my workflows as possible through Alfred. My brain is now configured that if I ever think “I need to do…” it just immediately opens Alfred and muscle memory takes over from there.

Tonight I downloaded Karabiner and this is definitely going to level up my Alfred game again. The first immediate boost was mapping the nearly-useless Caps Lock key to a “hyper” key, equal to Shift+Ctrl+Option+Command.

All my Alfred stuff is now available at CapsLock+F, keeping my left hand on the home row. My frequently-used Clipboard viewer is now at CapsLock+C, a comfortable shift.

And now I’m waaaay less likely for any of my Alfred commands to interfere with keyboard shortcuts! Had that been happening to me? Yes it had. But no more!

I’m going to think through some other useful mappings (like maybe prefixing some TextExpander snippets with a weirder combo) later but even this first change is proving useful. h/t Wes Bos on Syntax

Featured Image from Caleb Woods

CSS Grid Course from Wes Bos

I’m turning into a bit of a Wes Bos fanboy. He’s about my age, but been in the game much longer than I. His development career seems to match a lot of what I’m trying to make mine: advanced WordPress and full stack JS.

But most recently I’ve enjoyed his (free) CSS Grid course. The more I do with CSS Grid the more I like it and this course really shows off what it does well.

“Tomorrow: You’re Hosting…”

By which I mean that I’m hosting, but Meetup sent me a reminder.



We’re going to be talking Gutenberg, and if there’s interest I might quickly demo the recently announced support of plugins and themes on the WordPress.com Business plan.

RSVP for the event on Meetup.com, and note we have a new location.

August WordPress Meetup (New Location)

Tuesday, Aug 8, 2017, 6:15 PM

659 S 8th St
659 South 8th Street Louisville, KY

9 WordPress Users Attending

The WordPress Louisville meetup comes to a new location on August 8th.## TopicGutenberg, the new post editor, is currently available as a beta plugin. Its block-based approach is quite a departure from the current editor experience. We’ll take a look at Gutenberg, go over how to try it out yourself, and how you can get involved with the project….

Check out this Meetup →