Andrea Giammarchi
banner
webreflection.bsky.social
Andrea Giammarchi
@webreflection.bsky.social
VPN providers being like ...

en.wikipedia.org/wiki/Sickos#...
Sickos - Wikipedia
en.wikipedia.org
November 7, 2025 at 3:07 PM
Reposted by Andrea Giammarchi
I guess the idea that a customer might be away from home isn't intuitive to A FUCKING AIRLINE
November 7, 2025 at 11:21 AM
honestly, as much as I hate User Agent sniffing, whenever I travel and find unreadable websites because they decided the lang should be the one I've just travelled to upsets me every. single. time
on top of that, mapping IP to languages is a waste of money for most cases, it requires a db + it fails
November 7, 2025 at 3:02 PM
... aaaaand it's gone!
Chromium Version 141.0.7390.108 (Official Build) (64-bit) works like a charm (and so does Edge)

Chromium Version 141.0.7390.123 (Official Build) (64-bit) wants permissions granted via a resilient user action to reuse a handler it had permissions already 🤦
October 23, 2025 at 11:28 AM
For reference: bsky.app/profile/webr...

Reads better than leaky symbols around to me
October 15, 2025 at 5:04 PM
Readability is good to me (see the follow up with just static block, no need to delete) and security superior for real private fields no library can lurk around.

I’m sold, you do what’s best for you
October 15, 2025 at 5:04 PM
it leaks the symbol at the prototype level so … no? If you can host a symbol you can host a variable that won’t leak outside the module and it’s as fast as any shared accessor, if not faster
October 15, 2025 at 7:05 AM
it's lovely, isn't it? Although there was an even more elegant solution which doesn't require to delete anything at all 🤩

I just forgot about static classes initialization blocks 🥳

bsky.app/profile/webr...
October 14, 2025 at 10:25 AM
even simpler:

let a;
class A {
# a;
static {
a = self => self.#a;
}
}

thanks to static classes initialization block 🥳
developer.mozilla.org/en-US/docs/W...
Static initialization blocks - JavaScript | MDN
Static initialization blocks are declared within a class. It contains statements to be evaluated during class initialization. This permits more flexible initialization logic than static properties, su...
developer.mozilla.org
October 14, 2025 at 10:23 AM