Category Archives: Personal

Help my book

I am writing a book titled Paying off Tech Debt When You’re Not In Charge.

The intended audience is software engineers working within orgs where they are having trouble getting tech debt paid.

If this sounds like a problem you have and would like to read my first three chapters, let me know. I am in very early stages and want to make a useful book, so the best feedback would be if it was useful to you or not.

4 Week 4DX Checkin

I’m using techniques from The Four Disciplines of Execution (4DX) this year to help me reach my important goals. I documented my setup process in these posts:

  1. 4DX: Applying the First Discipline
  2. 4DX: Applying the Second Discipline
  3. 4DX: Applying the Third Discipline
  4. 4DX: Applying the Fourth Discipline

The gist is that you (1) identify an important goal (2) design and act on lead measures — things you control that you can do at any time that will add up to that goal (3) create a compelling scoreboard and (4) have regular accountability.

I chose to have 3 goals in 3 separate areas of my life that have segregated time. The book stresses having only one goal, because they are imagining that you apply this to work—I do have only one work goal.

For my work and personal growth goals, I have done my lead measures at or more than the level I wanted and I am making progress. Things seem to be going fine there.

For my fitness goal, I am doing what I set out to do, but I am not seeing progress, so it’s time to rethink if my lead measures are right. In my case, I think they are generally good things to do, so I will keep doing them, but they are obviously not enough.

In 4DX, we are supposed to periodically make sure our lead measures are taking us where we want to go. So, I want to share my thinking. The point is not my specific fitness goals or process—if you disagree with my fitness approach, that’s fine—the point is that I am trying to incorporate new knowledge and try something else.

Here’s my thinking:

My fitness goal is to reduce body fat with the lead measures of strength training and higher protein breakfasts. The result so far is that I am getting stronger (can do more pullups, lift more), but my body fat % hasn’t changed at all. My weight also hasn’t changed, but I am ok with that. I have been using a body fat scale since 2019, so I looked at my history, and I see that my lowest body fat % was when I was doing the most running. This is frustrating.

I chose to lower the amount of running I do because I am trying to avoid knee problems. I don’t have any now, and I want to keep it that way. During my lowest body fat periods, I was training for half and full marathons, which I am not planning to ever do again.

So, it appears that for me, I might need more cardio. From my research, I know that this may inhibit muscle growth, but that effect is because of calorie deficit. So, I will add more cardio (but low stress activities like swimming, rowing, and the elliptical) and I need to find a good healthy source of extra calories. I hate to rely on protein shakes, but that will be part of it. I have also seen some research that would indicate that I should substitute whole starches for tofu and tempeh because of their high fat content.

So, my breakfast will have fewer tofu scrambles with tempeh bacon and I’ll have to come up with a bean/quinoa breakfast. I also make an egg substitute from mung beans that has better macros than Just Egg, which I’ve been having a lot of. I will also cut bread as much as I can—mostly this is a problem because I use plant burgers as an easy lunch—I’ll just have to have it with no bun.

So, my new lead measures are to keep the strength workouts, add three 30+ minute low-stress cardio workouts, and keep the breakfast, but lean more on beans/quinoa/mung beans and less on tofu and tempeh, and skip the bread as much as I can. I will need more calories, but I will find them in whole starches.

In any case, don’t let my fitness choices distract you. The point is to periodically look at your desired lag measures for your goal and make sure your lead measures are moving towards it. It’s not something you can see every day, but I think four weeks is enough.

Grouper with Orange Sauce

Today is my wife’s birthday, and I don’t have time to write, so I’ll just share a recipe for part of the dinner I made for her

Ingredients

  • 1 fillet of Grouper, approx 1/3 pound
  • Flour to dredge
  • Butter (a few pats to cook and then about 1-2 tbs for the pan sauce)
  • Olive oil (1 tbs)
  • Juice from 2 mandarin oranges (I put peeled oranges in immersion blender and strained)
  • Zest from 2 mandarin oranges
  • Shallot, very finely minced, about 2-3 tbs
  • Thyme (1 tsp)
  1. Heat a pan over medium heat
  2. Put flour on a dinner plate, season with salt and pepper to taste
  3. Dredge Grouper in flour
  4. Melt pats of butter in olive oil in pan
  5. When the pan is hot, place grouper in it, don’t move the fish—let it sear.
  6. Depending on thickness, turn when first side is ready (4 or more minutes). Fish should be easy to flip—look for some browning.
  7. After second side is cooked, put aside or move to side of pan off direct heat (make sure it’s cooked through)
  8. Put shallots and zest in pan for about a minute
  9. Deglaze pan with juice
  10. Add butter, continue deglazing
  11. Add thyme
  12. Put grouper back in pan and coat with sauce
  13. Put sauce on plate and fish on top of it

If you want more instructions, see this page for how to pan sear grouper. They have a different sauce, which you might also like.

I served with roasted red potatoes and steamed haricot verts with almond slivers.

Enjoy!

My Current (2024) Blog Stack

This blog is 20 years old. I started with static files generated from CityDesk and hosted on a simple server. Then, I went to static files generated from RapidWeaver on Mac. In 2012, I realized that I needed it to be easier to post, so I migrated to WordPress.

I very rarely updated this site in 2012. I finally decided to bite the bullet and get everything into WordPress so that I could update from any machine, not just the one I had RapidWeaver installed on. I immediately got a bunch of benefits (1) the site has a mobile theme (2) I can update from my phone or iPad using WordPress apps (3) dealing with images and other media is a lot easier and (4) publishing is automatic and fast. Since the migration, I have maintained about a weekly update schedule.

I have been on WordPress since then and can’t see any reason to change. A few years ago, I migrated to DreamHost, which I recommend for WordPress hosting. They can do more than WordPress—I also host App-o-Mat there (which is a custom Django site).

My theme is WordPress’s Twenty Twelve. Each year they make a new theme (named for the year). It was the default when I migrated, and I didn’t look for anything else because I wanted something plain, which it is.

I really try to limit my plugins. There are three that I recommend if you need the features they implement.

I use the Blubrry plugin to help me self-host my podcast. It generates the podcast feed automatically from blog posts.

I use the Contextual Related Posts plugin to put related links at the bottom of each post and the Exclude Pages from Navigation plugin to let me control which pages show up in the navigation.

Aside from those, I just picked the most popular ones for generating a sitemap and to make it easier to embed videos hosted on YouTube and Vimeo.

I use Hover as my domain name registrar.

I have no plans to change anything. I do keep an eye on the CMS sites that offer some distribution (Medium, Substack, etc), but I care too much about owning my URLs and keeping content in something I could easily migrate away from.

The Last 13 Weeks

This is the fourth post in the series that covered my journalling in 2023. Here are the other three: The First 13 Weeks, The Second 13 Weeks, The Third 13 Weeks.

Based on my experience this year, here’s what worked:

  • Journalling in a book with a place for each day: I rarely missed more than a day in a row of journalling, so nearly every day was filled. In the past, I could go weeks without journaling, usually in the late summer. Having a space to fill was an incentive to do it.
  • Journalling in color: I wrote in Black and Red and it did what it was supposed to do in drawing my attention to the more important stuff when I was reviewing it.
  • Journalling my theme: My theme lasted the whole year. In 2023, I concentrated on Making Art with Friends. I did that by joining groups of likeminded people and starting a tech meetup. In my journal, whenever I did something on-theme, I made sure it was in red and circled.
  • Journalling my meals: I kept a log of what I ate each day in the right margin. I keep it simple so it’s as easy as Taking a Picture of What You Eat, which is enough to keep me mindful of what I’m eating.
  • Journalling on paper even if I also use software: In these last 13 weeks I’ve also started working on personal task management software. I have been using it in addition to my journal. It’s redundant, but so far I’ve used both as they give me different benefits.

It was 20 years ago today…

I started this blog on December 23, 2003 with this post about automating software processes. I had just decided to leave my job in the new year and start consulting, so I thought it would be a good idea to have a website with a blog, so I made a simple one. I don’t even remember what software I used. Soon after, I ported it to Fogcreek’s CityDesk.

At some point I decided to use a Mac full-time, so I ported the site to RapidWeaver. And then like many others, I ended up on WordPress, which I still use. I have a giant redirect file that keeps the URLs from CityDesk and RapidWeaver working.

I’ve written about the impact that this blog has had on my life and career before, so I’ll just leave some links and not repeat myself

Running Through the New Year

One lesson I learned from Ramit Sethi was to just start your New Years resolutions in December. That way you get a jump start. You get to start the new year with having already made some progress.

I do themes, not resolutions, but the same concept applies. My theme last year was to Make Art with Friends and that went pretty well. I set out to collaborate with others and try to meet more likeminded people who liked to make things. As 2023 is coming to a close, I think I can maintain my gains here without it being my main focus.

This year, I am going to refocus on my fitness, specifically strength training. As I age, I am more concerned with muscle and bone health and I’m convinced that lifting heavy things is the way to go. I’m not waiting until January 1st—I started yesterday.

With that goal and my other plans, I decided to make 2024 The Year of Heavy Lifting. It’s a year where I plan to do some hard things that I’ve been putting off.

If you usually do something for the new year (a resolution, a theme, whatever) don’t wait—start now.

2024 Page-o-Mat Journal

Last year, I released Page-o-Mat, a YAML-based language for defining journal PDFs so that I could make my own Recurring Journal. I used this journal all throughout 2023 and gave some updates along the way: The First 13 Weeks, The Second 13 Weeks, and The Third 13 Weeks. I split the year into 13 week quarters because I do all of my planning by weeks and months and quarters aren’t regular enough.

I just finished making the 2024 version and got a nice surprise. Because January 1st is a Monday, and 2024 is a leap year, the first three quarters line up on 13-week boundaries. Jan 1, April 1, and July 1 are all 13-weeks apart and on Mondays. It’s unnecessary for the way I like to journal, but I do appreciate this. It won’t happen again until 2052.

I pushed the new yaml to the Page-o-Mat repo. There are instructions for building the PDF in the README. I will also be putting a book based on this PDF on LuLu.

September 2023 Blog Roundup

This month I published four episodes of my Podcast. We are in the middle of season three, which has been about the basic building blocks of writing: words, sentences and paragraphs.

I rediscovered PlantUML. I had dismissed it because I thought the setup was too complex. Then I realized that I mostly want diagrams in Confluence and that there was a plugin that let me do that easily. There are also lots of online editors, so there’s no reason to run it locally.

I made journals with prompts for guiding morning pages. To do that, I added a lot more features to Page-o-Mat (a tool for creating journals). Then, I used it to create the cover and inner-page PDFs that I used to make the book on Amazon KDP.

I wrote some more posts on software job hunting

Speaking of how little it takes to stand out, I celebrated Post #500 by sharing some of the ways this blog has impacted my career even though it’s not widely read. The more you put out there, the more chance you have of being found, but anything is better than nothing.

Stopping at a Good Part

When I’m reading non-fiction, I usually progress chapter by chapter, purposefully stopping at the end of each one so that I can have time to process what I have just read. It’s a good time to write a note with my reaction to it. Today, I ended up in a very long and dense chapter and found a different kind of stopping point.

I am reading The Sense of Style [amazon affiliate link] by Steven Pinker. After a while, I got to a new section in this long chapter that would have been a good place to stop, but I just kept going. About a page into it, he made a great point that I want to remember. I was excited to keep reading. But I put the book down.

I purposefully turned back a page so I have to read that part again. I know that the passage I just read is very propulsive and will make me want to read whatever follows, so I want it to be at the very beginning of the next session. It’s also keeping an open loop (in a good way) that makes me think about what I just read.

It reminds me about the way I purposefully leave a unit test broken so that I know what to do when I return to the code.