Category Archives: Writing

Minimum Blog Feed Criteria

There was a post on HackerNews recently asking for everyone to post their personal blog. A few days later, some people had hacked up projects based on that data, including this OPML file, which you can import into a feed reader to follow all of the blogs.

I imported it and realized immediately that there were way too many to follow, so I started to cull them. I still have a long way to go, but I noticed a few things that made me want to delete feeds from my list immediately.

Here’s my list of things your feed should have:

  1. A title. For some reason, there are a bunch of untitled feeds. The <link> tag has a title attribute, and I’m pretty sure that if you leave it blank, most readers will pick up the site’s <title> tag.
  2. The full post. I don’t know if it’s intentional or just a default of some blog software. If you have a feed, I recommend putting the full post in it.
  3. A recentish post. I know it’s hard to keep a blog up-to-date, but if you are going to add your site to a list, go put up a new post if your latest is very old. Even if it’s just a short intro and a few links to your best posts.
  4. Not too many posts. I possibly post too much, but there were a few blogs with several posts each day. They were short posts, but I still found that they dominated my unread list too much, so I ended up deleting them.

There were other reasons I deleted blogs, but most of them had to do with the general topics of the blog, which were just not interesting to me personally.

Writing by Speaking

A few weeks ago I wrote about the tools and materials of writing and concluded that using clauses to make interesting, well-ordered, complex sentences was a core skill.

I got this idea from David Lambuth’s book, The Golden Book on Writing [amazon affiliate link]. This is a book a lot like The Elements of Style [amazon affiliate link] by Strunk and White. Like Strunk, he was an Ivy League University English professor and turned his class notes into a pamphlet sized book.

Here’s another gem from the book:

Write down your idea as you would in speech, swiftly and un-selfconsciously without stopping to think about the form of it at all. Revise it afterwards.

I can’t easily write “as you would in speech”, so I’ve been trying to learn by speaking my writing. To be fair, extemporaneous speaking is also difficult, but it does feel like something that I can improve with practice. I talked more about the details in Write While True Episode 20: Extemporaneous Writing.

June 2023 Blog Roundup

WWDC was in the beginning of June, so did my usual posts about it

But, the Vision Pro was interesting enough to write about a few more times

I kept up with my Podcast and released every Sunday in June

In episode 23, I talked about how I pre-recorded five podcasts so I could take a break. So, at least I know that the next four will be on schedule in July.

I generally want to write about diagramming more. I am including visualizations in that general theme as well.

Finally, I generally write tips for working as a software engineer. Here are a few more

The Tools and Materials of Writing

I sketch—mostly with pencil and charcoal on paper. To do that, I have had to become proficient with the physical nature of the drawing tools and the paper. Over time, I have become better at manipulating them because I do a lot of drawing.

When I was learning programming, I Didn’t Have a Disk Drive, so every day I started by typing in my program from the day before and then I added to it. In that time, I became proficient with the tools of programming—the typing, the code editing.

I was trying to think of what the equivalent was for writing. Typing is certainly part of modern writing. I think it’s good that I’m a fast and accurate typist. But, text editing is very easy compared to code editing.

After thinking about it for a bit, I think a basic part of writing is sentence construction. Sentences are the things you build paragraphs from. And you use paragraphs to build bigger works. Sentences are like marks on a sketch—a basic building block.

If manipulating a piece of charcoal on paper in different ways is the way to practice making marks. What is the thing I could do to practice making sentences?

I have a clue from David Lambuth’s Golden Book on Writing [amazon affiliate link]:

Complex sentences alone make possible that careful indication of the importance of one idea over another and that sense of the interrelation of ideas which is essential to accurate thinking.

Not until you have learned to select almost unconsciously the central, dominating thought of your sentence, and to group around this in varying degrees of emphasis the secondary or modifying thoughts, have you learned to think clearly.

The tool you are learning to manipulate is clauses. Simple sentences are simple. A complex sentence, however, is made up of clauses that are used give nuance to a complex thought, which you express by ordering them.

The Second 13 Weeks

At the beginning of the year, I wrote The First 13 Weeks which summarized how I usually set up the first 13 weeks of the year. I am using a Recurring Journal that I designed using Page-o-Mat to run my daily tasks and help me reflect on the year as it progresses. We are almost at the end of the second 13 weeks of the year, so I wanted to give an update.

I build my schedule around weeks, which is why I use 13 week periods instead of months or quarters. They do line up pretty well since 4×13 is 52 and 52×7 is 364. In 2023, I treated Jan 1 as special day, and started the recurring part of the journal on Jan 2, which was a Monday.

The first two pages of the journal show Mondays Jan 2, April, 3, July 3, and October 2, which are exactly 13 weeks apart. In the first 13 weeks, I filled out the top-left quadrant of each page, and this “quarter” I am working on the bottom left of each page. But I can see the day exactly 13 weeks ago. I take time to reflect on that day and notice progress. Since the days that are shown together are always the same day of the week, they are usually comparable.

Doing this motivates me to journal because I know that I will be revisiting each day. There is an empty space waiting to be filled, and I don’t want to come back in a few months and see it still empty.

I have been journaling for many years, but most years there are gaps, usually in the late summer. I seem to have the most energy in the beginning and end of the year and drop journalling for a bit around August. This may yet happen in the 3rd 13 weeks. I’ll check in then to see how it’s going.

May 2023 Blog Roundup

I started writing much more frequently this month. I happened to be on vacation for two weeks of it, which gave me a lot of time for writing.

The main thing that got me going was wanting to start up my podcast again. I released four episodes in May.

I also updated my podcast workflow, which makes it a lot easier to do, and I think will make them better.

In Blog Posts, Randomness, and Optionality, I talked about my most popular blog post, and how it had more hits than the rest of my site combined (by far), mostly driven by search. That post hosts my UML Cheatsheet and is from 2006. I made the post following a talk I gave at a local meetup to try to get a job.

I am trying to write more about diagramming generally (to build on a past success). First I wrote that For Diagramming, Favor in-Document Editing and then I wrote that you should use C4 Context Diagrams in GitHub READMEs, and to help make these, I wrote The System Boundary is Defined by the External Pieces.

I’ve been interested in developer productivity metrics, so when I read about DevEx, I was interested, but I wrote a critique in Making Sausage and Delivering Sausage. But, then I wrote about the CRAP metric in Use Your First Commit to Fix CRAP and realized that both CRAP and DevEx are Metrics that Resist Gaming. CRAP always makes me think of refactoring, so in the middle of that I wrote about the First Rule of Refactoring Club.

June has four weekends, so I am expecting to make four podcasts. I also want to spend the bulk of my time thinking about diagramming, so I expect a lot of posts about that.

Two Color Journaling

I journal in black and red. Almost everything is black because I reserve red for anything on theme or particularly important to me. By “on theme”, I mean consistent with my yearly theme, which is to Make Art with Friends.

This has advantages in review and while journalling the day.

I am using a Recurring Journal this year, which means that when I journal I am seeing a past day on a different part of the page. If that past day was particularly red, I can try to match it. I can also easily see the red ink as a flip around. At the end of the year, when I review the journal, it will be easy to pick out the important parts.

During the day, I can see how much red ink I have or have not used and try to see if I can get something in to make the day more red.

Not every day needs to have some red on it, but sometimes I have a free moment, and since I have a low bar for making art, I can easily do it.

Morning Pages Make Me Feel Like ChatGPT

In the first episode of my podcast I said that I do morning pages to train myself to write on demand, and then I followed that up in Episode 3 where I explained that I use the momentum from morning pages to write a first draft of something.

While doing my morning pages last week I thought about how doing them is kind of like how ChatGPT generates text. It’s just statistically picking the next word based on all the words so far in the prompt and what it has already generated.

I am also doing something like that In my morning pages. I am writing writing writing and I use the words so far to guide my next ones.

My mind strays as I write and a phrase might trigger a new thread, which I follow for a bit and then follow another and another. ChatGPT’s results are a lot more coherent than my morning pages. It has an uncanny ability to stay on topic because it is considering all of the text, and I don’t.

First drafts are different. When I switch to writing a first draft, I do consider the entire text. I’m not as fast, because I am constantly looking at where I am so far. I also start with a a prompt in the form of a simple message that I hope to convey, which I use as the working title.

I know I could get a first draft faster from ChatGPT, but it would not be as good (I think), or at least not specific to me. More importantly, I would not have improved as a writer.

[NOTE: While writing a draft of this post, I thought of a way to make my morning pages more directed and made a podcast about it]

My New Podcast Generating Workflow

In Accessibility First in Podcasts, I wrote that since my podcasts are scripted, I don’t have to work hard to get a transcript.

But I found that writing a script was both hard and resulted in a podcast that sounded written. Even if I memorize and perform it well, it didn’t sound like my spoken “voice”.

So, I decided to

  1. Start with a rough outline
  2. Make a recording of a lot of extemporaneous speaking on the subject
  3. Make a transcription of the recording using Whisper from OpenAI
  4. Edit the transcription into a coherent story, but try to preserve the phrasing
  5. Practice it
  6. Make a recording that basically follows the script. It’s ok to make mistakes, rephrase, or veer off.
  7. Edit the recording to remove mistakes and reduce overly long pauses
  8. Listen to the recording and fix the script so it’s now a transcript.

The key thing is step #4 which helps me make a script that sounds like me talking (not writing).

Blog Posts, Randomness, and Optionality

I started this blog in 2003. I have some favorites and ones that I think are worth reading. But I would never have guessed which one would be the most read.

I have a few posts that are probably one of the best places to learn about a specific technical problem, and Google sends people to them. For example, Understanding EXC_BAD_ACCESS clears a lot of misconceptions about what this error means. It’s popular, but not the most popular.

I have a few posts that are jokey movie reviews, where I take one technical aspect and just review that part (it’s based on a Letterman bit). In my review of Oz (the James Franco prequel to the Wizard of Oz), I tried to figure out how the Wizard’s projection technology might have worked (given 19th century constraints). This one is the most popular of the movie reviews because people keep searching for “wizard of oz machine“.

But, by far, the most popular page on this site is the one that hosts my UML cheatsheet. It dominates my search traffic. If I had nothing else on this site, my analytics wouldn’t even notice.

I wrote that post in 2006 based on a talk I gave to a local .NET users group. I didn’t know C# or any .NET yet, but I contributed what I could, UML sketching, which is applicable to any OO language.

There is no way I could have predicted that it would be my most popular post beforehand, which is part of what I mean when I say in Randomness is the Great Creator, that “I believe that the universe is a random, unknowable thing that offers infinite variety. We have an opportunity to tap into it with contributions to the randomness”. It’s why I put these posts out there.

It’s also related to the lesson I learned on the importance of optionality. One of the reasons to collect options is that you are positively exposed to randomness. In this sense, each blog post is an option. They have a low fixed cost to make, but each has a tiny chance at infinite upside.

Or at least some.

It’s also a signal of a direction that might be fruitful, which I’ll explore soon.