Hi, I'm Ray 👋 and this is where I write posts and collect links.

Check out my stories or posts on software engineering, leadership, or any other topics you might like.

Otherwise, check out my latest posts and links below.

The Canonical Path

the most canonical paths across the shared surface of the world’s music, starting at the point of some particular artist and going…outward, every other direction at once.

I’ve enjoyed the playlists generated by this so far.

Internet Trawling

I spend too much time reading online.

I tend to trawl content from a variety of sources, save the shiny ones in Instapaper, and read them later.

The majority of the articles I read are sourced from RSS feeds in Feedbin. I’ve organized these feeds into three categories: ‘full read’, ‘skimmable’, and ‘skippable’. This system means that if I ever feel overwhelmed by the volume of content, I can quickly mark a large number of articles as read and move on with life.

I like to complement these feeds with articles from elsewhere. I used to route specific Twitter accounts into Feedbin for this but that option is gone since the Twitter API ‘asplosion1.

Around the same time as that feature disappeared I started using Artifact. It’s from the founders of Instagram and the early development cycle has been impressive. At it’s core is a machine curated personalised news feed2. The recommendation engine feels like it still has room for improvement, I’d love to be presented with more “surprising” articles, but it still manages to throw the odd interesting articles into the mix. Using it feels like panning for gold.


  1. Mastodon has taken up the Twitter link mantle somewhat. ↩︎

  2. I don’t use the social features though it’s clear that’s where its focus is heading. ↩︎

Photoshop Generative Fill

The latest version of Photoshop Beta now includes a feature called generative fill.

I can imagine it’s easy to compromise the authenticity in your photography if you overuse these kinds of tools. With that said, and I know it’s potentially a slippery slide, there are situations where they can be incredibly useful.

For instance, I sometimes want to adjust a crop and need to fill in some areas to maintain the balance of the composition, and my Photoshop pixel-surfing chops aren’t up to the task.

I had a crack at using generative fill on a photo I recently took that I wished had more foreground.

The photo as shot with the canvas expanded to make room for more foreground.

The photo with extra foreground filled in by the default generative fill prompt.

The results look usable.

I also tried a prompt that removed the shadow on the left but the results of that were less natural.

Experimenting with various prompts and browsing their outcomes is far more enjoyable than swearing at the healing and clone brush tools 😂.

Leica Q3 Released

Years of rumours come to an end. It looks like a nice improvement over the Q2.

Folks seem down on the tiltable screen. I find that to be pretty useful feature on my GFX 100S so I reckon I’d dig it.

Cynicism and Burnout

Kandi Wiens:

However it manifests, it’s important to remember that workplace cynicism isn’t due to some sort of character flaw or being a “glass-half-empty” person. It originates from the workplace environment, not the individual. Many experts, in fact, see workplace cynicism and depersonalization as a form of defensive coping: Becoming distant and withdrawn is a self-protective measure that places a buffer between an employee and the emotional exhaustion and energy depletion their job is causing. Even relentless optimists’ protective measures can be broken down when they’re exposed to high degrees of stress, especially when that stress continues unabated.

I hadn’t made the connection between rising cynicism and burnout before.

Long Live the Work Journal

A window onto green grass

Keep a journal for work, champions.

It’s pretty easy to get started—just create a text file.

Throw in a new heading each day and write down whatever you did—a single line for each task is usually enough. I put the newer dates at the top so it’s less scrolling to get to the most recent content. Over time you end up with your own little private reverse-chronological blog-in-a-file.

Each day, dump in commands you’ve run; links to documents you’ve created, reviewed, or read; tasks you want to get done; or goals you want to achieve.

You’re building a little outboard brain where your work history is just a short grep away.

When that Friday afternoon ennui kicks in, and I’m trying to work out what I’ve contributed, I go back over my work journal for the week.

I’m the rigorous1 type, so each Friday, I summarise my achievements and impediments of the week in a separate note.

When it’s performance review time, I run over these weekly notes and pull together the story for the year.

My journal used to be a bunch of text files saved to a folder in Dropbox. That’s honestly all you need. Use Markdown or Org mode or whatever, and opening a window into what you’ve done is a ⌘f keystroke away.

NotePlan as a work journal

I used text files for years, and then, about a year ago, I switched to NotePlan.

I switched to it mainly because it has built-in daily and weekly notes2, search, sync, an iOS app, and stores everything in plain Markdown files.

It integrates with your calendar (not that I use that feature much) and includes tasks and tagging in the style of Bullet Journaling.

I’m more accustomed to the GTD productivity approach but have found having tasks alongside my journal to be worth tolerating some of the rougher edges on the task management side3.

Eyes on the prize

Knowing that I have a home for all the minutiae of work leaves me more space to dedicate my brain to what’s actually important. 🫡


  1. Ahem obsessive, perhaps? ↩︎

  2. It also has quarterly and yearly notes, though I tend only to use quarterly notes to record what I aim to achieve that quarter. ↩︎

  3. I have knocked together a few Alfred workflows to help me capture tasks into NotePlan from other apps. ↩︎

Motivating Change

Simon Harris:

Most people want to improve, know that improvement requires change, and want to take an active part in it. Engage with them early and often, be explicit about what is known, and what is still to be worked through, and help them understand for themselves how to use their own skills to drive the change you want to see.

Simon digs into building the currency you need to spend when rolling out change—trust and understanding.

How to Motivate Employees When Their Priorities Have Changed

Kristi Hedges:

Inspired people make inspired workers make inspired companies. Encourage workers to define passion in any way they want, and align your workplace to support a wide variety of situations.

This means stretching your own ideas of what ambition looks like. Is it better to have a productive worker who leaves early to train for a marathon or a burned-out worker who’s strapped to their desk? How do you judge the person who declines a promotion because they love their job exactly as it is?

Let’s not punish people who have an updated model of success that works for them.

Alignment Gets Expensive - Don't Skimp on It

Jessica Kerr:

There’s collaboration overhead to get interrelated pieces working together. Design, product, and engineering don’t “coordinate,” they collaborate. They work together every day, on a single output.

Then there’s alignment overhead. Alignment means we all know why we’re doing this work. This shared understanding lets us make the thousand detailed decisions of the day in ways that support the real purpose of our shared effort.

ChatGPT as a Calculator for Words

The ChatGPT model is huge, but it’s not huge enough to retain every exact fact it’s encountered in its training set.

It can produce a convincing answer to anything, but that doesn’t mean it’s reflecting actual facts in its answers. You always have to stay skeptical and fact check what it tells you.

I like to think of language models like ChatGPT as a calculator for words.

This is reflected in their name: a “language model” implies that they are tools for working with language. That’s what they’ve been trained to do, and it’s language manipulation where they truly excel.

The post includes a list of language manipulations you can try.

Organisational Change and Coaching Better Performance

Waves of water

It’s often necessary to roll out organisational changes in a business, e.g. new reporting structures, goal setting frameworks, or planning processes. Each change introduced requires time for people to adapt and normalise.

When businesses introduce a series of changes in quick succession, people deal with them like a swimmer facing a tight set of waves. As they adjust to the wake of one change, they are immediately destabilised by the onset of another.

This situation can make it difficult for people to build their capability and improve performance. Leaders spend most of their coaching effort on dealing with the impact of the changes rather than improving an individual’s performance.

If you find managers in your team are spending the majority of their time coaching people through change it’s likely a sign that you are trading off rolling out change over coaching performance.

New Instapaper Features

I might start working through my Instapaper queue in the car now that it supports CarPlay.

Editing titles on posts on mobile is something I’ve wanted for ages too, so that’s a win.

Unlocking Your Peak Performance

Sean Byrnes:

In fact, as a leader, there are often only a handful of key decisions that make the difference between success and failure. The challenge is not whether you can be at your best all the time, the challenge is whether you are at your best when you make those key decisions. Since we never know when those decisions will happen, we have to find a way to be ready for them at all times.

I rebuilt my schedule with some new rules:

  • Exercise is part of my job
  • Sleep is part of my job
  • Spending time with my family is part of my job

Daily Journal Time Machine

I’ve journaled in various forms over the years 1.

About ten years ago, I migrated my journaling to the Day One app.

I love how Day One is available on my Mac and my iPhone. I post text, photos, audio, links, or quotes as they pop into my head. I tag posts and even store posts into separately themed journals.

A list of my journals in Day One

A list of my journals in Day One.

In the last six months, I’ve added reviewing my journal to my morning ritual.

Each morning, before I knock out the day’s Wordle, I review the posts “on this day” in Day One.

It’s been a delight.

On some days, I have posts dating back ten years. It’s like jumping into a time machine to a previous life. Reading back over challenges at work, holidays we’ve taken, or photos of my family always brings a smile to my dial.

Once a month, I choose a random tag and review the journal posts under that. It’s illuminating to see the evolution of my mood or feelings on a particular topic over time.

Regularly reviewing my posts has made writing posts feel more valuable too.

So yeah, journaling is like a tricked-out DeLorean.


  1. First on paper, then via text or Org mode files stored on Dropbox. ↩︎

Creating Clarity in Complex Conversations

Figures in a spin

Product development is a team sport mostly carried out through meetings and conversations.

Two practical things you can try to help create clarity and reduce chaos in particularly complex conversations:

  1. Consolidate progress with a series of summaries.
  2. Crystallise outcomes in writing.

These might seem obvious, but they don’t happen as often as I’d hoped.

Consolidate progress with a series of summaries

Do you find yourself in meetings with multiple people discussing complex topics?

Does a series of tangents and related issues emerge as the conversation progresses?

In the end, are you unsure of where things are at?

Are you confident that you understand the situation but are uncertain if it’s the same for others?

Taking complex, meandering conversations and providing clear, structured summaries throughout is incredibly valuable 1.

I think of each summary as incrementally locking in consensus or taking a collective step up the ladder of inference, as described in Crucial Conversations.

Sometimes the state of play seems obvious, and therefore it feels unnecessary to summarise. I suggest pushing through this feeling and doing it anyway to ensure alignment and avoid pluralistic ignorance.

Crystallise outcomes in writing

As soon as you leave the conversation, you are immediately misaligned again 2.

You can reduce this misalignment by sharing a written conversation summary including decisions and actions.

Given the volume of conversations leaders tend to be in, capturing the outcomes becomes essential for rebooting context later or remembering which decisions were made and why.


  1. This can be as simple as listing the facts established to date, assumptions, trade-offs available, or agreed actions. ↩︎

  2. It’s ok. This is normal. Read more on autonomy and alignment from Jean-Michel Lemieux↩︎

Come Back to Me When You've Got a Trade-Off to Discuss

It’s not particularly useful debating the value of anything in isolation.

Considering programming languages, tools, processes, or product decisions on their own is a mostly philosophical exercise.

Things start to have meaning when we assess them against other available options.

That’s where the rubber hits the road, and things get spicy, friends.

Why and How Culture Amp Retired Elm

Kevin Yank:

From time to time someone will ask, “Does Culture Amp still use Elm?” I’ll answer privately that no, we are no longer investing in Elm, and explain why. Invariably, they tell me my answer was super valuable, and that I should share it publicly. Until now, I haven’t.