Category Archives: Personal

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.

Typing Out Art

I already wrote about how my typing teacher, Mrs. Cohen, was a genius for telling us (in 1983) that we needed to learn how to type to work with computers. Another thing she did was have us make pictures by typing. She’d read out of a book with instructions: “10 spaces”, “2 semi colons”, “30 periods”, “4 dollar signs”, etc, etc. It would take the whole class and then we’d get a picture of JFK.

This came to mind yesterday after I started a new meetup group for Sarasota Software Developers, and I had to come up with a banner image for the page. I was just going to use a photo of a sunrise with some palm trees, which definitely reads as “Sarasota”, but I also wanted it have some element of “Software Developer” in it. I was going to composite something together, but then I thought that someone must have made some kind of ASCII art generator. I was right.

I tried a bunch, and this one is the best: https://www.ascii-art-generator.org

Here’s what I made with it:

Green on black ASCII Art of palm trees at Benderson in Sarasota

It would have taken forever to type it out.

30 Plants for Dinner

I saw this post about eating more plants from Mike Crittenden today. One suggestion is trying to hit 30 plants per week. As a vegan, I can get near 30 plants per day, but tonight I made a 3 course dinner for my wife and a neighbor.

  1. Vietnamese style raw spring rolls in rice paper with 2 dipping sauces (peanut and sweet & sour)
  2. Sesame Tofu and Brocolli over cold sesame noodles
  3. Mango Pudding with Coconut Cream Panna Cotta Style

Here is the list of plants we ate:

  1. Mint
  2. Cilantro
  3. Basil
  4. Spinach
  5. Soybeans (Tempeh and Tofu)
  6. Carrot
  7. Rice (in the rice paper and noodles)
  8. Peanut
  9. Garlic
  10. Ginger
  11. Wheat (flour)
  12. Shallot
  13. Black Pepper
  14. Sesame Seed
  15. Scallion
  16. Celery
  17. Lime
  18. Maple Syrup
  19. Serrano Pepper
  20. Brocolli
  21. Sugar
  22. Mango
  23. Coconut
  24. Vanilla

There was also vinegar, soy sauce, hoisin sauce, and sriracha used in the dips and glazes. I use very little oil (tofu was made in an air fryer), but there was a little bit of olive and grapeseed oil. I’m sure I got to 30 plants.

If I was going for 30 plant ingredients, I’d have just added some blueberries and allspice to the dessert, dredged the tofu in corn starch, and added a few more plants/spices to the main dish (peas, turmeric, cayenne pepper, grape tomatoes).

If you’re looking for plant variety, look for vegan recipes, but even if you eat meat, I agree with Mike that you should add more plants and varieties of plants, which is easy to do if you are going for it.