It is one of the most addictive games I’ve played. The good thing is that it is cheap and doesn’t have any microtransactions. And a lot of fun.
It is one of the most addictive games I’ve played. The good thing is that it is cheap and doesn’t have any microtransactions. And a lot of fun.
I’m too old to rant about systemd :D
Wtf is run0
https://www.freedesktop.org/software/systemd/man/devel/run0.html
Edit: Is that nyx flake made by the same guys as the Chaotic AUR repo for arch?
Looks like it if you check from GitHub.
It kind of fails with certain protocols. I once wrote an async MSSQL client for Rust, and some data doesn’t say its size in the headers. So this kind of forced the business logic to be async too.
Never had one, just partied in the uni and dropped out :D
So basically your typical network protocol is something that converts an async stream of bytes into things like Postgres Row objects. What you do then is you write a synchronous library that does the byte conversion, then you write an asynchronous library that talks with the database with async functions, but most of the business logic is sync for converting the data coming from the async pipe.
Now, this can also be done in a higher level application. You do a server that is by nature async in 2024. Write the server part in async, and implement a sync set of mapping functions which take a request coming in and returns a response. This can be sync. If you need a database, this sync set of functions maps a request to a database query, and your async code can then call the database with the query. Another set of sync functions maps the database result into http response. No need to color everything async.
The good part with this approach is that if you want to make a completely sync version of this library or application, you just rewrite the async IO parts and can reuse all the protocol business logic. And you can provide sync and async versions of your library too!
That’s why you write your protocol as a sync library, then implement the async IO separately and mapping the data over the protocol modules.
Thanks for sparking my interest on cachyos kernels and what they patch. In addition to bore, they also patch the sched_ext support!
https://github.com/CachyOS/linux-cachyos?tab=readme-ov-file#cachyos-default-kernel
Now, what this means is you can boot this kernel, then just start the scheduler from userland, e.g.
run0 scx_rustland
It uses bpf, so the scheduler switches immediately and is as fast as anything in the kernel space. What makes this rustland scheduler super interesting is how it can detect what application is currently active, and give it a full priority over anything else. So you can compile code in the background with all cores, and at the same time play a game with the best frame rate.
There are other sched_ext schedulers available, at least on nixos with the cachyos kernel I get a bunch of scx_ binaries to play with.
For nix users here, nyx flake packages and compiles the cachyos kernel:
They have a few in the main branch: https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/kernel
I see rt and zen at least being available. Would of course be quite easy to just send them a PR for bore patches, but I think I wait for sched_ext to land instead…
Not until sched_ext lands, and you can then switch schedulers as you wish. Maybe in 6.12?
Me neither. But. I think the answer is much simpler here: Microsoft doesn’t make their money with schedulers, but bundling that Office and tracking to everybody, and charging rent every month. They have way less people working on making the kernel as fast as possible, compared to Linux where:
This is why, for a pro user, Linux is an amazing platform.
It’s pretty easy to patch the kernel in NixOS:
https://git.sr.ht/~pimeys/nixos/commit/2a023c5ccc8a499dcb4ea14b0ab52c33db3f3523
It definitely feels snappier even with my 5950x. I hope this lands to mainline soon, compiling kernel for every update takes a few minutes extra.
Not yet in the Torvalds tree of Linux? There’s a ton of interesting schedulers coming when sched_ext lands to the mainline:
https://www.phoronix.com/news/sched_ext-Ahead-Of-Linux-6.12
Also, would be great if more distros would compile packages with AVX512, there’s a ton of perf left on the table:
Yeah, same with the next gen zen5 laptops. The Ryzen 9950x can compile code faster and by using less power compared to 7950x. It is going to be awesome for dev laptop performance and battery use.
Meanwhile these CPUs are amazing on Linux
https://www.phoronix.com/review/amd-ryzen-9950x-9900x
https://www.phoronix.com/review/amd-zen5-avx-512-9950x
For some reason Windows scheduler is not as good as the one found in the Linux kernel with the zen5.
It is very different outside Berlin too. But one of the reasons is how most of the clubs here are very queer friendly, and it is easier for people from different backgrounds to go there if they know their presence there is not leaked to their families from some photos.
I also noticed that underground parties in countries like Finland started to follow this trend. In these cases it is more to filter out cameras on dance floors which obviously makes the parties more fun when people are just not using their phones all the time.
This is what I really like about clubs in Berlin. When you get in, they put stickers to your phone’s cameras. If you take them out and try to take photos, or they see you removed the stickers when you get out, you need to delete all the photos you took in the club and you’re never again welcome to their premises. Makes also dancing there super fun because people really dance, not focus on taking a video of the DJ.
It was just merged to NixOS. Should be on unstable in a few days…
Whew! I think I dodged the bullet. Upgraded today and it boots just fine. Running HAOS in a vm, so that might be the reason…
I run invidious at home on my proxmox server. The server is available everywhere with tailscale, so I can use it even when travelling. If Google ever blocks this, nobody at home can watch youtube anymore…