---
title: "Week 2, Sunday: InvoicePlane"
date: 2024-08-11T20:21:19+02:00
Tags: []
Categories: []
draft: false
---

{{< image frame="true" width="17em" float="right" src="/img/headline/raggajungle.png" alt="Credit: Dub Deebu Day, Youtube" >}}

The kitchen this morning still smelled of _Kramiek_. In the morning I took out another pre-baked
boule of white bread, and dropped it in the oven with a timer to be done at 11:55am; that way, at
lunch both Marina and Quinn have a few slices of tasty raisin bread with _Galet de la Loire_, a soft
and flowery crust cow cheese which is distinguished by its shape similar to that of the pebbles that
border the banks of the Loire. Like the Tuffeau stone that forms the facades of the castles of the
loire, the Galet de la Loire is ivory color and can become straw yellow when the refining is pushed.
Its paste is creamy and reveals a typical taste as well as a great diversity of aromas, with woody
notes. I made soft-boiled eggs and eat a few slices of the non-gross white bread.

In the afternoon, I cleaned up my workroom, vacuumed and took out the trash. I do intend to keep my
room at a bit less of a pigsty style going forward. The main task for the afternoon is to upgrade my
Invoiceplane instance from PHP 7.4 and version 1.15, to version 1.16.1 which wants to run
specifically on PHP 8.1. I mess around a little bit with _PHP Composer_, but in the end I surprise
myself with how straight forward it is:

*   Take snapshot of _mariadb_ database. Take snapshot of whole VM. Make backup of invoiceplane
    and the overrides that I have applied (like custom templates, some sorting changes, etc)
*   For each PHP 7.4 package, install the same PHP 8.1 variant.
*   Uninstall all PHP 7.4 packages, and let Apache now use modphp8.1.
*   Move `/var/www/html` to `/var/www/html-1.15.1` and unzip `v1.16.1.zip`
*   Update all _composer_ dependencies
*   Move my config files back, and run a one-off `/index.php/setup` which detects that I have an
    existing install, does the database schema changes a few other bits and bobs, and then just lets
    me log in. 

```
13:16 🔥 nginx0-nlams2/nginx:billing.ipng.ch | HTTP CRITICAL:
         HTTP/1.1 200 OK - pattern not found - 1758 bytes in 0.075 second response time
13:36 ✅ nginx0-nlams2/nginx:billing.ipng.ch | HTTP OK:
         HTTP/1.1 200 OK - 3060 bytes in 0.232 second response time
```

So what I originally budgetted the whole day for, was kind of done in about 45 minutes. I spent some
time putting the templates and overrides back, spot check a few invoices and cronjobs (automailers
for recurring invoices are an awesome feature), and consider it good to go!

I tell Fred about this good news, and he asks if _Kees_ supports pulling PeeringDB data for private
interconnects in addition to IXPs. I didn't think of that, but a quick refactor later and all AS
numbers are looked up in PeeringDB, regardless if on a PNI or internet exchange - that is useful to
track  things like prefix and as-set filters, max prefix limits, and so on. We both roll this out -
he does at IP-Max and I do it at IPng. It's nice to have some spare time in the day, to help a
friend!

I end up mucking about with OBS a little bit more; Quinn suggests that it'd be a nice touch to have
a webcam also on the microphone boom, so I grab an old one from the cupboard, and puzzle a way to
connect it properly to the microphone arm. You guessed it - Fusion260 is whipped out and I draw what
looks like a tiny steamtrain (see the picture below). The bottom (square) block fits snugly in the
boom, and the cylinder fits in the webcam hinge to allow it to tilt up and down. A six minute print!

Meanwhile, Marina starts dressing a few square pizza doughs (not Dougie-based, I should fix that..),
and I make mine as a _Quattro Formaggio_ with gorgonzola, cheddar, mozzarella and some leftover
random cheesy bits from the freezer. I put what I think is garlic and pepper on the top, but it
turns out to be mostly salt (with garlic and pepper), so my pizza comes out nicely baked but salty
as a sailor on the Bering Sea. I eat most of it but already arm myself with a liter of water to not
implode on myself.

I get to choose the movie tonight, and I start rummaging through the collection. Marina suggests to
take a look at a _Keep_-list on which we write down finds or tips from friends. I choose [[Poor
Things](https://www.imdb.com/title/tt14230458/)], a film with Willem Dafoe, Emma Stone and Mark
Ruffalo based on a novel by Alasdair Gray.  It's definitely unique - certainly not for young
children or sex-negative people. I enjoy the story and the chracters development. But it's a very
freaky premise. For the right audience, I would recommend!

During the movie I slurp down two liters of water, and in all this water I let some blue sharks and
green frogs splash about. There's also a few mushrooms, which also go down the hatch. At the end of
the movie, I have good news and bad: the _good_ news is that I no longer feel like the victim of
reverse osmosis, the _bad_ news is that I need to pee like a rushing racehorse at the Kentucky
Derby.

With that out of the way, and all the things done that I set out to do today, I retire to the
basement, and rewire the microphones and cameras into a set of USB hubs so that Jessica can leverage
them in all their resolution and glory. Quinn mentioned that the picture is a bit red, so I fix the
white balance to 4400K and drop a little bit of saturation on the cameras. I make a few test
recordings, and have fun.

After all that techno yesterday at the Zurich Street Parade, tonight I'm going to listen to Ragga
Jungle drum and bass, and I settle on [[Dub Deebu
Day](https://www.youtube.com/watch?v=F2Rx2lsD_vE)].

# Remembering Susan Wojcicki

{{< image frame="true" width="17em" float="right" src="/img/susan.png" alt="Susan Wojcicki, getty images" >}}

Susan, I am incredibly sad to hear of your passing away. I wanted to thank you for everything you've
done for Google in its formative years, and for being such an inspiring and admirable leader.
There's but a few people who truly deserve to be followed, but your care for the people and energy
in life will be remembered. 

Slaap zacht, Susan, and to your family, friends and loved ones I extend my heartfelt sympathies for
your loss. Google, the Bay Area, and indeed the world, was a better place for your contributions
both professionally and philantropically.

## Pictures of the Day

{{< gallery-category >}}
  {{< gallery-photo fn="2024-08-11/IMG_0605.JPG" caption="A tasty, thawed, and finish-baked boule of artican white bread, from last week. Very tasty in the rebound!" >}}
  {{< gallery-photo fn="2024-08-11/IMG_0607.JPG" caption="Marina's Kramiek bread, she gave it an 8/10 while Quinn gave it a 10/10. Yaay!" >}}
  {{< gallery-photo fn="2024-08-11/IMG_0608.JPG" caption="The pizza quattro formaggio that I messed up. Still ate it though!" >}}
  {{< gallery-photo fn="2024-08-11/prusa.png" caption="The microphone webcam bracket that I printed.  It looks like a choo-choo-train" >}}
  {{< gallery-photo fn="2024-08-11/IMG_0609.JPG" caption="Emma Stone gave a wonderful performance in Poor Things." >}}
  {{< gallery-photo fn="2024-08-11/IMG_0610.JPG" caption="Some candies while watching Emma Emma-ncipate herself. I'll see myself out ..." >}}
  {{< gallery-photo fn="2024-08-11/IMG_0611.JPG" caption="The Logitech webcam on the Rode microphone boom." >}}
{{< /gallery-category >}}

{{< gallery-modal >}}
{{< gallery-script >}}

