!memes@lemmy.world Sorry, what are you people talking about? I have precisely this GIMP version (to be exact, 2.10.28, in a very out-of-date Linux setup) and I never experienced problems with transparency/alpha channel. And I've been using GIMP since... I dunno, 2019?, even earlier, when I started to become accustomed to GIMP... I mean, I guess y'all talking about exporting a PNG file from GIMP, right? Or are y'all actually talking about other image formats?
dsilverz
Totally agree with your comment, I'd just make an observation to this specific part:
but a new rendering engine is necessary
The problem with a new rendering engine is who have influence over the specs/standards, as well as who holds the necessary keys to be granted access to its features. We humans have been tying ourselves to centralized entities who pinky-swear they can guarantee "Safety/Security": SSL/TLS, HDCP and any other technologies gate-kept by "Divine Beholders" of the only keys able to "bless mere mortals" with the temporary grant required to develop using a technology. I mean, this is exactly what's happening to mobile apps, with "sideloading" having been a boogieman word for installing apps without having to rely on a centralized app store, a manufactured consent that worked so well that people and governments have been accepting, even relying on, Google's "Integrity Check" shenanigans (and the Apple's whatever analogue i-thing for iOS). The supply chain attacks that have been happening (from PyPi to AUR) feels like something that's further pushing us to more centralized "authorities" who'll then have absolute power over who can and who can't pass.
Even if a truly independent entity were to come up with a full-fledged browser engine, as compatible as possible with current specs, Google still seems to possess lots of influence on the official Web standards and they can simply commit changes to the specs that would uncirvumventably require Google's "blessing" to function (for your security, of course /s); so anything "not blessed" would simply fail to function because it isn't signed by the "blessing", "divine" keys.
And Mozilla doesn't feel trustworthy as well, especially because they're overly reliant on Google's money to exist, and also because they've been pivoting to opt-out (so one must explicitly disable it and confirm their will to disable it, otherwise it will be on by default, which turns to be a shady lack of consenting, much like Google's behavior) "features" much despite of their own userbase's demands.
This said, I used to believe in third-way projects such as Servo and Ladybird... except the latter went down a very unacceptable road (founder turned out to be a transphobe who dismisses using neuter pronouns and assumes the user's gender to be always a "he/him" because "we don't do politics here"), and the former... it belongs to Linux Foundation, where big corps such as Microsoft, Google and Oracle have their horses (after all, "Microsoft loves Linux"; sure, Nadella, we know how Microsoft "loves" Linux /s).
I'm afraid there's no light at the end of the fiber optics (pun intended) when it comes to alternative engines: either we try to actively boycott the "modern Web technologies" altogether (ditching HTTP(S) and pivoting to entire alternative protocols such as Geminiprotocol and Gopher whose standards/specs are slightly more distant from the dirty hands of "Google et al"; worth mentioning how Fediverse has Geminiprotocol-capable platforms such as tootik, it's more doable than reinventing the cursed wheel of the Web which turns to be the infamous Chromium wheel) or we try to stick with the "lesser evil" (forks of Mozilla Firefox, until Firefox becomes totally enshittifiedly indistinguishable from Chromium) until a solution happens (or likely not, then we're left with just the other path, which is pivoting to alternative standards altogether).
!onehundredninetysix@lemmy.blahaj.zone
There's something else: the backslash followed by a positive natural number means a reference to the nth capture group, so:
"truthfultemporarily".match(/(t)(r)(u)\1hf\3(l)\1empo\2a\2i\4y/)
...as esoteric as it may sound, will match your Lemmy username, because the \1 will correctly match the first capture group which is t, \2 will match the second capture group which is r, and so on so forth... Oh, and it works beyond .replace contexts, during .match as well.
Source: I just learned through this very meme and, from now on, I'll likely use this feature whenever I have to use RegExp because I love coding cryptic one-liners just for the sake of it.

!onehundredninetysix@lemmy.blahaj.zone TIL, through a meme (yep, memes can be very teaching, too), that I can reuse capture groups in a recurring manner inside a RegExp (I didn't know about the \(number) thing, but I readily inferred, due to past experience with using \(number) in KDE Kate's Regexp replace, it had something to do with "this position must contain the nth group verbatim", opened the DevTools, tried .match with a fixed version of the meme's regex (i.e. without the invalid spaces) and a random phone sequence my mind conjured out of thin air, and voilá, the slash-number thing indeed behaved as I guessed it would behave). So... Thanks to whoever made the meme because TIL thanks to you!
/^Be( )not\1(a)fr\2id$/ (Biblically-accurate RegExp).
A few days ago, I had to use the Graphite image editor to refine a 3D scene I rendered in Blender. I'm a daily user of Waterfox, but for some reason, whenever I access the Graphite WebApp, it instantly grows in RAM usage, as the whole Waterfox freezes and crashes (which I found out to be a specifically a "core dump" kind of crash when I launched the browser from a terminal). Same for Librewolf. Then I had the idea of accessing Graphite through a spare Chromium (not Chrome, but still a Google thing) I unwittingly have to keep for development purposes, and suddenly it worked without a hassle, it didn't even require that much RAM.
This happens because Graphite, just like many webapps out there, was made with Chromium-based browsers in mind, likely using some esoteric features which are unavailable or badly implemented in Firefox-based browsers (an incompatibility of which indirectly affects Waterfox).
This, I guess, is part of why people still use Chromium-based browsers: because it became indistinguishable from Internet Explorer and its idiosyncratic features (ActiveX) back in 2000s, with most developers (including myself) coding webpages that used said features (think about having to deal with the filesystem: devs would either have to use Java or devs could use the cool FileSystemObject ActiveX; similar thing applies nowadays with some HTML5 APIs that can be quite useful for some webapps but are only properly implemented in Chromium). At least we used to have a "This site is better viewed in IE7 on Windows XP with a resolution of 1024 x 768 and Macromedia Flash Player installed" back then, now webpages can simply crash the whole browser when it doesn't refuse to load after an endless spinning animation.
Don't get me wrong: I would neither recommend Chromium, nor anything Google-related, for anyone, not even my worst enemies (a daily reminder for people, especially we Fediversers, to stop recommending the damn Youtube)... but this is the depressing reality of Web, and IT in general: things (some of which are sine qua non for "living in society" nowadays, such as internet banking and government platforms) that can only function in a specific platform/browser, be it Windows (when it comes to desktop platform), Android (when it comes to mobile) or Chromium (when it comes to the Web).
!me_irl@lemmy.world When it comes to the speakers, you forgot to add the "doo-dododoo-dododo-dododo-dododooOOOoo", the old chant that prophesied an impending phone call.
!memes@lemmy.world Oh... Thanks, now I see it. I just did a quick test (comparison screenshots embedded in this reply), trying to imitate as much as possible from that Bluesky post (RGB 8-bit gamma integer, sRGB, background layer was deleted, an image with a smaller size was pasted to the canvas, a manual mask was added to the pasted layer) and, yeah, I was able to reproduce this problem here: if the alpha value is low enough, it either ends up truncating to zero, otherwise it gets reduced to a lower value; higher values are seemingly unaffected. The problem also happens with other transparency-able formats such as WEBP.
However... based on what I barely know about image file formats and color theory, I'd say it seems something to do with the color profile, as color profiles are responsible for gamma adjustment (and this ends up including the alpha channel as well). The very name of the GIMP's native color profile says it all: "Perceptual" sRGB, this means it's adjusting the values to account for human perception, akin to how audio files (MP3, to be exact) truncate everything below somewhere around 60Hz and above somewhere around 15 kHz (the frequency range for average humans). Even though PNG is meant to be lossless, a color profile is inherently a lossy thing, because human perception is a lossy thing, which certain color profiles try to imitate, especially "Perceptual" ones.
I didn't test the same GIMP behavior with other color profiles, though.
To be clear: I'm not talking about the "Export color profile" option one can choose during exporting, I'm talking about the color profile used when a new image is created and edited in GIMP. Really, this "color profile" thing is very important to a picture (esp. photographs) yet it's so complicated that even image editing software developers are likely to struggle with it...
Not to mention how it is kinda related to hardware too, despite the dismissal from Paynamia; to be exact, it has to do with the graphics peripheral, the LCD/LED/etc monitor/TV, as every monitor/TV can and will have different manners to display images; the color profile mainly tries to compensate for an expected monitor (which, in turn, tries to compensate for human perception), but it'll compute new values for the pixels to be saved in the file so the final picture matches the color profile but will likely lose the original precision.
I wonder how I never noticed this, even though I deal with transparent PNGs a lot, maybe I didn't have to use very low alpha values before.
As for the screenshot below, a triangular chunk of green background next to her (Lesser Horned Owl, Macaulay Library ML379762121) ear-tufts is missing from the PNG. Funny thing I used GIMP to do this side-by-side comparison regarding the GIMP's problem, lol.
(I'm aware I'm doing a deeply-technical reply in a meme community but I can't help myself but to be nerdy and verbose)