Category Archives: Productivity

2026 4DX: Third Discipline

This is the third post in series of how I am implementing The 4 Disciplines of Execution [affiliate] for 2026 towards one goal each in my business, fitness, and personal life. I discussed the first [1st DX] and second [2nd DX] disciplines in previous posts.

  • Business: [1st DX] Make Amazon Ads for my book break even. [2nd DX] Find readers, ask for reviews.
  • Fitness: [1st DX] Improve 5 lifts by TBD. [2nd DX] Lift 3x/week.
  • Personal Growth: [1st DX] Get to CEFR level TBD in Spanish. [2nd DX] Focussed and repeat listening to beginner Spanish podcasts.

In the third discipline, we design scoreboards to tell us if we are winning. The idea here to make it impossible to not know where the leading indicators are. The ideal is like a sports scoreboard—easy to glance and focussed on the one thing we are trying to do (score points).

My leading indicators for my business goal are the count of known readers and a count of known reviewers. Behind that I will have the list of names, but the scoreboard should just show the count. I will also make a goal that I can track against.

I already have the scoreboard for my fitness goal, which is just a spreadsheet tracking my lifts. I only need to track my last rep count and weight.

For the Spanish goal, I need to pick some number of repetitions that I think it will take to be able to listen to a podcast with full comprehension. I will have to just try over the next couple of weeks. Once I have that, I just need to track that number each week.

The fourth discipline is to build in some accountability. This is easier for the book’s intended use, which is for teams. The 4th DX is just to have a dedicated meeting where they make sure that the leading indicators are moving and that they seem to be resulting in the WIG. I will need some time to think about this, so I’ll probably take a detour in future posts and get back to it in a week.

2026 4DX: Second Discipline

Yesterday, I wrote about the first discipline from The 4 Disciplines of Execution [affiliate]. In that post I set up three ideas for Wildly Important Goals for 2026.

By the end of the year:

  • Business: Get my book to a stage where Amazon ads are break-even.
  • Fitness: Improve 5 lifts by X pounds (TBD), while maintaining my body weight.
  • Personal: Get to CEFR level (TBD) in Spanish.

All of these goals are easy to assess, but they aren’t a plan. In the 2nd discipline we try to define a leading indicator that we can work on at any time.

To accomplish my business goal, I need to improve my Amazon listing and find the right price such that it’s breaks even with the ad cost. To start, I will need to do a small ad spend just to see what my conversion rate is.

The easiest way to improve my listing is to get more reviews (aside: if you bought my book, please review it on Amazon). The best way to get a review is to ask readers directly, and to do that, I need to know who my readers are. So, the action I need to do is to write personal emails or LinkedIn DMs to people that have told me they bought the book and ask them to review the book. I will also use all my other marketing channels (e.g. this blog, my mailing list, Linked In, networking) to try to find my readers.

My fitness goal is just to follow Radically Simple Strength [affiliate]. I am doing the beginner plan and I have some time before this stops working. The leading indicator is my current max weight for 5 reps at a lift. I am doing the 3x/week plan, which cycles through the lifts. I should also make a nutrition plan to go along with this, but generally I have tried to eat cleaner and enough to support muscle growth.

For my personal goal, I need to just spend more time studying. I do DuoLingo, Fluent Forever, Mango, and my own Anki deck at various frequencies. But, I think that the main thing I could do to improve immediately is to listen to long-form beginner Spanish audio (like Dreaming Spanish) more seriously. I think my leading indicator would be to listen to one of these several times per week (the same one), at first with a transcript, and then over and over. The first few listens need to be focussed and undistracted (getting 100% comprehension), but later listens could be on walks, during errands, while lifting, etc.

Tomorrow, I will use these leading indicators in the 3rd discipline, which is to build a compelling scoreboard that tells you if you’re winning.

2026 4DX: First Discipline

This is the first post in a four post series that will show how I implement The 4 Disciplines of Execution [affiliate] (4DX) for my aspirational goals.

The first discipline is to identify your Wildly Important Goal (WIG). In the book, the authors make a distinction between the “whirlwind” of activity that you must do to keep the lights on and a WIG that will in some way transform your business (or life, or whatever). I use their method to set a WIG in three segregated parts of my life: business, personal, and fitness. To find this goal, I use the suggestion of The ONE Thing [affiliate], which has you identify the ONE goal that makes all other goals easy or unnecessary.

A WIG is similar to a SMART goal (Specific, Measurable, Achievable, Relevant, and Time-Bound) or an OKR (Objective and Key Result). It should be easy to assess if you have achieved them. For a sports team, a WIG is winning the championship, which is a binary outcome on a specific date, but not a plan. For a battalion, it might be blowing up a bridge. We might change plans all year to achieve these goals, but hopefully, the goal is stable.

For the past month, and until the end of the year, I am doing experiments that will help me finalize them. Here are my ideas so far.

For my business, I want my book, Swimming in Tech Debt, to have reached its next stage of growth. Right now, I am not concerned with maximizing profit, because the book is in the seed marketing stage, where my goal is to get readers that will be future recommenders (following the techniques in Write Useful Books [affiliate]). My 2026 WIG is to have left the seed marketing stage and to move into a stage where ads are break-even.

For fitness, my WIG will be based around strength. I started a training program in November and it seems to be working, but that’s normal for untrained people—early gains are easy. I will finalize the exact goal at the end of the year, but it’s something like X pounds of gain on five lifts (Bench, Press, Row, Pull Down, Squat) while maintaining my body weight.

For personal growth, I have a lifelong plan to learn Spanish. I haven’t settled on a WIG. The easiest thing would be to pick a CEFR level and then find an assessment. DuoLingo uses this, but I’d like to find a different source to assess myself.

Tomorrow, I’ll go through the 2nd discipline which has you find a leading indicator that you can work on each day and will build up to your WIG.

2025 Retrospective

It’s not the end of 2025, but I usually spend December on setting next year’s goals and getting rest. So I’m not going to get much more done on my yearly goals. Before I think about 2026, though, it’s time to reflect on the past year. As usual, I picked a business, personal, and fitness goal to work on.

My business goal for 2025 was to finish my book, which I did. I had a successful launch and am halfway through my total sales goal. For 2026, I’ll concentrate on a process goal (4DX style). For example, to support the launch, I appeared on some podcasts, spoke at a conference, sent email to my list, and was lucky to have my Show HN do well on Hacker News. I’ll continue marketing the book in 2026 in this slow and steady way.

My fitness goals are a mixed bag. I have no problem doing regular exercise, but my fitness level feels stagnant (or put more positively: stable). In 2026, I am going to try something new.

I didn’t make much progress on my personal goal of building developer tools. In a way, my book’s spreadsheet is a developer tool, and that is now public (sign up here to get it). I have started building a tool based on it.

This progress is fine with me because these are aspirational goals. They are in addition to what I have to do. The book is meant to grow my business, not be profitable right away. I wanted to improve my fitness, and tried, but holding steady is ok too. Next year’s goals will be chosen because I seem to have some intrinsic desire to do them.

Dev Stack 2025, Part X: networking

This is part of a series describing how I am changing my entire stack for developing web applications. My choices are driven by security and simplicity.

This last part about my new dev stack environment will be about how my machines are set up to work together. As I mentioned in the introduction to this series, my primary concern was to get development off of my main machine, which is now all on a Framework desktop running Ubuntu.

Before this, my setup was simple. I had a monitor plugged into my laptop over Thunderbolt and my keyboard and mouse were attached via the USB hub the monitor provided (keyboard) or bluetooth (mouse). When I introduced the Framework, I moved to a USB mouse in the hub, and now I could switch my whole setup from Mac to Framework by unplugging/plugging in one USB-C cable.

But I had a few development use cases that this didn’t support well:

  1. I sometimes need to code with someone over Zoom. My webcam, mic, and headphones are staying connected to the Mac.
  2. I regularly program outside of my office in co-working environments.
  3. I need to support programming while traveling.
  4. I want to be able to go back and forth to between the machines while working at my desk.

To start with, I tried using remote desktop. There’s an official client for Mac made by Microsoft and it’s built into Ubuntu. As I mentioned in my Linux post, I was surprised at how hard this way to troubleshoot. The issue is that you can’t RDP to a Linux box unless it is actively connected to a monitor. So, at first I just left it plugged in while taking the laptop outside. But, this was not ideal.

There are a few solutions for this, but the easiest for me was just buying a virtual HDMI plug. They are cheap and fool the machine into thinking it has a monitor.

To even get RDP to work at all though I needed to make some way for the two machines to see each other. Even in my home office, I put them on different networks on my router. But, I would also need to solve this for when I’m using my laptop outside of my network. This is what Tailscale was made for.

Tailscale is a VPN, but what sets it apart is its UX. You install it on the two machines, log them in to Tailscale, and now they are on a virtual private subnet. I can RDP at my desk or from a café. I can share the Mac “space” that is running RDP over Zoom. The setup was trivial.

So far this has been fine. I don’t even notice the VPN when I am coding at home. When I am outside, it’s a little sluggish, but fine. AI coding makes it more acceptable, since I don’t have to type and navigate code as much.

A Little More at the End

I recently added 10 minutes to the end of most of my workouts. This lets me get the effect of another workout without having the overhead. In 10 minutes, you can burn close to 100 calories, and in a week, that would be 500. I can’t think of an easier way to do that, but that’s only because I already have these workouts on my schedule.

The same thing could be applied to other things, but probably it’s not as quantifiable. I could code for 10 more minutes after I’m done coding, but when I’m done, I’m usually spent. The same goes for writing. This makes me think my workouts aren’t taxing enough. Maybe the 10 extra minutes will change that.

Progress Bars, not Time Blocks

In Deep Work [affiliate link] (and his other works), Cal Newport has been a proponent of time blocking. He even sells a planner based on his method, which is probably the best place to learn about it. In short, he gives each hour of his day a specific task. In the happy case, this works well, but it breaks down when you get interrupted, get blocked, want to extend your time, or lose energy. He does address all of that, but that’s where I have found his method to break down for me.

Instead, I’ve been doing something my friend Joel Mazza taught me, which is based on the idea of a guiderail made up of 30 minute time blocks. Like Newport’s time blocks, there are things in your day that need to happen at a specific time, usually meetings, so those go on the guiderail in the appropriate place. After that, the system diverges in that we will build up our daily tasks and assign them an amount of time, but not a specific time on the guiderail. We just need to make sure we have a reasonable amount of work that fit in our day (and make sure to have some buffer).

Instead of letting the clock decide what we will do each half hour, we can pick based on our energy (or at least, that’s what I do). I had a half-hour before lunch, and so I am writing this post. When lunch is done, I have a lot of meetings in the afternoon, so I am doing it now, so I can be free after. Earlier today, I tackled some book editing, and I have a 12:30 accountability meeting to get back to it, so that’s why I felt free to switch.

There’s a lot more to it, but the key ideas are progress and flexibility.

Supernote Manta First Impressions

I got my Supernote Manta (A5) two days ago. I haven’t used it much—mostly learning the UI and getting an idea of the features. Mostly, I wanted to get my own 2025 planner on that I made with Page-o-Mat and then get to planning 2025.

Generally, I like it and I still think it is the best choice given my preferences. Here are a bunch of unstructured impressions.

  • The on-screen keyboard is bad. I hope this can get better in software. Luckily, I think of this as a writing device and won’t want to type much. When I have to, it’s painful.
  • I wish I could give files names with handwriting (because typing is so bad)
  • The pen/paper feel is really good—even better than I expected.
  • The pen doesn’t perfectly make marks all of the time, but no worse than real pens.
  • The left and right sidebar gestures are ingenious.
  • Inside of their notes, you can make links to other pages and notes, but you can’t do this inside a PDF. Since standard PDF Annotations supports this, I hope it comes in a software update—I would use that journalling.
  • I use a passcode to lock the device. I would love it if I could put contact info on that screen so that the journal could be returned if I lost it.

Everything else is as widely reported in reviews. It’s a thoughtful device. I appreciate that I can upgrade the hardware and the software is generally high-quality so far. I am looking forward to having this device for many years.

If code reviews take too long, do this first

Short feedback loops are one of the drivers of productivity according to the DevEx model. On my team at Trello, we had a goal of all reviews being done inside 24 hours. Having that goal drove behaviors that made most reviews complete in a few hours. So, to start, collect data and get on the same page.

If your reviews are taking too long, try these enabling steps first:

  1. Gather metrics: If you use GitHub, try this repository metrics script to get a baseline.
  2. Get consensus: Nothing will happen unless the whole team is on board with this being a problem and that it can be fixed.
  3. Set a goal: I know from experience that 100% of reviews in less than 24 (work) hours is possible. If that seems out of reach, set something that you could accomplish in a quarter.
  4. Inspect outliers: Treat outliers like you would treat an outage incident.
  5. Compare reviews that met the goal to ones that didn’t: Gather statistics about PR’s and see if you can find differences between the ones that did and didn’t. For example: number of lines changed, the author, the reviewer, the number of commits, the part of the codebase, etc.
  6. Put real-time monitoring in place: If you are the lead, just do this manually to start. At the beginning of the day, make sure all of yesterday’s PRs are going to be reviewed soon.

Tomorrow, I’ll write about some common problems and what to do about them.

2025 Pre-Planning

In 2024, I applied The Four Disciplines of Execution to my life and business. I detailed the process for my 2024 plan in a blog post for each discipline:

  1. 4DX: Applying the First Discipline (pick a goal)
  2. 4DX: Applying the Second Discipline (identify and work on the leading indicators)
  3. 4DX: Applying the Third Discipline (build a scoreboard to tell you if you are winning)
  4. 4DX: Applying the Fourth Discipline (review with accountability)

The first discipline is to pick a single Wildly Important Goal (WIG), but that’s because they imagine that you are doing this only for work. I do it for three completely segregated areas of my life that I can stop from interfering with each other: Work, Personal Growth, and Fitness. I can always make time for each those three independent of the other two. This is important, because the enemy of your WIG (in the book) is the Whirlwind of activities you need to do just to keep going. My work Whirlwind will interfere with my work WIG, but (for me) it doesn’t stop me from working out or working on my personal growth WIGs.

This is just a brain dump of possible WIGs for 2025 in each category.

Personal: I have sold 0 copies of Pay Tech Debt to Go Faster Now (it’s not done), so I want to have it available for sale by end of Q1 2025 and sell 1,000 copies by the end of the year.

Alternatives: (1) Outsource the end tasks of the book and start a new one (2) Sell whatever I can and build a course based on the book that is the focus (3) Sell whatever I can and try to do workshops at tech conferences based on it.

Work: I have a working, but not useful MVP of a new web application, and am mid reconfiguration into a simpler (and somewhat different) mobile web app. I am trying to get to a new MVP by January 2025. My goal is to have paid customers by the end of Q1.

Alternatives: (1) Give up on this idea and try something else (2) Give up and don’t try to make a software product — e.g. turn the book into my business

Fitness: I am in a fitness stasis, which might be what I have to live with for my age. It’s fine. But I still want less than 20% body fat by the end of the year. The way to do it is radical change, which I will think about and perhaps aim for 20% by the end of Q1. The rest of the year will be about maintenance and sustainability. The answer is probably a combination of regular exercise (easy), daily walking (takes time, but could multitask with something), and a more significant calorie deficit accomplished with more careful eating (hardest).

Alternatives: (1) make maintenance the goal and just be happy with my level of fitness (2) make having fun the goal and go for more varied experiences.

This year looks a lot like 2024, but geared more finishing (where 2024 was about starting).