Hacker Newsnew | past | comments | ask | show | jobs | submit | kreco's commentslogin

A comment from 2021:

> Unfortunately, because the code that chardet was originally based on was LGPL, we don't really have a way to relicense it. Believe me, if we could, I would. There was talk of chardet being added to the standard library, and that was deemed impossible because of being unable to change the license.

So the person that did the rewrite knew this was a dive into dangerous water. That's so disrespectful.


[flagged]


Why didn't he just start a new project?

This is not unprecedented, TCC relicensed part of its code by being approved by all authors:

https://repo.or.cz/tinycc.git/blob/3d963aebcd533da278f086a3e...

The interesting part is that the original author is against it but some people claims it could be a rewrite and not a derivative work.

I don't know the legal basis of everything but it's definitly not morally correct toward the original author.


> They should just have no DM feature at all, then; make all messages publicly visible.

This makes no sense.

I can discuss something in a bar which is not a very private conversation, I wouldn't care if someone else hear what I'm saying. But I also don't want someone to record it and post it on the internet to be seen by the whole world.

Privacy is not just boolean you toggle somewhere.


In a bar you're not speaking directly into a microphone that is permanently saving everything you say for later instant access by every government and advertising agency that wants to prosecute you or invade your privacy to sell you something

Exactly.

You didn't mention the fact that my mom cannot access the recording of my microphone.

That's what ThoAppelsin is proposing.

It should be fairly implicit that if you are using a free product from a private company you are the products.

However it's definitely not implicit that every I do on the platform will get publicly known by everyone else. If it does I would probably not use it and find alternatives.


I suppose they mean that apps should brand their non e2ee chat features as private or personal, which is what users take as the default assumption when interacting in one to one chat.

Not invalidating your comment, but sometimes paying "new goods" means to support the creator.

Correct, I should've clarified I buy new hardcovers to support the author!

What if I'm using 10 different OS?

I can still push the file on git and it works everywhere else.


git is not a package manager. It does not handle many things a package manager does.


GP never said it was.

But it does successfully replaces the need of using one, with less problems for certain situations.


Yes, I do use git submodules as well sometimes.

If you do not need the features of a package manager, then git submodules is great indeed.


The reply was also not about submodules. “Push” makes it clear.


That makes it even worse! If it is not submodules, then it is just copying a file into a repo with no version tracking against upstream, no update path, and no way to even know when there is a security fix.

Package managers already use git where appropriate under the hood. Arch's PKGBUILD sources pull from git repos, FreeBSD's ports can fetch from git, Gentoo ebuilds support git-r3. The fetching is not the hard part. What a package manager gives you on top of that is dependency resolution, version constraints, conflict detection, reproducible builds, and clean removal. "git push" gives you none of that.

And since I did not really address kreco's point properly: if the concern is cross-platform support across many OSes, tools like vcpkg and Conan exist specifically for this: cross-platform C/C++ dependency management with one workflow regardless of target. pkgsrc runs on 20+ platforms with the same build recipes. A header file in a git repo gives you none of that, it just gives you the illusion of portability until you hit a platform where it does not compile or links against the wrong thing.

If your workflow does not need any of those features, then yeah, sure, but then you are not solving C's "package management problem", you are just ignoring it.

In any case, the original comment called C's package management "unfriendly", and the counter-argument has somehow arrived at "just copy files into your repo and push". Comparing that to what a package manager does is absurd.


I don't think either me or GP compared this to a package manager. "Replacing usage" doesn't mean "it's the same".



That's just pushing a file to git.

In all fairness I wouldn't recommend macOS to my grandparent either.


> HN users just don’t have friends.

So once you have friends all connected parties requires to install Discords. How does that work?

Are your parents friendless, do they use Discord?


I'm not sure I agree with "impossible to change".

It's 2026, to this date I cannot use standard library/api, to open a file with utf-8 filename without a null terminating string.

When you want to talk to the OS you constantly face the need to had unnecessary overhead (allocation due to string convertion, strlen).

The OS itself does not prevent anything from having those standard "no overhead" API.

However, it's pretty clear that nobody cares to define some new sane interface and nobody care to deprecate old ones.

That would include both API and ABI.


Maybe because the performance gain is just not there. Adding support for string with explicit length everywhere is a huge amount of work. And then the question is whether such a string is like a Rust slice or something else.

And then the gain is close to zero because most filenames are short enough that there is almost no gain.


The mental overhead is pretty significant.

You need to do weird string operations, you have certainly a class somewhere that needs to append a zero to then end of a buffer, and exclusively use the class for thw filename. You can't just toss a contiguous number of bytes you to convert it first.

Every single piece of software that need to interact with the file system needs to deal with this.

I'm not asking about a new string type. I'm asking to be able to be free from null terminating string.

You only need to provide a length.


In practice, with Rust the problem is somewhere else. There is a libc crate that wraps the Unix system calls, so no need to worry about that. What is a lot harder is that Unix filenames are not guaranteed to be UTF-8. So you can't convert to &str or String. At least, not without loss. So you have to keep this around as an OsString.


Yeah that's the kind of thing I'm talking about.

Even when you don't care about being cross-platform, you still need to rely on specific routines instead of having the most low level `ut8fopen(buffer, len, mode);`

My point is that I wish we would have a new "standard OS-related API", not even talking about introducing span type or anything, just creating something way more sane and care about moving forward from this point.

If I was about to create my own OS and decided to eliminate null-terminating string, and keep it as tiny and efficient as possible, I would face so many issues because I cannot reuse 99% of the code (related to file API) that already exists, I would need to think how to properly parse arguments from "main" without overhead etc.


> Even the most relevant C compilers are no longer written in C.

Worth to point out that most of the C compilers are also C++ compilers.

So the point is kind of distorted.


On the contrary, GNU Compiler Collection is written in C++ and happens to have C as one of the supported fronteds, having moved away from C in 2008.

LLVM is written in C++, also supports multiple language frontends, one of them happens to be C.

Visual C++, also written in C++, happens to still compile some form of C, and after adding some C11 and C17 support (a few items are still missing in 2026), Microsoft is in no rush to add anything else.

The language that matters is the implementation, otherwise we can also talk about the relevance of PL/I compilers from IBM and Unisys, written in C++.


You can take a look at what Switzerland is about to do:

https://www.homburger.ch/de/insights/swiss-voters-approve-ne...!


Would be very tough to implement in the US, as proposing any sort of "national ID" is pretty much a nonstarter, at least up to this point.

States could do it, and maybe agree on some protocols so that things like privacy-preserving "age verification" could be done.

Maybe the feds could push it like they did with speed limits: make federal funding contingent upon adopting e-ID. Would still get a lot of pushback.


The problem with e-ID is its focused on identity verification, not just age verification and that's where the problem lies.

We still need the ability to be psuedoanonymous online. We should be able to verify age without divulging any identifying information to the service requesting age verification.

An e-ID registry could work on a sort of public/private key system so long as the services requesting informatino from the registry only receives a yes or no of "is this person old enough" and no further information.


If an e-ID can vouch you are citizen number #3223423, it should be able to use the same crypto to vouch that your birth date predates a threshold, without revealing anything else. It's more a question of requirements gathering & UX (and political will).


It's a problem for you and me, but a feature for those pushing for it.


> Once issued, the e-ID will be stored in a secure digital wallet application on the user’s smartphone or other compatible device.

That sounds like Apple & Google-blessed Android only, open source gadgets and non-Microsoft desktops not supported. Estonia at least used smart cards where a reader can be plugged into just about anything.


I'm obviously not going to show my id to Zuckerberg's website or any porn sites, casinos because I don't trust those bastards. They're also not the police, so they lack the proper autoritah to request my an id.


I think the point of the comment you are answering to is that in Switzerland, they are building a system where you can prove your age without telling who you are to the website, and without telling which website you visit to your government.


The government might not know which website exactly, but the fact that you are looking to verify your age is in itself a datum that you might not want the government to know. "Palata was either looking at porn or buying drugs in January 2026" is probably not something you want the government to know, even if the specifics are obscure.


Unless your e-ID app automatically requests 20 age verification tokens for everybody, whether they use them or not.


How are you going to farm the UUID for each user? Or are the IDs sequential?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: