Live data from Hacker News

Ask HN: How are you dealing with the M1/ARM migration?

news.ycombinator.com

251–260 of 284 posts

Re: Ask HN: How are you dealing with the M1/ARM migration?

#251

The 8GB M1 versions don't have enough RAM for a lot of dev work, doing pretty ordinary things created a lot of RAM pressure when I had one. I later bought Max with 64GB, and that has been brilliant. I gave up on the idea of using Docker almost immediately. Early on there were major issues if you were targeting x86-64 systems code in C++. A lot of common tooling was broken for months on end. Time has solved some of th…

In my wife's case, the 16GB macs don't even have enough memory to drive a 4K display. Her mac goes crazy, overheats, fan at 100%, everything slows to molasses, piece of junk. And it's x86.

Re: Ask HN: How are you dealing with the M1/ARM migration?

#252
Software is constantly evolving, so any worldview based on “if it ain’t broke, don’t fix it” is absent of reality when it comes to software.

My philosophy on most things is: if nobody else has done it, I’ll go first. I started compiling and bundling my Go applications as multi-platform universal binaries for macOS.

Last week, I spent a few hours learning how to build multi-architecture Docker images, and push them into Artifactory. That knowledge came in handy yesterday when one of the developers on another team got a new M1 Mac and could no longer build his Docker images.

Over winter break, I started putting together a build matrix for compiling RPMs, DEBs, and Alpine APKs for some software that some developers were building as part of their CI pipeline. We’ve been curious about the ARM-based EC2 Graviton instances for a while, and I only had to update a handful of lines of code to begin building arm64 versions of those same packages.

In short, necessity is the mother of invention. I enjoy inventing things. If nobody else has started adding support for arm64 to your internal pipelines, then you should go first.

Re: Ask HN: How are you dealing with the M1/ARM migration?

#253
post #234
post #230

Earlier quoted context omitted.

> really good graphical UI Honestly that's subjective. I preferred GNOME, but to each their own. There's too much flashiness for my taste, and some icons and UI just look like something for kids (big, bright, round). > ecosystem/3rd party integrations Eh. A big part of that ecosystem is paid for really basic features. The App Store requires an iCloud account to be used. That ecosystem also relies on various hacks to…

It's not that subjectıve actually. Apple does usability research and collects feedback and usage data all the time. It's not an artistic endeavour but a methodological study. The free and open source projects often lack in that or don't have it at all. Some people can prefer other systems and that's alright.

UX isn't an exact science. Google and Microsoft also do studies, with testing and what not. Would you say their UX is perfect?

Re: Ask HN: How are you dealing with the M1/ARM migration?

#254
iOS dev here. Things have been pretty smooth for my team except for some differences with where homebrew installs packages on ARM64 and that we still have to run the iOS simulator via rosetta due to some of our 3rd party frameworks not providing ARM64 builds for iOS-simulator.

In my personal hobby stuff I do miss being able to virtualize x86 machines but have been able to get by with arm versions of Windows 11 and Linux running in parallels, and qemu for operating systems that don't have arm builds.

Re: Ask HN: How are you dealing with the M1/ARM migration?

#255

Earlier quoted context omitted.

I've been doing React Native development on my M1 MBP and it's been pretty great overall. But is anyone else surprised how long it's taking to get the iOS Simulator for ARM? I feel like it would make a massive difference to my developer experience (especially in battery). And I haven't seen any indication that it's coming anytime soon.

Isn't it... Just in xcode? I've used it. It's like, there, right? I open up my 13.3 beta 2 and go to the xcode tab go down to open developer tool click on simulator and then click on file and then open simulator my mouse over to iOS 15.4 go down to the iPhone 13 for example click on it and then I have a simulated iPhone 13... And if I check the activity monitor nothing in my activity monitor is showing up as Intel co…

Great point. I was conflating the Simulator and the app that React Native builds. Simulator is definitely running natively on ARM.

And your comment made me go look back at my react native project setup. Looks like the main reason my app is still building to x86 is because of one Expo dependency that doesn't yet compile to arm64. So more of a Expo concern.

Thanks for checking on your end.

Re: Ask HN: How are you dealing with the M1/ARM migration?

#256

I got an M1 MacBook Pro from work last year, and expecting to pay the price for being an early adopter, I set up my previous Intel-based MBP nearby in case I ran into any problems or needed to run one of my existing virtual machines. (I do varied development projects ranging from compiling kernels to building web frontends.) In reality I have hardly turned on the Intel MBP at all since I got it. At all. Docker and VM…

Hmm, docker is very buggy for my team and myself on m1. Coming from a x220 where it was flawless, on m1 it quite often just ‘dies’. When you paste the message you get when you run any docker command after that into Google, you see that many people have this issue and the fix is; restart docker. This didn’t happen under Linux. I am not sure if it did happen on x86 Mac as I never used docker there.

To be clear I think the support for Apple Silicon has been solid, but Docker Desktop for Mac regardless of CPU architecture has bugs, and I've had it get stuck as you describe on both. Right now for me it seems incapable of auto-updating, which I assume is unrelated to Apple Silicon.

Re: Ask HN: How are you dealing with the M1/ARM migration?

#257

I got an M1 MacBook Pro from work last year, and expecting to pay the price for being an early adopter, I set up my previous Intel-based MBP nearby in case I ran into any problems or needed to run one of my existing virtual machines. (I do varied development projects ranging from compiling kernels to building web frontends.) In reality I have hardly turned on the Intel MBP at all since I got it. At all. Docker and VM…

Rosetta is definitely not flawless. This type of jit/translation does have limits. Often times people experience different levels of difficulty using Apple Silicon precisely because my workload is not yours, and yours is different again from OP's So I feel this particular Ask HN is more about wondering how different everyone's workflows are, and how that impacts M1 usage. I envision that workflow options/pathways wil…

I use "flawless" in the sense that I have not seen a single incompatibility or even regression in any of the ordinary macOS software I have used under its translation, which is exactly what it was designed to do. It has surprisingly few documented limitations, like lacking AVX vector instructions:

https://developer.apple.com/documentation/apple-silicon/abou...

There are a handful of apps that aren't supported, but few of these are popular apps. Virtualbox is notable, but unsurprising: Rosetta is not designed for x86_64 virtual machines, and Virtualbox doesn't support arm64. (I submitted a correction to the Wine entry, since wine64 has worked under Rosetta 2 for a year.)

https://isapplesiliconready.com/for/unsupported https://liliputing.com/2021/06/wine-6-0-1-lets-you-run-windo...

Re: Ask HN: How are you dealing with the M1/ARM migration?

#258

I got an M1 MacBook Pro from work last year, and expecting to pay the price for being an early adopter, I set up my previous Intel-based MBP nearby in case I ran into any problems or needed to run one of my existing virtual machines. (I do varied development projects ranging from compiling kernels to building web frontends.) In reality I have hardly turned on the Intel MBP at all since I got it. At all. Docker and VM…

vmware on m1 supports x86_64 emulation?

No, and they've announced they do not plan to support it. However you can use x86_64 containers with Docker and virtual machines through QEMU, Lima.

Re: Ask HN: How are you dealing with the M1/ARM migration?

#259
post #202
post #162

We had already eliminated Docker from our CI/CD and live deployments (using Kaniko for CI/CD and containerd for live), so we just modified our container build pipeline to run Kaniko twice (once for x86_64 and once for arm64) and then use manifest-tool to build and upload the multi-arch container manifest. I think we had it working within a day, and then it took a week or so to test and validate all our images, and on…

According to Kaniko documentation [1], they don't really support cross-platform compilation. Do you solve that by having both amd64- and arm64-based CI/CD runners? [1] https://github.com/GoogleContainerTools/kaniko#--customplatf...

Yes. We use Tekton on K8s for CI/CD, and our cluster has both arm64 and amd64 spot node pools. Each Kaniko build task runs on its native arch.

Re: Ask HN: How are you dealing with the M1/ARM migration?

#260

At least some aspects of this issue are getting better as we speak. The latest Mac OS (in beta) supports virtualizing ARM Linux but also enables the ARM Linux system to use Apple's speedy Rosetta 2 x86 binary compiler and JIT compiler to run x86 programs within the ARM Linux VM. Based on descriptions, it seems that the rest of the hypervisor VM framework has also matured substantially this release. https://developer.…

> It does binary pre-compilation and cacheing. It also works with JIT systems. Much more impressively it also leverages a custom hardware x86-like memory model unique to the M1/Apple ARM chips. That's where most of the performance really comes from, as I understand it.

Not really; you can skip the barriers as Windows does and get mostly-decent emulation.
Post reply on HN