rssed

a collection of dev rss feeds - blogroll

Add a new feed

+

162 feeds


articles on Jamie Tanna | Software Engineer

Posts

Creating a private mirror of the Renovate docs 🔗

If you're self-hosting Renovate, you're generally going to be out-of-date compared to the upstream project's releases. This isn't just because it take [...]

Week Notes 24#46 🔗

A busy week of on-call (and some high priority work to support on Thursday) With Changelog doing a merch sale, I ended up getting some new swag, espec [...]

Lessons learned adding OpenTelemetry to a (Cobra) command-line Go tool 🔗

In an effort to better understand + instrument tools I work on (both in and out of work) I've recently been introducing OpenTelemetry support to Depen [...]

Week Notes 24#45 🔗

A busy week at work with post-incident follow-ups and an incredible downer in the US Elections. Got a haircut ahead of the few big meetings this week [...]

Summarising the `skipReason`s for Renovate data exports 🔗

When working with package data dumps from Renovate - regardless of the source - it can be interesting to see which packages haven't found updates. Thi [...]

Week Notes 24#44 🔗

A spicy week at work (for many reasons) and overworking: Couldn't sleep very well on Monday night, as on Tuesday I had a couple of big things at work [...]

How to diff two datetimes 🔗

Today I've been looking at how to calculate the number of seconds/minutes/hours between two datetimes. As this is both for me, and for other humans to [...]

Week Notes 24#43 🔗

Circles - Yoe Mase was been very much on repeat, such as 🔥 new release Realised the heated floor in the loft room has been on - accidentally - for a [...]

Week Notes 24#42 🔗

A busy week at work An interesting OpenUK meetup this week around whether Open Source can be a business Announced our next OpenUK meetup, all about th [...]

Why has Firefox 133 lost all my tabs? 🔗

Over the last week, I've upgraded my various (Arch btw) Linux machines' versions of Firefox Nightly to their latest - largely due to the announced zer [...]

Creating a /slashes page 🔗

Last week I found out that Robb Knight has a site called called Slash Pages, which details common top-level URLs that are found at /<name>. I'd found [...]

Week Notes 24#41 🔗

For some GitHub insights for work, I had it in my head to re-investigate SteamPipe, but as I started working with it I remembered that unfortunately i [...]

OggCamp 2024 🔗

As I write this post, I'm sitting on the train home from OggCamp 2024. It's been a good weekend - I've met some nice people, caught up with folks I've [...]

How I manage my dotfiles 🔗

Over the last month or so, there have been a couple of posts around how to manage local configuration (aka "dotfiles") - Better Dotfiles (discussion o [...]

Week Notes 24#40 🔗

A busy-ish week back at work again Phaeleh's new album dropped, although I didn't realise it was an EP, not a full album. Still good though! Spent Wed [...]

Don't do Agile, be agile 🔗

Over the last ~8 years in my career, I've worked on teams who do Agile, and who are actually agile. Although there has been some overlap, I've found t [...]

Converting a Reveal.js slide deck to PDF 🔗

Something I have to do every so often is convert one of my talks from their web form in Reveal.js to a PDF. Ahead of speaking at DTX London tomorrow, [...]

Getting symlinks to work with a `git clone` on Mac 🔗

Yesterday I was working with one of my colleagues, who had an issue in one of their Git repos where a symbolic link (symlink) wasn't resolving correct [...]

Using a separate Go module for your `tools.go` 🔗

In Managing your Go tool versions with go.mod and a tools.go, I mentioned how you can use a tools.go to track any dependencies your project needs for [...]

Week Notes 24#39 🔗

A lovely, wholesome, few days in Wells-next-the-Sea: We stayed at the very nice A Room in the Park It was a very good week weather wise, and we didn't [...]

Week Notes 24#38 🔗

A busy week ahead of a week off: A very busy on-call week, as well as trying to close things off before holiday I ended up getting my first page (at [...]

I'm on API Evangelist Conversation 🔗

This afternoon, I had a great conversation with Kin Lane, aka the API Evangelist, about API Versioning on the API Evangelist Conversation podcast. I'v [...]

Utilising Renovate's `local` platform to test more easily 🔗

Last year I wrote about how you can use Renovate's local platform to make renovate-graph more efficient, which has been very useful for work I've been [...]

Don't pretty print your API's JSON response body 🔗

We generally build APIs for automated integrations, not for humans to read them. Although you as a human will look at the raw API request/response for [...]

Week Notes 24#37 🔗

A fairly busy week, and Stanley came to stay for the weekend: Very cool to see Jane Wickline joining the SNL cast - very deserved! The Big TDM game mo [...]

Nested teams in GitHub don't give you the control you think they do 🔗

GitHub has the concept of nested teams to make it possible to say manage hierarchical access in your organisation. This can be really useful for indic [...]

Forcing `pacman` to perform post-upgrade tasks if it's failed part way through 🔗

You know it's not a great start to your week when, after a long weekend, you set your work laptop running through updates and it crashes part-way thro [...]

Week Notes 24#36 🔗

A short week ahead of Cat's wedding 🥰 Cookie didn't make it to daycare on Monday as she was poorly, but was luckily better by the end of the week Got [...]

How to use Dependency Management Data to discover which dependencies are participating in Hacktoberfest 🔗

As I've mentioned before, the fact that it's September means that it's almost October, and October primarily means one thing for me: Hacktoberfest 🎃� [...]

Week Notes 24#35 🔗

A four day week that felt like a five day week 🫣 Had a nice couple of hours in town on Bank Holiday Monday, and doing a bit of shopping Went for lun [...]

You're not mature enough to release your first version as v1 🔗

Last night I noticed that it's not possible to use semantic-release to publish 0.x.y releases (aka "initial development versions") of packages. What s [...]

Week Notes 24#34 🔗

Heading home from Dave and Faye's on Monday, a day off on Tuesday, and then a three-day week leading onto a Bank Holiday weekend: Had a fairly good jo [...]

Week Notes 24#33 🔗

A busy week with a few days of work, GopherCon UK, and then a (long) weekend up North with Anna's family: Cookie was rather worried by the thunderstor [...]

GopherCon UK 2024 🔗

It was my first GopherCon, and I had a great time. There were some great talks, great people, great food, some great swag and a very perfectly chosen [...]

Gotcha: SXHKD doesn't like comments (in bindings) 🔗

I've written before about my usage of the BSPWM tiling window manager, which goes hand in hand with Simple X HotKey Daemon (SXHKD). I noticed earlier [...]

How to get the next window created set to floating in BSPWM 🔗

I've written before about my usage of the BSPWM tiling window manager. One thing I've recently been looking at doing setting up a "scratch pad" style [...]

Creating a /typography page 🔗

As you may have noticed - unless you're an RSS-only reader, in which case, you may want to click through to see this page - I recently revamped my sit [...]

Week Notes 24#32 🔗

Finalised my site's new CSS, which I'm pretty happy with so far My episode of Go Time came out Was a good listen, and hope others enjoy it - so far i [...]

I'm on Go Time! 🔗

I'm very excited to announce I'm on my first episode of the ever awesome Go Time podcast, on today's episode, OpenAPI + API Design. As I mentioned in [...]

New CSS, Who Dis? (2024 edition) 🔗

It's been just over four years since my last significant site redesign, and today I'm releasing a new site update. This isn't as significant an update [...]

Why isn't Hugo regenerating my SCSS files? 🔗

Over the last couple of days I've been - after a long hiatus - making some tweaks to my Hugo site's theme. I've hit an issue on both my laptop and (ne [...]

Week Notes 24#31 🔗

A warm week An expensive week: Bought a new fan for my office - the Dyson tower fan I won at Capital One in ~2018 has been feeling lacking in compari [...]

Why can't I use a comma with `gcloud`? 🔗

I've been trying to call a Google Cloud Run Job with the following arguments: [[{"platform":"...","organisation":"...","repo":"..."}]] I've done this [...]

Using Spotless to auto-format Gradle Verification Metadata 🔗

I've previously written about Spotless being great. I've recently started working with some codebases that use Gradle Dependency Verification which pr [...]

Common issues faced with `exec`ing an executable on Linux 🔗

There are a number of somewhat esoteric errors you can hit when trying to execute another binary, and as I hit one today that took a bit of thinking, [...]

Week Notes 24#30 🔗

Still a bit sleepy on Monday from my longest drive so far A busy week working towards the Renovate rollout in the next week and a bit, writing lots of [...]

You can now parse repo-level Renovate configuration with `renovate-graph` 🔗

Almost 2 years ago (!) I built renovate-graph, a tool to extract the dependency trees for a given repository, which under the hood uses Renovate. I've [...]

Dependency Management Data's Open Policy Agent support is now a whole lot more efficient 🔗

Over the last week - pretty much since working on how you can use Open Policy Agent and Dependency Management Data to query EndOfLife.date data for in [...]

Week Notes 24#29 🔗

Related to a comment on Lobsters about Git history, I posted my own blog post, which then led to a number of sites (including some Telegram groups and [...]

Migrating Renovate bots, while keeping existing PRs updated 🔗

In the process of migrating from the Mend-hosted SAAS platform to a Self-Hosted deployment of Mend Renovate Community Edition, we've noticed that PRs [...]

Manually triggering a Buildkite pipeline for a fork 🔗

If you're building on Buildkite, sometimes you may encounter a time where you're contributing from a fork, but CI isn't running (often by design). So [...]

Week Notes 24#28 🔗

Returning to work to ~220 emails, and a 99+ notification badge on Slack 😅 Was a busy Monday prepping for a meeting later that day, and catching up o [...]

Dependency Management Data's now on Mastodon! 🔗

With thanks to botsin.space, I've now got a Mastodon account for dependency-management-data! I'm still planning on having most of the interesting blog [...]

Dynamically querying EndOfLife.date data for internal packages with Open Policy Agent and Dependency Management Data 🔗

When working with dependency-management-data, one of the great things it can do is provide insight to how close/far past the end-of-life date of upstr [...]

89 things I know about Git commits 🔗

This is an article that's been swimming around in my head for ~5 weeks now, and may become a "living post" that I keep updated over time. In no partic [...]

Dependency Management Data is now a lot easier to work with when using Software Bill of Materials 🔗

On Sunday night I released v0.100.0 of dependency-management-data, a huge release in a few ways. First of all, it is in name a very large numerical re [...]

Week Notes 24#27 🔗

A lovely and very restorative week off for Anna's birthday We didn't get as much done around the house as we'd hoped, but we ended up really switching [...]

One THOUSAND blog posts 🔗

This is my one thousandth blog post. That is absolutely wild. I remember reading Lorna Mitchell's post about hitting 1000 blog posts a few years back, [...]

Reader survey: Who reads my blog? 🔗

I think it's been sufficiently long since Terence wrote his blog post that I can not-so-shamelessly steal the idea. (Aside: I was originally going to [...]

Week Notes 24#26 🔗

A very busy week of on-call and trying to deliver the first key Renovate milestone at work, ahead of next week off for Anna's birthday: Probably our b [...]

Dependency Management Data can now use sql-studio for database browsing 🔗

As noted in Dependency Management Data's web application can now be deployed as a single static binary, Dependency Management Data's web application h [...]

Creating a test harness for validating Renovate regex manager rules 🔗

As I've written about before, I'm a big fan of Renovate. One of my favourite Renovate features is the Custom Manager Support using Regex, which allows [...]

Modifying the response body of an `httputil.ReverseProxy` response 🔗

I'm currently working with the maintainer of the beautiful sql-studio to make it possible to serve the application from a subpath, which would allow m [...]

Week Notes 24#25 🔗

A pretty busy work week, and a start of an on-call shift, but managed to get some life admin stuff done too Got the executive function to finally get [...]

Performing cross-database queries with SQLite 🔗

As you may be aware if you're a reader of my blog, I'm currently heavily on the SQLite train (to productivity) and as such I spend a lot of time inter [...]

Week Notes 24#24 🔗

A very busy week at work writing + demo'ing the design doc around Renovate, and doing various bits around that and some other work we've got in the pl [...]

Dependency Management Data's web application can now be deployed as a single static binary 🔗

Since the first iteration of the dependency-management-data web application, I've offloaded the experience of writing and querying SQL querying to the [...]

Using Go's `database/sql` to query an arbitrary columns of unknown type(s) 🔗

As part of some work I'm doing on dependency-management-data to add a pure-Go database browser, I want to be able to accept arbitrary SQL and query it [...]

Week Notes 24#23 🔗

A big tough going back to a five day week 🫣 But got the oapi-codegen release out, some interesting talks at Tidelift Upstream and a new TV 👀 Got the [...]

My workflow for writing SQL(ite) queries (2024 edition) 🔗

In the last ~18 months I've been writing a lot of SQL due to my work on dependency-management-data. As I wrote about on dependency-management-data's b [...]

Week Notes 24#22 🔗

A three day week, Ratchet and Clank: A Rift Apart and a nice weekend in Cambridge: With the bank holiday Monday, Anna and I had a nice date day in tow [...]

Calculating the GitHub API's `sha` representation of a local file 🔗

I've recently been doing some work to commit files directly to a GitHub repository using the API, as part of my work on dependency-management-data. Wh [...]

Week Notes 24#21 🔗

A successful my ON Week (hackathon) at work: Linh and I made some really great progress on setting up a scheduled re-scan of the org's dependencies wi [...]

Week Notes 24#20 🔗

A busy week of on call, and the start of my ON Week (hackathon) at work: Cookie was in daycare on Monday - as it was meant to be my hackathon week and [...]

Making it easier to schedule cross-timezones, with the `tz` CLI 🔗

One of the things that drew me to Elastic was the opportunity to work in a fully distributed team. I've really been enjoying it as a way to get a chan [...]

Week Notes 24#19 🔗

A busy week on the blog: We polished off the announce posts for oapi-codegen looking for sponsorship and the move to the new org which have got some t [...]

Installing Google Cloud CLI components on Arch Linux 🔗

I've recently been working with Google Cloud more, and so while developing a Cloud Function locally, I naturally tried to follow the official local de [...]

I'm on Cup o' Go! 🔗

This morning I was a guest on Cup o' Go, ahead of today's episode, which is now live. Cup o' Go is a great podcast, which I've listened to since the [...]

Responsible Disclosure: Using GitHub Search (without logging in using SSO) still allows searching 🔗

I've responsibly disclosed my first security vulnerability 👏 Not only that, but it was actually a problem, and it was fixed very quickly, and I've en [...]

Creating a more sustainable model for `oapi-codegen` in the future 🔗

Note that this is a copy of the announcement on GitHub. [!NOTE] TL;DR: Maintenance of oapi-codegen is largely done for free, on the maintainers' perso [...]

oapi-codegen is moving to its own org 🔗

Note that this is a copy of the announcement on GitHub. [!IMPORTANT] TL;DR: We're moving oapi-codegen to a new GitHub organisation. Nothing is changin [...]

Week Notes 24#18 🔗

Another busy week at work We've postponed on-call changes to next week to finalise a few things But, as it was Labor Day in most parts of the world o [...]

Lessons learned self-hosting Renovate 🔗

As I wrote a few weeks ago I'm a big fan of Renovate. I've been using Renovate for ~5 years as a user and as an operator, using a variety of hosted an [...]

Week Notes 24#17 🔗

The second week of work being super busy 🥱 This coming week is the first week of our new on-call/host-of-the-week, so there's going to be a lot less [...]

Automating the syncing of files between repos with GitHub Actions 🔗

As I wrote in Checking if files are synced between repos with GitHub Actions, if you're vendoring-and-periodically-updating files, trying to remember [...]

Week Notes 24#16 🔗

My final Shut It Down Day Had a nice massage, and bought a course of massages so I now have 10 more massages paid for and ready to enjoy 💆 While we' [...]

Week Notes 24#15 🔗

The one with the Lead Dev webinar and lots of Renovate: My Google Pixel Watch got stuck on the bootloader after doing an update, so I had to factory r [...]

Querying your organisation's Renovate configuration using SQL(ite) 🔗

In what will seem very topical on this blog (after my post Why I recommend Renovate over any other dependency update tools the other day) I've got ano [...]

Why I recommend Renovate over any other dependency update tools 🔗

If you've read my blog before, or interacted with me at work or in the Open Source world, you're likely to know that I'm a huge fan of Renovate. For t [...]

Week Notes 24#14 🔗

A short week with it being Easter Monday: Had my family come up for the day which was very nice - we had a chilled one at ours, and went over to The L [...]

Week Notes 24#13 🔗

A four-day week ahead of the Easter weekend. Enjoyed attending the GitHub OSPO Advisory Board, learning about cool stuff being done at GitHub and OSPO [...]

What can we learn about the backdooring of `xz`/`liblzma`, using OpenSSF Security Scorecards and dependency-management-data? 🔗

CVE-2024-3094 This evening, it was announced by Andres Freund that there is backdoored code in xz and liblzma: I accidentally found a security issue w [...]

Week Notes 24#12 🔗

A last day in Rome, travel home, and then back to work. On Monday, Anna had booked a pasta + tiramisu making course with my parents, which was a lot o [...]

Week Notes 24#11 🔗

A lovely first week in Florence and Rome - ahead of my 30th birthday on Sunday: A very early flight (waking up at 0400 😵 - and glad we had a good buf [...]

Week Notes 24#10 🔗

My first week of work with my new team, which was very nice! Been enjoying the more frequent team catch-ups although I've not been able to make it to [...]

What routes is my `http.ServeMux` listening for? 🔗

As I've been looking at adding Go 1.22+'s new net/http routing to oapi-codegen so folks could use the new lightweight functionality built into the sta [...]

Why is Go 1.22's enhanced routing not working for me? 🔗

A few weeks ago, I started looking at adding Go 1.22+'s new net/http routing to oapi-codegen so folks could use the new lightweight functionality buil [...]

Week Notes 24#09 🔗

This week was Elastic's Engineering All Hands in Prague, which was great but tiring: Had a pretty nice journey to Prague - it was an afternoon flight, [...]

Job titles are bullshit 🔗

I've had several versions of this post half-written in my head over the last year or so, but I'm finally getting around to writing it. This is a post [...]

Week Notes 24#08 🔗

My episode of Changelog and Friends has had positive feedback, and I've had some good discussion on Changelog Slack with some nice comments from folks [...]