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.

Gaming ChatBot Recommendations

I just had conversation with ChatGPT that ended with it making product recommendations. I was asking about documentation, so it suggested Confluence and Notion.

Those are good options and do match what I was asking about. But, if ChatGPT is going to make product recommendations, then companies will try to game this like they do for search engines.

Before Google, search engines ranked pages on the count of keywords in the document. That was easy to game by just stuffing the keywords. Google solved this by ranking the search results by backlinks. They reasoned that pages with the most incoming links must be better because a backlink was like a vote of confidence. Unfortunately, that was also easy to game. The last 20+ years has been a struggle between Google trying to rank results correctly and SEO experts trying to rank higher than they deserve. There is an enormous amount of money fueling both sides.

We are just starting with chatbots. I don’t know why it specifically chose Confluence and Notion, but since it’s a probability engine, more text in the training set would be a factor. It understands sentiment, so it can discern good reviews from bad reviews and knows that recommendations should offer good options.

But does it understand authority, bias, expertise, etc. If I stuff the internet with 1000’s of good reviews of my product (even if they would never be read by a human), would ChatGPT then start recommending me? The ChatBot equivalents of SEO experts will be trying to figure this out.

Since ChatGPT is currently stuck in January 2022 (about a year ago), you might not be able influence its suggestions for a year or so. The learning cycle is currently very long. But, that also means that it probably can’t recover from being gamed quickly either. Hopefully, models can be developed that resist gaming.

TL;DR Yourself

If you write long-form text, people are going to paste it into ChatGPT to get a summary. Do it yourself and put a well-written summary near the beginning.

If that summary is sufficient, delete the rest of the text.

Write While True Episode 39: Dark and Light

The white pastel can draw white on top of the charcoal, so now I can make white marks, which can also be smudged and mixed. It’s giving me a range of values I couldn’t get before. Throwing white highlights onto a dark drawing is a way of directing attention and makes it more interesting.

Black and white, on a drawing, are the extreme values. If I try to apply this idea to writing, it should also be a juxtaposition of opposite extremes.

Transcript

Shut Up & Write

I went to a Shut Up & Write meetup today at a café here in Sarasota. It’s a simple idea. You get there, you say hi, some chit-chat, then you shut up and write for an hour. I decided to spend it doing stream-of-consciousness writing and just keep the pen moving across the page for an hour.

You’d think I could salvage something from it for this post today, but I had some weird dreams last night I wanted to work out.

Anyway, Shut Up & Write was fun. There are events everywhere if you want to try it out.

Be Skeptical of Points-based Productivity Claims

I do not personally use Story Points in my estimates because I know that everyone outside of development will translate them to time and I want to do that for them.

But, consider this claim: Adopting GitHub Copilot will increase productivity by 20%. I actually believe that to be true, but can you show it with Points? No, you cannot.

Here’s how it should go

  1. You do 10 sprints, you see that you have a steady state velocity of 100 Points
  2. You introduce GitHub Copilot
  3. Maybe for 2 sprints, you see velocity go up because developers over-estimate their stories. Let’s say it’s 120 now. Better report that quick, because …
  4. Then, devs start to adjust their estimates and velocity goes back to where it was.

Productivity went up, but velocity should stay constant because points are just time. You don’t get more time because of productivity gains.

If you see sustained velocity improvements (without changing the number of team members), then I would suspect gaming or a misunderstanding of how points are supposed to work.

Points and Velocity are best for front-line managers to understand what is going on with their teams and to size sprints. They should not be reported outside of the team, because they will be misunderstood and misapplied.

Making My Own CMS Worked Out in the End

In 2013 I started App-o-Mat to host content I was creating to teach iOS Development.

App-o-Mat is a totally custom CMS built with Django and Python that I have kept up to date for 10 years. It has been migrated from version to version of Django, from Python 2.x to 3.x, and I just recently replaced all of the Bootstrap with Tailwind.

I had learned Django in 2006, which is also when I learned Python. At the time, Ruby and Rails was probably the more obvious choice, but I’m actually glad I chose Python. Python has proven to be more enduring and useful in more contexts (e.g. AI).

From 2013 to 2021, I was full-time on iOS Development. App-o-Mat was the only web development I did. But, now all of the things I want to make are either for the web or best to be done in Python.

I know that making your own CMS is kind of nuts, but if I didn’t do that I wouldn’t know Python and my webdev knowledge would have atrophied. I think using some back-burner (non primary) tech stacks in side-projects might be a good idea—or it least it was for me.