1,346 karma · joined August 3, 2021
If C++ would have cleaned up legacy, Rust wouldn't need to exist for ex.
Java has long had a policy of never breaking BC, but few years ago they started marking packages deprecated for removal. They're very slow and systematic about it, as they should be, but the point is, eventually those packages will be removed. And that's good. It means Java has a future.
Plus I prefer a quiet, well-mannered idiot, because it restricts the damage.
Back when I believed Elon Musk, I even got inspired in my own work by his words, and this is now lost. I'm no better for it, the world is no better for it. We need some beautiful lies to aspire to. As they say "don't meet your idols". And we meet Elon every day, on Twitter.
A movie is a story. If the story is good, we're all ready to accept imperfect VFX, SFX, sets, costumes, props and so on as long as they're in service of a good story.
So the story is the problem.
The problem is the story is very often the problem in modern movies. So my feelings about that WGA strike are very mixed. The industry has seen an influx of young, inexperienced, at times obnoxious writers, whose union insists "you'll hire them in greater numbers, for longer time, at higher salaries".
I'd say:
Attention, Hollywood: the WGA isn't working, so please stop using it.
1. He kept trying to get away from the deal of buying Twitter.
2. He only stopped OpenAI's Firehose access after ChatGPT blew up, months after he bought Twitter.
3. He only started looking for AI researchers after ChatGPT blew up, months after he bought Twitter.
If he had a plan, this is not the order of events we'd expect. ChatGPT surprised him. In his mind OpenAI were dying without him, and doing nothing of value.
I also have serious doubts he'll be able to ship a competitive AI at this point. He's too much behind, and he'll have difficulties hiring top talent because he's erratic and unreasonable manager. And panicked.
Oh and also Twitter's not paying its bills and rent.
-------------
Real ways in which Twitter goes "deeper than anyone expects", however, are this: countries like Turkey, India, China bought themselves Twitter compliance by getting entangled with SpaceX and Tesla. But this doesn't go deeper than I realize, because here I am talking about it. It in fact goes deeper than Elon realized before he bought Twitter. Conflict of interest is his modus operandi now. But this won't save him.
But actually fake accounts and propaganda bots are used by parties to which misinformation is a huge system of power and money. And those are all over Twitter now, and they won't stop.
Everyone and their dog is aware Elon Musk remains very much in charge above her as chairman, below he as CTO, and also as "Chief Twit" continuing to stir up controversy over this Twitter account, recently threatening to sue Microsoft, and Twitter's being sued by dozens of parties, former employees, partners, landlords, over not paying bills and rent. They still have severe staffing shortages, and vast increase of technical, content and security incidents.
But sure.
Not high risk, suddenly.
Maybe GroupM owe Linda Yaccarino a favor. But they just outed themselves as clowns.
On some hardware the page is 2MB which is called, literally "huge pages" (or "large pages"). But that's about it, bigger pages are essentially not used.
If your language can't help but see 4GB as one thing, that's a flaw in your language that it even permits that. I'm not talking about how it appears on the surface, but how it's allocated and chunked.
In data structures designed for COW a single 4GB chunk would be anomalous occurrence, basically a bug, everything is split up in structures roughly the size of a page max, or so.
So we had some truth here at the hardware and OS level, which is "never allocate things in huge chunks" but we lost it at the higher level and then we think this is just how things are and design all our languages around it. An OS may permit you to allocate more memory, but that's with the idea you'll manage this yourself, say as an arena. If you instead just store a monolithic piece of state in it, that's just ignorance, or a special case, like say large buffer for DMA, or the like.
Regarding nested types, you can still inline content, you don't NEED to add indirection. The behavior of inlining vs referencing can be determined based on content structure and should be transparent to your code. It's trivial and many runtimes do this (I suppose your next objection will be how come we have a runtime, but ostensibly even C has part of its library acting as a runtime for basic things like mem alloc).
> If you combine it with higher performance requirements and requirements like wide spread platform support etc. it's very very hard.
If you have the right foundation, writing optimizations on top of it is a lot more trivial than when your foundation is 70 years of ad-hoc cruft.
This was demonstrated by Microsoft experimenting with C# written OS (I think called Singularity) that bypassed a lot of OS and even hardware APIs in order to manage most memory operations & safety on its own. And that turned out faster than C code. Unfortunately, not compatible with the status quo. C is a nightmare.
You're describing things COW is designed to prevent as things COW causes. There is NEVER a very expensive cloning happening at once with COW. That's the whole point of it. Everything is shared until the last moment when it can't be, and even then only small parts are copied.
Makes me think you're missing something here. Maybe not familiar with how COW is used in practice. COW is used in your operating systems' memory management, and in your file system, as I already said. Do you assume they're like "oh yes, we want to have randomly triggered very expensive cloning and use a ton of unneeded memory!"?
You may call COW a "magic trick" but this magic trick is fundamental to how your computer works. Not only is it in your file system and OS. It's also essential to virtual machines and containerization. It's essential to virtually all backup & recovery systems. Do you understand how integral COW is to the world of computing? This scary magic trick you're so afraid of?
You're fine defending a "very useful mess" and rejecting clear improvements with inadequate or outright misleading conclusions. Most people just react superficially like this to change and I'm used to it. But I'll never stop pointing it out when I see it.
As for C compatibility without copying the memory model flaws, it's possible, but it requires more thought than Rust put into it.
What I described is also fundamentally ownership, but much simplified.
You can use something without owning it, because to "use it" you send a message to it, and get a message back (i.e. send input, get output). There are two ways to message something in this system:
1. To own it and message it directly.
2. To own a reference identifier to it, and message your own owner to message it via the reference and return you the resulting message.
The distinction between Copy and Clone is Rust specific. It's not about deep vs non-deep, it's about whether something is moved by default or copied implicitly by default, and they wanted to copy some simpler scalars, like numbers, say, for pragmatic reason. But this odd exception, i.e. does something move or copy by default is very much a defect in Rust. It's a core behavior that differs based on whether the type implements copy or not.
In the simplified model I propose everything is copied (deep) by default, but you don't pay the cost for larger structures being copied, due to COW.
When everything you own is uniquely yours, making all copies deep copies becomes not only trivial, but also the fastest way to copy. And there's no reason to talk about "shallow copy". The concept is meaningless, you're used to it, you have a habit for it, but if people could deep copy everything, they would. "Shallow" copies are a limitation of languages where everything is wired by handles, pointers, and references in an arbitrary graph. And then a deep copy may never terminate, among other things. It's a mess.
Rust's graph is not (as) arbitrary, per se, it's stricter, but it keeps many of the same defects, in part to maintain C compatibility.
Meanwhile, your operating system has a hierarchy-based memory management (single ownership segments, at the hardware level a hierarchy of pages etc.), and COW in select places where as I noted immutability is present for some content, some of the time (like Unix forking). So does your file system.
Everything that's mature does this: DAG for immutables, TREE for mutables. Programming languages are clearly not as mature yet.
But if you take it too far, you pay for it elsewhere, because immutability means you ignore change i.e. "time". And without change, your app is useless.
They know what Microsoft did!
"Twitter is asking Microsoft to hand over information about its use of Twitter’s API for the past two years"
They don't know what Microsoft did...
FFS, I'm a ChatGPT Plus subscriber, but I can't get the app. Why would they even restrict this?
On the other hand, with his management style, it's doubtful of ChatGPT would exist if he was having full control of the company as he insisted back in the day (and the reason he and OpenAI parted ways).
You can argue they didn't open-source it, as their name suggests, but they also were denied a billion of funding that Musk kept promising until they were literally out of money.
What they did was a matter of survival. Of course they're not blameless in their actions now. They're clearly building a very powerful business. But they were put in this position. It was either this, or OpenAI wouldn't exist.
Donation doesn't mean no strings attached. You still donate for a reason, not just throwing money around.
As a company, your business model defines your morality, not the other way around. Google's fate was sealed the moment they ran their very first sponsored link. And as an individual, your interests define your morality.
What's curious is that in the public consciousness we still speak about it as if morals and principles are this completely independent thing some have, which is impervious to circumstances and opportunities for personal gain. Or maybe those are just the silly tales we tell the mark before we scam them.