Haneda To Yugawara

Flying in from Singapore was pretty chill, JAL premium economy is lovely with wide seats and lots of leg room. Nobody can recline their seat onto yours but it means if you do want to lay back, you lose all your leg room because the seats push forwards. ANYWAY. We landed, customs was quick and then it was time to find some food before we picked up our hire car.

Breakfast of champions in the airport, sushi and all good things.

[Read More]

uv and pytest

It took me a while to figure out why uv run pytest wouldn’t work - it wasn’t finding my library!

Turns out:

uv uses the presence of a build system to determine if a project contains a package that should be installed in the project virtual environment. If a build system is not defined, uv will not attempt to build or install the project itself, just its dependencies.

[Read More]

Rust, Enums And Magical Custom Values

As part of the Kanidm project every object has Attributes which we catch in a chonky Enum. But being an IDP used by humans, they want to be able to use custom attribues, which makes it hard when we’re trying to strictly type and catch typos. Enter… serde and its parsing magic.

[Read More]

Odin And Frong

Once upon a time, in the mystical realms of Asgard, there existed a strange and unexpected friendship between Odin, the All-Father, and Frong, a slightly weird frog with a penchant for riddles and mischief.

Odin, known for his wisdom and relentless quest for knowledge, often wandered through the realms in search of hidden truths and forgotten lore. On one such journey, he stumbled upon a peculiar pond nestled in a grove of ancient trees. As he approached, he heard a peculiar croak, unlike any other frog he had encountered.

[Read More]

mDNS On Mikrotik RB5009

Getting mDNS working cross-VLAN with a Mikrotik router requires running a container to do the handling. You’ll need a flash drive or some other kind of storage set up on the device to make it work.

[Read More]