Heise Nagscreen blocken mit uBlock Origin

Diese 2 Zeilen blocken aktuell das Cookie/Pur Abo Modal und entfernen den Scroll-lock, so dass man wieder runter- und hochscrollen kann.

Copy large qcow2 image via rsync between 2 servers

Problem:
Very large (400GB+) .qcow2 file that needs to be copied from HostA to HostB, where HostB is behind an ISP that does 24 hour disconnection of the connection.
Also because other people live in that household that use TV streaming, the bandwidth consumed should be limited.
In this case I’m on a 100MBit/s connection, and I’ll limit the transfer speed to 4MB/s.

We will use rsync for this.

The command is simply,

sparse means, skip transfering zeroes or empty, unfilled data.
bwlimit=4000 means limit the transfer speed to 4000 kByte / second. aka 4Mbps.
info=progress2 shows a prettier progress than just --progress
partial and append-verify allows us the resume the transfer one the 24 hour disconnection kicks in, without needing to start from the beginning. It also verifies the transferred.

Today I learned about NATS, microservice API and security

Actual security, as in identity, is still a 3rd party thing, aka you still need a OIDC IDP (or oauth2 in the broadest sense or similar).
All NATS security does is validate that the credentials you pass the a client are valid and enforce limits, if configured.

The microservice API was necessary, since simple request/reply structure was lacking errors, logging and statistics.
micro.Request actually has a convenience req.RespondJSON() function.

A small example?

So right now I have, ent for the database stuff and nats over websocket for the service requests.
But I’m having big issues with NATS Jetstream.
The ws client is blocking, despite callbacks and async.

The micro package also has a long way to go.
Regular HTTP has middleware, micro doesn’t seem to have it, maybe I’m missing something. OTOH I could just pass the request to a next function, but it’s not very elegant.