Hacker News new | past | comments | ask | show | jobs | submit | robin_reala's comments login

Not sure why this recommends emulation instead of installing the native ARM images referenced near the top of the page?

Yeah I was wondering too. The big advantage of UTM, apart from that it's free, is IMO that it can run natively on Apple ARM cpu's.

Yeah but VMware Fusion is also free these days and can also run natively.

I think that UTM is the Apple way to gain kernel access for other OSes. Mach was originally designed to host multiple OSes simultaneously. I think UTM is meant to develop those capabilities.

A lot of dev tooling still expects x86_64. Example off the top of my head, Cosmopolitan will not build ARM binaries and will not compile on ARM. (But it WILL build x86_64 universal binaries that will run on Apple Silicon and macOS via Rosetta.)

There is also the issue of wanting to have your dev environment be as close to your prod environment as possible, and the vast majority of cloud-based hosting is still x86_64.


With virtualisation you can use Rosetta 2 for Linux to run x86_64 binaries. That's what I do and it's more efficient.

UTM uses Rosetta via qemu. It’s the most direct way of emulating x86 on Apple Silicon, using native Apple emulation layer.

Then you're emulating everything that runs in the VM, as opposed to using an ARM vm and only emulating the x86 program you want to run. This makes things a lot slower.

That’s a good point… but does Rosetta in a Linux VM somehow use the native MacOS hypervisor?

I would like to see a benchmark of these various methods…


I don't know how Rosetta 2 for Linux is implemented in Virtualization.Framework - but it exposes it via a mountpoint on the (ARM) Linux VM. The binfmt executable that is exposed essentially does what Rosetta 2 does but for a Linux binary.

I think the binfmt executable can be used outside of Virtualization.Framework and can even be used in an ARM VM in say Asahi but people don't because it's not easy to do but also honour system as it's not licensed for use outside of MacOS.


You can't do Rosetta 2 for Linux thru qemu as qemu doesn't use Virtualization.Framework. UTM does support virtualisation via VF.

Building on a virtual x86_64 barely achieves the performance when building on host, if there was an applicable way.

Fair enough, but (speaking as a web developer), running a stack locally on Apple Silicon (especially if it has any "interesting" dependencies such as compiled Rust/C libs and whatnot) and expecting the same stack to run identically in the cloud on x64 can still expose differential behavior

At the very least, I could test mock deploys from the Apple Silicon side to the x64 VM running locally (over loopback) as an extra data point

I don't actually use it for this use-case but now that I'm thinking about it, I might try, because this seems useful


From a web standpoint it's possible, but when I tried building AOSP on macOS, it didn't turn out great.

Indeed, and here are a large variety of OSs directly from the source:

https://mac.getutm.app/gallery/


I doubt it: that only applies to equipment with radio capabilities.[1] Also, Kmart is regional to north america, it doesn’t exist in the EU.

[1] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A...


It doesn’t really exist in North America anymore either - down to only 5 stores. This is about the Australian version.

A hall mirror from the late 1700s we think: certainly before glass could be manufactured in one piece big enough for a single mirror.

After that I have a safe from 1925, so 100 years old this year.


There is definitely value to be had in using systems that force you to write high-performing code. In the web space we all too often we sit down at high powered macs to write code that will be run by low-end Android devices, and fail to appreciate the consequences.

I'm always wondering about thoughts like this. Although there are likely a humongous amounts of low end devices, as a whole, how much potential return would you get from this group? This is a value judgment and I know many have low end devices for reasons other than monetary and just completely ignoring quantity may not be viable for certain investments, its just an interesting thing. It might be similar to the debate about the cost of handling credit cards vs cash. Cash has its own set of costs that are usually neglected. You could easily get more return by adding features than spending any time optimizing.

> how much potential return would you get from this group?

This reads a bit like "these poor sods can't afford to pay for my app, so why bother", at least to me.

However even if a certain device owner subgroup doesn't represent a potential revenue stream, you can as a developer still profit from also (or even primarily) targeting their devices.

Apps that will run on lower-powered devices will almost necessarily be leaner, and as a side benefit will have less complexity, less dependencies, and, ultimately, less technical debt for you as the developer to manage.


> low-end Android devices

Or even just devices in high-latency environments. This gets missed in development so often. My experience is that 75% of apps cannot handle it and fail to work in all kinds of ~~interesting~~ frustrating ways.


> all too often we sit down at high powered macs

I think you mean you. I don't and never have done that, and I suspect millions of windows developers have not either.


I think they mean them, and the obviously-high percentage of developers that use Macs compared to the general population of users. Which, ironically, skews the percentage of Windows users lower than most other demographics.

In fact, how dare you forget the Linux users when writing your comment?!


Faced with the option to pay higher costs for incredibly good hardware, or to run any of the many *nix distros, you chose to have meh hardware, and a restrictive OS that is built as a GUI first, terminal a distant second.

Just… why.


As someone with years of windows and Linux experience, yes the Linux shell is quite good, but mac bsd shell is terrible, even compared to powershell

Bash is bash, zsh is zsh; how are they different? coreutils differs, sure, and I dislike BSD’s implementation of them, but that’s why gnu-coreutils exists.

I’d suggest that a degree of empathy is a useful life skill.

Seeing as we’re talking Paris, there are plenty of Twizys around. Not light light, but a third the weight of even a new Renault 5 EV. https://en.m.wikipedia.org/wiki/Renault_Twizy

Mm.

Now that I see it in real life I don't know how I feel about it. It doesn't feel safe when I see a Twizy, but when I see these cars in my mind I see them on Swedish bicycle roads.

The whole thing would probably require a total transformation of city travel.


The regulatory regime will take a minute to figure out, but with tiny vehicles like this + good transit + closing streets to regular big cars, we'll figure it out.

The basic ones (and things like the Citroën Ami) are more A-traktor than bicycle – there’s an A-traktor registered Ami in the next village along from me – but that’s typically a software limit. The Twizy could be bought in an 80km/h variant, and there are “remaps” that will take that version up to 110km/h.[1] I’ve seen them doing near that on riksvägar here.

[1] https://en.twizyx.com/


The best way to stay clear from this insanity is to divest from the US as much as possible / reasonable. It won’t help second-order effects, but it reduces your exposure.

I wouldn't go that far (there's still the possibility that things change for the better for whatever reason), but those 60%-70% of the US in global stock indices really do look like single country risk now.

For future reference this approach was tested at https://github.com/standardebooks/tools/issues/815. No errors were found in a selection of books.

Not the same thing as this article, but I was impressed with the Chinese trend of “fixing” 2015-era MacBook Pros with broken screens by deleting the screen and installing a blanking plate, leaving the machine as a sort of C64/Amiga/ST/Acorn style keyboard-and-CPU single unit that could be plugged into an HDMI screen. https://ioshacker.com/news/people-in-china-are-using-macbook...

I did this with an old ASUS laptop. Just removed the whole screen after the hinges and LCD died. Worked fine!

I’ve personally always liked firebreak sprints. Every so often (3-4 times a year) in between other large pieces of work, take a week and give the developers free reign to individually fix the things they think are most important but never seem to get prioritised.

Yes, it talks to a disconnect between product and engineering, but working on that relationship at the same time doesn’t mean that both aren’t worth doing.


The Shape Up model (originally from Basecamp) builds in a 2-week "cool down" period after every 6-week "build new stuff" period. We further designate one of those weeks as a "bug blitz." That 1-2 weeks in every 8 cadence really helps encourage fixes not just new features.

I've done exactly that as head of engineering. Works great!

Just started this at my company. I’m excited for the boost to dev morale.

Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: