I’m a software developer with a platform-independent stack (java / postgre / mysql / intellij / docker), I use a Linux distro. I have a workstation, but would like to be able to work away from home. Good battery life, small size, staying cool under load are the priorities; I don’t need a lot of power. So I thought maybe I should try ARM?
My first idea was to get a [refurbished] MacBook Air and learn how to use MacOS, although I’d love to support something… less proprietary and more open. I’ve never used an ARM Linux distro or ARM laptops, and I’m not sure how good they are for my application.
What is your experience?
I’ve heard that used/refurb Thinkpads are pretty solid for this usecase
maybe the older Frameworks might also be a good option as I’ve seen the older models go on sale
Macsbooks I’m hesistent to recommend as you’d be SOL for repairs unless you’re near a good repairshop like Louis Rossmann but Macs could still be good depending on what sales you find
the closest exp I’ve had with ARM is Arch Linux on my Raspberry Pi 4 which runs but is definitely hampered on performance and functional apps in comparison to any other laptops
Up to you but if you can get a refurbished m1 that will easily do what you need
And honestly still probably be better in every way besides the OS (subjective)
Brew or Nix do a pretty good job of closing the gap.
I’m the only Linux user on my team and was getting pissed at Apple’s old bash (4.x something) and some of the tools like
find
having slightly different flags causing some scripts to not work locally.Added a nix flake + devshell + direnv and now they run the same version the servers do of everything, but only when in the project.
Have been a longtime MacOS user. Have used Parallels/VMWare to run Windows and multiple flavors of Linux (Ubuntu, Debian, Kali, Arch).
Have also used it for professional development targeting multiple platforms, including web, iOS, Android apps, AOSP, Windows, Linux, and hardware like Arduino, FreeRTOS, and Raspian. Docker desktop and K8 lets you build, test, and deploy just about anything anywhere. If you plan to run ML and do training stuff, I’d invest in something beefier than a MBA.
If hung-up and religious on open-source OS, then would avoid. But if you just want to get shit done, it works really well.
Do you even linter bro? lol. I do TypeScript, but even my i9 can get bogged down by the language server from time to time.
The whole hard capped RAM on the SoC is not for me also. I do a few things in python. If I want to load up a 32G pandas data frame on my laptop, I want the option of 64G RAM without having to replace the whole thing.
I get MAYBE 2h battery life (Dell Precision) when I’m hacking away, so my use case may not match yours. Vroom vroom…
That said, ARM itself is generally fine. We have some graviton EC2s hosting our application. I’d just make sure the docker images you expect to use have ARM builds. That bit us a couple times.
I think in general ARM support is better on Linux than on windows, because ARM servers have been a thing for a few years now. I think basically the entire Ubuntu repository is compiled for ARM now.
For the battery life, I’m not even sure an arm laptop is what you need considering the state of driver support for power efficiency features vs Intel or amd chips. The new Intel lunar lake chips especially score exceptionally well in terms of efficiency. Better battery life with less noise as the AMD HX Zen5 and about as good as the Apple M3 levels of good
Refurbished ARM-based MacBook Air will be suitable as long as you get 16 or 32 GB configuration. Anything under 16 is unusable with docker, a browser, an IDE, and LSP running at the same time.
ARM-based Macs can run Linux thanks to Asahi Linux.
But I love and use Mac OS. It’s really good for development work.