HN user

tpolzer

296 karma
Posts2
Comments107
View on HN

A moving GC would make it simple to move any remaining live objects back under normal GC control once the arena goes out of scope.

You could probably also do it without moving actually, it just gets a little more complex.

I wonder whether it would be possible to retrofit Arena allocation transparently (and safely!) onto a language with a moving GC (which IIUC Go currently is not):

You could ask the programmer to mark some callstack as arena allocated and redirect all allocations to there while active and move everything that is still live once you leave the arena marked callstack (should be cheap if the live set is small, expensive but still safe otherwise).

Unlike opaquely financed and privately owned media companies, the Guardian is actually relatively clear and open in how it is financed and set up in a way to try to make them as independent as possible (see for example the Scott Trust's annual report https://uploads.guim.co.uk/2025/09/11/The_Scott_Trust_Limite...).

That's not to say that they don't run their fair share of gossip/clickbait... but show me an online medium that does not.

If there was a std::unit_t and it was implicitly convertible to optional, tuple and pointer, I don't think that would be worse in terms of usability at all (maybe worse in readability for people who haven't heard of a 'unit' type).

As for the std::variant use case, using std::monostate is only a matter of convention there. You could use any of the other unit types just the same.

I find it annoying that (a) this seems to be a hardware feature that is almost universally permanently disabled in firmware and (b) it's almost impossible to find out whether it is supported by any given product (neither of the two products you link provide any mention on the spec sheet).

SD Express is basically dead as far as I can tell.

SD card users who care about speed have UHS-II equipment, but SD Express and UHS-II use mutually incompatible high speed signalling on the same pins (so cards and readers are only supporting one of the two - I guess technically this could be fixable with special purpose chips, but at large cost).

Users who care about speed but not about SD card compatibility are already using CFExpress, which is supported by most modern professional cameras and has much better hardware availability than SD Express.

Ideally with PPS, your device can actually just ask exactly for the regulated voltage it needs on USB-C.

Most modern smartphones can use that to charge their batteries more efficiently/with less heating of the phone.

A decade is roughly the upper limit of specified battery shelf life for cheap batteries. Making the battery bigger doesn't really help much at that point where it's limited by shelf life, not capacity.

There are longer life batteries, but they're _expensive_, e.g. a Tadiran TL-4934, 1Ah, with a shelf life of 40 years will cost ~5$ in bulk.

That doesn't help at all if your loop variable is a 32 bit int that your compiler decided to transform away into vectorized loads from a 64 bit pointer.

But that's exactly one of the transformations that get enabled by assuming undefined overflow.

Some people try to spin this as a Google vs open standards, while it's mostly a Google devs vs. some other Google devs situation:

If you look at https://github.com/libjxl/libjxl/graphs/contributors, ~everybody except Jon Sneyers is a Google employee (I think the AVIF ratio is similar, but I didn't check).

So the question isn't about which format is better, but who won internal politics and it's clearly the AVIF folks - for reasons which aren't really possible to tell from the outside.

unique_ptr is nearly overhead free compared to a bare pointer (except for argument passing... because of ABI concerns).

shared_ptr is expensive and easy to build leaks with, so a lot of code bases avoid it where possible. Though it's only expensive when you copy it, moving it is ~free.

Darktable 4.0 4 years ago

I've had a similar experience, especially with skin tones. The out of camera jpegs can be a little aggressive in making skin and grass colors "pop", but they still beat Darktable (even with significant tinkering).