More context for this: Chiariglione has been extremely vocal that FRAND patent royalties are entirely necessary for the development of video compression tools, and believes royalty-free standards outpacing the ones that cost money represents the end of innovation in video codecs.
To be clear, Chiariglione isn't opposed to royalty-free standards at all, he just wants them to be deliberately worse so that people who need better compression will pay independent researchers for it. His MPEG actually wound up trying to make such a standard: IVC. You've never heard of MPEG IVC because Samsung immediately claimed ownership over it and ISO patent policy does not allow MPEG to require notice of what specific patents to remove so long as the owner agrees to negotiate a license with a patent pool.
You might think at this point that Chiariglione is on the side of the patent owners, but he's actually not. In fact, it's specifically those patent owners that pushed him out of MPEG.
In the 90s, patent owners were making bank off MPEG-2 royalties, but having trouble monetizing anything newer. A patent pool never actually formed for H.263, and the one for MPEG-4 couldn't agree on a royalty free rate for Internet streaming[0]. H.264 practically is royalty free for online video, but that only happened because Google bought On2[1] and threatened to make YouTube exclusively serve VP8. The patent owners very much resent this state of affairs and successfully sabotaged efforts at MPEG to make dedicated royalty-free codecs.
The second and more pressing issue (to industry, not to us) is the fact that H.265 failed to form a single patent pool. There's actually three of them, thanks to skulduggery by Access Advance to force people to pay for the same patent license twice by promising a sweetheart licensing deal[2] to Samsung. I'm told H.266 is even more insane, mostly because Access Advance is forcing people to buy licenses in a package deal to cover up the fact that they own very little of H.266.
Chiariglione is only pro-patent-owner in the narrow sense that he believes research needs to be 'paid for'. His attempt to keep patent owners honest got him sidelined and marginalized in ISO, which is why he left. He's actually made his own standards organization, with blackjack and hookers^Wartificial intelligence. MPAI's patent policy actually requires companies agree to 'framework licenses' - i.e. promise to actually negotiate with MPAI's own patent pool specifically. No clue if they've actually shipped anything useful.
Meanwhile, the rest of the Internet video industry coalesced around Google and Xiph's AV1 proposal. They somehow manage to do without direct royalty payments for AV1, which to me indicates that this research didn't need to be 'paid for' after all. Though, the way Chiariglione talks about AV1, you'd think it's some kind of existential threat to video encoding...
[0] Practically speaking, this meant MPEG-4 ASP was predominantly used by pirates, as legit online video sites that worked in browsers were using Flash based players, and Flash only supported H.263 and VP6.
[1] The company that made VP3 (Theora) and VP6
[2] The idea is that Samsung and other firms are "net implementer" companies. They own some of H.265, but they need to license the rest of it from MPEG-LA. So Access Advance promised those companies a super-low rate on the patents they need if they all pulled out of MPEG-LA, and they make it up by overcharging everyone else, including making them pay extra if they'd already gotten licenses from MPEG-LA before the Access companies pulled out of it.
Casual reminder that rat poison does not selectively kill only rats. Even if it works as intended, the poisoned rats will get eaten and the poison will flow up the food chain.
As a talented engineer, I hate AI coding because it doesn't do what it says on the tin. If GLPs made people hallucinate weight loss that wasn't actually happening, I'd be angry about them too.
Our parents did, maybe, but we're doing it because we have to.
Inner cities went from unlivable crime dens to highly gentrified in the span of about a few decades. The moment the crime went away, people moved back in. But most of the people who actually show up to town council meetings are the people who grew up seeing riots in LA and graffiti-covered NYC subway cars. So building any more of the now highly valuable high-density, mixed-use neighborhoods that inner cities have is a drawn out political fight with people who think making their neighborhood more valuable will ruin it.
And this situation also applied before the last major urban crime wave too. The low-density suburban neighborhoods that are also expensive now used to actually be affordable. You could build cheap housing on low-value land at the outskirts of town and sell it for a huge profit, to people who had extremely generous government loans[0]. This is what triggered the white flight[1] that started the inner city crime wave[2] that Americans now cite as why density is always bad.
Problem is, that's unsustainable, there's only so much land that can be near a valuable set of jobs. So now you have cities where both the high-density core and the suburbs are equally as unaffordable. The next rung on the latter would be to move to smaller cities, except then COVID happened, and suddenly the housing market was flooded with people moving out of San Francisco at the same time rich Chinese people were buying up houses to hide their money from the CCP, themselves in competition with hedge funds like BlackRock that want to buy up entire neighborhoods and rent them back to the people who lived there.
America's obsession with single-family home ownership is an unsustainable system, propped up by deliberate market distortions. We don't buy into it because we're so much richer than anyone else, we buy it because the system is built to make it the only option for most people.
[0] To be clear, nobody would loan you money for 30 years, on a fixed interest rate, and let you pay it back early otherwise. The amount of risk shouldered by the bank is insane, but for the fact that the US government pumps money into banks to make this kind of financing viable to offer.
[1] The peak of suburbanization happened before desegregation.
[2] Don't forget leaded gasoline! Once racial minorities were trapped in cities, we made their kids breathe shittons of lead fumes, creating fuel for the crime wave fire.
Any time private equity does something stupid or short-sighted, remember this:
Private equity firms - or, at least, the ones that people complain about - don't own their own capital. They have to rent it from somewhere else, and those people get paid first.
The PE firm only really gets paid for their expertise when they make their hurdle. Ergo, PE is incentivized to make terribly short-sighted business decisions, because those are the ones that will bring in the money to make their hurdle. They get caught in a loop of buying and gutting otherwise productive businesses.
This capital structure made sense back when PE was a tiny part of the economy that bought and modernized small businesses, but now PE is more akin to a failing empire; with an entitled aristocratic class that will shiv any leader that tries to change the structure to be more sustainable. They are spending $2000 on candles and the candles have knives.
> Oddly, maybe even with less effort than shutting it down would take.
Google has a number of internal processes that effectively make it impossible to run legacy code without an engineering team just to integrate breaking upstream API changes, of which there are many. Imagine Google as an OS, and every few years you need to upgrade from, say, Google 8 to Google 9, and there's zero API or ABI stability so you have to rewrite every app built on Google. Everyone is on an upgrade treadmill. And you can't decide not to get on that treadmill either because everything built at Google is expected to launch at scale on Google's shitty[0]-ass infrastructure.
[0] In the same sense that Intel's EDA tools were absolutely fantastic when they made them and are holding the company back now
The worst case is when this mentality of "just update your code" leaks out to the rest of us. I'm still scarred from some of the samesite shenanigans, breaking useful (not ads) boxed software because they figured everyone on the internet could "just update" their websites within six months of them putting out a dev blog post.
It's just not an accurate view of how the world works.
The Roman Empire did not fall because of lead pipe. It fell because the empire's elites ran out of territory to conquer and turned against one another.
Also, the Roman Empire didn't fall, either. It split in two. The Western half continued splitting into a bunch of competing kingdoms while the Eastern half slowly shrank over about a thousand years. It eventually wound up being rolled into the Ottoman Empire, which lasted until WWI.
My impression was that there was some kind of optimization in LLVM that relied on being able to assume values were never undef[0], which is why undefined memory access was always illegal in Rust[1].
Putting that aside, a deliberate "read uninitialized memory with bounded UB" primitive like freeze would only work for types where all possible bit patterns are valid. So no freezing chars[2], references, or sum types. And any transparent wrapper type that has invariants - like, say, slices, vecs, strs, and/or range-restricted integer types - would see them utterly broken when frozen. I suppose you could define some operation to "validate" the underlying bit pattern, but I'm not sure if that would defeat the point of reading uninitialized memory.
[0] LLVM concept that represents uninitialized memory, among other things.
[1] I believe a few other unsafe Rust concepts are actually leaky abstractions around LLVM things
[2] Rust's char must hold valid UTF-8 and will UB if you stick surrogates in there
> there was some kind of optimization in LLVM that relied on being able to assume values were never undef
It's true that LLVM has restrictions on what you can do with undef/poison memory, but LLVM also supports the "freeze" operation that comes up in the Rust discussions (which transforms an undefined value into an arbitrary, well-defined value). It would certainly need to be unsafe to avoid violating invariants like you mentioned, but "LLVM" isn't the blocker to supporting this.
Rather, there are more subtle problems with reading from initialized memory -- for example on Linux, a heap allocator might use MADV_FREE on free memory, which hints to the kernel that a page contains freed memory and the operating system is not required to preserve its contents until the application writes to it again. This means the following sequence of events is possible:
- An application frees some memory, and the heap allocator invokes madvise(MADV_FREE) on the address range.
- The application makes a heap allocation, obtaining a pointer to the free'd memory.
- The application freezes the uninitialized memory and reads from it.
- Due to memory pressure, the kernel decides to reclaim the free'd memory. It unmaps it from the process and uses it somewhere else.
- The application accesses the first allocation again, and sees that its value has now changed to all-zeroes.
Thus, we can see that "freezing" arbitrary memory can't actually be implemented on real-world systems -- the contents of uninitialized memory really can change out from under you until you write to that memory.
It would be possible to implement a "by-reference freeze" that copies a MaybeUninit<T> to a new location, but introducing this functionality still has the downside that you can write a Heartbleed bug without invoking undefined behavior, which is what makes it controversial.
Seems like the heap allocator has a bug if it doesn't handle invalidating the free hint before it returns it to the application. This does raise the question of why MADV_FREE works on the basis of writes rather than accesses -- there are PTE bits for both cases right, and it would have been just as easy to have any access cancel the free hint? (I am assuming x86 here.)
That could be classified as a bug if it was decided that the allocator must guarantee that uninitialized memory is readable as a consistent value. Otherwise, making the allocator clear the hint is just unnecessary work.
Clearing the hint on read would probably be more sane, but would mean many more potential situations of unnecessarily losing it (GC doing unnecessary scanning, doing a heap dump, debuggers trying to read it, other sorts of memory scanning)
Just a nitpick. Rust's char is really a 21 bit unicode scalar value (a code point without surrogates) using a 32-bit representation and indeed there are a lot of invalid char values in a 32-bit space. Utf-8 is a different encoding format for code points using variable width (1-4 bytes per).
Given all the matters that a head of state has to attend to I would be surprised if they found time to go to church once a week, much less daily. Even with an on-site priest.
As for listening to commoners, I'll accept the possibility of kings that wanted to be accountable to their subjects. The problem isn't the king, it's the nobility. The nobles are going to be filtering the commoners that get to talk to the king, because the king isn't allowed to know any commoners directly. Hell, they might not even be able to speak the same language at all. England's kings all spoke either French or German for a long time, and French wasn't so much the language of France as much as it was the language that France's ruling class spoke[0].
Even if the king could understand commoners and had unfiltered access to them, it's not guaranteed that they could do anything with that feedback. Say, a peasant complained about what they pay to their lord. Does the king actually have the power to overrule the nobility? Will the nobility depose the king, or start a civil war that destabilizes the country?
The game everyone's playing is ultimately to convince subsistence farmers to "go big or go home" - i.e. to overplant and overproduce food, at the risk of crop failure, so that the state can seize some of that food and eat it themselves, nominally in exchange for "protection"[1] from rival states whose main difference is that their king is fake while yours is rightful. In other words: the king and nobility are wolves, the commoners are sheep, and it's bad form for predators to befriend their prey.
[0] At least until France erased their own minority languages in the 1800s and forced everyone to speak French, which I'm pretty sure counts as genocide
[1] Identical to the 'protection' paid to a mafioso
reply