↓ Skip to Content
Start of content

Groundhog Day Resolutions - October 2021

It's been a few months since I wrote a GHD post, and it should come as no surprise that every goal in July was a complete bust.

July's primary goals

1. Complete another secondary goal

2. Complete another session of deliberate practice

3. Write more

Secondary goals for July

1. Release a playable demo of my Atari ST text adventure

2. Release an update to one of my other side projects

Primary goals for October

1. Finish one primary goal

As always I'm trying to cram things into the last 1/4 of the year. There are a couple of things I'm going to miss out on; Ludum Dare just wrapped up and I was running at the time, but there are still other goals I can complete.

2. Finish one secondary goal

There are a couple of easy ones I can cross off the list if I actually put time into them.

The last few months I've been struggling with a nasty case of writer's block. I've also been busy with freelance projects, and as a consequence haven't spent much time on my own personal goals.

I'm deliberately keeping things light for October so I can get back into some kind of rhythm. We'll see how it goes.


Writer's block

This year I set myself the target of writing 100 posts for this blog. So far I'm at 33 posts with nearly 2/3rds of the year gone. Things started well, but lately I've been struggling to write more than one or two posts a month.

So far most advice I've received on helping with writer's block has been "write more". It's difficult to find the motivation to start when all of my ideas suddenly sound terrible.

I've written nearly 100,000 words for this blog (for comparison, "The Great Gatsby" is 47,000 words) but I still don't consider myself to be a writer. Maybe there's some magic number of words where this feeling changes.

I haven't found that number yet. All I can do is write more.


Managing RSS subscriptions with elfeed and Tiny Tiny RSS

I've been using elfeed as my primary RSS reader for a couple of years, but there were a few things I missed about my previous web-based reader. One annoyance was that items I read on my laptop weren't synced with whatever I read on my desktop. I also missed having an online view for when I was out of the office.

Fixing the second problem was easy: Tiny Tiny RSS is a web-based RSS reader that is free and open-source. I really like the interface, but I still wanted to read things in elfeed if possible. Thankfully there's a package called elfeed-protocols that allows elfeed to sync with tt-rss.

Configuring

Getting everything setup is fairly straightforward:

(use-package elfeed
  :defer t
  :init
  (elfeed-protocol-enable)
  :custom
  (elfeed-use-curl t)
  (elfeed-feeds    '(("ttrss+https://user@my.ttrss.com"
		      :password "<password goes here>"))))

The elfeed-protocol-enable part turns on additional protocol support, and elfeed-feeds tells elfeed which tt-rss server to use.

Tidying up the view

The default view takes up the full width of the window, which I find hard to read on a large monitor. I use the following addition to narrow things down:

(use-package elfeed
  ;; <- Regular config goes here.
  :config
  (add-hook 'elfeed-show-mode-hook #'sodaware/enhance-elfeed-readability))

(defun sodaware/enhance-elfeed-readability ()
  "Clean up elfeed show buffer."
  (setq shr-width 80)
  (buffer-face-set 'fixed-pitch))

elfeed uses Simple HTML Renderer (shr) to display articles, so this function limits the width and sets the font to a fixed-width one.

Marking items as read

Here’s a simple function that marks all RSS items as read before fetching new posts:

(defun sodaware/elfeed-all-read-refresh ()
  (interactive)
  (when (y-or-n-p "Really mark all items as read?")
    (elfeed-mark-all-as-read)
    (elfeed-search-fetch nil)))

Groundhog Day Resolutions - July 2021

The intro to these posts always seems to be the same: things were busy and I didn't get as much done as I wanted. May June was no different.

June's primary goals

1. Complete one secondary goal

I completed this goal by accident. At the start of every month I import my finances into ledger using reckon, but the process was a little unwieldy. Each account uses different CSV formats, so I'd have to remember the correct commands to use when importing (which I'd usually forget by the first of the month).

So I wrote a little wrapper script that uses the CSV file to decide on what import command to run, as well as which output file to append it to. It's not exactly a revolutionary tool, but it removes some of the friction from the process.

2. Complete one session of deliberate practice

I wrote some new game libraries using a purely TDD approach. I've written plenty of tests for other projects, but I've never done it from a strict TDD way before. It went well and gave me plenty of ideas for improving my daily development processes.

3. Plan my three bodyweight skill goals

I took some time off exercising after my marathon, but I'm back on my routine of running and bodyweight workouts. My strength is slowly coming back and I've started working on basic progressions.

June's secondary goals

1. Write more

Writing did not go well.

Primary goals for July

1. Complete another secondary goal

There are a few little projects I'm working on that I'd like to wrap up. For July I'd like to complete one of them.

2. Complete another session of deliberate practice

Last month's session went really well and I'd like to try another one in July.

3. Write more

Let's try this again, but as a primary goal. I'd like to publish at least 4 posts before my next GHD summary.

Secondary goals for July

1. Release a playable demo of my Atari ST text adventure

Development on this has stalled the last few months, but the pieces are all there. I'd like to have something playable by August.

2. Release an update to one of my other side projects

There are a couple of BlitzMax tools I've been working on that I'd like to update this year. I'd like to publish a small update to one in the next month.

June was another busy month, with the added complication that I spent a week of it feeling pretty ill.

My biggest disappointment was how little writing I did. I've found that my writing relies a lot on momentum; it takes me a while to get going, but once I'm in the groove I can write a lot more. Lately I haven't really had the inspiration to write, but I noticed that ideas started to flow once I started working on non-work projects.


Groundhog Day Resolutions - June 2021

The intro to these posts always seems to be the same: things were busy and I didn't get as much done as I wanted. May was no different.

May's primary goals

1. Run a marathon

This was one of my largest goals for the year and I'm really pleased with how it went. It was a lot more enjoyable than my first marathon; there were people clapping and cheering for parts of the course which really helped.

And as an added bonus I took an hour off my previous time.

May's secondary goals

1. Write more

I wrote a whole two posts in May. Not good.

2. Finish my Atari ST text adventure

Another failure here. I added a couple of extras to the engine, but it's nowhere playable.

Primary goals for June

1. Complete one secondary goal

I have a nasty habit of leaving my secondary goals until autumn, so I want to try and get more done before then.

2. Complete one session of deliberate practice

I've been neglecting this goal for the last couple of months. Having an outlet to try small projects is something that I find helpful and I've missed having it.

3. Plan my three bodyweight skill goals

Now that I'm not running a bunch of miles every week I want to concentrate on my bodyweight skills. My back really ached towards the end of my marathon, so I'd like to work on strengthening that before I start training again.

Secondary goals for June

1. Write more

I'd like to publish at least 6 posts before my next GHD summary.

I did a lot of work during May but didn't complete many personal goals. Marathon training has taken up a lot of my focus so far, so now that I've completed that goal I'm hoping to spread some energy to other areas.