The "if !" syntax isn't available on old enough shells. Probably not an issue for most people in 2026 -- you have to back pretty far for it to be missing. Technically, though, "if x; then :; else" is more portable.
It's really easy to run for yourself: https://github.com/DoctorWkt/pdp7-unix/ Don't expect it to do much, but it's fascinating if you're interested in OS history.
The one exception I'd make to this is Sodium-ion which does seem to have some chance of reaching manufacturing scale: https://www.batterytechonline.com/materials/5-key-takeaways-...
Indeed, that was the way it originally worked in all UNIXes: https://github.com/dspinellis/unix-history-repo/blob/Researc... It was a then-important optimization to do the most common operations with macros since…
> The creator of MINIX, Andrew Tanenbaum, asked the community to choose between Stevie and Elvis to be adopted as the main text editor for their OS. Elvis was chosen and it's the default text editor on MINIX until…
The issue is that "const" didn't exist in the earliest forms of C... and even when it became available not everybody started using it. So you might have a function that doesn't have proper "const" qualifications in its…
A few months ago I happened to install Debian/unstable on a G4 mini. ppc32 is no longer a supported architecture -- purely "what you get is what you get". Still, the process was mostly painless. Everything I needed…
What is annoying to me is that in this internet-connected age, the storage units I see still don't have better per-unit security. Just a phone alert to say "door to unit #xyz has been opened" would be a huge…
> in that case, a compiler still must set something up to fulfil the main `noexcept` promise - call `std::terminate()` This is actually something that has been more of a problem in clang than gcc due to LLVM IR…
> not sure about other *nixes Should be available on any UNIX, it was added to V7 UNIX back in the 1970s: https://github.com/dspinellis/unix-history-repo/blob/Researc... Even before that, it existed as a standalone text…
Surely you mean Ultrix, not OSF/1? Unless you're misremembering the hardware model...
After seeing how term limits work in the California state legislature, I stopped being a fan of them. The first (small) problem is that it caused unneeded intra-party drama. Effective assembly members would end up…
IFUNC is supported on several architectures, including ARM64. The malicious code that the xz backdoor inserts into the library is a compiled x86_64 object file so it only is targeting one platform.
> I've long since said that if you want to hide something nefarious you'd do that in the GNU autoconf soup (and not in "curl | sh" scripts). Yeah, I've been banging on that same drum for ages too... for example on this…
Probably the person you're replying to is just confused because before it was standardized some snprintf() implementations returned -1 on overflow. If you were trying to be portable and defensive you'd need to check for…
I can understand reasons they won't (re-)enter the server space themselves. However it is a shame they don't sell bare boards for specialist integrators to build these sorts of products with.
A great point, but even over a teletype you'd use "ex", not "ed".
That much is true -- the difference between 6 and 7 registers is much larger than the benefit of going from 14 to 15. However, even under zero register pressure having a frame pointer is still an extra register that…
> when I had two or more files of the same size, and the size was larger than a few MB, they likely had the same content. Yes, if the number of files is small enough, then "notice unique file sizes" is really the only…
(Warning: rambling ahead, since in the past I've spent a decent amount of time on the same problem) > using blake3 for hashing the content Using any hash algorithm isn't a good design, at least for SSD storage. First,…
and/or add overhead power delivery to major motorways, allowing trucks to have (relatively) small batteries for the non-motorway parts of their journeys: https://www.youtube.com/watch?v=_3P_S7pL7Yg
> If you don't consider compute cost [...] Yes, but what if you do? Imagine your hyper-specialzied API-heavy model takes 10x less resources to answer a question (or at least a question relevant to the task at hand)…
> There is no way around the bitter lesson. Isn't there? I'm certainly not sure, based on the results published over the last weeks and months. The giant GPT-{3.5,4} models show that if you make the model big enough and…
X: yes, minix has X11R7 binaries: https://wiki.minix3.org/doku.php?id=usersguide:introductiont... I don't think I've run an X server on it ever, but I can verify you can at least get it to pop up xterm's on a remote…
Because then you can only use that instruction if you're sure the target CPU supports it... or else your program will crash. Sequences like "or r1, r1, r1" are going to be harmless when run on a processor that is…
The "if !" syntax isn't available on old enough shells. Probably not an issue for most people in 2026 -- you have to back pretty far for it to be missing. Technically, though, "if x; then :; else" is more portable.
It's really easy to run for yourself: https://github.com/DoctorWkt/pdp7-unix/ Don't expect it to do much, but it's fascinating if you're interested in OS history.
The one exception I'd make to this is Sodium-ion which does seem to have some chance of reaching manufacturing scale: https://www.batterytechonline.com/materials/5-key-takeaways-...
Indeed, that was the way it originally worked in all UNIXes: https://github.com/dspinellis/unix-history-repo/blob/Researc... It was a then-important optimization to do the most common operations with macros since…
> The creator of MINIX, Andrew Tanenbaum, asked the community to choose between Stevie and Elvis to be adopted as the main text editor for their OS. Elvis was chosen and it's the default text editor on MINIX until…
The issue is that "const" didn't exist in the earliest forms of C... and even when it became available not everybody started using it. So you might have a function that doesn't have proper "const" qualifications in its…
A few months ago I happened to install Debian/unstable on a G4 mini. ppc32 is no longer a supported architecture -- purely "what you get is what you get". Still, the process was mostly painless. Everything I needed…
What is annoying to me is that in this internet-connected age, the storage units I see still don't have better per-unit security. Just a phone alert to say "door to unit #xyz has been opened" would be a huge…
> in that case, a compiler still must set something up to fulfil the main `noexcept` promise - call `std::terminate()` This is actually something that has been more of a problem in clang than gcc due to LLVM IR…
> not sure about other *nixes Should be available on any UNIX, it was added to V7 UNIX back in the 1970s: https://github.com/dspinellis/unix-history-repo/blob/Researc... Even before that, it existed as a standalone text…
Surely you mean Ultrix, not OSF/1? Unless you're misremembering the hardware model...
After seeing how term limits work in the California state legislature, I stopped being a fan of them. The first (small) problem is that it caused unneeded intra-party drama. Effective assembly members would end up…
IFUNC is supported on several architectures, including ARM64. The malicious code that the xz backdoor inserts into the library is a compiled x86_64 object file so it only is targeting one platform.
> I've long since said that if you want to hide something nefarious you'd do that in the GNU autoconf soup (and not in "curl | sh" scripts). Yeah, I've been banging on that same drum for ages too... for example on this…
Probably the person you're replying to is just confused because before it was standardized some snprintf() implementations returned -1 on overflow. If you were trying to be portable and defensive you'd need to check for…
I can understand reasons they won't (re-)enter the server space themselves. However it is a shame they don't sell bare boards for specialist integrators to build these sorts of products with.
A great point, but even over a teletype you'd use "ex", not "ed".
That much is true -- the difference between 6 and 7 registers is much larger than the benefit of going from 14 to 15. However, even under zero register pressure having a frame pointer is still an extra register that…
> when I had two or more files of the same size, and the size was larger than a few MB, they likely had the same content. Yes, if the number of files is small enough, then "notice unique file sizes" is really the only…
(Warning: rambling ahead, since in the past I've spent a decent amount of time on the same problem) > using blake3 for hashing the content Using any hash algorithm isn't a good design, at least for SSD storage. First,…
and/or add overhead power delivery to major motorways, allowing trucks to have (relatively) small batteries for the non-motorway parts of their journeys: https://www.youtube.com/watch?v=_3P_S7pL7Yg
> If you don't consider compute cost [...] Yes, but what if you do? Imagine your hyper-specialzied API-heavy model takes 10x less resources to answer a question (or at least a question relevant to the task at hand)…
> There is no way around the bitter lesson. Isn't there? I'm certainly not sure, based on the results published over the last weeks and months. The giant GPT-{3.5,4} models show that if you make the model big enough and…
X: yes, minix has X11R7 binaries: https://wiki.minix3.org/doku.php?id=usersguide:introductiont... I don't think I've run an X server on it ever, but I can verify you can at least get it to pop up xterm's on a remote…
Because then you can only use that instruction if you're sure the target CPU supports it... or else your program will crash. Sequences like "or r1, r1, r1" are going to be harmless when run on a processor that is…