pornel
Apple's design never recovered from the flattening of iOS 7.
OTOH if you have one crate with lots of modules, it's tempting to import anything anywhere and use pub(crate). Rustdoc needs to be configured to show private items if you want to see internal APIs.
If I'm impatient I switch to Luna for a single turn just to get it started and let DS continue.
ISO-BMFF container is bloated and needlessly complicated. AVIF decoders didn't even want to reuse existing MP4 libraries for it due to all the baggage it brings, and implemented their own minimal parsers.
AVIF would have been better off with a simple wrapper similar to RIFF/PNG or extending AV1's own OBU header (which for inexplicable reason gets its data duplicated inside the HEIF container and then implementations are required to verify that both copies agree!)
I hope AVIF will skip AV2. We don't need yet another almost-identical format to migrate to.
I've switched to Home Assistant and the same devices on the same network work instantly, as they should.
Apple is so terrible at this. They have nobody to blame: it's their system, their protocol (I have pre-Matter devices), their home hub, their certified devices.
Home Assistant with a pile of community-maintained python hacks runs circles around Apple.
The pool of C software worth rewriting is shrinking. There are the few too-big-to-rewrite projects that will never move, but everything else is either getting rewritten, or has more modern replacements already written directly in Rust.
I can't vouch for LLM-assisted rewrites. The results can be randomly dodgy regardless of what you're writing or rewriting. I suspect we'll get plenty more LLM rewrites anyway, and people will just compensate by sending LLMs hunting for bugs by brute force.
It's a typical C mindset that rewriting programs creates new bugs, because it takes years to "battle test" and shake bugs out of a C program. In my experience rewrites in Rust uncover latent bugs of C programs when they finally get checked lifetimes, useful type system, enforced error checking, etc.
They're advertising is as a Siri thing, but obviously it doesn't run any AI locally. What new hardware does it need to make an HTTP request?
When I tell it "remind me at X to Y", it sets an alarm with a label set to the reminder, instead of an actual reminder. I see it has Gemini's tool calling capability, but it still has Siri's smarts.
...or competitors will just burn their own tokens on reinventing the same thing from scratch. It's going to get really hard to come up with some secret sauce that can't be replicated by a swarm of agents that never sleeps.
BTW, GPL is also totally screwed by vibe-copying.
The WebP encoder just has a switch when quality=100, then use the PNG-like format in .webp, otherwise use the JPEG-like format in .webp. WebP at quality < 100 will destroy text, sometimes worse than JPEG, because VP8 can't store color at full resolution. WebP at q=100 will blow up photo sizes by orders of magnitude, similarly to PNG.
AVIF and JPEG XL actually have ability to mix-and-match blurry and sharp compression modes within a single image.
In JPEG file size grows exponentially with quality, which also means that "I can't tell the difference" decrease in JPEG quality makes a huge difference in file sizes.
It's plenty for a 1996 game.
Rust has first-class support for WASM, so building a browser version isn't hard.
As soon as you change anything in a breaking way, start requiring your own compiler/transpiler, or introduce new idioms, you end up losing the things that keep C alive.
Users of C either like it exactly the way it is, or have to use a specific C version due to a vendor dependency or compliance.
An upgraded C not approved by the standards body gives you yet another niche language that is not C, but is still burdened with its old flaws.
I've been bitten by agent-written ADRs. Agents carelessly add extrapolated details and speculated nice-to-haves that I never asked for, and this becomes a source of bloat that keeps coming back like a boomerang.
LLMs are fuzzy when generating, but such conversions aren't done one-shot. Review and test feedback loops are there to catch the random errors. The frontier models are getting good enough at this.
When LLM is instructed to generate idiomatic safe Rust (rather than literal 1:1 unsafe translation), it benefits from a lot of feedback from the compiler.
Whatever QA there was to ensure C++ was good enough can be applied to the Rust version too.
/omfg automatically adds new rules, so I have plenty of project-specific enforcement (e.g. disallowing making certain fields public, which agents love to do to take a shortcut that ruins the architecture).