Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pg83
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
pg83
28d ago
The README.md link describes cosmopolitan's approach, among other things, and it's worse than mine.
2.
▲
by
pg83
28d ago
> i'm not sure how much people realize that the modern "graphics driver" is actually just "the kernel multiplexes userspace messages to/from the GPU and we've taught mesa to understand each family of GPU you
3.
▲
by
pg83
29d ago
Or may be not.
4.
▲
by
pg83
29d ago
Any software WILL break on future distributions, sooner or later.
5.
▲
by
pg83
29d ago
These decisions, and these studies, were made a VERY long time ago. It's completely unclear why the decisions made then are relevant now, and why they can't be challenged.
6.
▲
by
pg83
29d ago
I disagree that this is a niche problem. Yes, on the one hand, each specific distribution doesn't have this problem because it can pick up everything it needs. But for us, independent developers of small programs, the problem is truly
7.
▲
by
pg83
29d ago
It's so good that Linus thinks differently!
8.
▲
by
pg83
29d ago
Thanks a lot, guys!
9.
▲
by
pg83
29d ago
> A change in paradigm is necessary. Freestanding C, not hosted C. This completely gets rid of the libc and is a surprisingly clean language. Linux only, because it's the only kernel with a stable binary interface. Every other OS fo
10.
▲
by
pg83
29d ago
Of course, I remember those times very well. And I also remember very well that dynamic linking appeared ONLY because we were catastrophically short on memory; everything else was added much later. Now we have plenty of memory, and we can v
11.
▲
by
pg83
29d ago
This means the user will update the binary with my program and continue using it happily. I'm not offering a silver bullet, but the approach I've implemented is much better than what the industry currently offers.
12.
▲
by
pg83
29d ago
> One advice I'd give you is to _really_ take care regarding SysV/ELF ABI conventions, there's tons of undocumented stuff in there and it's really easy to mess something up or cause a security defect (see AT_SECURE) Y
13.
▲
by
pg83
29d ago
https://news.ycombinator.com/item?id=49358538
14.
▲
by
pg83
29d ago
Windows handles this much better than any other OS. The API passes versions (== structure sizes on the calling side), and WinAPI can handle that. As for older Windows systems not being able to load new DLLs, they can; the format hasn't
15.
▲
by
pg83
29d ago
> And that's the correct approach. Who said that? This approach has many problems that have already been discussed here, not to mention the fact that it leaves Alpine and Bionic-based systems out in the cold. Let me remind you that
16.
▲
by
pg83
29d ago
This approach only works for very simple cases. In complex cases, it turns out that the old version of glibc also pulls in other libraries and the compiler, and you're stuck with a very ancient sysroot. You may often find that you can&
17.
▲
by
pg83
29d ago
In this scenario, I'll have to choose which libc I want to run. These won't be portable Linux binaries in the true sense of the word; I'll have to leave Alpine out, and possibly Android, which I don't want.
18.
▲
by
pg83
29d ago
> Or even just write in your native language and then have Claude translate. That's exactly what I did.
19.
▲
by
pg83
29d ago
Technically, you're right, it's a dynamic loader. Technically, it's pure dynamic loading. If we look at the issue at its core, we're still a statically linked program in a hostile environment, forced to dynamically load
20.
▲
by
pg83
29d ago
> Do you belive the machine is taking offence? It can not. Obviously, this is an offense to me. > Telling me, a coder you never met or interacted with before, that I would introduce more bugs than The Product(tm) is pretty rude and pr
21.
▲
by
pg83
29d ago
Modern models, when properly managed with a human in the loop, write higher-quality code than humans and introduce significantly fewer bugs. Therefore, it's quite the opposite - you should expect fewer "dlopen-related crashes and&
22.
▲
by
pg83
29d ago
> spew Rude. It only gets better from there - https://github.com/pg83/solo/blob/main/CONTRIBUTING.md !
23.
▲
by
pg83
29d ago
It depends on how we define the ABI. I see it as a set of client-visible invariants that they rely on. In my world, glibc changed the client's visible invariants, breaking the client. The client works on one glibc-based host, but not o
24.
▲
by
pg83
29d ago
It's a pretty poor solution, to be honest. 1) Why should I limit myself to the available APIs? 2) Not just glibc. For example, if I build against the latest libstdc++, it will automatically support the more recent glibc. And pinning th
25.
▲
by
pg83
29d ago
Well, ld.so already does this, and it's no big deal. The Python interpreter also does this when executing a .py script (code is code, whether it's machine-readable or human-readable). In any case, we take testing very seriously—ev
26.
▲
by
pg83
29d ago
In any case, it's open source. If you don't like something, even if the project seems generally useful, go ahead and fix it. The PR came in. I'm an engineer and I can write good code, but that doesn't mean I can write go
27.
▲
by
pg83
29d ago
Rough
28.
▲
by
pg83
29d ago
The author of the README is me, the machine just wrote it. I am not a native speaker of English, my written English is simply terrible, no one wants to read the text that I wrote exactly :))
29.
▲
by
pg83
29d ago
Available in README - https://github.com/pg83/solo#how-this-differents-from-prior-...
30.
▲
by
pg83
29d ago
https://bugzilla.redhat.com/show_bug.cgi?id=638477 is the most "famous" example. There are also much less well-known "little things" that regularly pop up here and there. > If your CI uses an older gl
More ›