Earlier quoted context omitted.
> The only thing I'm still running in Rosetta is Apple software: XCode and the iOS simulator, but they run smooth, so I don't even think about it. How old is your version of xcode? From what I can see they added M1 support 1.5 years ago.
I have pods that haven’t been updated to work with arm yet.
Ask HN: How are you dealing with the M1/ARM migration?
261–270 of 284 posts
Re: Ask HN: How are you dealing with the M1/ARM migration?
#262The 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?
#263The 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…
Why did you give up Docker? How is that brilliant? Docker is brilliant, giving that up is not brilliant.
For this type of development, the number of external dependencies you have is very small. Aside from the compiler, build system, and testing, the number of third-party libraries linked into a release can usually be counted on one hand. Again, for good reason.
Basically, I am doing what I did before Docker, writing a small set of scripts that can perfectly reproduce the environment where I need it. This is made much easier because modern build systems have good dependency management built-in so writing those scripts is a lot less involved.
Re: Ask HN: How are you dealing with the M1/ARM migration?
#264Earlier quoted context omitted.
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?
#265Earlier quoted context omitted.
As a Linux user who has run a Mac daily for work before, I don't really feel this at all. To me, the core of the Linux experience consists mostly of things that are not part of macOS: - uniform, comprehensive, robust package management, including for the system software - GNU coreutils and related utilities (sed, grep, find, etc.) - good filesystems - 'root is root'; no policy or other bullshit restricting what root…
All other complaints aside, claiming Linux has it better when it comes to “featureful, performant terminal emulators” is outright laughable. The number one thing I miss on my home Linux workstation is a good terminal emulator. Nothing in Linux land comes close to the featurfulness of iTerm2, to the point where the vast majority of Linux emulators don’t even support ligatures ! Add “fast” to that and you only have one…
- it was shocking to me that getting decent performance with tmux required installing an unstable build and enabling GPU acceleration (something I never had to resort to before)
- I had a skeptical view toward many of iTerm's unique features because
+ the whole scandal with iTerm2 leaking private data via DNS had just happened (see: https://www.bleepingcomputer.com/news/security/iterm2-leaks-everything-you-hover-in-your-terminal-via-dns-requests/ , https://gitlab.com/gnachman/iterm2/-/wikis/dnslookupissue )
+ the tmux ‘integrations’ didn't work with my tmux setup, because they require iTerm2 to launch tmux and at the time I already used a different system for managing local tmux sessions ( https://github.com/sagebind/tmux-zen ) that I liked
+ when I temporarily changed things to let iTerm2 launch tmux, I found that it broke/ignored my keybinds, which is apparently intentional -- https://gitlab.com/gnachman/iterm2/-/issues/3997
+ shell integrations always seemed almost like a layering violation to me, but also just plain didn't (and don't: https://iterm2.com/documentation-shell-integration.html ) work with normal tmux or screen sessions anyway
- iTerm2 displayed vertical spacing with the bar characters used for drawing vertical lines in tmux incorrectly unless I went out of my way to use a special font (Hack), something I had never encountered before
- swapping the Option and Command keys inside of iTerm2 was required for getting in-terminal Emacs keybindings to work right, but it swaps them *globally*, so that if you use either modifier in your ‘Hotkey Window’ configuration, you have to use a different key to dismiss the window than you use to summon it
+ I had to supplement my iTerm2 config with a Hammerspoon config to essentially bind summoning it and dismissing it to two different key chords, which worked but broke the animations the app features for ‘Hotkey Window’ because I was summoning it via iTerm2 but dismissing it via Hammerspoon
- I had to modify some keycode configuration stuff to get it to act more xterm-like to get some in-terminal apps to interpret the right keybinds, and it was a more annoying, fiddly process than on terminal emulators I'm used to, which provide comprehensive profiles you can just swap between for that
- iTerm2's configuration windows feel really disorganized, cluttered, and just messy to me compared to Konsole's
- I didn't need some of iTerm2's special features, because I already had them implemented in my tmux config, like regex search for find-on-page and copy mode, so I didn't really have a chance to be impressed by them
- some of iTerm2's special features, like displaying images, were then implemented only in a non-standard way, which meant I couldn't count on them on other platforms (nowadays iTerm2 and Kitty share their special image protocol, I think, plus iTerm2 supports Sixel graphics, which is really cool) and didn't really want to use things that relied on them
I feel bad about posting much negativity about iTerm2 when it is clearly such a lovingly maintained, ambitious project that serves many people well. And I understand that for people with different expectations or who don't care to have a portable, cross-platform command line environment, letting iTerm2 ‘take over’ for tools like tmux and push them to the background is an amazing feature. I also get that iTerm2 is very creative and clever about getting crufty old protocols to do things they were never originally intended to do, and that the results can be really nice sometimes.The landscape of cross-platform terminal emulators has also changed a bit in just the past few years, because some nice terminal emulators have matured substantially.
But as someone who, a few years ago, came to macOS with a fluent, agreeable, largely terminal emulator-agnostic workflow already and just wanted ‘a fullscreen dropdown terminal that won't lag out if I have a a few noisy commands running in a tmux window’, iTerm2 was simultaneously overkill and underwhelming. On Linux, the dropdown terminals baked on the defaults of the big two DEs, Guake and Yakuake, both work just fine, as do several others that I've tried.
PS: Back then I only cared about programming ligatures in GUI Emacs, which was fine, but nowadays Konsole does have ligature support. And Wezterm is another cross-platform terminal emulator with ligature support and reasonable performance. :)
PPS: I do see an iTerm2 feature every now and then that I find myself envying until other terminal emulators I like catch up, and I'm happy to admit that the iTerm2 maintainer seems to pick up the new terminal hotness at an impressive pace. Lately it's OSC52 escapes for remote terminal Vim and Emacs sessions :)
Re: Ask HN: How are you dealing with the M1/ARM migration?
#266Re: Ask HN: How are you dealing with the M1/ARM migration?
#267I'm in a similar boat - love the performance/battery of my M1 MacBook Air, but the ecosystem is just too messy at the moment for me. I have a few tools I need to use that haven't yet been making official Apple Silicon releases due to GitHub actions not supporting Apple Silicon fully yet. The workaround involves maintaining two versions of homebrew, one for ARM and one for x86-64, and then being super careful to make…
In nutshell I don't see how having Apple Silicon locally makes the problem - if your non local env (dev, prod, stage) is running on x86 Linux or even arm Linux, shouldn't be any issue to build for that architectures on your build farms anyway.
I may be missing some important part here.
Re: Ask HN: How are you dealing with the M1/ARM migration?
#268I'm an Eng for a startup using Rails, MySQL, ... Next.js. The only problems we've had is slow performance of Docker for us with our databases. So much so, we've moved those out of Docker and back to the native. Performance is easily 6x faster. MySQL was also a headache because finding a MySQL 5.7 official Docker container didn't exist for ARM so we needed to use the slow emulation through qemu. We also have a CLI dev…
Regarding slowness - i'm curious, how that's the problem - from my understanding on local dev env datasets are small and even 6x times slower (say what is 1 ms on production be 6 ms on your machine) shouldn't be any issue? Can you provide some examples? (I may need to run DB locally for tests one day, getting prepared)
Re: Ask HN: How are you dealing with the M1/ARM migration?
#269Re: Ask HN: How are you dealing with the M1/ARM migration?
#270Earlier quoted context omitted.
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.