Milo is four today, another milestone worth celebrating :)

Milo in the car as we got home from him completing his 3rd CHOP protocol. The vets gave him a bandanna to celebrate.

Last week he had a scan, which followed 8 weeks after the end of his third (modified) CHOP protocol. The scan was clear, so we’ll be back to NDSR at the start of July. It’s all a very similar situation to a year ago.

Insurance

ManyPets are up to date with payments (apart from the most recent scan, but that was only days ago).

The next scan will take us very near to the annual limit of £7000, and if we need to start treatment again (highly likely given past patterns) then that will tip costs past what’s covered.

Past parts:

1. diagnosis and initial treatment

2. first setback

3. back on track

4. second setback

5. easing the pace

6. counting the cost

7. fat boy

8. done CHOPping for now

9. scans

10. relapse

11. remission

12. complications

13. more H

14. three

15. scans (again)

16. relapse redux

17. remission redux

18. OK but delays


April 2025

01May25

Pupdate

April has been rather nice, which has given the opportunity for plenty of long walks :)

Miniature Dachshunds Max and Milo running along a path in the woods surrounded by bluebells

Florida

We started the month in Florida, more on that in its own post – Florida 2025.

Bike bother

Bikes on the drive before getting washed, with number plates obscured

Vespa

I mentioned my broken Vespa last month, and returned from Florida to a diagnosis of low compression, and an estimate of £433 to repair it. After chatting to a neighbour who restores classic mopeds I decided to have a crack at repairing it myself. It took about an hour to strip down the ‘top end’, and it quickly became clear that I’d need new everything – cylinder, piston, cylinder head. So… I ordered a complete kit (that cost around £130) and it arrived a few days later.

Vespa engine with cylinder removed showing an intact but scored piston

There were lots of fiddly annoyances putting everything back together, so it took me about 5 hours to complete the rebuild and test runs. But it was super satisfying to hear the engine start again.

CB1000

Then it was time for the MOT test for my big bike. It had a puncture from a tack, but thankfully I was able to fix that with a Dynaplug (HT Joe Baguley for recommending them).

The MOT picked up a couple of minor problems:

  1. The rear brake pads need to be replaced, which I’ll get done when it has its 32,000m service that’s due soon.
  2. The indicator switch wasn’t operating properly (again). This was frustrating as I fixed the same problem last year by stripping the switch down, cleaning, and applying new dielectric grease (per this video). I guess these things get temperamental when they’re nearly 30y old and unused over the winter months :( This time around I’ve applied some DeoxIT to the contacts, which is a product I’d never heard of until John Kennedy mentioned using it to fix a keyboard switch. It’s presently working perfectly :) But let’s see if it’s still OK in a year (or 5, or 29).

Heat pump

I forgot about this last month… My heat pump broke so I had to call an engineer to fix it. They diagnosed a broken valve, which was replaced under warranty. But, it took a week for the part to arrive, and then a few more days for the engineer to be available to fit it. This isn’t like gas boilers where the repair folk seem to have most spares in their van or available same day from stock.

USB Cification

My first trip away with both iPhone and iPad needing USB C chargers nudged me to reconsider my standard tech packs that I take on travels. Out with the old and in with the new for cables and some other bits.

At first I thought I could get by with some USB A-C adaptors, but then I looked at a more USB C native approach (beyond the USB C things I got a couple of years ago).

Anker Zolo power bank

My ‘London’ bag has carried a 5000mAh Tumi power bank for many years, and it’s held up really well. But I saw that I could get a 10000mAh pack that’s the same physical size and has a built in USB C cable (and USB C port, and a USB A port). I was able to get the power bank bundled with a (very small) 20W USB C Anker ‘wall wart‘ for £14.99, which seemed pretty good.

Freezer

The dog food drawer didn’t quite slide back in properly, so the door didn’t quite close properly, so next time I went to the garage freezer it was warmer (and wetter) than it should be. It’s not the first time, and it’s always a shame to be chucking out what should have been good food.

Acurite freezer thermometer showing temperatures for garage and kitchen freezers

So… I’ve got myself an Acurite freezer thermometer. It’s quite reassuring to see that the freezer is back to normal operations. The alarm has already been helpful. After putting some groceries in the freezer and carefully closing the door I came downstairs an hour later to the alarm going off. It wasn’t obvious to me what was causing the problem, but water was already pooling at the bottom, so warm air was getting in somehow. Thankfully things returned to normal after making sure the door was properly closed (again).

What I didn’t expect is how wildly the temperature in modern freezers can vary throughout the day. My indoor freezer has a display that tells me it’s at -18C, but in reality both freezers seem to swing from -10 to -21 as they go through their various cycles.

Solar Diary

The readings from 5-11 Apr look suspiciously even because a UPS failure meant that the inverter monitoring wasn’t working for a week whilst I was away :/

545.7kWh generated during April

As mentioned earlier it’s been a beautiful month weather wise, with plenty of sunny dry days. That’s led to a bumper harvest of photons – almost 15% more than the best previous April.

Tub time

The nice weather (and the end of the Easter break) meant it was time to get out the hot tub again. Thankfully Lay-Z-Spa seem to have sorted out their app, so I’ve been able to connect the tub to my devices network and set a timer so that the heater is running when the sun is shining.


Florida 2025

13Apr25

I can hardly believe it’s been 15y since I did a post on this. I guess our biennial trips through to 2018 were similar enough to not really justify full reports. Though 2014 was quite different as $son0 and I did our PADI Open Water certification, which was a major distraction from the parks.

Then came the plague years, though we hadn’t booked anything for 2020 due to $daughter0 exams – phew! I wrote a little about our last trip in my April 2023 monthly update.

Getting there (and back)

After many years of avoiding Orlando airport (MCO) it reconfigured so that past problems went away[1]. We used it for our 2018 trip flying Norwegian, and it was the same formula this time around with Norse[2]. The family used the Mobile Passport Control (MPC) app, which got them through almost as quickly as my Global Entry[3] :)

Weirdly Norse didn’t have a Saturday return flight, though flying back on Friday evening was in some ways preferable to a Saturday where you have to leave the villa by 10 then spend the whole day killing time before the flight.

As I drafted this post, whilst still in Florida, I was going to say that Norse’s punctuality seemed better than Norwegian’s had been; but they ruined that on our return flight. The inbound flight was a couple of hours late arriving after the plane being diverted to Miami earlier in the week, and never catching up to schedule. Norse emailed:

We regret to inform you that your flight Z0784 from Orlando International (MCO) to London Gatwick (LGW) is delayed due to customs clearance delays beyond our control at Orlando Airport, which impacted the previous flight’s turnaround time.

But that doesn’t seem like a full and honest explanation of what happened. There were then delays getting away from the gate, and we spent an age on the taxi way waiting for air traffic control to route us around storms and a SpaceX launch. The flight made up a bit of time once in the air, putting us at the gate 3h late :(

Car rental

We stopped getting convertibles after the 2010 trip and switched to intermediate SUVs. This time around we ended up with a 2023 (I think) Mitsubishi Outlander with around 11000 miles on it. It had Apple CarPlay[4], and seemed in OK condition, though not very well cleaned :( Something terrible had happened with the previous occupants and a milkshake, or a bottle of sun cream or similar – yuk.

Rental car on the villa driveway

Having booked a voucher (again) with US Car Hire, I was able to complete the process using a kiosk without any lines or human interaction

Visitor Toll Pass

The booklet we got from the villa rental place mentioned the Visitor Toll Pass app, which seemed to work pretty well. I booked the pass before leaving, and picked it up from the vending machines between the Alamo booth and the parking garage. I got a gentle nudge by email the following day to add my license plate, though it seems all the tolls I’d passed had picked up the transponder.

Villa

After using Chris Rackstraw’s place 7 times over 15y I was sad to hear that it wasn’t available to rent this year as she’s planning to sell it.

After some looking around we chose a place from Debbie’s Villas not far away in Emerald Island Resort. It was absolutely lovely, and worked really well for us. The resort facilities also went down very well with the whole family.

The attractions

We pretty much alternated between park days and ‘rest’ days with other activities, which has been our pattern for previous visits. Trying to go all day every day is just too exhausting (and not really much fun).

SeaWorld, Busch Gardens, Acquatica

For the past few trips we’ve got tickets to Discovery Cove that have included access to the other parks in the area (and parking), which has allowed us to dip into SeaWorld for the morning then head out around lunchtime.

Things were a little different this time around. I guess the shine has worn off for me at Discovery Cove[5], so I looked for a package that didn’t include it. What turned up instead were tickets for the three main parks, including parking[6], and 3 days of ‘All Day Dining’ for $180pp. All Day Dining changed the dynamics for us a little bit – more on that later.

Our first visit to SeaWorld found the park unusually quiet. This was great for getting on all the rides without having to pay more for Quick Pass, and the new Pipeline surf ride is absolutely top notch for thrill dynamics[7].

A couple of days later we also found Busch Gardens unusually quiet. We’d done all the major rides by lunchtime, and spent the early afternoon doing repeats on our favourites, including front row on Iron Gwazi and SheiKra.

Our visit to Acquatica came at the start of our second week, and things were obviously busier, though it certainly wasn’t packed. In some ways attendance was at an awkward middle where rides were running at half or third capacity. Having learned from previous trips we splashed out on a cabana (in the Black Friday sale), which provided a comfortable base for a relaxing day.

SeaWorld was definitely busier when we popped in a couple of times on the second week, but not problematically so (even though many rides were running at low capacity, and some of the restaurants we’d have liked to try were closed).

Disney

We bought non expiring 10 day tickets back in 2012 that we’re still eking out, so we only had one day in the Disney parks.

Compared to Sea World and Busch Gardens it was busy. Disney certainly know how to pack in their ‘guests’.

$son0 stood in front on an A Wing in Galaxy’s Edge

We all started in Animal Kingdom with the customary ‘safari’ and then the ladies headed for Epcot to drink their way around the world, while I took $son0 to Hollywood Studios for some extra time in Galaxy’s Edge. The group reconvened in time for some rides before the Fantasmic show to end the day.

It was a fun day, but I’d be negligent not to mention how money grabbing the modern Disney experience has become. First there’s the tickets, where it’s hundreds of dollars just to walk through the gates (but not much more to come back every day for two weeks). Then there’s the preference for Disney Hotel guests, so a bunch more if you want to make advance reservations for stuff. But for that there’s $$$ Lightning Lane passes and even more pricey Premier Pass. It seems the ideal Disney ‘guest’ is someone willing to drop something like $1000 per person per day for their taste of magic. They seem to have learned from the airlines, where most of the profit comes from the folk up front flying first and business class; but that means e14n for the rest of us :(

St. Petersburg

Maybe not strictly an attraction, but we visited some friends in St. Petersburg during the middle weekend, which led to me doing some #WeirdCarMastodon posts after stumbling into a classic car show over the road from their apartment building (and on our way to an art fair).

Red Volvo and Porsche 911 at St. Petersburg Classic Motor show

Oak Ridge Gun Range

I quite enjoy a bit of pistol shooting when I’m in the US, so this wasn’t our first visit to Oak Ridge Gun Range, a tourist friendly indoor range not far from International Drive.

$daughter0 takes aim

They gave us a Sig P320-M17 to try, and it was so nice we didn’t bother swapping for anything else. I particularly liked the red dot sight, which is something I’ve used in games but never before in real life.

Boggy Creek airboats

A trip out to Boggy Creek for an airboat ride has become one of the essential parts of any trip to Florida. We usually stop in Denny’s at Poinciana for a bite to eat on the way, which gets us a more authentic diner experience than the places near the parks.

Alligator seen from air boat

It’s been interesting to watch the place grow and get more commercial over the years, but this time there was a more relaxed vibe. It was a pleasure to sit in the shade by the dock whilst waiting for our trip, and there seemed to be plenty to keep younger families occupied without strip mining their wallets. We also seemed to luck out with alligator sightings this time, though the best part of these trips is that they’re always different.

Food

SeaWorld all day dining

We wouldn’t normally buy food in the SeaWorld/Busch Gardens parks, but as all day dining was included in our tickets we gave it a try.

SeaWorld day 1 – $son0 was obviously going to pig out on his favourite, chicken tenders, so he got in an early serving at 1100, whilst on the other side of the park $daughter0 and I grabbed some drinks and a fruit bowl (which was just 3 tangerines). We reconvened as a family 90m later for lunch, and were disappointed to find Lakeside Grill closed. No tacos for us that day. Instead we went for BBQ at Voyager’s Smokehouse, which was OK, though the line seemed to be deliberately engineered for slow service.

Me showing off my tangerine peeling skills

Busch Gardens – we grabbed an early(ish) lunch together at the Dragon Fire Grill & Pub, which had something for everyone. My grilled chicken sandwich was very tasty. 90m later $son0 was topping up with chicken & funnel cake at Sheikra Eats, whilst the rest of us just got some drinks and cookies.

Acquatica – after reading some reviews we opted to not use all day dining here, as it can’t be used with the cabana service, and lines can get long at the limited places that do food. The family platter of chicken tenders we ordered for cabana delivery were pretty good (especially with the mango habanero sauce).

SeaWorld day 2 – once again $son0 kicked off with an early batch of chicken tenders at SeaFire Grill, whilst $daughter0 and I grabbed a drink and snack at Expedition Cafe. The pork egg rolls were good. Once again Lakeside Grill was closed, so no tacos :( Lunch later at Waterway Grill was a bit of a disaster. My steak tasted OK, but was impossible to cut with a plastic knife. $wife didn’t like her pulled pork at all, and $daughter0’s chicken was pink and obviously undercooked. If we’d paid full price we’d be very unhappy. We headed back to Expedition Cafe hunting for carrot cake, but it had all gone, though chocolate cake seemed to make everybody happy enough.

I certainly wouldn’t chose to pay the $60pp for all day dining in the parks, and even at ~$45 that it can be found for online I’m not sure it’s worth it (unless you’re prepared to organise your day around gaming the system). But… as something that came included with tickets that were already reasonably priced it was a nice addition.

Disney

I was asked to join the ladies for a trip to Disney Boardwalk, which turned into a visit to the Cake Bake Shop[8]. The entire experience was Disney dining at its best, a beautifully curated performance with amazing attention to detail. Yes, it’s contrived, but it’s wonderfully contrived. Walking in I saw a high chair that had been made to match the other quite fancy furnishing, which was an obvious sign of thoughtfulness. The food was delightful, and service was excellent. It’s a bit pricy, but given that it’s a high end experience that might rival 5* hotels back home it’s not unreasonable. My negroni was very pink, but also very good.

Pink negroni with rose shaped ice ball

Reports from the Epcot drinks around the world heaped high praise on the snacks at Morocco, particularly the hummus fries; and they finished with poutine in Canada. Meanwhile $son0 and I chilled at the ABC Commissary in Hollywood Studios, and later I got some shrimp tacos there, which were delicious (and I think very good value at $12.99) – I wish I’d taken a picture.

It became something of a family tradition to have our final evening at California Grill, timed to coincide with the fireworks. But recent changes to the booking system favour Disney hotel guests, and it’s become impossible to get reservations at sensible times, so we missed out in ’23. This time around I lucked in by finding an 8.30 slot on the booking app – so it’s obviously worth rechecking periodically. The $89pp three course menu gets mixed reviews online, but we all really enjoyed it (even our fussy eater). It was a great way to close out our time in Florida.

Staying connected

It’s weird to look back to 2010 when the villa didn’t have WiFi and I was fiddling around with PAYG SIMs just for voice calls.

Of course the villa this time had WiFi (and a decent enough cable service underneath it), and WiFi was fairly ubiquitous throughout the parks (though oddly missing in the cabana area at Acquatica).

eSIMs

The three of us with iPhones all got GigSky eSIMs, which were less than £7 for 3GB valid for 15days, and seemed to work pretty well throughout.

Next time around?

I’m not sure there will be a next time. The kids aren’t kids any more, so who knows what life will be throwing at them in two years time. Though they do seem keen to return, with talk of ’27 (and even ’29). Also they do have 2 days left on their Disney tickets (and $wife and I have 3 as we had a left over day from our 2003 trip).

I’ll close with the same question I asked in 2010 – any other suggestions?

Notes

[1] Though things are still a little weird, with baggage collect before customs.
[2] Same execs, same planes, same silly rules, but I guess OK for leisure travel (and I’ve used them a couple of times for biz trips in recent years). Norse is supposed to now have integration with TSA Pre, and I’ve entered my Known Traveler Number (KTN) when asked, but it hasn’t come through onto my boarding cards :(
[3] The family were pre-approved for Global Entry prior to our last trip, but the wait for enrollment on arrival at O’Hare was ridiculous, and $wife wasn’t well, so they never completed the process :( I guess that the fact that they didn’t return in the past two years might suggest that they didn’t really need it after all, though TSA Pre would have been handy for our internal flights in ’23.
[4] The one wrinkle with CarPlay seemed to be that if my phone was sufficiently low on battery I’d get an ‘overcurrent detected’ message on the screen, and no data connection to my phone. A quick look online suggests it probably didn’t like something about my USB A-C cable (and it’s not like I’d brought a huge selection with me to deal with fussy cars). This didn’t happen with a lightning cable to my daughter’s slightly older iPhone.
[5] Possibly not helped by the demise of my Apple Watch last time.
[6] Given that parking is $35/day it’s often worth paying a slight premium to get tickets that include it.
[7] The artifice for Pipeline is that you’re surfing, so the ride is done standing up, with a harness that moves freely up and down. The bits that make people scream are where you lose contact with the ‘floor’ due to acceleration upwards that’s greater than gravity. Once you notice this, it’s obvious on other thrill rides; but Pipeline has perfected it.
[8] One slight error was we arrived at Disney Boardwalk without a reservation, and they no longer allow general parking, which meant a drive to Disney Springs, and a bus trip back to the Boardwalk.


March 2025

31Mar25

Pupdate

March was reasonably dry (and even sunny sometimes), so the boys were able to get out for some nice long walks :)

Miniature Dachsunds Max and Milo running along a path with their ears flapping

Milo also finished his third chemo protocol. I’m overdue a diary post about that, but the short version is that he’s doing well :)

Skiing

The month started with me skiing in Westendorf, and I’ve already posted a full trip report.

Me in a ski lift, with not much snow behind me.

My fitness tracker is now complaining at me that my exercise has dropped precipitously over the last few weeks :/

New Phone and PC

iPhone 16E

I last got a new phone when the iPhone SE2 launched in 2020, so it’s fair to say it’s a little tired. The battery was starting to struggle to get through a day, and the storage was full enough to require shuffling for updates. Time for something new, and the successor to the SE has emerged in the form of the 16E.

It’s a bit bigger that I wanted (for pocketability), though it does fit my jeans pocket just fine. On the other hand the larger screen is easier on my middle aged eyes.

Battery life seems to be tremendous. The Apple modem appears to work really well. Overall I’m very impressed :)

I also got a new Quadlock case for it, which arrived just before the end of the month.

Upgraded silent PC

Pretty much the only component left in the DB4 case from my last Silent PC build is the GPU. Full report on the new system is in my Silent PC upgrade post. Switching from Windows to Linux (Kubuntu) has been a lot less drama than I feared it might be :)

Sick

Just after my return from Austria I came down with some sort of cold/flu. It’s the first time in over 10y that I’ve been so ill that I had to take time off work – it was a struggle just to lie on the sofa. I was taking max doses of ibuprofen and paracetamol and still couldn’t keep my temperature under control. And the cough lingered right up until the end of the month. Not good. Hopefully the arrival of Spring means we’re moving on from all the winter bugs that have been going around.

OpenWrt

My first pull request for OpenWrt got merged :) Having used it for over a decade (with a few posts here over the years) it’s great to finally have the chance to contribute back.

More to come hopefully, as I’ve been working on OpenWrt integration for NoPorts, which I’d like to get upstream into the official packages.

Events

The end of the month was a little busy with events.

Rossfest

Rossfest was a wonderful celebration of the life and work of Ross Anderson, and brought together people from the many communities he helped bring to life. I wrote last year about the impact Ross had on me, and it was great to be among so many others with their various stories to share. The dinner at Trinity College was particularly good, with some lively conversation about various security topics. My thanks go out to Frank Stajano and everybody else who helped pull the day together.

Trinity College as folk depart the Rossfest dinner

Monki Gras

A few days later it was time for one of my favourite events of the year – Monki Gras. I was a little less diligent in attending talks than I may have been in the past, because I got pulled into some amazing ‘hallway track’ conversations. It was great to spend time with old friends, and meet people doing fascinating work. So I look forward to some of the follow ups.

James (and Jess, and Rob and the rest of the crew) – amazing work as always, and I look forward to 2026. Kate (in case you’re reading) – it was wonderful to meet in person, and talk about blogging (amongst other things).

sbomify

I’ve been collaborating with Viktor Petersson since the inception of sbomify, so we used our time together at Monkigras to grab a photo for the announcement of me joining as an advisor. Software Bill of Materials (SBOMs) is going to be a huge thing over coming years, and I’m hopeful that sbomify can become the premier platform people use to create and manage their SBOMs.

Viktor and I stood in front of the Monki Gras stage

Vespa

I’ve mentioned my Vespa here before. I got it as a non runner in 2009, and it’s been my ride to the station and back ever since. For the first time ever it failed it’s annual MoT safety check, though on things that do wear out over time – in this case brake pads and the exhaust. It was running beautifully quiet with the new exhaust, until it suddenly lost power and then wouldn’t start again. I’m hoping it’s just a clogged carburetor.

Solar Diary

For the first time in ages there was more sun than in the same month in previous years :) Hopefully it continues.

374.6kWh generated during March

Since returning to the slopes a decade ago I’ve been skiing with my daughter, but she couldn’t join me this year, as her industrial placement doesn’t offer enough leave.

After various conversations with friends ran dry I eventually reconciled that if I was going to ski this season, it would be on my own.

Inghams again

After good experiences with Inghams over the past couple of trips they were my starting point this time around. Searching for availability at the start of March (the first week I could do) didn’t turn up a huge selection of options; but one of them was Westendorf – somewhere I’d mentioned before that I’d like to return to. Best of all it was far cheaper than the other options, and the hotel had decent reviews.

Getting there

A 0640 TUI flight from Gatwick meant and early start, but after check in then security there wasn’t any hanging around. The plane was a 737 rather than the Fokker 100 on my itinerary, but that meant plenty of space. I was able to get a row to myself after take off.

We got into Innsbruck on time, and as it’s a proper airport with facilities that can cope with the load I was out the other side with my hold bag in about 15m :) Then I sat on the transfer bus for an hour whilst we waited for other flights from Gatwick and Birmingham to arrive :( Once we got going things were pretty smooth. After an hour or so a group of us were decanted into a minibus for the final leg, and I was the only passenger for Westendorf, which was the first stop.

I arrived at the hotel shortly after midday.

Hotel Briem

The hotel offered by Inghams was Hotel Briem, and they looked after me really well throughout the week. My room was ready despite an early arrival, and was a comfortable base for the week. The WiFi was up to the job of supporting my work and Zoom calls during the afternoons. The food was great, with plenty of good choices for breakfast each morning, and traditional Austrian dinner choices for €16-18 each evening.

Pork escalope with mushroom sauce and rosti

Skiwelt and Kitzski

Last time in Austria I hadn’t realised that there were two huge ski areas right next to each other, and that they’re (sort of) interconnected, and that you can get a pass that covers both.

The SuperSkiCard wasn’t offered when I bought my package, but the Inghams rep reached out to ask if I’d like to upgrade for €33, and after a little research I decided to do that.

Equipment

Arriving so early on the Saturday meant I could pick up my skis and boots that afternoon, and avoid the Sunday morning rush.

Dieters Sportsshop were very friendly and efficient, and quickly had me on my way with some Nordica boots (a favourite brand that I’ve always found comfy) and some Fischer RC4 RC skis. I was a little skeptical about the skis, as the tops were pretty cut up, but the bases were immaculate, and they just worked beautifully from the first slope. Maybe not up there with my all time favourites, but definitely good enough, and worth the little extra for the ‘Black’ package.

Fischer RC4 RC skis

The Inghams rep recommended leaving the skis at Dieters (they have a storage container behind the shop) as it’s closer to the lift than the hotel.

The Skiing

With a combined 500km of piste between Skiwelt and Kitzski there was no way I was going to ski out all the areas in a week, so I didn’t even try. Also conditions weren’t ideal. There’s not been much snow this season, and March is late, and it was a warm sunny week. In many respects the maintainers have done an amazing job keeping so much piste open, though it was weird to see grass on either side of runs.

I mostly tried to get the first lift (or bus) and head for a different area each day for some variety. Then I’d knock it off early afternoon once things got too sugary.

After sampling Kitzski on day 2 I found it a bit too busy, so the remaining days were used for different bits of Skiwelt.

Best of the Blacks

11 – on my last trip to the area the run down to Brixental was one of the most memorable. Sadly the 16 running through the forest for the lower part was closed this time. Even so, this was an easy favourite and I enjoyed it almost every day. There’s only a short black section, but it still deserves its place here.

112 – the quick way down from the Brixental gondola, especially as it has its own access door (rather than going up the escalator to the restaurant plateau).

60 – a great way to get to the gondola mid point

Pick of the Reds

7 – an absolutely beautiful run down from the top of Brixental.

66 – one of those runs where you could just point your skis downhill and go. Delightful, especially when quiet.

69 – another run with the width and sight lines to encourage a bit of speed, and not mushy, like its next door neighbour 69a

Beautiful Blues

117b – nice wide sections with clear sight lines.

113 – a bit of a functional one. By taking the 110 gondola to the mid station first thing in the morning a quick dash down this run got me to the 112 gondola before any queues formed :)

43 – running through the forest this was one of the most picturesque runs of the trip.

Walking

As it was so warm and sunny in the afternoons I often went for a walk around town. There was a certain Richard Scarry vibe to the place with the railway running through the valley, and little fire station etc.

Getting Home

Another early start with a 0645 bus from the hotel, which got me to Innsbruck before 0800. At least the check in desks were open so I could send my bag on its way, head through security, and enjoy the ham and cheese rolls the hotel had given me for breakfast. The Schengen side of the terminal was a bit manic, whilst the other side of passport control had plenty of space :)

The Tui flight was on time and comfortable enough. Bags were a little slow coming out, but I was still home not long after 1300 so the day wasn’t wasted.

Conclusion

Given the lack of snow and warm weather I considered myself lucky to get so much skiing done. I enjoyed returning to Skiwelt, and I’d consider going back if only for the hospitality at Hotel Briem.


TL;DR

After 6.5y+ of service my PC needed a refresh – so it has a new motherboard, CPU, RAM and SSD, and I’ve taken the opportunity to switch to Linux. It’s still completely silent, but noticeably faster :)

Background

I built a Silent PC based on a Streacom DB4 case back in the summer of 2018. It’s been great, and for most of those years it still felt like my ‘new’ PC.

But… with Windows 10 end of life approaching I have been considering upgrade options.

And then it failed. Before heading on my recent ski trip I did an ‘upgrade and shut down’ but things weren’t right. I had to pull the plug to power it down. When I returned it wouldn’t power on. A new power supply didn’t really fix things, it would power on, but wouldn’t boot without crashing :(

Parts

I needed an ITX motherboard that would work with the DB4 heat pipes, which at first glance isn’t many of them. The ASRock Z790M-ITX looked good, and a quick email to QuietPC confirmed that they use it in DB4 builds (and got them my purchase).

With a motherboard selected the other parts were chosen to fit:

  • Intel i5-14500 CPU
  • 64GB Corsair Vengeance DDR5 6400MHz RAM
  • Crucial T500 2TB SSD

I’ve kept the GPU from last time, an MSI GeForce GTX 1050 Ti Aero ITX OC 4GB. It’s staggering to me that (almost) 7y on there aren’t better choices, but it seems the lower power budget for passive cooling is an ignored market segment.

Just worked :)

The (re)build this time felt more straightforward, perhaps as I had a better idea what I was doing (and the potential pitfalls). With the system partially assembled I went for first boot and it was fine. After a quick UEFI upgrade I completed assembly.

Kubuntu

I was always very happy with Windows 10, but part of the story here is Microsoft pulling the plug on that.

I’ve never got along so well with Windows 11, and the more AI and advertising it gets, the more I’ve disliked it.

So… time for a change. For me at least this is the year of Linux on the Desktop.

I’ve been an Ubuntu user for over 15y, so I considered Ubuntu Desktop and Mint, but with a recommendation from John O’Hara (another recent Linux desktop convert) I went with Kubuntu for a KDE desktop.

The install experience was super quick and easy (much faster than Windows), and post install everything seemed to ‘just work’. One day in I’m pretty happy with the new experience (which doesn’t feel like too much of a wrench from the old experience).

Faster

The old silent PC always felt fast, but the rebuild is noticeably quicker. I’m not sure yet whether it’s Linux vs Windows, or the newer hardware (or a bit of both), but it’s subjectively MUCH faster.

Returning to Geekbench 4 I get 7310 for single core (1.69x) and 48642 for multi-core (2.36x).

SSD cooling

Last time around I noted:

There’s not much talk about thermal throttling of SSDs, but it is a thing, and it can badly hurt user experience when your writes get queued up. I do worry that my new M2 drive is sat baking at the bottom of the new rig, and if I find myself taking it apart again I might stick a thermal pad in place so that it can at least conduct directly onto the motherboard tray.

I never did get that thermal pad in place (as I needed to dismantle everything to get to it), but the old SSD held up just fine without one.

The new motherboard has quite a fancy SSD heat sink arrangement, which is nice :)

No dust

The internals of the DB4 were surprisingly clean. Anything with fans would be disgustingly full of dust after 7y; but no air movement means no dust ingestion :)

AM4 was not a path to easy upgrades

I’d got the last system with the quaint notion that AMD’s socket AM4 would be around for a while, and I’d be able to upgrade my CPU to a later model. Well… the first part of that was true. As AM4 gave way to AM5 I looked at my options, and my motherboard had never been able to support anything newer :(

This time around I’m conscious that LGA1700 is old, and I’m struggling to find a reason to care.

Conclusion

Moore’s law might be slowing down, but it’s been almost 7y since my last upgrade, and so I’ve been able to get a system with ~2x CPU, 2x RAM, 2x SSD. Hopefully that will keep me going for another happy and quiet 7y or so.

Switching from Windows to Linux has been a lot less disruptive than I thought it might be. I can see a good future for all that perfectly good hardware that’s going to have end of life Windows on it later this year…


TL;DR

Once we get past ‘bullshit work‘, the primary enterprise use cases for Large Language Models (LLMs) appear to converge on various ways to make it easier to work with unstructured data. That’s because an LLM can generate an ‘understanding’ of the data, saving the painstaking process of getting humans to provide context. Of course there are quick wins, but also booby traps to beware of.

Unstructured or unmodeled?

Many times over the years I’ve heard Simon Wardley say “it’s not unstructured data, it’s unmodelled data”, and I think he’s completely right about that.

The ‘books and records’ of most organisations live in relational database management systems (RDBMS). This is what we typically call ‘structured’, as the data is forced into the schema of the database. It’s also true that this data is ‘modeled’ because that’s how we get to the schema definitions. The flip side of that coin is that everything else gets referred to as ‘unstructured’. That usually starts with a bunch of stuff in various document formats, but it runs on to pretty much everything that’s not in an RDBMS. Generally we can do things like plain text search of that data, but it’s hard to ask it deeper questions (at least not in the way that SQL makes it easy to ask questions of ‘structured’ data in RDBMS).

Of course there’s an entire industry that’s positioned itself as unlocking the value of all that unstructured data – Autonomy, Elastic and Google easily spring to mind. But those things have usually allowed us to find the document that contains some data we’re looking for. It’s another thing entirely to then do something useful with the data in the document. And that’s where LLMs come in.

A model

Specifically a (large) language model.

The training process for language models involves throwing documents into a statistical analysis process in order to build a model of how the language (of the source documents) works. Generally more data gives a ‘better’ model, which is why we find ourselves talking about large language models.

The current crop of LLMs have (approximately) been trained on everything that can be scraped off the open web (including huge volumes of copyright material). So they know how language works, or at least the ‘language of the web’, and all the search engine optimisation (SEO) nonsense that’s been perpetrated in the pre AI era[1].

LLMs give us a representation of how words relate to each other; a model of language.

To model

All of that ‘unstructured’ data hasn’t been modelled because (in the past at least) that would mean having people look at the data and coming up with a model; and that’s painstaking, time consuming and expensive work.

But what if I throw all the documents with my ‘unstructured’ data through an LLM? The documents will light up certain pathways through the model, and we can extract that information and infer a model for the source data. It’s probably not going to be 100% accurate (like the ‘books and records’ need to be), but it might very well be ‘good enough’ for much of the data to be used in ways like it was structured.

Beware terminology overloading

One of the pitfalls with the process described above is that it’s very vulnerable to confusing things that have the same (or similar names), but which are entirely different.

I’ll give a concrete example. The company I work for has developed atProtocol(TM) whilst the folk at Bluesky typically refer to their Authenticated Transfer Protocol as AT Protocol. LLMs aren’t good a spotting the difference between atProtocol and AT Protocol, so if you ask a public LLM chatbot about either, you’ll get answers that mix up both. This sort of thing happens with horrifying regularity in corporate data, because people use the same word to describe different things.

It’s particularly bad with marketing stuff, because people jump on bandwagons and hijack terminology. Try asking a chatbot about ‘observerability’ and see if there’s any mention of high cardinality data.

Conclusion

Using a model to model seems to be emerging as the #2 use case for generative AI in the enterprise[2]. That’s because so many problems boil down to: “there’s huge value locked up in unstructured data, but not so much that it’s worth manually picking it apart using the traditional data modelling techniques”. LLMs have dramatically lowered the cost (and improved the accuracy) of building models for unstructured data, and that’s allowing companies the ability to tap into that locked away value. On the other side of the coin it’s providing revenue for AI startups that had a solution looking for a problem.

If I reflect back on the ‘data science’ we did in my last job, far too much of the work was what I’d call ‘janatorial’ – cleaning the data up so it was in good enough shape for analysis. The emergent LLM based tools are dramatically shifting the balance between human time and software to get that stuff done, which (of course) opens the door to doing more with less[3].

Note

[1] Things are only getting worse now as the web fills up with AI ‘slop’, which is not particularly useful for training the next generation of models.
[2] Bullshit jobs is still #1.
[3] At least in the present state of play, where LLMs are (approximately) free, and the enormous costs for training are being absorbed by venture capitalists and hyperscale cloud providers.


February 2025

01Mar25

Pupdate

February was mostly cold and wet, so no particularly long walks for the boys :(

Max and Milo on the office sofa

FOSDEM

The month started with my first trip to FOSDEM, and it was quite an experience seeing something like 8000 geeks descending on Université libre de Bruxelles.

Day 1 was all about getting a feel for the event. So I bounced between a few rooms to catch some talks[1] then finished the day off with some beers and a bite to eat.

I spent the whole of day 2 in the Software Bill of Materials (SBOM) room, and gave my talk on ‘Struggles with making SBOMs for C apps‘. It was great to spend time with ~100 like minded folk, and there have been some very useful post conference conversations.

It was quite an experience. Sometimes a little overwhelming, but definitely worth the trip[2]. I also really liked Brussels, and feel like I should head back there for some sightseeing and good food.

I should also send my thanks to the FOSDEM veterans whose hints and tips helped me get through the weekend.

‘FOSDEM flu’

The down side of going was I returned with a scratchy throat that turned into a miserable cold, which somewhat ruined the first half of the month, and lingered into the second half :(

OpenWrt

I’ve been an OpenWrt fan since I started using it over a decade ago, and recently upgraded my router and access points to devices that work well with stock OpenWrt.

This month brought a new phase to my relationship with the project. I’m now a contributor :) I’ve been working for a while getting NoPorts packaged for OpenWrt. Whilst I was trying to figure out some UI elements for LuCI I noticed that arp-scan wasn’t working properly in the Network > Diagnostics page. It had been broken since late 2022 :( A quick issue and pull request, and it’s now straightened out :)

Solar Diary

The second half of the month was definitely brighter than the first half.

140.1kWh generated during (better than 2024, but worse than 2023)

Notes

[1] I probably shouldn’t pick favourites, but I’m going to anyway. I was very glad to have staked a spot in the security room to hear Daniel Stenberg’s ‘Tightening every bolt‘ talk about Curl security. Whilst I was familiar with most of the material in terms of how Curl does OpenSSF Best Practices (and chooses not to do OpenSSF Scorecard) it was great to hear it first hand. I was also glad to stay for Emillie Ma’s ‘Kintsugi: A Decentralized E2EE Key Recovery Protocol‘ as that stuff might be very useful for atSigns. Mark Ryan’s ‘Towards seamless Python package installation on riscv64‘ covered a bunch of lessons I’ve sadly learned the hard way, but it’s a great overview of all the stuff that Linux distribution and Python package maintainers mostly do for us (with little thanks) so that stuff ‘just works’.
[2] I’m grateful to Google and the Developer Expert (GDE) programme for covering my train fare and hotel.


January 2025

01Feb25

Pupdate

I posted mid month about Milo’s chemo, and he’s since been to the local vets to start the final cycle of this protocol. Two years on from his diagnosis it’s great that the treatment is working :)

Milo resting his head on Max’s back as they’re both perched on the back of the sofa

Double Whisky

Burns Night at the Scotch Malt Whisky Society was a lot of fun last year, so I got a group of friends together for this year’s event. Sadly a couple had to drop out, which meant some ‘spare’ seats for my wife and daughter.

Enjoying a few drams with friends for Burns Night

A few friends had dietary requirements that didn’t play with a Burns supper, so we got together for the Glen Moray[1] tasting a couple of days before. It’s one of my favourite distilleries, and it was fun to try a mix of society (single cask) bottlings alongside some of the commercial offerings.

A terrible diary mistake led to these six drams being lined up in front of an empty chair

Solar Diary

It’s been a dim and grim month compared to previous Januarys, with production well down :(

94.7kWh generated in January

Beating Beat Saber

After many months trying I finally Full Combo’d ‘Into the Dream‘ from OST4. On a previous run I’d managed to get 799/800, somehow missing the last block – doh!

I was also able to Full Combo ‘Heavy Weight‘ from OST6, which has been one of my favourites.

Note

[1] I now know that it’s pronounced ‘Glen Murray’.


Today brought another trip to North Downs Specialist Referrals (NDSR) for Epirubicin chemotherapy that comes at the end of this cycle of the CEOP protocol. One more cycle to go for this protocol.

Milo in his car basket with a compression bandage around where his latest chemo was administered.

No scan this time, that will wait for our next visit in (hopefully) eight weeks time. If things are looking OK then, Milo will be back on surveillance scans…

It hasn’t been entirely smooth running since my last post, as a we’ve had a couple of visits for chemo where things have had to be delayed due to low neutrophils. That’s a little bit of a worry, as normally when we get to this stage, and fortnightly visits, there’s been less of an issue with neutrophils after Vincristine. Talking to the oncologist it seems that this can (sadly) be the way of things… the immune system bounces back less quickly, and the cancer may also become more resistant to treatment.

Delays also lead to extra cost… More vet visits, more blood tests, Vincristine going out of date and new vials needing to be bought.

But… it’s almost two years since I started writing about Milo’s treatment, and back then I wasn’t sure if he’d see his 2nd birthday. So (vet visits aside), we’ve been able to enjoy two years of happy dog stuff together. Long may it continue.

Insurance

ManyPets have continued to turn claims around pretty promptly. Around 60% are getting settled in a day or so, which is excellent. Though those are usually the more straightforward (and less costly) ones. Others are clearly being reviewed more carefully, but even then the worst case has been a month.

Past parts:

1. diagnosis and initial treatment

2. first setback

3. back on track

4. second setback

5. easing the pace

6. counting the cost

7. fat boy

8. done CHOPping for now

9. scans

10. relapse

11. remission

12. complications

13. more H

14. three

15. scans (again)

16. relapse redux

17. remission redux