Yes - it's good for this use case! It even has built-in support for fetching dependencies declared in project conanfiles.
325 karma · joined March 15, 2014
Yes - it's good for this use case! It even has built-in support for fetching dependencies declared in project conanfiles.
So you're using "not now" as a shortcut to identify malicious design. That's fine but personally I'm not. I would go as far as claiming as most people don't feel this way about such a tiny wording detail, but I obviously haven't ran any A/B testing to confirm either interpretation.
> And, for the sake of argument, how should respectful software behave? If I clicked 'not now', are you _ever_ going to ask me again? If so, how do you decide on the time-period?
Honestly this question seems bizarrely focused on making the software give you a definite promise on what it will or will not do. It's a valid design question how to respectfully prompt the user for choices, but if that's your concern then this specific wording choice is an unimportant detail to get stuck on.
> If not, why make 'no' more complicated than 'yes'?
The reason was given my my opening argument: "no/yes" demands a conscious choice whereas "not now" doesn't. "not now" is plausibly less complicated than "yes" for a majority of users, and cognitive overhead generally matters more to people than imaginary contracts about future choice prompts.
While I can see the frustration by repeatedly using such software, it seems fair that a well-intentioned UX designer would use "not yet" if they found it works better for a majority of people. What then matters is that they respect the intent of everyone by not bringing the choice up again.
Curiously I found it a breeze since it didn't require digging out a flashable boot medium and pointing your BIOS to it. Calling a script from your normal desktop environment and having it automatically boot into the installer was really nice.
> with the partitions already in a good state)
What's this about? The script takes care of resizing the macOS partitions and creating new ones for Linux.
That one is interesting. It's much quicker for me, even cold starts are below 1s, and subsequent startups are basically instant.
ls -lh /nix/store/63rdpgbzn7f1smh7688crcrpfsh833bb-zed-editor-0.199.10/bin/zeditor
-r-xr-xr-x. 2 root root 3.2M Jan 1 1970 /nix/store/63rdpgbzn7f1smh7688crcrpfsh833bb-zed-editor-0.199.10/bin/zeditor
EDIT: Ah, it was too good to be true. The true binary is hidden in libexec/.zed-editor-wrapped :( ls -lh /nix/store/52smrb1z8r4n71zx50xagkcdrhlga4y5-zed-editor-0.207.4/libexec/.zed-editor-wrapped
-r-xr-xr-x. 2 root root 337M Jan 1 1970 /nix/store/52smrb1z8r4n71zx50xagkcdrhlga4y5-zed-editor-0.207.4/libexec/.zed-editor-wrapped
Extra weight also comes from webrtc, which nixpkgs dynamically links. So yeah, it's quite a large binary indeed.For what it's worth, the zed executable on Linux weighs 3.2 MB.
EDIT: Sorry, the nix store is too good at hiding things from me. It's actually around 337 MB plus webrtc-sys.
> There is no support for power-efficient sleep
"power-efficient sleep" refers to discharging 1-2% battery over night rather than 10-20%. I.e. there's room for improvement, but the device can still be used without worrying much about battery life regardless (especially given how far a full charge gets you even without sleep).
> Display Port, Thunderbolt
Big item indeed, but it's actively worked on and getting there (as you mentioned).
> video decoding or encoding
Hurts battery performance, but otherwise I never noticed any other effect. YMMV for 4K content.
> touch ID
Annoying indeed, and no one has worked on this AFAIK.
> The speakers overheat and turn off momentarily when playing loud for a longer period of time. The audio stack in general had to be built from ground up and it seems to me like there are bits and pieces still missing or configured sub-optimally.
Sad to hear since I thought the audio heat model was robust enough to handle all supported devices. On my M1 Air I've never seen anything like this, but perhaps devices with more powerful speakers are more prone to it?
This requires both phones to use Seedvault though, so it's not an option when moving from the stock OS to LineageOS.
I'm getting a lot out of Anki with premade decks these days, combined with watching tons of video content.
I think we agree in our understanding, but condensing it down to "TSO isn't as much of a deal as claimed" is misleading:
* Efficient TSO emulation is crucial (both on Windows and elsewhere)
* The blog claims hardware TSO is non-ideal on Windows only (because Microsoft adapted the ecosystem to facilitate software-based TSO emulation). (Even then, it's unclear if the author quantified the concrete impact)
* Hardware TSO is still of tremendous value on systems that don't have ecosystem support
> [volatile metadata] doesn't help executables compiled with non-MSVC compilers like Clang, nor any JIT code, nor is there any documentation indicating how to support either of these cases.
That's funny, I hadn't considered third party compilers. Those applications would still benefit from ARM64EC (i.e. native system libraries), but the actual application code would be affected quite badly by the TSO impact then, depending on how good their fallback heuristics are. (Same for older titles that were compiled before volatile metadata was added)
This is a misinterpretation of what the author wrote! There is a real and significant performance impact in emulating x86 TSO semantics on non-TSO hardware. What the author argues is that enabling TSO process-wide (like macOS does with Rosetta) resolves this impact but it carries counteracting overhead in non-emulated code (such as the emulator itself or in ARM64EC).
The claimed conclusion is that it's better to optimize TSO emulation itself rather than bruteforce it on the hardware level. The way Microsoft achieved this is by having their compiler generate metadata about code that requires TSO and by using ARM64EC, which forwards any API calls to x86 system libraries to native ARM64 builds of the same libraries. Note how the latter in particular will shift the balance in favor of software-based TSO emulation since a hardware-based feature would slow down the native system libraries.
Without ecosystem control, this isn't feasible to implement in other x86 emulators. We have a library forwarding feature in FEX, but adding libraries is much more involved (and hence currently limited to OpenGL and Vulkan). We're also working on detecting code that needs TSO using heuristics, but even that will only ever get us so far. FEX is mainly used for gaming though, where we have a ton of x86 code that may require TSO (e.g. mono/Unity) but wouldn't be handled by ARM64EC, so the balance may be in favor of hardware TSO either way here.
For reference, this is the paragraph (I think) you were referring to:
> Another common misconception about Rosetta is that it is fast because the hardware enforces Intel memory ordering, something called Total Store Ordering. I will make the argument that TSO is the last thing you want, since I know from experience the emulator has to access its own private memory and none of those memory accesses needs to be ordered. In my opinion, TSO is ar red herring that isn't really improving performance, but it sounds nice on paper.
It being a native binary instead of Python-based might also help it execute more instantaneously. Most Python-based CLI helpers that I tried add a slight but noticeable delay to simple commands, whereas zoxide is so quick it's easy to forget you even invoked a helper in the first place.
However I agree z should ideally have some syntax like `thing$` to denote a full directory name instead.
Do note that the context of my comment was Asahi Linux though.
What context menu is this about? When I right click into the terminal area, my context menu has a grand total of... 11 items.
Apple devices probably have the strongest security model offered by any otherwise open consumer device these days, so yeah: Installing Asahi won't degrade security of the macOS installation.
Note that the Linux install itself will have weaker protection, since e.g. the fingerprint sensor is not yet supported. I also think disk encryption would be much harder to set up due to Apple's boot process (if it's even feasible at all currently).
USB-C output is indeed not working but actively making progress (so actively that some of the related patches have been sent to the kernel mailing list and merged this very week).
Yes, the installer automatically (and reliably) resizes partitions for you. A minimum of about 70 GB for macOS is needed (anything lower is still possible but unsupported).
> You pick it at boot?
There's a default choice that will boot.
> And how “install and just use” it is?
Probably one of the smoothest Linux installs I've had in 10 years or so, since you just run the installer from macOS instead of flashing ISO files to an USB drive.