4 ms·
https://github.com/libjxl/jxl-rs https://github.com/libjxl/jxl-rs jxl-rs is the underlying implementation. It's relatively new but Rust certainly calms security
by adzm 10mo ago
https://github.com/libjxl/jxl-rs https://github.com/libjxl/jxl-rs jxl-rs is the underlying implementation. It's relatively new but Rust certainly calms security fears. This library wasn't really an option last time this came around in chromium.
- quikoa 10mo agoDidn't Google refuse adding JpegXL because they claimed there wasn't enough interest? I don't think they refused out of security concerns but maybe I'm misremembering that.
- pixelesque 10mo agoGoogle argued that duplicating largely (I know JpegXL does support a bit more, but from most users' perspectives, they're largely right) what AVIF provided while being written in an unsafe language was not what they wanted in terms in increasing the attack surface.
- adzm 10mo agoAnd it really was the right move at the time, imo. JXL however now has better implementations and better momentum in the wider ecosystem and not just yet another image format that gets put into chrome and de facto becomes a standard.
- deleted 10mo ago[deleted]
- klglrksbjkt 10mo agohttps://www.google.com/search?q=what+the+old+man+does+is+always+right https://www.google.com/search?q=what+the+old+man+does+is+alw...
- actionfromafar 10mo agoHahaha perfect! Can't believe I never heard this story before.
- robocat 10mo agohttp://hca.gilead.org.il/old_man.html http://hca.gilead.org.il/old_man.html Aviso: http
- _ache_ 10mo agoI can confirm. I found multiple problems in the "official" cjxl encoder back in 2023 contrary to the webp2 (cwp2) implementation where I could not find any bug or error. If the encoder have obvious problems it is not a big deal, but it doesn't bode well for the decoder.
- Dylan16807 10mo agoForcing other companies to override them is a way to prove momentum but it's not a good way to prove momentum.
- Dylan16807 10mo ago> duplicating largely what AVIF provided That's not a great bar since both of them showed up around the same time. And importantly JXL hits many use cases that AVIF doesn't. > while being written in an unsafe language They put little emphasis on that part when they were rejecting JXL. If they wanted to call for a safer implementation they could have done that.
- gcr 10mo agoGoogle refused to merge JpegXL as a strategy play to promote AVIF, which was in use by other teams (i think Photos?). Internally, chrome engineers were supportive of jxl but were overridden by leadership.
- zaphar 10mo agoDo you have actual sources for this? Because the other people commenting about how the newer library removes most of the concerns explains this better than an unsubstantiated speculation about promoting AVIF.
- themerone 10mo agoIf you look at the issue tracker, the creator of Webp killed it because of untrue claims there was no interest or advantages over existing formats. Concerns about the implementation only came up after years of pushback forced google ton reconsider.
- magicalist 10mo ago> If you look at the issue tracker, the creator of Webp killed it because of untrue claims I think for most modern software it's difficult to name the creator, but if you had to for webp, it would be hard to argue that it's anyone but Jyrki Alakuijala, who is in fact one of the co-creators of jpegxl and the person backing up the long-term support of the rust jxl-rs implementation, so I'm not even going to ask for a source here because it's just not true.
- themerone 10mo agoIt's been 3 years, I might have people mixed up, but that was the justification at the time.
- brigade 10mo agoAFAIK Jyrki came after WebP was already announced to add lossless support; rather I’d consider Skal the creator inasmuch as it was originally just an image container for VP8 intra. He was working on WebP2 at the time Google rejected JPEG-XL and also was not involved in that decision.
- WhereIsTheTruth 10mo ago> Rust certainly calms security fears No, memory safety is not security, Rust's memory guarantees eliminate some issues, but they also create a dangerous overconfidence, devs treat the compiler as a security audit and skip the hard work of threat modeling A vigilant C programmer who manually validates everything and use available tools at its disposal is less risky than a complacent Rust programmer who blindly trust the language
- rkangel 10mo ago> A vigilant C programmer who manually validates everything and use available tools at its disposal is less risky than a complacent Rust programmer who blindly trust the language I agree with this. But for a component whose job is to parse data and produce pixels, the security worries I have are memory ones. It's not implementing a permissions model or anything where design and logic are really important. The security holes an image codec would introduce are the sort where it a buffer overun gave an execution primitive (etc.).
- lambdaone 10mo agoRust programmers are far more likely to have the vigilant mindset than C programmers, or they wouldn't be using Rust. You can get an awful lot done very quickly in C if you aren't bothered about security - and traditionally, most of the profession has done exactly that.
- estebank 10mo ago> A vigilant C programmer who manually validates everything and use available tools at its disposal is less risky than a complacent Rust programmer who blindly trust the language What about against a vigilant Rust programmer who also manually validates everything and uses available tools at its disposal?
- whatevaa 10mo agoHistory shows that either vigilance of most C programmers is not enough, or they are not vigilant at all. C/C++ and RCE via some buffer overflow is like synonyms.
- rafram 10mo ago> It's relatively new but Rust certainly calms security fears. https://github.com/search?q=repo%3Alibjxl%2Fjxl-rs%20unsafe&type=code https://github.com/search?q=repo%3Alibjxl%2Fjxl-rs%20unsafe&...
- dubi_steinkek 10mo agoThat looks pretty good to me. Every `unsafe` function has clearly stated safety requirements, and every `unsafe` blocks justifies why the requirements are met.
- 12_throw_away 10mo agoSo, I had no reason to use "unsafe" for a very long time, and had developed a bit of an aversion to it. Then I actually needed to use it, first to interface with some C code, and then to deal with a device's mmap'd memory as raw `&[u8]`s. And my discovery (which basically anyone could have told me beforehand) was that ... "unsafe" rust is not really that different from regular rust. It lets you dereference pointers (which is not a particularly unusual operation in many other languages) and call some functions that need extra care. Usually the presence of "unsafe" really just means that you needed to interface with foreign functions or hardware or something. This is all to say: implying that mere presence of an "unsafe" keyword is a sign that code is insecure is very, very silly.