https://www.jvt.me/kind/articles
33 posts · 1 Votes
Tech 61% · Life 36% · Writing 3%
Subscribe via RSS
🤖 This post includes some LLM-derived content 🤖 I've recently been using the pattern I described to combine Renovate and Vendir to sync files in a number of repos, as a means to track OpenAPI spec dependencies. However, one thing I've found a bit painful is that when using Vendir to track these dependencies, the directory structure gets very nested. For instance, with config such as: # via https://github.com/rootlyhq/rootly-go/blob/61c86b8660b6f25d1e8d8638417de173350dfb61/vendir.yml apiVersion:…
A busy week back at work, catching up on what I'd missed, doing some decision making + Product-y thinking A fair bit of stuff to catch up did make it a slightly stressful start to the week, though Had a fun time at the GitHub Secure Open Source Fund's "Red Team - Repository Under Attack" event GitHub Secure Open Source Fund: Red Team - Repository Under Attack: A Hands-On Incident Response Exercise Helpful to get some more practice on how to handle your repository/organisation being compromised…
A busy week before our trip to Canada 🎉 (Full Canada holiday writeup to come) It was very toasty this week As a way to reduce the overall heat, I ended up leaving my PC off while working, and found that worked quite well - but does mean I need to listen to music through my phone, which isn't ideal Sainsburys had the shutters down over their fridges But people didn't put them back after perusing - so spent a bit of time going round and putting them back while looking around but it also tripled…
(Full Canada holiday writeup to come) Reading: Tiamat's Wrath Leviathan Falls Watched: The Drama (2026) Fantastic Beasts: The Secrets of Dumbledore (2022) Switzerland vs Algeria (World Cup 2026) Canada vs Morocco (World Cup 2026)
(Full Canada holiday writeup to come) Got ~1 hour sleep on the plane, and ~1 hour in the cab home, so didn't get going to pick up Cookie right away from Anna's parents - but after some caffeine I was ready to drive us to pick up Cookie Then Cookie decided to be rather alert during the night, so didn't catch up on sleep particularly well, and then last night Morph was the annoying pet 😅 So hoping to get some more sleep tonight, cause it's kinda getting to us! It's been much warmer coming home…
Enjoyed the last of the Selkirk Bannock A busy week catching up, dealing with a bit of fallout while I was OOO, picking up a few high-priority bits and doing some product-y evaluation of our backlog Some more good work on rootly-go this week oapi-codegen's now - on main - got initial OpenAPI 3.1 support, which we'll release in a few weeks One night, Morph was wailing at something - it turns out another cat was in one of our flower beds, and didn't want to leave, but don't worry, Cookie helped 🤭…
🤖 This post includes some LLM-derived content 🤖 Let's say that you're trying to determine what percentage of your work is using AI - for instance as part of a performance review - how would you go about doing that? I've written before about how I personally attribute code and content from a Large Language Model. I still very much appreciate myself following the practice, and find it useful - even if others don't want to follow a similar process - as it helps "keep myself honest" with noting…
A lovely week in Scotland at No. 2 Braefoot Cottage, which I very much recommend! Was lovely to get more chilled time with my parents, catching up and having some chill time I didn't bing my laptop charger with me by mistake, and fortunately nothing went wrong that needed it! Had some good walks and got some pretty awesome views - and mostly good weather, very impressively considering it was Scotland 😹 My new walking boots were good, and glad to have broken them in a little more now Cookie got…
A busy week ahead of a holiday away in Scotland Thinking about pausing my Changelog++ subscription, as right now there's not really much happening Changelog wise, which is a shame A nice dinner at Everyday People with Carol, Alan and Nisha - a bit loud (with it being busier due to Restaurant Week) but good food 😋 A pretty good drive up to Scotland and some pretty great views and beautiful nature - expect to see some photos in the coming week! I'll potentially add a few things to these over the…
A nice relaxed Bank Holiday Monday We spent the day mostly trying to hide from the heat - highs of ~32 made it rather toasty Glad I did the decking on Saturday/Sunday, as it was so toasty And playing Clair Obscur: Expedition 33 almost all the day - continuously until the game crashed in the evening 🫣 A pretty busy work week One very good thing is that we're back to being able to publish npm packages 🚀 Had a good chat with Brian about our integrations with Maven Central Enjoyed doing my first…
My friend Alan wrote yesterday in a thread on Bluesky: In my end-of-year review I was described as a 'craft engineer' more than once. I don't disagree with this, but I have to wonder if this approach (one that has been comfortable for me for more than 10 years) is totally incompatible with modern AI tooling and a 'deliver it' mindset in a team? I want to split this across what I do; use the new tools and deliver quickly in my workplace, and not use AI at all for my personal work and use that…
It's heating up this week, and tomorrow is going to be ~33! Spent some time digging into how Renovate's caches work, to write up some more in-depth docs, and learned a number of interesting things I'm looking forward to finish writing up KvK vs 521 was fun We smashed them in prep, but they lasted longer than us for the battle Was interesting joining the Discord during the battle, and hearing the coordination conversations And funny when I joined 521's Discord call (just to see how things were…
Got my job title changed at work, covering the role I do have and the work I'm doing (but no update to /salary/) which is cool! It's also a lot easier to say: -Senior Developer and Open Source Project Maintainer +Renovate Project Lead Another busy week with a lot of stuff going on, but some good bits done Preparing for a webinar I'm doing next-next week Still waiting for GitHub/npm support to help us unpublish a number of old npm releases so we can publish new package versions for Renovate Had…
This week I joined Kris Brandow on the Fallthrough podcast, talking about a mix of things. It was another fun episode, and I'm looking forward to listening back to it to hear about some fo the things we talked about. Hope y'all enjoy it!
Over the last few years, I've spent time working on projects like dependency-management-data with the intent that I could provide visibility into organisational usage of dependencies and insight into how outdated they are, which continues with working upstream on Renovate and Mend's enterprise offerings. Over the last few years of work, I've spent time looking at some of the great metrics the CHAOSS project work on, where I found the Libyear metric: Libyears gives a more tangible definition of…
In the last month I've found I've been hyper aware of noticing folks writing open-source everywhere I look, which feels like there's something slightly larger at play. Where I've had access and means to, I'll correct references to correctly call it either open source or Open Source as appropriate, but there's a lot out there I don't really have the time to try and correct for everyone, so here's a blog post to hopefully make more of an impact. For those that aren't aware, there are two distinct…
A very short workweek, with Bank Holiday Monday, the GitHub Maintainers Summit and Matt's funeral on Thursday Had a chilled Bank Holiday Monday Was nice to be invited to the GitHub Maintainers Summit, and found it a good time! I didn't end up writing many notes that are worth sharing publicly, in particular because there were a number of confidential sessions where lot of the interesting things were being shared! Sorry y'all! Some good discussions, and it was at times hard to follow the…
Earlier today I was working with a Yarn codebase for the first time on one of my machines, and I hit an awkward error I'd not seen before: % yarn install yarn install v1.22.22 error Error: Failed to replace env in config: ${NPM_TOKEN} at /usr/lib/node_modules/yarn/lib/util/env-replace.js:19:13 at String.replace (<anonymous>) at envReplace (/usr/lib/node_modules/yarn/lib/util/env-replace.js:14:16) at NpmRegistry.normalizeConfig (/usr/lib/node_modules/yarn/lib/registries/npm-registry.js:423:69)…
A fairly busy week at work, and a mix of getting stuff done across the Open Source world In Renovate: Finished off the ability to make it so Renovate only provides updates to Go modules within your go directive, which we've wanted for oapi-codegen - already been very useful! With it being the start of Maintainer Month, I've been thinking about what we can do to support maintainers who use Renovate, as well as increase insight into the Renovate project itself We hit the "too many published…
In the Go ecosystem, there are two key parts of the go.mod to note (aside from the dependencies themselves) which are the go and toolchain directives. The go directive allows specifying the minimum version of the Go language that needs to be used to work with this module. The toolchain directive allows specifying the minimum version of the Go toolchain that needs to be run to build the module, which also controls the version of Go's standard library that is used with the module (and therefore…
A pretty intense environment this week, so not too much else done outside of work Another episode of Fallthrough - this time a bit more random in what we covered, but good Tried making sweet and spicy Korean chicken - wasn't quite right in terms of measurements (and a little too little gochujang) but was good Listening to How Did This Get Made?'s episode on Master of Disguise reminded me of watching it many many years ago with the family - I remember them very much regretting letting me choose…
This week I joined Kris Brandow on the Fallthrough podcast, somehow talking about even more topics than last week. This was a fun episode, and one of the alternate titles I'd proposed - on the removal of Claude Opus from GitHub Copilot Pro and maybe no more Claude Code on the Pro plan - was: The Opus was the shareholder value we've delivered along the way. Hope y'all enjoy it - it was shorter than last week's! And, I got a promotion (and a payrise) as a full co-host, no longer "guest co-host" 🚀
Last week, I was tagged in a LinkedIn post, where one of the Python Core developers was noting that Astral's setup-uv GitHub Action was not being updated by either Renovate or Dependabot, and a note to users that they would need to manually update. I was a bit surprised about this - as it was the first time I'd heard about it - and this is never the scenario I'd want Renovate users to be in - manual bumping a version in a file should be a thing of the past! After digging into a GitHub Issue…
A busy week at work Was pretty chuffed with myself when I saw a nudge about astral-sh/setup-uv not being updated by Renovate (since the move to Immutable Releases) and I was able to solve it pretty quickly, showing some good speed of reaction compared to alternative products But, alas, it ended up being a little more complicated and breaking a few things, and I probably could've taken a breath to make sure it was right Did end up getting a good solution in by Friday afternoon, and looking…
This week I joined Kris Brandow and Ian Lopshire on the Fallthrough podcast to talk about a tonne of topics, including AI, Claude Mythos, why frontend engineering is harder than backend engineering, a preview of a proposed talk to GopherCon UK "A little dependency is better than a little copying", and a whole load of other things.. This was a really fun episode, and we covered quite a few different things, with a good range of topics. I'm very eager to hear how Kris (and Claude) have managed ...
As I've been working more with Typescript - especially with Renovate - I've been feeling the need to finally invest in getting a debugger set up. Although I've been a fan of either console.logs and/or using OpenTelemetry tracing for debugging how things have been working in the project, there's been a few things this week that would be more convenient if I could i.e. interactively check some of the combinations of arguments coming into functions. As I'm trying to - where possible - stay in Ne...
A 3 day week, with Easter Monday and a recharge day at work A busy week at work, continuing on protecting our users from malicious packages Including a short-term fix using OSV data, and a longer-term solution planned that I'm working through which will provide some strong extension points in the future Some oapi-codegen work Including some improvements to Renovate to allow not updating dependencies that will bump the go directive In renovate-graph: (Aren't you surprised to see me men...
Something I've been meaning to write about since November 2024 is how to create an external command for diffing between files with git diff. I found that while I was implementing renovate-packagedata-diff that there seemed to be a lack of documentation around how to do it, so it would be worthwhile me blogging about it. (I've since found that there is some documentation in the Git Diffs man page, but it wasn't exactly well discoverable) It's been at the back of my mind as a TODO for some time...
I work with quite a few OpenAPI specs, and have found it useful to be able to keep an eye on what's changed over time. Although I'm familiar with the YAML (or JSON) representation of a given OpenAPI spec, it's nicer to have a summary that's human-readable. This especially is the case in my work maintaining rootly's Go SDK, where there's a lot of change! I've recently been using oasdiff a lot more, and have found that it'd be useful to have it as a diff driver for Git, so git diff output shows...
Week Notes are later than usual because we were binging Last One Laughing UK, and enjoyed going to bed late with it being a bank holiday A fairly busy week at work, getting some more things in place to block malicious packages from being picked up by Renovate With the end of the tax year coming up, spent some time sorting out ISA allowances, paying into personal pension, calculating an estimate of my possible tax bill, and getting my Ledger setup updated for this year And now it's 6th April...