I am a sloperator. I use LLMs where I think appropriate. The trigger for this post is that I’d always been mildly irked that whilst the pages of the blog had tags, they weren’t clickable and were thus a little useless. So I fired up Gemini in the editor and gave it this instruction Each page has categories tags. I want these to be clickable in the browser that leads to a page listing all the posts with that tag And off it chuntered
My Stupid Car has just got a new limited slip diff, but this isn’t about that. One of the benefits with developing VETuner, is that I can fix all the things that irritate me in TunerStudio. Top of the list is the difference dialog. If you load a new tune file that doesn’t agree with what the ECU has then you are presented with a multi-page dialog that looks something like this
I want to connect the code running in the browser, to the ECU. The browser code sends requests that the ECU processes in a synchronous manner and sends back the data. sequenceDiagram participant Browser participant ECU Browser->>+ECU: Request ECU->>-Browser: Response If I use Chrome on a desktop, I can use the WebSerial API and do effectively that. Running at 115200 baud I can get about a 60Hz rate poll rate, which is pretty decent.
Introducing VETuner Ever since I put a Megasquirt MS1 into the Stupid Car, back in 2009, I’ve been fiddling with software to work with it and similar ECUs. It started with MSLogger, and Android app that only logged and didn’t provide any capability to adjust the ECU. Then I joined the effort working on MSDroid which was much more capable. Fast forward many years and MSDroid is effectively dead. I still fiddle with the code, but I can’t publish any updates to Google Play as it is tied into an obsolete payments library and that side of it belongs to the project owner.
I thought I’d have a play with Copilot to see what it could do as I maintain this blog using VSCode as it is significantly better than both emacs & vi1. I thought a nice simple task would be to add OpenGraph tags the the head of each most. It was more painful than I thought. TL;DR It finally got it right, but it didn’t notice it wasn’t reading the output of it’s own test tools and it happily made assumptions without testing them.