Hello Friends,

I'm having trouble writing this today. I'm already two days late, and I feel completely uninspired.

Spring has been sputtering hesitantly to life around here. Here is a flower of some sort from my front garden.


While I was working with Betsy Haibel on her Asynchronous JavaScript course I got curious about what some of the patterns would look like in Ruby. Specifically, I wanted both to understand Promises better, and figure out whether they were also necessary in a language like Ruby that has built-in Fibers (short answer: nope).

I spent a lot of the past week writing and re-writing Ruby demo code to explain various async patterns like demultiplexing, Reactor, Promises, and JavaScript's async/await keywords. This is all going to make its way into some RubyTapas episodes. But now that I've spent as much time on it as I have, and written this much code about it, I think I'd like to expand it into a course of some kind. “Understanding Async with Ruby and Marshmallows”, how does that sound? Would you be interested in such a course?

In the process I wrote up a list of all the many ways I misunderstood Promises along the way.


I am very anxious today. For the usual reason, money. My income consists of a) subscription income plus b) some kind of special sale or two, often of a new product, over the course of a year. I haven't done (b) in quite a while, and I'm getting to the point of wondering if I'll make each upcoming month's expenses.

This anxiety always comes with a heaping helping of frustration at the sense that I'm constantly mired in upkeep. I want to make new things and yet week after week I feel like I just tread water. It's a vicious cycle: the longer I do it, the less inspired I feel.

And then when I do  have time to work on something big, I feel like I don't know what project to choose and so I dither.

I wonder if this is what it's like for other people in my line of work? I'm pretty successful as pro-developer-trainers go. I wonder if other people who do what I do, feel this way?

My laptop is failing and this is bumming me out too. I really want to buy a shiny new video editing laptop to take the failing laptop's place while it's in the shop, and then to become my “home” machine once my little lightweight Spectre comes back to me.

Do I need to buy a shiny new laptop? No. I could resurrect one of my old machines for the interim. I want to buy a new one because I'm anxious and stressed and feeling useless, and my brain wants to avoid these feelings with dopamine. Shiny new computers come with lots of dopamine. Unfortunately, it always runs out.


It's time to take a consulting gig for extra revenue. Well, not just extra revenue. I haven't worked with a team since… 2011? I burned out hard on working other people's problems, and that burnout played a big role in the creation of my education business.

I want to be in the thick of it again. I've had a lot of new ideas since my last coding job, and I want to have a real sociotechnical system to bang those ideas against. See what sticks and what falls apart.

And I want to feel the pain again. I want to remember firsthand why I care about making systems better. Maybe feel some of the frustrations that burned me out last time around, but this time collaborate on ways to overcome them.

In short I crave inspiration. If you have a lead on a position you think might be right for me, please do reply!

Prefer part-time and flexible, since I still have a business to run. Must at least partially involve pairing/coaching/collaborating with other people. Bonus points if the company doesn't mind me livestreaming some of the work.


OK here's the thing: I take a look at my situation. I come to the conclusion: I will take a consulting gig. This will help.

Then I waffle, and dither. If I take a consulting gig, I won't be able to work on new products! I won't be able to do any of the stuff on my list! What if it's a terrible mistake?!

But (and here is where I give myself advice): interaction spurs progression. The point is not to make the right call. The point is I need to put certain stresses on my mental system in order to cause it to respond in desirable ways.

Stresses like time pressure. Stresses like other people's perspectives and questions. Stresses like client expectations. I can't simulate these stresses.

This is what I don't remind myself of often enough. Analysis paralysis is never-ending. A nice hike or a vacation in the tropics can help with clarity, but true shifts only occur under stress. And true inspiration only occurs in friction with other ideas. I don't need to make the right call, I need pressure to force me to make more calls.


OK, let's see how I did. I'm going to cut myself some slack and include stuff I did in the “overtime” since Sunday.

  • Burn Catch up on snail-mail. For real. I only got about 2/3 of the way through but I'm counting this as a win.
  • ✔ The usual RubyTapas stuff, including several guest chef meetings. Done.
  • ✔ Actually show up for a >Code episode. Done! We talked to “Pragmatic” Andy Hunt and it was great 😁
  • ✔ Write and record VO for two RubyTapas episodes.
  • ✔ Go running. I got three miles in and I am gloriously sore.
  • ❌ Investigate my options for some part-time consulting work. I did not scope this well enough.
  • ❌ Livestream on my own at a “regular” time. Didn't happen.
  • ✔ Livestream with Jessica. Did happen! We paired on her Atomist microgrammar GUI.

What's next:

  • The usual RubyTapas stuff.
  • Nail down March travel plans.
  • Write and publish a post about the consulting gig I want to pick up.
  • Evaluate open loops of projects-that-could-be-generating-revenue-if-I-finished-them, pick one and make a concrete plan to finish it by a specific date.
  • Submit to a conference.
  • Clean up the weightlifting room so I can start working out there again.

Published by Avdi Grimm

Leave a Reply

Your email address will not be published. Required fields are marked *