Jamie Tanna

294 followers1 following42 stories

Longform Stories

Is there space for 'craft' in the world of AI?

Replying to a friend's pondering about whether being a 'craft engineer' is still possible in the world of AI.

1d ago·10 min read·1979 words

Week Notes 26#21

What happened in the week of 2026-05-18?

2d ago·2 min read·354 words

Week Notes 26#20

What happened in the week of 2026-05-11?

May 17·3 min read·408 words

I'm on Fallthrough: He Who Controls the Source

Announcing my appearance as a co-host on Fallthrough, talking about a mix of current affairs, including SHai-Hulud, the Open Source Resistance and more.

May 16·1 min read·75 words

Caveats around using Libyears

Why taking the Libyear metric at face value can mislead you, and suggesting a new metric 'Tempered Libyears'.

May 14·1 min read·22 words

I hate the recent open-source rise

Why I'm worried about folks using the term `open-source` and some minimal research into why it's wrong.

May 12·1 min read·23 words

Week Notes 26#19

What happened in the week of 2026-05-04?

May 10·1 min read·10 words

Gotcha: Yarn may need an empty NPM_TOKEN set to run

Why you may be seeing `Failed to replace env in config: ${NPM_TOKEN}` if you don't have an `NPM_TOKEN` set.

May 5·1 min read·29 words

Week Notes 26#18

What happened in the week of 2026-04-27?

May 3·1 min read·10 words

Configuring Renovate to only suggest updates that match your go directive.

How to make sure that Renovate's updates to Go modules keep you within the minor version of your `go` directive.

May 2·1 min read·31 words

Week Notes 26#17

What happened in the week of 2026-04-20?

Apr 26·1 min read·10 words

I'm on Fallthrough: No Country for Old Maintainers

Announcing my appearance as a co-host on Fallthrough, talking about a mix of current affairs, including OAuth, maintainer burnout, of course some AI and more.

Apr 25·1 min read·33 words

A deep dive into the wild world of GitHub Actions' tagging formats

Inside the ways that GitHub Actions' versioning works, and how we improved Renovate's support.

Apr 24·1 min read·26 words

Week Notes 26#16

What happened in the week of 2026-04-13?

Apr 19·1 min read·10 words

I'm on Fallthrough: Supply Chain Reaction

Announcing my appearance as a guest co-host on Fallthrough, talking about supply chain security, AI, Claude Mythos, and many more topics.

Apr 18·1 min read·27 words

Setting up Neovim with the Debug Adapter Protocol for Javascript/Typescript

How to use Neovim, nvim-dap, Mason and `js-debug-adapter` to add debugging capabilities for a Javascript/Typescript application.

Apr 17·1 min read·26 words

How to build a git diff driver

How to write an external tool for `git diff` to delegate complex diffs to.

Apr 11·1 min read·21 words

Using oasdiff for rich Git diffs of OpenAPI spec changes

How to configure `git diff` to use `oasdiff`'s rich changelog on changes to OpenAPI specs.

Apr 11·1 min read·25 words

Week Notes 26#14

What happened in the week of 2026-03-30?

Apr 6·1 min read·10 words

Week Notes 26#13

What happened in the week of 2026-03-23?

Mar 29·1 min read·10 words

Week Notes 26#12

What happened in the week of 2026-03-16?

Mar 22·1 min read·10 words

Pointing lazy.nvim to a Pull Request

How to configure lazy.nvim to reference a Pull Request for a given plugin.

Mar 22·1 min read·19 words

Week Notes 26#11

What happened in the week of 2026-03-09?

Mar 15·1 min read·10 words

Week Notes 26#10

What happened in the week of 2026-03-02?

Mar 8·1 min read·10 words

My workflow for testing Renovate config changes (2026 edition)

A runthrough of my process for testing more complex Renovate config changes where I want confidence up-front.

Mar 8·1 min read·26 words

Does my site's analytics change how I write?

Reflecting on whether how my blog is read impacts what I write.

Mar 3·1 min read·20 words

Week Notes 26#09

What happened in the week of 2026-02-23?

Mar 1·1 min read·10 words

Automagically updating oapi-codegen JSON Schema version bumps with Renovate

How to use Renovate to update the version pin on `oapi-codegen`'s JSON Schema URL.

Mar 1·1 min read·23 words

How I'm using Local Large Language Models

Insight into my (low) usage of local LLMs on my personal desktop and work Mac.

Feb 28·1 min read·22 words

Automating the syncing of files between repos with Renovate and Venidr

How to use Renovate and Vendir to periodically update vendored files which are out-of-sync between Git repos.

Feb 27·1 min read·28 words

How and why I attribute LLM-derived code

How I'm reducing risks of legal concerns now and in the future with AI-generated code.

Feb 25·1 min read·22 words

Week Notes 26#08

What happened in the week of 2026-02-16?

Feb 22·1 min read·10 words

Breaking free from GitHub Discussions' limitations

How we built our own interface on top of GitHub Discussions to improve triage for Renovate's Open Source community.

Feb 20·1 min read·25 words

GitHub Actions' required properties aren't always required

A gotcha with how `required: true` allows an empty string as valid input.

Feb 18·1 min read·20 words

Lessons learned from oapi-codegen's time in the GitHub Secure Open Source Fund

Sharing some thoughts about the GitHub Secure Open Source Fund and how I spent the time with `oapi-codegen`.

Feb 17·1 min read·30 words

Week Notes 26#07

What happened in the week of 2026-02-09?

Feb 15·1 min read·10 words

Week Notes 26#06

What happened in the week of 2026-02-02?

Feb 8·1 min read·10 words

Improving the experience of browsing Renovate debug logs

Creating a Terminal User Interface (TUI) application to improve the debugging experience with Renovate's debug logs.

May 18·1 min read·24 words

Blocking 'Similar' and 'Because you like ...' suggestions on reddit with uBlock Origin

How to use uBlock Origin to remove reddit's suggestions in your home feed.

Dec 17·1 min read·26 words

Some mixed thoughts on The Changelog Podcast Universe

Some reflections on the bittersweet news about The Changelog Podcast Universe.

Dec 8·3 min read·492 words

Some useful SQL(ite) tips I've learned

A collection of SQLite snippets I've picked up recently to improve my queries.

Dec 5·1 min read·19 words

Creating a private mirror of the Renovate docs

How to set up a copy of Renovate's documentation, pinned to an older version, for your organisation.

Nov 19·1 min read·25 words