Smarmy grifter who caused irreparable and immeasurable harm
Smarmy grifter who caused irreparable and immeasurable harm


If you mostly play Souls games, I have to lean towards E33 due to the real-time parry mechanic. Both games are amazing and you won’t regret playing either.
I’ve been using a reverse proxy on a Hetzner VPS pointing at my home plex server for years without issue. Maybe this only applies to people running the actual Plex software on a Hetzner VPS?


Content of the image is unrelated to this post FYI


Wayland support for multi-monitor configurations is better than X11. Whatever performance degradation you claim to experience is also a “you” thing, not a “Wayland” thing. There’s an underlying issue with your setup.


What I described isn’t necessarily functional. This is just a principle for ensuring objects represent clear and well-defined contracts. The idea is that to mutate something, you should own it; that means interfaces / public APIs, which can be called externally, should take immutable arguments. You can still mutate instance members internally because those are owned by the instance. If mutation is really necessary between two objects then it should be coordinated by an object owning them both.


That’s a footgun sure but at least you can avoid it once you’re aware of the problem.
I never write function signatures with mutable interfaces. It’s always IEnumerable, IReadOnlyCollection, or IReadOnlyList; otherwise, use a concrete type. The latter is typical for private/protected methods that are called with instance members of a concrete type rather than public interfaces. If you want to mutate an object, you should own it. Public methods are invoked with data not owned by the instance.
For example, a lot of extension methods in LINQ have a signature IEnumerable<T> --> IEnumerable<T>, and internally the first thing they do is call .ToList(). The interface makes minimal assumptions about the input data, then puts it into a concrete type you can manipulate efficiently. You can similarly define a method for IReadOnlyList and explicitly make it mutable via .ToList(), rather than use IList and check .IsReadOnly. Both ensure correctness but the former does it at the type level, at design time, instead of relying on runtime checks.
C# is old and full of oldness. But it’s also an excellent language that can be written beautifully if you know how. And there’s lots of great code to learn from in the open-source dotnet core runtime repo and related projects.


“Don’t mention the war”
Sounds like a skill issue. If that ruined the game for you, I dunno what to say. Might be a replicant?
I agree with them, that game is a masterpiece. Didn’t you love it?
The direct connection is cool, I just wonder if a P2P connection is actually any better than going through a data center. There’s gonna be intermediate servers right?
Do you need to have Tailscale set up on any network you want to use this on? Because I’m a fan of being able to just throw my domain or IP into any TV and log in
I just use nginx on a tiny Hetzner vps acting as a reverse proxy for my home server. I dunno what the point of Tailscale is here, maybe better latency and fewer network hops in some cases if a p2p connection is possible? But I’ve never had any bandwidth or latency issues doing this
It gets around port forwarding/firewall issues that most people don’t know how to deal with. But putting it behind a paywall kinda kills any chance of it being a benevolent feature.
The last time I had fun with LLMs was back when GPT2 was cutting-edge, I fine-tuned GPT2-Medium on Twitch chat logs and it alternates between emote spam, complete incoherence, blatantly unhinged comments, and suspiciously normal ones. The bot is still in use as a toy, specifically because it’s deranged and unpredictable. It’s like a kaleidoscope for the slice of internet subculture it was trained on, much more fun than a plain flawless mirror.


It’s a Windows Subsystem that is responsible For (Running) Linux. Yes, everyone thinks it should have been called Linux Subsystem for Windows.


I mean the specific issue about the binary blobs. Something that might set off alarm bells for you or a security-focused group may not do so for some dude working on a passion project in his free time.


Maybe they weren’t working on it.


Software to create bootable usb drives. It’s handy, you just copy ISOs into the drive and pick which one to boot into instead of overwriting the drive with a single ISO.


It’s a different situation, as a dev I’d happily bet my life on this assumption.
Not quadratic in the length of the input. Assuming replace is linear this is also linear