

Does it work from behind the rathole?


Does it work from behind the rathole?


This is bad, but I don’t really care.
On iOS, all browsers are forced to use the safari/webkit browser engine, which simply isn’t as modern in terms of security as actual firefox. There is a reason this bug only affects firefox on iOS, and that’s probably why.
Blame Apple. Not Mozilla.


The chess com engine analysis sucks. It’s too focused on glazing you and not enough on being honest. It certainly feels better than the lichess engine, but it doesn’t actually share more information.
For example, it used to be that a “brilliant move” was any move that you spotted but that the engine didn’t. But now, it’s been changed so that any sacrifice is a “brilliant move”.
Further, the LLM based analysis is also pretty bad. It only seems to explain moves, but like most LLM’s, it actually hallucinates and recommends nonsensical stuff, or incorrectly makes other claims about the position. If you search on r/chess you can find plenty of examples of this:
etc etc.
As an alternative, if you really want that type of UI, you can also use Lichess’ server based engine analysis (you get 40 free per day unlike chess com’s paid stuff):

But it doesn’t tell you why a move is bad. If you really want to learn why a move is bad, the local analysis lets you play your moves against stockfish and experiment and see why they are lacking.
Just learn to use the Lichess local analysis. It’s designed to actually facilitate improvement instead of glazing users and getting them to keep paying.


Switch to lichess.org (open source, has all of chess com’s paid features available for free, plus no ads or trackers).
Start with the chess basics set: https://lichess.org/learn
Then the basic tactics set: https://lichess.org/practice
And then do puzzles: https://lichess.org/training (chess com makes you pay for more than a few per day). Do a lot of them.
Then, you can also analyze your games on lichess using it’s analysis engines (which chess com makes you pay for). Uh I can’t find a good guide how to do this right now, check back later.


Unfortunately, the browser extension is proprietary. They used to have an open source one but they stopped maintaining it.
Proprietary was a dealbreaker for me. There is no way to verify that it isn’t selling everything I type even if I do have it configured to point at a local server.
I’m also concerned that the extension may eventually no longer work against local servers as well.
https://github.com/languagetool-org/languagetool-browser-addon/issues/247
As an alternative, there is harper by wordpress: https://github.com/Automattic/harper
It is webassembly and runs entirely in your browser.
EDIT:
I will add that the rest of the languagetool ecosystem continues to work fine. Libreoffice now has a built in client, which you can point at your own hosted server. VSCode [1] also has their own languagetool extension. I use those and those work great. But in the browser I use harper nothing. I should probably install harper.
[1] Well, technically I use [code-oss]https://wiki.archlinux.org/title/Visual_Studio_Code), which gets the extension from https://open-vsx.org/


On kubernetes it’s pretty much the same amount of work. Every possible storage option exposes a generalized, abstracted “storageclass”, from which storage can be provisioned and mounted into containers.
https://kubernetes.io/docs/concepts/storage/storage-classes/


Well, I run a one node cluster…
But yes, I did use ceph via rook-ceph, because Openstack (a locally hosted AWS alternative), at least the Kubernetes version, wanted a ceph “cluster” to store stuff on.
Longhorn is much easier. Although again, my “cluster” was one node. I deployed it because I wanted snapshots.


I like to use more uncommon tools (it often bites me afterward but it’s funnier this way
I know the feeling.
How about this: https://docs.xcp-ng.org/installation/install-xcp-ng/#9-networking
Try setting a static ip address on xcp-ng itself, during the install phase. (this was how devices got onto networks before dhcp). You’ll have to make sure it doesn’t conflict with anything else on the network.


Kubernetes makes distributed storage easy.
Basically, all the components get deployed for you, since that’s part of what kubernetes is good at.
And then, services/containers can provision storage by requesting storage via making a “claim” and whatever distributed storage providee you have gives it to you.


It’s unfortunately common, even though it probably shouldn’t be.


They don’t have to support it. It’s more that the database they are connecting to supports HA, and/or both are using shared storage. So when one container dies, kubernetes restarts another container on another node with the same shared storage attached.
Docker is often configured to automatically restart containers when a container dies, just in case it’s a one off bug or something like that, and kubernetes is like a more resilient version of that.


You can do oidc with the proxmox ui itself.
I use oidc with Incus, which is a fork of lxd and a similar software to proxmox, it can run vm’s and lxd containers.


Proxmox is also making their own: https://www.proxmox.com/en/products/proxmox-datacenter-manager/overview
source code: https://github.com/proxmox/proxmox-datacenter-manager
Two more that I have found:


When people say that linux adds a second life to bad hardware, they don’t just mean making 8 gb of ram usable again. They also mean stuff like this, using dying hardware to it’s last breath.
Related: https://lorenz.brun.one/dealing-with-bad-ram-on-linux/
You can mark the failing parts of ram as explicitly bad so Linux avoids them, just like with hard drives. Another way to get more lifespan out of this hardware.


I run a single node cluster.
My single node has 256 gb of ram and 24 cores. I do this because, if you want a lot of ram/cores/storage, it is cheaper to get a used “tower server” type device and then upgrade it as you go over time, than it is to buy entirely new devices for every bit of ram you want to add to the cluster.
I like kubernetes because I like configuration as code, gitops, the way it abstracts over components so I can swap components out easily, the way that helm charts are an easier way of orchestrating containers, and a bunch of other things.
Clustering is merely one of many benefits of kubernetes, one that isn’t particularly important to me. Although, my opinion on that has changed somewhat recently. Waiting for a reboot is annoying, since I am rebooting the whole thing and I have to wait for each service to go down or come up before the machine reboots properly. But if I was running kubernetes as a virtual machines inside incus with multiple nodes, I could update each node one by one without the whole thing going down. Or, I could snapshot them, allowing me to reboot the host without waiting for kubernetes. But these things are mostly just somewhat nice to have, rather than a core feature I really require.


Even used stuff is expensive nowadays.
Anyway, you can buy these used refurbished small form factor business PC’s.
These things: https://www.servethehome.com/introducing-project-tinyminimicro-home-lab-revolution/
I was recently at a tech conference and I met a guy who was selling 16 gb ram one’s for 30 usd, since they had managed to track them down that cheap in bulk somewhere. What happens is that corporations or govt get rid of them due to warranty expiry, so they need to be offloaded somewhere.
You probably won’t be able to find them that cheap but it’s definitely more affordable than new stuff. It used to be cheaper but I mostly see 200 usd in my searches.


This is not true. Flatpak does sign the packages, after the build on their end, similar to what F-droid does.
Flatpak refuses to install unsigned apps by default.
Now, they don’t have per developer digital signatures that would ensure that a program is directly from the developer. But those lowkey suck, those are for proprietary software where we can’t do reproducible builds to ensure that the build matches the source code.
For proprietary apps, it’s more difficult since often the build works by downloading the package, which can be a deb, an rpm, or a targz or etc and extracting it inside flatpak’s build process. For example, steam does this.
So you would have to figure out how to make flatpak sign and verify each form of distribution that it is abstracting, in addition to actually getting the developers to sign their stuff.


Or just read distrobox configs and copy what you need to docker.


Thankfully distrobox is just an open source wrapper around podman/docker, so you can make it more isolated if you want.




It’s possible to use curl and make it pretend it is contacting a domain when it is actually contacting an ip address.
That way the reverse proxy can still do it’s thing.