VS Code Copilot (Agent) vs Google Antigravity (Planning) & More

This entry is part 2 of 2 in the series Golang AI kata comparison

Back in July 2025 I did a little comparison of various AI code assistants with a small Golang kata (with some content stripped out), and I’m back for a second attempt using the same kata, but focusing on some of the newer Copilot models, as well as cloud agents, and a run through with Google Antigravity. All runs have been screen recorded, very generic time metrics extracted, and the code is also all up in branches in the code repo if you are curious…

The prompts used will also be the same as i my last blog post, starting with…

The code repository is going to be a small Library application.
There are CSV files in the resources directory that contain the content of the library.
Create a user interface that allows display of all books and magazines with detailsCode language: Access log (accesslog)

And continuing to guide the agent through adding a couple of features such as searches, ordering, writing some basic tests, allowing adding data and having a companion application (either CLI or UI, depending on what it chose to do first). You can expand the second below to see them all…

Great! Now I want to add to the interface that you created to allow searching for a book or magazine by its ISBN.
I still want to be able to easily list all books and magazines without any filters / searches too.Code language: Access log (accesslog)
Add an additional way to find books and magazines, by using their authors email address.Code language: Access log (accesslog)
Add the ability to sort all books and magazines, with all of their details displayed, sorted by title.
The sort should be done for magazines and books in combination.Code language: Access log (accesslog)

And as a follow-up …

Write unit tests for the project where appropriate.
If the code is not very unit testable, refactor it, maintaining functionality.Code language: Access log (accesslog)
Add one final feature that allows a user to add books, magazine and or authors to the library.
This should update the CSV files to show the data for future library lookups.
Don't let them just add to each file separately (such as author first), create a sensible form for adding things in a single action.Code language: Access log (accesslog)

And for the second application…

If you didn't yet create an interactive WEB UI, do so now.
If you didn't yet create an interactive CLI UI, do so now.
This can be very simple without much or any styling, but must be functional for the required features:
 - read data from CSV files
 - display all books and magazines with details
 - search by ISBN or author email
 - print them sorted by title
 - add things to the library (persisting to the CSVs)Code language: Access log (accesslog)

You might also have seen me occasionally send this hint to try harder…

Allow the user to choose the sort directionCode language: Access log (accesslog)

Before diving into details, overall the 5.2 Codex model as part of Copilot seems to be my favourite, though to be honest, if you can structure your prompts and repositories to work well within the GitHub Copilot cloud agents setup, that looks very appealing.

The numbers

These numbers all come with a pinch of salt, and you need to read the blurbs next to each video below to learn about that salt. Each number roughly summarizes how long that stage took according to the video replay. Some setups do more validation which takes more time, some just hope they got it right, others get stuck in the same problems over and over again, and some one shot it…

IDE & AssistantModelMain tasksTestsEditingSecond appTotal
VS Code & GitHub CopilotGrok Code Fast 16:341:491:53CLI 1:20 ~ 12 minutes
VS Code & GitHub CopilotClaude Haiku 4.511:573:207:27CLI 3:41~27 minutes
VS Code & GitHub CopilotClaude Opus 4.52:454:041:19CLI 7:21~16 minutes
VS Code & GitHub CopilotGPT 5.2 Codex5:491:212:46CLI 0:55~ 10 minutes
Google AntigravityGemini 3 Pro19:154:154:56CLI 1:56~ 32 minutes

It turns out figuring the timings for the individual steps for the cloud agents was rather hard, so I’ll only note their complete times…

IDE & AssistantModelTotal
Cloud – GitHub CopilotAuto?17 minutes
Cloud – Google JulesGemini 3 Flash31 minutes

The shortest overall time from my last post was around 18 minutes which was Roocode in VS Code with GPT 4.1, so seeing that GPT 5.2 Codex in Copilot did it all in around half the time and came up with a “better application” hints at a great improvement in the last 6 months.

Read more

A few days in Tromsø, Norway

It’s been a long old while since I have written a travel related post, most recently would be my “digital nomad” boat experience for a year, and before that probably a very specific post on travelling from Santa Elena (Monteverde, Costa Rica) to Granada (Nicaragua) which was quite popular. I now know someone that Is about to head to Tromsø, Norway, and I was about to start writing up a private Google doc to share with what we did, how we did it, what it cost and some thoughts, but let’s turn it into a blog post instead!

Back in November 2024 my partner and I headed over to Norway to kick off 2 weeks worth of adventures, including interrailing all the way down to Berlin, and eventually back to the UK. We spent time in Tromsø, Bodø, Mosjøen, Trondheim, Oslo, Goteborg, Copenhagen and Berlin, of which the start is all Norway!

Flying there

We flew from London Luton, direct to Tromsø with Wizz Air which worked out at £83.56 per person, including a checked bag, for a 3 hour 30 min flight. Not my favourite airport to leave from, but the price made it worth it, even with the additional travel within the UK.

The plan was from here on out, to travel by train all the way down into Central Europe, however Tromsø isn’t the best connected place, and we ended up getting an additional short flight down to Bodø which cost an additional £56.90 per person before the interrailing could start.

To and from Tromsø airport to Tromsø central is about a 15-minute drive, and you can easily get a taxi straight from the stand at the airport, or apps like Uber work too. Our Uber back to the airport for our second flight was NOK220, currently around £15 at 5:15am (when we didn’t want to wait for the bus in the snow)

Tromsø itself

Tromsø itself is rather beautiful. It’s a small town, and you can easily walk around everywhere, though you might struggle of course depending on the conditions. Depending on when you go, you might only have a few hours of “real” light, or the sun might not even rise in the day (but you’ll still be able to see don’t worry). Or it might be snowing and icy under foot. We had a mixture of all of this, with the sun still rising for some time during the first half of our stay, but by the last day or two, there would no longer be any sunrises!

Read more

2025 Year Review

This entry is part 7 of 7 in the series Year Reviews

Well, I’m still not back on a boat as I was in 2023… Where to start…

Lightbug

I havn’t written a whole lot about Lightbug yet on this blog, but its still been a fun year of new developments at, and I think it’s time to share some of them with pictures ;)

We released small handheld RTK device, with programmable ESP32 onboard, giving high precision accuracy, in a nice small package.

I’v enjoyed seeing how folks have been using these devices, from tracking lane changes in cars, to finding accuract path positions, or traking things around race courses.

You can find the documentaiton to read through on the docs site, a fancy looking marketing booklet on the website or look at some of the code examples for the programmable ESP32 also on the docs site.

Hopfully this year I’ll get to the point of writing my GPS, RTK, phone etc comparison blog post, comparing the tracks recorded from a bunch of different devices to compare accuracy etc.

Given my open source / open data interests, I do wonder if this will end up being useful for the OpenStreetMap community.

Now we also developed and worked on the ZCard device, though this has primarily remained inhouse, or for show and conferences and workshops. So much so, that there isn’t even a picture of one on the Lightbug website yet, but here is one sitting on one of our tshirts bak at MWC earlier this year, where we had a demo application running on it, allowing basic interactions from a web page.

Think of it kind of like a Flipper Zero in a way, but running the same hardware and firmware stack as the rest of the Lightbug devices, at a fraction of the price, focued on developers. Buttons, Lights, Eink screen, but more importantly, cellular connectivity (GSM LTE CAT 1), LORA, WiFi, Bluetooth, GPS and more.

The primary processor, and high levels SDKs take care of the complexities of connectivity, power management and eink screen renderings, and give you a high level API for interacting the the device in many ways, such as drawing on the screen, communicating over LORA, or connecting to a server to send and receive data.

Wikimedia

Meanwhile, in my non work Wikimedia volunteer time, I have the privilege of attending both Wikimania 2025 in Nairobi, as well as the Wikimedia Hackathon 2025 in Istanbul, Turkey.

Read more

Easy fix for UK blocked imgur images on a wordpress site

If you are like me, then I expect you have in the past at some point used https://imgur.com/ to upload a few images, and also used them on your WordPress site. But since some time in 2025 imgur blocked access to images for users of the UK. Instead of seeing the image, you just see something like the below instead, that says “Content not viewable in your region” with a little imgur logo in the bottom corner.

You can read more in their help article.

I could go through and permenantly replace all of these links in my blog, but I really can’t be bothered, and instead went looking for a less permennt solution.

While looking around I found the Imgur unblocker chrome extension, that makes use a content proxy by duckduckgo to easily rewrite requests and be able to load the content no matter your geography. The extension is on Github too, and the single actions is so hillariously simple, that I figured this might be a nice solution for my WordPress install too.

I found a WordPress plugin called Real-Time Find and Replace that says:

This plugin allows you to dynamically (i.e. at the time when a page is generated) replace code and text from themes and other plugins with code and text of your choosing before a page is delivered to a user’s browser.

Which sounds like exactly what I wanted, and after a quick install, the replacement was rather easy to setup, and eems to cover all cases for me.

Read more