There seems to be a big movement (UK specifically) from governments using age gateing as an excuse to increase surveillance and online tracking. I don't know where Roblox is based or it's policies, but it's likely they are just implementing what the government has forced them to do.
We need to push back against governments that try and restrict the freedom of the internet and educate them on better regulations. Why can sites not dictate the content they provide, then let device providers provide optional parental controls.
Governments forcing companies to upload your passport/ID, upload pictures/videos of your face, is dangerous and we are going to see a huge increase of fraud and privacy breaches, all while reducing our freedoms and rights online.
IMO it should not be hard for large services like Roblox and Instagram to get together with device makers to come up with a sensible solution.
When you create a new profile on Netflix you mark it as "kids" and voila. Devices should have kid profiles with lots of sane defaults. The parent profiles have a thorough monitoring and governance features that are dead simple to use.
As always it's not perfect but it will go a long way. Just getting a majority of parents on sane defaults will help unknot the broader coordination problems.
I see lots of claims about governments using age gating to "track" people, but no evidence. Your last point about uploading ID documents to random online services (which i agree is a privacy risk) would be solved with a government digital ID.
That is never going to happen it seems, as -- in the UK at least -- people go crazy whenever it is mentioned. Despite "the government" having the ability to track whatever they wanted already, should they care to.
Age gating discussions always devolve into some fantasy land were people are arguing for children to have access to porn and other inappropriate material, and happily construct some straw man where age gates lead to censorship for everyone.
If your government wanted to censor the internet they can do it without age gates. As a parent I am happy to have society agree on some basic rules around what children can do online, as there are rules on what children can do in the real world.
Yes, I know all the come back arguments about how it is my responsibility as a parent. Don't worry, I will be responsible for what my children do online when they are older. But in the end a society raises children, and society should agree a limit on what children can be exposed to online.
A closed source wrapper around a web view? I have to advise that no one install, never mind use, this closed source, proprietary blob. Especially not for anything confidential like banking, health, etc.
This is amazing, and I hope this sets a precedent for other companies. Stuff like this would definitely sway my buying decision, if I know when a product becomes EOL I can tinker with it.
Seems like great publicity for Anna's Archive. I've heard an increasing amount about Anna's Archive over the last 12 months. It has popped up a lot. I wonder if they've seen their traffic spike a lot.
I’m nearly the same. Though I do find I’m still writing code, just not the code that’s ending up in the commit. I’ll write pseudo code, example code, rough function signatures then Claude writes the rest.
Nice, I love WireGuard. I ended up building WrapGuard [1] to run applications without root access to the host and choose Go to write it in. I don't really know Rust, but does it make more sense for firmware/networking type software? Is there even a difference?
Yes, lots of firmware runs on hardware where a GC doesn't make sense. Because of limited memory and performance constraints. Sometimes having predictable timings (i.e. not a GC with pauses) is nice. I believe compiler and library support is also just better for many embedded platforms in rust.
> networking type software
Rust is a much more aggressively optimizing compiler, and thus will typically be faster, in the places where that matters. GC pauses might also be a point against golang in some places here. Rust's idioms provide slightly less opportunity for bugs in places where reliability matters (e.g. having a type system that requires you check for errors instead of just patterns that encourage it).
So there's a difference, but generally go is a good enough language for networking software and it would be rare that I wouldn't suggest that "use what you know" is more important than the differences between the languages for non-firmware network software.
I've implemented a few protocols in rust (and plenty in go and other languages).
One thing others haven't mentioned that I like rust for in this space:
The typestate pattern makes it really nice to work with protocols that have state. You encode your state machine logic into types, and your transitions into methods with move semantics, and you have a nice way to make sure your higher level code is using your protocol library correctly.
Another nice thing is that you can keep the number of copies and allocations way down if you're careful about how you use your buffers.
Very cool. I may use this, but also curious what the best choice would be if you don't need encryption. I'm specifically wanting to enable some local container networking using apple's new container tool [1]. I know I could just use Docker...
Correct me if I’m wrong, but if you use LD_PRELOAD, presumably it will not work for applications that circumvent libc, such as Go binaries (at least those with CGo disabled)?
Tor does this the right way on Linux. You make a separate user namespace with access only to the WireGuard network adapter and run the program inside of that. You want the kernel involved if you want any sort of guarantee:
How does this work in something like Kubernetes where you have a sidebar container configuring the network for the main container without affecting others on the same host?
I think all containers share the same netns in a pod. You restrict the pod to only the Wireguard peer IP, and have a (NET_ADMIN) sidecar container create an interface (tun/kernel wg) and update the routing tables for the netns. Then I believe the traffic from the other containers in the pod is tunneled.
Can you use user namespaces to create a network namespace with the VPN active and stick applications in that namespace?
From a quick search, https://blog.thea.codes/nordvpn-wireguard-namespaces/ sees to have at least the bones of a decent solution, though I've not had a chance to dig very far. A lot of results use root to set up the namespace, but I was pretty sure that shouldn't be needed with a new kernel and user namespaces enabled
I have no idea. I’ve never messed with it, but maybe something like eBPF to intercept network syscalls? Not sure if that’s a thing—especially without root access? Mostly I was just thinking the project page could use a disclaimer since, in Go, it is common to bypass libc. :shrug:
This seems like a very cool, useful project though!
One usecase I've always wanted is being able to combine multiple tunnels into one shared connection, for instance airVPN allows 5 simultaneous users per sub, it would be awesome if I could run 5x connections and combine their traffic, but I dunno how I would do this with wg / nmcli
VPNs are level 3 while interface bonding is level 2. You’d have to create a vxlan over wireguard. It sounds like a nightmare but it would be interesting to implement.
I believe you are making use of gVisor’s userspace TCP implementation. I’m not sure if there is something similar in Rust that would be so easy to set up like this.
I’m working on Gluze (https://gluze.com) as a choose your own adventure story builder app. Trying to build stories where the reader gets to navigated and guide the journey.
Oh, no way. This is really cool. Anything to make presentations more interactive and interesting. I like the look too.
I’m doing something similar with interactive stories [1] but where multiple trees can happen.
I wonder if you could use AI to let people explore your presentation on their own after (maybe even during the presentation).
Like, explain a slide in more detail. You put a dump of information (death by PowerPoint style stuff) then let it think up questions the guest can explore?
What is it with these Chat apps having strange and not-real open source licenses? OpenWebUI is the same. Is there something about these chat apps that seems to make them more prone to weird and strange licenses? Just opportunist?
Yea, the license is modeled after the Gitlab license. All of the core chat/RAG/agent logic is fully MIT, and >99% of deployments of Onyx are using the "community edition"!
Copilotkit is in the same boat. There are parts of the open source codebase that require an enterprise license to use. Basic things like "on error" handlers that are completely offline features. (They might have moved away from this, I haven't checked in a while)
If you tack on these faux-pen source VC licenses and complicate things, you're signaling dishonesty and dark patterns. It might not be the case, but it's not a good look imo. VCs don't seem to care, though - it's all about securing the future payoff, doesn't matter what principles or norms get trampled in the process, and it's only a small set of FOSS nerds that ever get bothered by it, anyway.
We need to push back against governments that try and restrict the freedom of the internet and educate them on better regulations. Why can sites not dictate the content they provide, then let device providers provide optional parental controls.
Governments forcing companies to upload your passport/ID, upload pictures/videos of your face, is dangerous and we are going to see a huge increase of fraud and privacy breaches, all while reducing our freedoms and rights online.
reply