I mostly agree, but if you go further back in the supply chain there are a number of common inputs/tools. For example, as 2025 the new LPDDR lines are using EUV systems, which means for new fab production both DRAM and…
That is ABSOLUTELY incorrect. SSDs have enormous amounts of error detection and correction builtin explicitly because errors on the raw medium are so common that without it you would never be able to read correct data…
It really is not the same. Amazon was not profitable because it was building out logistics, and then AWS data centers. There were defensible moats around their business that their growth facilitated. Google built out…
Target did not figure out a teen was pregnant before she did. She knew she was pregnant, which led to changes in her purchasing habits. Target detected that and sent her promotions which disclosed her father who had…
From https://ladybird.org (not some subpage, but literally on the main page): Why build a new browser in C++ when safer and more modern languages are available? Ladybird started as a component of the SerenityOS hobby…
From: https://support.apple.com/guide/security/secure-enclave-sec5... “A randomly generated UID is fused into the SoC at manufacturing time. Starting with A9 SoCs, the UID is generated by the Secure Enclave TRNG during…
Absolutely, I just think "when adhering to this convention" is a high risk. Admittedly I mostly work on macOS so I don't have a nearly as deep of an experience with ELF, but in my experience even when a system looks to…
Not really... symbol versioning is a form of namespacing, but it is somewhat orthogonal to this. Symbol versioning allows you to have multiple symbols with the same name namespaced by version, but you still have no…
Windows and macOS both use a form of two level name-spacing, which does the same sort of direct binding to a target library for each symbol. Retrofitting that into a binary format is pretty simple, but retrofitting it…
Conceptually not much has changed since the book was written, but in practice there has been a lot of advancement. For example, ASLR and the increase in the number of libraries has greatly increased the pressure to make…
There is a bug here... Clearly the author intended to cache the value of nextmalloc to avoid calling dlsym() on every malloc. The correct code should be: static void *(*nextmalloc)(size_t) = NULL; if (!nextmalloc)…
It really isn't unavoidable on macOS. @rpath is designed specifically to handle this sort of thing, and is how all the command line tools distributed with Xcode link to libraries embedded in Xcode and continue working…
I have been out of this area for almost a decade now, but I have very fond memories of the nRF5 SDK. When I was evaluating the (then new) Nordic BLE SoC's for future products it was so much nicer than the TI CC2540 we…
That is only true as the speed of the system performing the emulation approaches infinity ;-) Yes, you can do all the same things in software, in fact it is trivial, just take the same output from you EDA tools and run…
It is a pretty easy mistake to make if you are used to how fast new processors come out now, but you comparing an i386 from 1991 to to a 68020 from the mid 80s. In 1985 when the 386 came out I believe the fastest speed…
I find the whole idea unappealing, but they did keep their promise and show off a prototype back in spring://www.youtube.com/watch?v=gMsQO5u7-NQ
Generally speaking macOS does not guarantee syscall stability, and does not generally guarantee compatibility for any binaries not linked to `libSystem.dylib` (that is the supported ABI boundary)[1]. This has a number…
I presume the reason they do it is that the premise of Nushell is that it uses pipes of structured output instead of simple text streams. That means that they need all the tools to output datas in that form. They could…
I think you missed my point. It wasn’t just ROM limited, the ram controller they used in the LC did not have enough address lines to address more than 4MB per SIMM slot, end of story. No amount of firmware hacking can…
Not to say there has never been software based market segmentation, but this example is just not right. First off the LC was in no way a threat to the Iici. The IIci had 32 bit data bus with a 25MHz 68030 and and…
This is awesome. macOS actually enables the same env var protections by default if your process is opted into the hardened runtime. You can do that by passing —-options=runtime to your codesign invocation.
iMessage is E2E even without ADP, even with groups and multiple devices. The details are complex, but they are publicly documented here[1]: The issue (I think) you are referring to is that if you enable iCloud backup[2]…
HW accelerated rendering was supported at least as far back as System 6.0 in 1990 Classic MacOS used an API called Quickdraw, which was implemented as a series of graphics primitives (originally written for the Lisa as…
posix_spawn() is specified such that it is possible (but does not required!) it to be implemented in terms of [v]fork() and exec(). On macOS it is a syscall and is generally faster than using vfork() and exec(). It also…
It is not fetishism to point out something behaves differently than Linux, especially in story about a technology introduced on Apple platforms. Technologies don't exist in a vacuum. This thread pointed out a problem…
I mostly agree, but if you go further back in the supply chain there are a number of common inputs/tools. For example, as 2025 the new LPDDR lines are using EUV systems, which means for new fab production both DRAM and…
That is ABSOLUTELY incorrect. SSDs have enormous amounts of error detection and correction builtin explicitly because errors on the raw medium are so common that without it you would never be able to read correct data…
It really is not the same. Amazon was not profitable because it was building out logistics, and then AWS data centers. There were defensible moats around their business that their growth facilitated. Google built out…
Target did not figure out a teen was pregnant before she did. She knew she was pregnant, which led to changes in her purchasing habits. Target detected that and sent her promotions which disclosed her father who had…
From https://ladybird.org (not some subpage, but literally on the main page): Why build a new browser in C++ when safer and more modern languages are available? Ladybird started as a component of the SerenityOS hobby…
From: https://support.apple.com/guide/security/secure-enclave-sec5... “A randomly generated UID is fused into the SoC at manufacturing time. Starting with A9 SoCs, the UID is generated by the Secure Enclave TRNG during…
Absolutely, I just think "when adhering to this convention" is a high risk. Admittedly I mostly work on macOS so I don't have a nearly as deep of an experience with ELF, but in my experience even when a system looks to…
Not really... symbol versioning is a form of namespacing, but it is somewhat orthogonal to this. Symbol versioning allows you to have multiple symbols with the same name namespaced by version, but you still have no…
Windows and macOS both use a form of two level name-spacing, which does the same sort of direct binding to a target library for each symbol. Retrofitting that into a binary format is pretty simple, but retrofitting it…
Conceptually not much has changed since the book was written, but in practice there has been a lot of advancement. For example, ASLR and the increase in the number of libraries has greatly increased the pressure to make…
There is a bug here... Clearly the author intended to cache the value of nextmalloc to avoid calling dlsym() on every malloc. The correct code should be: static void *(*nextmalloc)(size_t) = NULL; if (!nextmalloc)…
It really isn't unavoidable on macOS. @rpath is designed specifically to handle this sort of thing, and is how all the command line tools distributed with Xcode link to libraries embedded in Xcode and continue working…
I have been out of this area for almost a decade now, but I have very fond memories of the nRF5 SDK. When I was evaluating the (then new) Nordic BLE SoC's for future products it was so much nicer than the TI CC2540 we…
That is only true as the speed of the system performing the emulation approaches infinity ;-) Yes, you can do all the same things in software, in fact it is trivial, just take the same output from you EDA tools and run…
It is a pretty easy mistake to make if you are used to how fast new processors come out now, but you comparing an i386 from 1991 to to a 68020 from the mid 80s. In 1985 when the 386 came out I believe the fastest speed…
I find the whole idea unappealing, but they did keep their promise and show off a prototype back in spring://www.youtube.com/watch?v=gMsQO5u7-NQ
Generally speaking macOS does not guarantee syscall stability, and does not generally guarantee compatibility for any binaries not linked to `libSystem.dylib` (that is the supported ABI boundary)[1]. This has a number…
I presume the reason they do it is that the premise of Nushell is that it uses pipes of structured output instead of simple text streams. That means that they need all the tools to output datas in that form. They could…
I think you missed my point. It wasn’t just ROM limited, the ram controller they used in the LC did not have enough address lines to address more than 4MB per SIMM slot, end of story. No amount of firmware hacking can…
Not to say there has never been software based market segmentation, but this example is just not right. First off the LC was in no way a threat to the Iici. The IIci had 32 bit data bus with a 25MHz 68030 and and…
This is awesome. macOS actually enables the same env var protections by default if your process is opted into the hardened runtime. You can do that by passing —-options=runtime to your codesign invocation.
iMessage is E2E even without ADP, even with groups and multiple devices. The details are complex, but they are publicly documented here[1]: The issue (I think) you are referring to is that if you enable iCloud backup[2]…
HW accelerated rendering was supported at least as far back as System 6.0 in 1990 Classic MacOS used an API called Quickdraw, which was implemented as a series of graphics primitives (originally written for the Lisa as…
posix_spawn() is specified such that it is possible (but does not required!) it to be implemented in terms of [v]fork() and exec(). On macOS it is a syscall and is generally faster than using vfork() and exec(). It also…
It is not fetishism to point out something behaves differently than Linux, especially in story about a technology introduced on Apple platforms. Technologies don't exist in a vacuum. This thread pointed out a problem…