Perhaps unsigned could help here with understanding.
unsigned means, don't use of an integer MSB as sign bit. __nonstring means, the byte array might not be terminated with a NUL byte.
So what happens if you use integers instead of byte arrays? I mean cast away unsigned or add unsigned. Of course these two areas are different, but one could try to design such features that they behave in similar ways where it makes sense.
I am unsure but it seems, if you cast to a different type you lose the conditions of the previous type. And "should this be legal", you can cast away a lot of things and it's legal. That's C.
But whatever because it's not implemented. This all is hypothetical. I understand GCC that they took the easier way. Type strictness is not C's forte.
> Perhaps unsigned could help here with understanding.
No, they're very different situations.
> unsigned means, don't use of an integer MSB as sign bit.
First: unsigned is a keyword. This fact is not insignificant.
But anyway, even assuming they were both keywords or both attributes: "don't use an MSB as a sign bit" makes sense, because the MSB otherwise is used as a sign bit.
> __nonstring means, the byte array might not be terminated with a NUL byte.
The byte array already doesn't have to contain a NUL character to begin with. It just so happens that you usually initialize it somewhere with an initializer that does, but it's already perfectly legal to strip that NUL away later, or to initialize it in a manner that doesn't include a NUL character (say, char a[1] = {'a'}). It doesn't really make sense to change the type to say "we now have a new type with the cool invariant that is... identical to the original type's."
> I understand GCC that they took the easier way. Type strictness is not C's forte.
People would want whatever they do to make sense in C++ too, FWIW. So if they introduce a type incompatibility, they would want it to avoid breaking the world in other languages that enforce them, even if C doesn't.
AFAIC an Armenian scientist integrated Sci-Hub with Libgen, perhaps the one you meant. But the story is a lot more complicated. It's not wrong to say that Libgen is something that Russia did for the world.
> It's not wrong to say that Libgen is something that Russia did for the world.
I think that everyone that helped with that project would be pretty mad if they heard this. It's definitely not Russia that did this, it's people working against Russian censorship that did this.
Also, a lot of the community behind the pirateb4y and 4nnas-archive and the-3ye helped build these projects. The sheer amount of resources that the archivist is contributing is insane by any normal (non-fortune100) standard.
That project has nothing to do with Russian censorship. Libgen has always existed as a way to share scientific and other literature for free, basically supporting communism in such a way.
Russia in attempt to make friends with the West at some point approved the laws to prevent piracy and started to respect foreign intellectual property and copyrights, so projects like libgen were outlawed and forced to hide/ change hosting.
But all the books, videos, games etc sharing websites that were born on a territory of the former USSR has nothing to do with censorship, but economic reality that after switching from communism to capitalism citizens became so piss poor, that couldn’t afford to pay for such things, and their communistic mind still thought, that information has to be distributed for free.
Not gonna answer this ragebait. If you ignore самиздат and the whole censorship of the Sovjet Union, you're either pretty ignorant or a really bad faith argumenter.
As a sidenote: if you walk around the internet, treating everyone as your enemy from the start... it's what you will get in return. Maybe go outside and touch some grass once in a while, because the crusade of yours is not really helping anyone.
> [...] a chilling effect is the inhibition or discouragement of the legitimate exercise of natural and legal rights by the threat of legal sanction. A chilling effect may be caused by legal actions such as the passing of a law, the decision of a court, or the threat of a lawsuit; any legal action that would cause people to hesitate to exercise a legitimate right (freedom of speech or otherwise) for fear of legal repercussions.
In other words:
A chilling effect is when people are scared to use their rights because they fear legal trouble. This can happen because of new laws, court rulings, or threats of lawsuits. It makes people hesitate to do something they’re normally allowed to do.
First, I decided I am going to avoid atop. Even if Rachel would be wrong, it doesn't hurt not to use some specific software I don't depend on.
> If someone I trust tells me to trust them, I will.
Huh? When I trust someone, then I trust already and there's no need being told to trust. When I don't trust someone, then I run away when being told to trust. Hell, if someone tells me to trust them, it's a red flag and I drop the trust.
Your believe seems to hinge on the idea that there are zero situations where someone could need you to trust them but don't have the ability to tell you why.
I think there ARE some situations like that, especially when the conversation is public like this. It is pretty easy to think of a lot of good reasons why Rachel can't explain why you need to trust them in this situation. I think saying, "I can't tell you why, please trust me" is a perfectly reasonable thing for someone you trust to say, and I would absolutely listen to them if they say that.
I found your analogy of a librarian only giving out quotes insightful and enlightening. Thank you.
It was a TIL moment for me: Make the training data available and indexable! Similar to a snapshot of humanity's complete knowledge and stories.
Today the AI models are like a librarian who knows well all books of the library but can't carry around the library in a bag. There was a time when she read all the books, but now the books are in thousands of crates in sub-basements and not available.
I envision a future where exabytes of data or more are stored in a smartphone-like device in something like a tiny crystal. The AI model on request can make a copy of some original for you. And this thing can't be bricked.
I do wonder how much of the population is using AI.
On page 7 of the paper there's the diagram "Minimum fraction of tasks in use". On the left side about 75% of occupations use at least one tasks and on the right side the maximum is some occupation that uses slightly more than 95% of the tasks.
Cool.
Here I start to wonder how they got that graph.
At the start of section 3. Methods and analysis on page 4 it's said:
> To understand how AI systems are being used for different economic tasks, we leverage Clio [Tamkin et al., 2024], an analysis tool that uses Claude [Anthropic, 2024] to provide aggregated insights from millions of human-model conversations. We use Clio to classify conversations across occupational tasks, skills, and interaction patterns, revealing breakdowns across these different categories. All analyses draw from conversation data collected during December 2024 and January 2025.
So this means they use real people's chats to make these estimations. I don't know Clio, but perhaps they did this? They sample chats from individuals, and some individuals never chatted and some individuals delegated all their work to Claude. But I wonder how they estimated the total numbers of tasks of an individual.
I am sure these answers are found by really going deep and reading the cited sources and running some experiments yourself, but I can't be bothered, sorry.
Again, I really wonder how much of total population use AI? How much? How do parts of population differ? Can this be found out at all?
unsigned means, don't use of an integer MSB as sign bit. __nonstring means, the byte array might not be terminated with a NUL byte.
So what happens if you use integers instead of byte arrays? I mean cast away unsigned or add unsigned. Of course these two areas are different, but one could try to design such features that they behave in similar ways where it makes sense.
I am unsure but it seems, if you cast to a different type you lose the conditions of the previous type. And "should this be legal", you can cast away a lot of things and it's legal. That's C.
But whatever because it's not implemented. This all is hypothetical. I understand GCC that they took the easier way. Type strictness is not C's forte.