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.

Diablo 4 is an unfinished bad game – don’t buy

There isn’t really much more to add.
70€ for this boring solofest.
What a waste of money.

Last Activison Blizzard product I’ll ever buy.

What pisses me off, I didn’t even want to buy it, but I got seduced by Twitch streamers.
Despite better knowledge.
The thing is, when there’s a charismatic Twitch streamer and you think “hey it’s a good game” because he is having fun or pretending to have fun, well it’s his job to have fun and sell the game, then you think you’ll have fun too.
But that’s a delusion.

1. Clan size is limited to 150 people.
So you can’t join the streamer’s clan, because it’s always full. And he doesn’t give a shit to create multiple clans.
2. No means of social interaction.
No LFG/M, no LFG channel, even chatting is “hard”, because it’s restricted to your immediate area.
So you can’t just find a group. People in town are mostly AFK.
And that’s in a forced online game.
3. Split game and endless grind
Before you complete the 6 acts of the story, the game is rather boring and it completely changes once you’ve finished it.
But in the end it’s all the same anyway. Grind to no end.
It’s just an awful, endless grind.

This game is hands down the worst Diablo title of them all.