spoiler

made you look

  • 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: July 27th, 2024

help-circle



  • It’s an access control method, called “authorized fetch”. Rather than broadcasting the data you just announce the source of it, and then any client that wants to show it needs to negotiate with the originating server to request the data (And then blocklists and such come into play)

    Say you’ve got 3 users, A, B, and C. A has blocked C, B follows A, and C follows B. Now A makes a post, B sees it in their feed and reboosts it, what does C see?

    If B’s server sends the full response along, then C can see the contents of A’s post even though they’ve been blocked by A. But if all it sends is the URL of the post, C’s server needs to make a request for it (providing authentication), and then A’s server can reject it, so C sees nothing.



  • While there’s an overhead to safer runtime environments, I wouldn’t put much blame there. I feel like “back in the day” when something was inefficient you noticed it quicker because it had a much larger impact, windows would stop updating, the mouse would get laggy, music would start stuttering. These days you can take up 99% of the CPU time and the system will still chug along without any of those issues showing.

    I remember early Twitter had a “famous” performance issue, where the sticky heading bar would slow systems down, because they were re-scanning the entire page DOM on every scroll operation to find and adjust the header, rather than just caching a reference to it. Meanwhile yesterday I read an article about the evolution of the preferences UI in Apple OSs, that showed them off by running each individual version of said OS in VMs embedded within the page. It wasn’t snappy, but it didn’t have the “entire system slows down and stops responding” issues you saw a decade or so ago.

    Basically, devs aren’t being punished (by tooling) for being inefficient, so they don’t notice when they are, and newer devs never realise they need to.