Ask HN: Has anyone purchased the base M1 Mac Mini for development work?

57 points by bochoh ↗ HN
How is it going so far? Drawbacks? What kind of work are you doing with it?

64 comments

[ 2.4 ms ] story [ 160 ms ] thread
Virtual Box will only run 32 bit versions of Linux. Some python scripts will run, others die. At least it is consistent in which is which but I'm looking to rewrite the python stuff in ruby
Just curious why ruby? Would you consider Golang?
Curious why Golang? Would you consider rewriting everything in Rust? /s
Honestly suggesting rust instead of golang is way more in the same abstraction space as ruby vs go... such a weird question.
weird sarcasm aside rewriting python in go makes sense in this scenario because it’s a stable language that supports cross compilation. ruby doesn’t have the same guarantee
I know that Ruby works on Apple Silicon. Or at least it has not failed yet. However will go work, will rust? Would be a pain to get so far and then find, oh yeah that doesn't work either

Once the python package for tensorflow is working then I will be back with python (where it is applicable)

I hate to be the guy who answers a different question, but I almost did. In fact, I had placed my order and decided to cancel it later. The shipping time was a component, but I just didn't feel like buying the first generation of a tech that's basically non-upgradable (when previous version were). I was going to purchase it to work on the iOS component of a project, as I'd just switched to iPhone, but later decided to use the money to get some equipment more immediately relevant to the project. I may still get one later, when and if they release versions with more memory.
I'm much in the same boat. The fact that 32 gigs of memory isn't even an option is a non-starter.
This was almost exactly my thought process, reason for initially ordering, and outcome. I'm thoroughly excited by them but I think the M2 will be really something.
I believe the shipping estimate for my MBA was Dec 8-16th, though surprisingly it arrived on Dec 4th (dates may be slightly off).

At first I was hesitant with the 16GB of shared memory as well, but I couldn’t be happier with the battery life and overall performance.

When in doubt, run large tasks remote :)

Ah, when I looked at it maybe late November, it was telling me I couldn’t get one till January here in central FL.
I am switching to one (not yet delivered) for my iOS dev work from a 2017 MBP. My main reasoning is price, and since my laptop mostly just sits in clamshell mode. I got the 16GB one, but can't imagine the 8GB will suffer for development work. I still do all my machine learning work on a PC
MBP and I love it. The one drawback is that I'm a heavy user of Hasura, which means that I'm a heavy user of Docker which doesn't run locally.

The fix is that I changed my start script (spins up Hasura, create-react-app server, serverless local, ngrok, etc) to just SSH into an AWS box and run Hasura there. With ngrok paid this is very easy and is basically transparent to me at this point.

Happy to share code if you're interested.

Would love to see your solution!

PS - How are you liking Hasura?

Have you tried the Docker technical preview? It seemed to work fine for me (although I didn’t run hasura’s image).
I'm always happy to see ngrok being used. I /still/ amaze my co-workers when I throw up an ngrok to an API that's still in dev and say here you go what do you think. Literal magic and an amazing project.
In the latest episode of the ATP tech podcast, the developer of Overcast describes how his experience with his M1 MacBook Air prompted him to sell his $5000 iMac Pro and switch to the Air full time.

https://overcast.fm/+R7DWgCAKU/46:13

note that you said "development" and that's kind of vague… If I were primarily an iOS dev, I definitely would switch ASAP. If you're a web dev and your workflow includes a lot of Docker, I'd wait a bit.

I also would advise you to hold off if you write any C++ or compiled languages. The majority of the world will be sticking with CISC architectures for a while, so shipping and testing software across both architectures would be a lot of undue stress on your workload.
> The majority of the world will be sticking with CISC architectures for a while

Just say x86. There's no need to bring CISC/RISC distinctions into this.

If you are talking about raw devices in the wild. I'm pretty sure at this point ARM CPUs outnumbers x86 by a significant margin. Android + iOS + embedded ARM... it's big.

Aside from this, I would suggest that what's far more important than general "X is bigger than Y" discussions, knowing what your target platform is more important. If you are doing Mac or iOS programming, switching to M1 is inevitable and the only question is whether it's worth waiting for the next M series processor or not.

If you are writing Windows software... this isn't even a consideration.

Right now the toolchains for building a lot of OSS are in a state of flux. Some work with the M1 but most are in progress or beta at best. So if you lean heavy on OSS, you are likely on Rosetta and not really benefitting from the M1 regardless.

Will do in the new year for sure. My old MBP gave up the ghost after 9 years of loyal service and I need a Mac for some cross-platform targeting. Golang seems to be ahead of the curve here so I look forward to seamless builds once I get there.
I tried my friends M1 MBP, I wasn't horribly impressed. The thing runs quick, but it sacrifices far too much to get there. I'll probably be sticking with Thinkpads for the foreseeable future, or at least until Apple makes a laptop that isn't so disposable. If this is Apple's attempt at coercing me into supporting ARM, it's a pretty weak showing.
I wouldn't really call it coercion. It's Apple's attempt to make a genuinely better product that costs them less to produce as far as I can see. Yes, the products do strike me as highly disposable but then again that has basically been their business model for over a decade, so that shouldn't really be that big a surprise.

I just see it as the first major step in showing the world that we don't actually need x86 for new productivity oriented machines.

Out of curiosity, how is it that you see their products as "disposable"?

At least, for me, Apple's hardware has been the least disposable of any that I've purchased (phones, laptops, tablets, desktops). My iPhone 7 would still work if I hadn't broken it so badly with an unlucky drop (landed wrong, thought of repairing, but found a good 2-for-1 deal on the iPhone X and my wife wanted an upgrade). My 2012 MBP is still in use, my 2011 Mac Mini is still in use, my 2014 iPad (Air 2) is still in use.

Disposable devices: Anything from Amazon. Kindle Fire tablets are useful, but cheap. Anything Nexus and (IMHO) Pixel from Google. Everything HP I've ever owned that wasn't a calculator made before 2000.

Unreparable is probably a better description. Macs were very reparable and upgradable until the Retina laptops came out. Each new generation is less upgradable and reparable.
That's a description I would agree with, but isn't what they said. I'd still say, despite the lack of reparability and upgradability of modern Apple devices (or owner reparability), they're still hardly "disposable". They still last a long time, and their prices (while better than in the 00s) are still high enough that you wouldn't want to replace an MacBook Pro every year unless you really liked spending money (or had a buyer lined up).
I was mainly alluding to their attitude towards refurb and repair. While they are not really any more or less disposable than other brands, Apple corporate policy strongly encourages disposing of items which could trivially lead much longer lives given the chance.
What does it sacrifice?
Probably something along the lines "not running Linux".
What did you not like about it?
I've been using a 2013 MBP since early 2014. I did replace the battery and trackpad, but it is otherwise original. It still works very well, and in many cases it is as fast or faster than my i5 2019 work MBP.

In any case, I would not consider Apple computers "disposable".

I've bought the 16GB model, mainly for getting started with Swift/SwiftUI and the Apple ecosystem.

Things I've tried besides Swift/SwiftUI: Go beta 1.6 - supports M1, seems to work fine.

Erlang/Elixir - couldn't get Erlang to run on a first try

Node, Angular - works fine

Deno - not supported on M1 yet

.NET Core api/blazor - works fine

Godot - doesn't work

Docker Desktop (beta) - seems to work ok (tried it with dgraph and postgres)

VSCode - insider build supported on M1, runs ok

Coming from Kubuntu 2004, I feel MacOS is ok but certainly not better than Kubuntu. That said, the hardware is fantastic - the thing stays cool and is absolutely quiet. I'm also loving the fact that there is commercial software available (Sketch, Affinity Designer, etc.) and that Mac users are still willing to buy desktop software.

Hopefully one day they'll put make Manjaro KDE builds compatible with the M1...
> Coming from Kubuntu 2004

20.04, not 2004. For dunces like me who thought you were using a 16 year old operating system

I was a full-time Desktop Linux user for a decade. Jumped through many distros over time (Mandrake, Xandros, Ubuntu through Ubuntu/Kubuntu/Xubuntu) until I bought a Macbook in 2011. Still ran Ubuntu on my desktop PC for a few years. I slowly just switched to Mac OS almost fully and I feel kinda bad that when I try to switch back to Linux, I just end up missing something from Mac that keeps me back.
I switched back to linux from mac simply because docker runs so much better on linux than in ios with the vm.
My company's product is using Linux under the hood, that's why I'll continue using it professionally. That said, I feel the M1 is too good to ignore. It is such an attractive platform for indie developers now. The Hardware is way ahead of the competition but still affordable, SwiftUI provides an easy native platform development option, the Appstore fees are down to 15%. It's the perfect time to make the switch.
> Godot - doesn't work

Godot has been working well for me under Rosetta (though just a small 2D project using GDScript). Godot 3.2.3 actually supports Apple Silicon[1] although there's no binary build just yet. I've recently submit a patch to MacPorts to enable native Apple Silicon[2] and have been using it since without any issues (so far).

[1]: https://docs.godotengine.org/en/stable/development/compiling...

[2]: https://github.com/macports/macports-ports/pull/9552

Thanks for the info, good to know, I'll need to give it another try!
Not the Mac mini but I bought the M1 MacBook Air (with 8-core GPU and 16GB RAM).

I watched the unveiling of the new M1 Macs live and was so impressed I brought up the Apple Store immediately afterwards to buy one ... until I saw the 16GB memory limit, then I decided to wait until whatever comes next.

A couple of weeks later my wife crunched her laptop screen, so (after seeing tons of glowing reviews in the meantime) I decided what the hell, I'll buy one of these M1 things and give her my 2014 MacBook Pro.

I'm generally doing everything "server-y" or "Linux-y" on AWS these days anyhow, so my laptop usage has actually become less demanding over the past few years. I've read that Docker support is coming along, but I haven't bothered trying that locally (and probably hadn't used Docker on my previous Mac in over a year). So yeah, for me usage is generally Firefox and/or Safari and/or Chrome with dozens of tabs, Terminal windows, AWS Workspaces client and Messages app. Everything flies, as you'd expect.

I got a cheap Choetech USB-C dock from Amazon to do HDMI, Ethernet and USB-A, and that worked for a couple of weeks until it flaked out and the dock's USB ports stopped working. Now I'm stuck on the laptop screen until the new Thunderbolt dock I ordered arrives tomorrow (and hopefully works more reliably). But while I had them connected, the Mac seemed to have no problem driving my 4K monitor - my old MacBook Pro could do 4K at 30hz and it felt like it was struggling - this machine makes it feel like a breeze as I bounce between workspaces and apps.

In the 5 weeks I've been using the machine I have had 2 random-seeming hard crashes - the screen went purple for a moment and then the laptop turned off. When it restarted, it wanted to report a kernel panic to Apple. Not sure of the cause of the issue and haven't been able to replicate on demand.

So far I like the machine and am happy with it - it makes my (admittedly pedestrian) workflow feel much snappier, although I would have also been OK waiting for something even better if I didn't suddenly need to buy another laptop for the household.

I'm more or less in the same boat, but haven't made the plunge on an M1 device. I farmed out all of my development work to a NUC, interestingly because the current Macbook Pro line is so bloody awful. I have a 13" MBP it's by far the worst machine I've owned since my last Windows machine (a Dell the better part of 15 years ago).

I'm going to wait and see how the MBP line turns out, but I'm nearly at the point where I'm ready to jump ship and just deal with the pain of Linux.

Edit: My understanding is WRONG, the RAM is separate but on the same package, not on the die.

The very nature of the chip package (RAM in the SOC) limits how much more RAM they can package. It increases the cost per chip because it significantly decreases the yield per wafer of the monolithic chip. I will be really curious if they can get much more RAM onto a M1 chip without charging astronomical prices (even by Apple standards).

https://www.youtube.com/watch?v=qgvVXGWJSiE Talks about this in detail of chiplet vs monolithic chips in the AMD context back in the Zen 2 days.

Pretty sure that the RAM is not part of the same wafer, i.e., the RAM is a chiplet that is subsequently integrated into the SOC. So yield shouldn’t be an issue here.
I wonder if for the larger use cases they'll target a hybrid approach, similar to what Broadwell did but from the reverse perspective.
Not super useful for you now that you have the new machine, but if your old MBP is the Mid-2014 15" model, it can drive up to two 4K displays at 60Hz, but only over DisplayPort. I have the same laptop and recently upgraded to a pair of 4K displays, and to get 60Hz I had to use mini-DP-to-DP cables rather than HDMI.
Out of interest; what dock are you using with it? I just want something that outputs HDMI 4K@60Hz but have struggled to find one.
I wanted USB-C power delivery, Gig-E, 4K HDMI @ 60Hz, an SD card reader and a few USB-A ports so I ended up ordering this Cable Matters Thunderbolt Dock: https://www.amazon.com/Certified-Cable-Matters-Thunderbolt-C...

I haven't received it yet so I can't say how well it works.

There seem to be simple (and much cheaper) USB-C to HDMI adapters that support 4K@60Hz if that's all you're after: https://www.amazon.com/Anker-Aluminum-Pixelbook-Compatible-T...

I just want USB PD, 4K HDMI @ 60Hz and USB C. You can get loads of cheap ones that do this for not much money, apart from the 4K @ 60Hz where suddenly they jump up to $200+, which seems a bit excessive to avoid plugging in two extra cables at my desk, but maybe I should bite the bullet.
I don't have a pressing need (have last gen Mac Mini) so I'm waiting and hoping for a 32gb version.
I've had the M1 MacBook Air for a couple weeks now and it's great. It's very fast and almost all of homebrew works now. I'm doing Go and iOS development. I imagine for nodejs/Ruby native extensions it might be some time before everything works natively, but Rosetta works great as well. They honestly nailed it.
I have the mac mini 8GB. I recommend getting 16GB because I recently clocked out the 8GB because of firefox + jupyter notebooks (plotly consumed like 6GB). Overall, it's been great but there are still things broken natively. However, the Rosetta(2) makes the experience seemingless. The biggest problem I have is remembering to isolate the x86_64 and arm64. For instance, having miniforge setup for Python becomes a PITA since one version is meant for the M1 natively and the other is the x86_64 build. But since I got my Mac Mini, I barely use my early 2020 MBA anymore.
Not the mini, but the base MacBook Air. I got this for my wife so it only has 8GB of RAM, but even so Xcode runs surprisingly well on it. I've had a few times where it's gotten really slow for a few seconds when I suspect it's swapping. Since it happened the first couple times I made an effort to keep only the basics open and it's been great.

Overall, it compares quite well to my 2016 Intel MacBook, it makes up for the memory issues by being generally snappier in most other places. I suspect a 16GB rig won't have these issues and would compare even better versus the i9.

I was considering getting a mini, but I'm going to content myself with using my wife's M1 Air until the next M series CPUs come out. I want to see what the next generation has to offer before pulling the trigger.

I purchased the base model Mini M1 a few weeks ago. I'm using it for development of my macOS/iOS app.

So far I am enjoying it. My other machine is a 13" MacBook Pro from earlier this year (intel, the cheapest model) and the Mini is definitely snappier, even if it only has 8GB RAM.

The MBP would often stutter audio playback when I was doing anything CPU-intensive and listening to music at the same time. This would often require me to restart the coreaudiod process to get audio playing nicely again. (It's a really horrible OS bug.) But the M1 just chugs along. Xcode builds are much, much faster on this as well, making the write code/test and debug it feedback cycle tighter.

The only drawbacks I've seen so far are that homebrew isn't fully supported yet and Firefox will just get stuck if you leave it for a few hours, requiring you to restart it. Other than that, for my workflow, it's been working great.

I had too many issues with my last couple of Macs (various HW issues and screen issues) so I moved over to a high-end Dell laptop running Pop!_OS. Couldn't be happier. I may re-visit Apple one day, but I'm really liking my Pixel phone and Linux environment too much. I'm not a classic programmer, per se, as I do 90%+ of my work in scripting (Bash, Python) and maybe 5% other as the need arises.
No, but I bought the M1 MacBook Air and a 4K monitor with 7GPU/16GB/512GB configuration for full-time web-dev work with Laravel.

PHPStorm and VSCode have Beta/RC versions and run fine, and Laravel Valet's entire suite runs fine under Homebrew Rosetta. Everything is very fast, and the fact that this machine is completely silent and doesn't get hot is phenomenal.

Right now, I've downloaded the Parallels Desktop preview and installed Windows 10 ARM on the machine. Amazingly, I was able to play some video games through Steam this way. My family likes playing Lego Lord of the Rings, which is a 32-bit Windows game. Runs at 1080p Medium-ish settings on Windows 10 ARM through Parallels fine, which is incredible for how much virtualization and translation is going on.

(For anyone else installing Lego LOTR, I had to install DirectX 9 because Windows 10 ARM doesn't come with it, but then it worked fine.)

Also, this whole virtualization thing works so well, I completely forgot just now that I was replying on HN using Microsoft Edge... on Windows 10 ARM on my Mac. :)

EDIT: My Windows 10 ARM install had a new build to install, and to my shock it installed the entire new build of Windows 10 in less than 4 minutes. Complete build. At the beginning, it even went 0%->30% followed by a reboot in 5 seconds flat, which caused my jaw to nearly fall off.

Does it get hot while connected to the 4k monitor? I have MacBook Pro 16 from work and sometimes it feels like it's doing too much work while connect to the other monitor
Get hot, nope. This thing seems to never get hot. Even in the situation above... a bit warm, but not what anyone would call hot. I have a MacBook Pro 2017, and this thing feels way happier connected to an external monitor than the Intel Macs ever did.

Plus, there's some additional "magic" Apple has put in for external monitors that's really nice. For example, you can shut your laptop lid and all of the apps instantly switch to the 4K Monitor without the old screen resolution change (the 5-10 seconds of black screens and weirdness).

I bought the 16gb M1 Mac Mini and so far great. I have a work laptop though (provided by work/required) which I use for my paid work, so there's less pressure for everything to be bug-free out of the box. If it's your main work machine then (depending on what you do) it might be worth waiting a couple of months or so.
I bought the 8gb mini, haven't tried any dev work on it but have been editing videos using premiere. Mostly 1080p60, it's been awesome, some filters take a bit longer to preview than they do on my intel MacBook with amd gpu (my dev machine, node, python), but nothing to cause issues. I'm pleasantly surprised how well it works so far. Win 10 arm via parallels is a bit slower than I'd like but i don't need to do much in it to bother.
I bought one when my Threadripper 2750 blew up (figuratively) and I didn't want to wait for the newer AMD chips/boards to be in stock. I thought it would be a good device to let one of the kids use for school-in-quarantine. That isn't going to happen. I bought the 8G mini, and I've yet to feel anything remotely like memory pressure even running Windows 10 in parallels and having 5+ sessions of VS Code open. I do web, Rust, Go and similar type programming. Just this last week homebrew reached critical mass and nearly everything one would need is available for the arm builds. I love this thing, quite unexpectedly. I'll buy a 16" arm mac when they come out for a portable version because I need a bigger screen than the 13"s have. Zero regrets and 100% surprise from me. I've been a pretty die-hard Linux on the desktop person.
With regards to memory, I've been pleasantly surprised with 8GB as well. A fair number have reported being surprised about getting away with less RAM.

Stole my wife's MBA, but I'm going to get a mini with 16GB once the next series launches. Not going to bother with 32GB, I don't run a ton of VMs so it seems like a needless expense.