News for hackers. Stuff that matters.

pornel

Re:No More Icons in Every Menu by Default on Wednesday October 21, 2026 @05:48PM (#50188147)
4 still shipped with buttons my mum could recognise.

Apple's design never recovered from the flattening of iOS 7.

Re:Google's Rust Style Guide on Wednesday October 21, 2026 @05:30PM (#50187945)
You get stricter enforcement of public APIs and dependencies. You can't import anything you haven't declared as a dep, and cycles are impossible. Rustdoc by default shows only your intended public API.

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.

Re:Google's Rust Style Guide on Wednesday October 21, 2026 @05:16PM (#50187741)
Cloudflare is all in on Rust, it's used everywhere by default, and C++ leftovers are being actively torn down.
Re:DeepSeek-v4.1-Flash-1017 on Saturday October 17, 2026 @01:55PM (#50133331)
v4 was a worse overthinker. 4.1 mostly fixed that. It still prefers to plan everything before making a single file change.

If I'm impatient I switch to Luna for a single turn just to get it started and let DS continue.

Re:Desire to Move Permanently to U.S. at New Low on Friday October 16, 2026 @01:11PM (#50121223)
Excuse me, Hole of America.
Re:JPEG XL vs. AVIF for web use-cases on Friday October 16, 2026 @01:07PM (#50121157)
The container is useless. Files based on a newer codec won't display anyway.

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.

Re:I Love Software Rendering on Friday October 16, 2026 @10:39AM (#50118921)
And alternative rendering methods like Commanche's voxel weren't doable on the GPU for a long time.
Re:I Love Software Rendering on Friday October 16, 2026 @10:36AM (#50118885)
Off-loads sample mixing to the sound card. Computers of that era were slow enough that doing 44100 additions per second was expensive (IIRC quake had 8Khz samples anyway).
Re:Siri is so bad at everything on Thursday October 15, 2026 @12:21PM (#50105976)
HomeKit is so painfully slow and flaky.

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.

Re:OpenCode 2.0 on Wednesday October 14, 2026 @09:54PM (#50098183)
DeepSeek has very good bang for the buck if you're paying API prices.
Re:Problems with the Rust Language on Wednesday October 14, 2026 @09:46PM (#50098115)
1:1 rewrites from C are perfectly doable. You can use C FFI and rewrite function by function, bug for bug, while checking snapshot tests. I've converted a few libraries this way, before AI. I caught C bugs this way, and then was able to further refactor and improve the Rust version. In the end, I'm super happy with the results and I'm never touching autotools or cmake again!

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.

Re:Problems with the Rust Language on Wednesday October 14, 2026 @07:28PM (#50097047)
It's been over 10 years since Rust 1.0 was released, and C programmers still see it as a new fad. Yet, the same article mentions, but fails to connect the dots, that even the large slow-moving corporations bankrolling the foundation have already adopted Rust and are leaving C as fast as they can.

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.

Lack of conscience is a unique advantage.
Re:A plea not to use uv-build on Tuesday October 13, 2026 @10:56PM (#50081844)
but who's using it? Where are the hordes of SPARC users craving cutting-edge software?
Re:Apple HomePod Mini 2 on Tuesday October 13, 2026 @10:49PM (#50081800)
Is it actually any different hardware?

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?

UK typically uses air-to-water heat pumps with convection radiators. The passive radiators are useless for cooling, and condensation on pipes in walls can be a problem.
Re:Apple HomeView on Tuesday October 13, 2026 @10:34PM (#50081682)
It's slower and can make more complex mistakes now.

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.

Even if you run code server-side, it may be hard to keep algorithms secret if there's anything that can act as an oracle for a reverse-engineering agent.

...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.

Re:I guess I'm using WebP now? on Sunday October 11, 2026 @09:30PM (#50050210)
WebP is actually two completely different compression formats developed by different teams at different times for different purposes (VP8 video codec + lossless add-on by Google).

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.

Re:I guess I'm using WebP now? on Sunday October 11, 2026 @09:19PM (#50050119)
It's typically 15%-30% smaller than JPEG at comparable perceptual quality. Any reduction bigger than that is just loss of quality without further compression improvement, and you could have similarly reduced file sizes by recompressing/optimizing JPEG.

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.

Re:I guess I'm using WebP now? on Sunday October 11, 2026 @09:16PM (#50050090)
It's still annoying that if you set quality anywhere below 100, you get half-resolution color (VP8 only has 4:2:0 chroma subsampling).
Re:C for Rust Programmers on Sunday October 11, 2026 @06:23AM (#50041601)
It's a mistake to assume that Linux with overcommit is the only platform that C runs on.
Re:Keyboard differences between Windows and Macs on Friday October 09, 2026 @02:43PM (#50024993)
It hurts both ways. I'm trying to switch to Linux, but the lack of separation between Ctrl-C for Copy and Ctrl-C for break drives me mad. Similarly Ctrl-A for start of line vs Select All, end of line and search pasteboard (there's no search pasteboard!!!)
Re:Show HN: Quake ported to safe Rust, playable in browser on Friday October 09, 2026 @08:10AM (#50019363)
WASM is about 50%-70% of the speed of native code. That's like having a CPU that's a couple of years older.

It's plenty for a 1996 game.

Rust has first-class support for WASM, so building a browser version isn't hard.

Re:Type Safe Generic Data Structures in C on Monday October 05, 2026 @12:13PM (#49966790)
It's not worth it. The value of C is in compatibility, availability of compilers, and familiarity.

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.

Re:Mold Linker Version 3.0.0 Release – Rewritten in Rust on Monday October 05, 2026 @11:14AM (#49965933)
I suspect fearless concurrency is another motivating factor. Better perf can be achieved by squeezing more parallelism, but without borrow checking it's difficult to do fine-grained parallelism correctly.
Re:Agents don't need memory. They need documentation on Saturday October 03, 2026 @09:43PM (#49949765)
I don't trust agents writing specs without human approval.

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.

Re:Everyone's Packing Up on Friday October 02, 2026 @09:28PM (#49940566)
Quality over quantity :)
Re:Gemini 4 Argon on Friday October 02, 2026 @10:13AM (#49933767)
The bar isn't getting it perfect. The bar is merely parity with the legacy C++ code that wasn't perfect either, which nobody wants to maintain either.

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.

Re:Pi 1.0 on Friday October 02, 2026 @09:59AM (#49933616)
Blocking slop code, like `unwrap_or_default()` in Rust that agents use to weasel out of error handling.

/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).

Older »