Brutkey

Lars Wirzenius
@liw@toot.liw.fi
Lars Wirzenius
@liw@toot.liw.fi

This little mini-PC runs two of the servers (the slow one, plus the one with just three repositories). They're virtual machines on this box.

(Excuse the dust. I've cleaned since taking the photo. The machine has also moved to a shelf and the cables on my desk are now somewhat managed. I have excuses.)

Lars Wirzenius
@liw@toot.liw.fi

Running this much CI also makes me more sensitive to flaky tests than most developers. CI failed? Is that because there's a bug in the software under test, in my CI system, or is the test just flaky? A flaky test can cause me to waste hours of time and debug something that isn't a flaw in my software. I do not like that. I do not like that at all.

Lars Wirzenius
@liw@toot.liw.fi

Four CI servers, 153 CI runs to make sure new release works. The first three servers finish in less than 15 minutes, the slow one takes about an hour.

Lars Wirzenius
@liw@toot.liw.fi

Running this much CI also makes me more sensitive to flaky tests than most developers. CI failed? Is that because there's a bug in the software under test, in my CI system, or is the test just flaky? A flaky test can cause me to waste hours of time and debug something that isn't a flaw in my software. I do not like that. I do not like that at all.

Lars Wirzenius
@liw@toot.liw.fi

My CI servers are called ci0, ci1, ci-private (all non-public), and callisto (https://callisto.liw.fi/). I have no imagination.

Lars Wirzenius
@liw@toot.liw.fi

I develop CI software. I use the CI software I develop. This means I run several CI servers ("CI nodes" in Radicle parlance), currently four. When I make a release, I deploy the new version to all and trigger CI to run on all repositories on each.

This means I wait for CI to finish a lot. But unlike Godot, the wait is not a metaphor, a philosophical puzzle, or an artistic goal in and of itself. It's just a part of the development process.

Lars Wirzenius
@liw@toot.liw.fi

Because I wait for CI to finish so much, two of the servers are a lot more powerful than would be strictly needed. One only has three repositories. One is slower and has the most repositories, but is also the least important one. So I wait for the first three, before concluding things work, and let the last one finish in its own time.

Lars Wirzenius
@liw@toot.liw.fi

I develop CI software. I use the CI software I develop. This means I run several CI servers ("CI nodes" in Radicle parlance), currently four. When I make a release, I deploy the new version to all and trigger CI to run on all repositories on each.

This means I wait for CI to finish a lot. But unlike Godot, the wait is not a metaphor, a philosophical puzzle, or an artistic goal in and of itself. It's just a part of the development process.

Lars Wirzenius
@liw@toot.liw.fi

I found a race condition in my brain.

I have Wake-on-LAN set up for a couple of desktop machines at home I use for servers, and I ran my script to wake named servers. Then waited. And waited. The server didn't turn on. I know this because I hear when the fans start spinning.

Turns out the server was already on so the fans were already spinning, and I was waiting for a change in the noise that never happened.

I should have used ping instead. Sigh.

Lars Wirzenius
@liw@toot.liw.fi

Every year in December I keep hoping people are talking about ADVENT, but alas.

Lars Wirzenius
@liw@toot.liw.fi

On this day in 1906 Grace Hopper was born. She was an influential in early computing. Among other things, she developed the COBOL programming language, still in use today, but her achievements and impact were much wider than that.

https://en.wikipedia.org/wiki/Grace_Hopper

#OTD #OnThisDay

Lars Wirzenius
@liw@toot.liw.fi

I lived in the UK for four years. There's some things I miss from there:

* easy access to good fish and chips
* a dense railway network
* power plugs that don't feel flimsy
* power plugs that are easy to insert
* power sockets with on/off switches
* my friends over there

The European ones (Schuko, Type C, Type F, whatever) are often difficult to insert. The pins are often wonky, apparently due to the required tolerances being bad, but that's my guess.