kornel

joined 1 year ago
[–] kornel@lemmyrs.org 14 points 1 year ago (1 children)

I maintain a long-term Rust + Node.js project, and the Node side is the painful one.

Node makes backwards-incompatible changes, and doesn’t have anything like the editions to keep old packages working. I can end up with some dependencies working only up to Node vX, and some other deps needing at least Node v(X+1).

[–] kornel@lemmyrs.org 13 points 1 year ago (2 children)

People can have various reasons for such look. It can be a symbol of non-conformity.

Official Rust spaces have a code of conduct that is inclusive and forbids discrimination, and this may attract people who otherwise wouldn’t feel comfortable to participate.

[–] kornel@lemmyrs.org 2 points 1 year ago (3 children)

To generate the LLVM code correctly you need to run build.rs if there is any, and run proc macros which are natively compiled compiler plugins, currently running without any sandbox.

The final code isn’t run, but the build process of Cargo crates can involve running of arbitrary code.

The compilation process can be sandboxed as a whole, but if it runs arbitrary code, a malicious crate could take over the build process and falsify the LLVM output.

[–] kornel@lemmyrs.org 6 points 1 year ago* (last edited 1 year ago) (1 children)

Because it works everywhere, because it's so old.

The next best option, a decade old WebP, is a mixed bag. In its best-compressing mode it will lower color resolution and add fringing like a JPEG. In its lossless mode it may be bigger than GIF.

If you have an option to use a proper video format, go for it. But often sites just allow upload of GIFs. If you send a newsletter you never know how primitive (Outlook) the client will be.

 

I see many Steam pages and social media posts with dithered posterized mess of GIFs. Most GIf encoders are terrible. GIFs could be encoded much better: gif.ski is designed to encode high-color video-like clips efficiently.