

CIQ is the company behind Rocky and they joined. I believe Alma is taking a slightly different approach than the others, hence they did not join.
CIQ is the company behind Rocky and they joined. I believe Alma is taking a slightly different approach than the others, hence they did not join.
Probably yeah, but then Meta will have made yet another walled garden, and for some reason so many people seem to really love Meta and they will stay there. Then we’ll be exactly where we are today. So the way I see it, this new plan from Meta means nothing, but I’m curious to see how things will go.
The fact that W3C defines the protocol doesn’t stop large companies from doing whatever they want. Have a look at Google: their web browser has become so widely adopted that Google effectively controls what is considered part of the spec, not W3C.
If Meta’s platform grows to become the biggest fediverse project, they will control the spec and others will either have to follow, or risk dropping out. This is just like how Firefox is forced to follow Google to ensure all websites work properly on Firefox, even if these sites don’t comply with the spec.
I agree, I also make sure everything is fully local. I have separate subnets for the server that runs home assistant, the IoT devices, and the trusted home network. Then I have some firewall rules that ensure that the IoT network cannot communicate with the WAN or the trusted LAN network at all, only with home assistant.
We have some simple automations at home to turn on the boiler in the afternoon when we have an abundance of solar power, and some basic automation to turn off aquarium lights at night such that the fish can sleep. Anything more complex just becomes unreliable and annoying.
Being able to monitor energy usage is very useful. We can see how much our solar panels are producing and how much we are importing and exporting from the network. Based on this information we can decide whether we should start a dishwasher, washing machine, water boiler, air conditioning, etc. That way, we can save a lot of money by optimally making use of free solar energy.
Making sure you are still able to control everything when the network is down seems like a good idea.
In our house, the smart plugs have a physical button that can be used to toggle them on or off. The lights are still connected to a physical power switch, so they can be reset by flipping the switch a few times, in which case they will probably just act as a normal light. Air conditioning units have an IR remote.
There’s a difference between consuming power to do stuff, and consuming power to charge. More power to charge = faster charging.
No, I phrased that poorly. What I meant is that if you have a struct that has some field (it owns that data), your operations on that data will be methods of that struct, and not some other struct that happens to have a reference to that struct. The latter is something people tend to do in OO languages like Java. In Rust, if a function accesses data, you usually “freshly” borrow from the owner of that data and pass it as argument to that function instead of relying on some “hidden” references somewhere in hidden in an object. Borrows will almost always be short-lived.
I don’t know if any of this makes sense, I’m sorry for the bad explanation. It might make more sense if you play with Rust yourself.
When you create an instance of a struct and assign it to a variable or field of another struct, that variable becomes the owner of that value. When you assign it to some other variable or pass it to a function that takes ownership, ownership will move. Otherwise, you will borrow. But there will always only be one owner for each value. That way you know exactly when to free up memory: whenever the owner is dropped.
You can store references in another structure, but you probably don’t want to do this most of the time, since it’s a major headache to get ownership and lifetimes right. You shouldn’t think of references as pointers, but you should think of them as “borrows”: you are temporarily borrowing something from the owner, but you can only do so if the owner exists. So you need to statically guarantee that for as long as you borrow it, the owner must be alive, which gets tricky when you store that borrow somewhere in some data structure. In practice, references or borrows will be short-lived, and most operations on data will be done by the owner of that data.
Underneath, references are represented by pointers, but you shouldn’t think of them as pointers, but rather as something you have borrowed, so in that sense it’s different from C.
Also, Python does use references everywhere, it’s just implicit, and depends on the type. Try storing a list in a class: you’ve just stored a reference to another structure. Most things (e.g. lists, objects) are passed and stored by reference, some types like integers are copied. In Rust, you can choose whether you want to pass by reference, copy or move ownership. At this point we’re still at a high level of abstraction, we don’t think so much about whether this will be pointers at the low level.
But my main point is that whether you use pointers, references, or whether it’s implicit or explicit doesn’t make a language slow or fast, it just defines how programs are written. Rust is very fast because it’s compiled to machine code and doesn’t do garbage collection or have any other overhead from a “runtime”. Python is relatively slow because it’s interpreted. You could argue that more manual control over references/pointers can make a language faster, but it’s not the main contributing factor.
I would argue that on the one hand you could say that the references to objects in garbage collected languages are also pointers.
On the other hand, you could argue that such references are not pointers, but then you might as well argue that references in rust are not pointers.
I just feel like “a language with pointers” is a weird way to describe a language and it isn’t really something that causes the language to become fast. Pointers are low level constructs that are used all the time, and whether or not they are abstracted away in the high level language doesn’t automatically make it slow or fast.
I’d say that it’s fast because it’s compiled to machine code and doesn’t use garbage collection. But I see what you mean with “pointer-based”.
The cloudflare protection of their main instance is breaking federation right now, which is a bit annoying. I hope this will be resolved soon.
Jellyfin is free/open source software, while Plex is not.
I was already able to deploy it on my Raspberry PI 4 without any issues. It was using a lot of CPU when joining large rooms, but now it seems to have calmed down and it’s using 1-2% CPU, which is very reasonable. In comparison, home assistant runs at around 2-3% idle, and lemmy fluctuates between 4% and 10%.
Thanks for bringing this up, this is great! It’s also written in Rust, and I love Rust, so I might contribute this summer. I’ll add it to my list of potential project to contribute to, along with Lemmy.
I’ll blacklist them on my instance.
Conduit looks very interesting. Synapse is way too bloated to run and dendrite is way too buggy in my experience. Maybe conduit will become a better home server? I feel like the matrix devs just keep adding more and more features to their protocol, but they fail to implement usable servers and clients. IMO they should’ve kept things more simple.
Could be that people already have these awards and since they might want to leave reddit, they just give those awards to random comments from the CEO. Probably unlikely, but who knows?
Haven’t seen any border control either and we cross several borders between Belgium, France, Germany and Austria each year. The only border control I’ve ever seen is in Basel, Switzerland, and even that is never a big deal, they have never actually stopped us.