Category Archives: Personal

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 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.

When Someone is Wrong on the Internet

I have a policy never to write a negative reply to an opinion on the Internet. But I still sometimes have negative reactions. At first, I try to let it go. That works a lot, but not always.

If I find myself thinking about it the next day, then I need to do something just to get it out of my head. In Reframing Anxiety, I wrote about how I’ve come to see anxiety as as asset. I see my anxiety as the flip-side to conscientiousness, which I need to be successful. There’s another way anxiety is working for me now.

Part of what’s happening when you read social media and see an opinion you disagree with is that you imagine that you are in a live debate with that person and that you are losing. You imagine that everyone can see this, so (if you are prone to anxiety) your brain will keep it in your head. You think you can solve it with the perfect remark. The problem is that both sides of the argument think this, so it quickly escalates.

What I am doing instead is using that energy to write my own post here that expresses my opinion on the subject. I write it in a positive tone. I don’t refer to the original post. I don’t post it on social media. It’s just here on my site outside of the conversation.

My inability to let it go helps me fulfill my personal commitment to write every day and I’m grateful for that.

Post #500

I started this blog in 2003. This is a milestone post—Post #500. I have been writing more frequently since 2021. Before 2020, I had less than 200 posts. Well before that, this blog was useful to me.

  • My posts about developing for iOS in 2008 were found by an editor at Manning and I wrote a book for them. This helped me make the transition to full time iOS development.
  • My posts about extending Fogbugz and Citydesk were part of my application to Fogcreek/Trello — I can’t say it “got” me the job, but I’m sure helped me get an interview.
  • I’ve been invited to speak at conferences, be a guest on podcasts, and write for Smashing based on people finding my site. It’s not a lot, but raises my profile just a bit.
  • I don’t monetize this site directly, but it’s pretty much the only way I market myself.

I didn’t set out to do any of that. I write on this blog because it’s fun and I want to be a better writer. But, even this blog—a relatively obscure one in a space crowded by very similar voices—has made a significant impact on my career.

Weekends are for Infinite Games

Sometimes I sit here on a Saturday and don’t feel like posting. Right now, though, I’m committed to trying to post something every day (even weekends) because I am doing this for fun. You’re supposed to do fun things on the weekend. To me, nothing is more fun than infinite games—games, like catch, that you play to play, not to win.

I am juggling a bunch of infinite games on the weekend. Saturday is also when I do my longest runs. I do more ambitious cooking on the weekend. I publish a new episode of my podcast every Sunday.

But, I have to admit, that being in a work mode on weekdays does make it easier to write. I mostly write what I notice while working. Today, I decided to write what I noticed while not working.

August 2023 Blog Roundup

This month I published four episodes of the Write While True podcast. They are all part of the third season, which is loosely structured around the basic building blocks of writing and exercises related to that.

I was inspired to podcast on this subject after reading Writing Down the Bones by Natalie Goldberg. I wrote a few posts referencing it.

The podcast generated other posts about writing

I decided to adopt Tailwind and wrote these articles about that process

Finally, I had a few thoughts about journaling

The Third 13 Weeks

I journal in a Recurring Journal I made last year — it splits the year into four 13- week cycles where I journal the same day in the cycle in the quadrants of a two-page spread. We’re now in the in the third cycle—today is August 23rd, which I am journaling in the upper-right. In the upper-left quadrant, I see what I journaled on February 22nd, and in the bottom left quadrant, I see May 24th. Journaling this way gives me a chance to reflect on a similar day about 3 and 6 months ago.

The design of the journal makes sure that all four days on the spread are the same day of the week, which is why I use 13-week cycles instead of calendar quarters. A random Wednesday is August is a lot like a random Wednesday in February. For example, I can see a note from a recurring meeting with a mentee that I also met with today. I can see notes on my long-term project and feel a little joy in the progress I have made.

But, just as I noted in The Second 13 Weeks, the main benefit I am getting from journaling this way is that I rarely skip a day, and if I do, I backfill it. I know that I will be revisiting that day in the future, and it will be missed if it’s not there.