Just another Swedish programming sysadmin person.
Coffee is always the answer.

And beware my spaghet.

  • 60 Posts
  • 267 Comments
Joined 3 years ago
cake
Cake day: June 11th, 2023

help-circle





  • As a note, the EU requirements for cookie banners actually have a few interesting requirements.

    So they engineered the consent mechanism to be as high-friction as possible to say “no”, while the “yes, violate my privacy” choice is always a single click.

    A consent dialog needs to offer a “decline” option that’s at least as easy to access as the “agree” option. If they try to coerce you to give consent simply to avoid tedium, then that consent mechanism is in violation of GDPR.

     

    Also a fun tidbit;
    Ended up sharing a table at a speakers dinner in 2019 with a guy who worked for the same advertisement company that caused the Target scandal (among others). He had some interesting things to share about how such things happen, and also how the advertisement industry works internally.
    It’s got a remarkable amount of parallels to high-frequency trading.




  • I actually recently added the Microsoft logout page to µblocks domain filter at work, since it would every now and then trigger a logout the very first page load after I’d log in to the email there.

    This has also somehow caused a bunch of other AD-connected systems to suddenly behave a lot better when it comes to session termination.

     

    Edit: Since people were asking for it, this is what you need to add to the “My filters” tab in your UBO config;

    ||login.microsoftonline.com/common/oauth2/v2.0/logout^$document
    

    This will prevent any requests from redirecting you to log out, timeouts etc will still invalidate your session.









  • Again, it works until it requires reloading, i.e. the next update of any component or the next restart of the server.

    I’m also running an inode cache on the client side, on top of the persistent opcache, but due to the sheer number of files that Nextcloud consists of it still generates a frankly ridiculous amount of calls when it needs to invalidate the cache. If you’re running on local drives then that’s likely much less of an issue, regardless of what kind of drive it is, but this is hosted on machines that do not have any local storage.





  • It’s worth noting that the ESS suite Chart is absolutely not built to be community-viable, it’s built for the kind of single-purpose deployments that Element offer hosting for, and it also breaks almost all Kubernetes best practices. Which is actually not wrong per-se. Element need to be able to maintain it after all, and since they don’t have the Kubernetes know-how to build generic components, it makes sense to instead bundle a fully integrated solution which they are comfortable with developing and debugging.

    They’re definitely slowly but steadily rewriting Synapse in Rust as well, that’s been an open and ongoing project for a while now. You can see that just by looking in the Rust folder in the Synapse sources.
    I strongly doubt that they have the “rest” of the application rewritten internally and keeping it hostage for paid hosting though, it’d cost them too much to keep separate codebases for such a thing.

    The “Synapse Pro” offering is most likely just the regular Python+Rust Synapse, but with a few additional HA components and some workers written in Rust for efficiency, just like how there’s community workers written in both C# and Go for performance reasons.