Live data from Hacker News

Virtualize OS X on Linux

grodola.blogspot.com

51–60 of 143 posts

Re: Virtualize OS X on Linux

#51
post #49
post #37

Earlier quoted context omitted.

I'm just guessing here, but I don't think that Apple is all that interested in making it easier to develop cross-platform applications. From their point of view, the best applications are OS-specific ones. So if you want a Mac application, you're best coding on a Mac, with Mac tools, and within that hardware eco-system. From this point of view, the same argument applies with Windows, Linux, etc... (albeit with the ca…

Apples interest in making cross platform applications easier waxes and wanes with their market share. If I remember correctly, they were quite keen on java and making it work well at one point.

They still heavily use Java on their backend systems, but that's not what we're talking about here...

You're right - they did have a Java-Cocoa bridge early in OS X, but deprecated it quickly when it was difficult to translate Obj-C semantics into Java. I remember trying it, but it wasn't really that easy to use. Even in this case though, the idea was to write Mac-specific applications, just in a different language. Most of the application's magic was still in the ObjC/Cocoa layers, which weren't cross-platform (or were they - I can't remember if there was a Windows port at sometime??).

While this would have made it easier to write cross-platform applications, realistically, that was never the goal. I think the goal of the Java-Cocoa bridge was to offer a backup plan in case too many devs didn't like Obj-C. At the time, Objective C was a novel language for many people. Once Obj-C got enough mindshare and it looked like it got enough of a buy-in from developers, Apple ditched Java quickly. I'm sure the licensing issues from Sun in the early 2000's didn't help matters here.

Also, it's only been fairly recently that Apple turned over the Mac Java port back over to Oracle. For the longest time, Java developers on Macs were always a version or two behind because they were on the OS X release schedule, rather than the Oracle/Sun release schedule.

Re: Virtualize OS X on Linux

#52
post #43
post #34

Earlier quoted context omitted.

That's the point. I don't want to have to ssh into it. However, since I can't legally virtualize MacOS on my laptop I'm forced to in order to make sure that my software works fine on MacOS. That's why I'm resentful toward Apple. They make it really difficult for people to develop cross platform applications that work on MacOS and the only response I tend to get is a smug, "Eh, just buy a Mac Book."

> only response I tend to get is a smug, "Eh, just buy a Mac Book." Of course. Back in the day we had to buy Commodore 64, Spectrum, Spectrum +, Spectrum +2A, Spectrum +3, Atari ST, Atari Falcon, Amiga 500, Amiga 1200, PC, .... and Mac. So those of us that enjoy a packaged experience of OS + Software + Dev Tools are more than used to it. The culture of the hardware doesn't matter, just give me a CLI and a 2D frame bu…

6502 on the Commodore, z80 on the ZX's, 68k on the Ataris, Amigas, and Macs, x86 on the PC (and different hardware architectures, even when they had the same family of CPU)...compared to x86_64 on a PC architecture for just about anything now, with the biggest hurdle being legal, not technical.

That's not an "Of course" situation. It's a "bang your head against the wall in frustration" situation. The hardware is commodity hardware, so the software runs on the same hardware that everyone owns, but you're legally required to pretend that it doesn't.

Re: Virtualize OS X on Linux

#53

It's really sad that the only way to get macOS running in a virtual machine is with hacks and tweaks. I'm working on a cross platform desktop app written in Qt and while it should theoretically work on macOS I haven't had a chance to actually try it, because I don't own any Apple computers. Apple is shooting themselves in the foot.

> Apple is shooting themselves in the foot. How is that exactly? A huge majority of developers in your situation go out and buy a Mac; another hardware purchase in their pocket. This is part of their business strategy: developers are forced to participate, and by and large they do just that. It hurts you far more than it does Apple by refusing to participate. If you believe you're "hurting Apple" by not developing fo…

> How is that exactly? A huge majority of developers in your situation go out and buy a Mac

CI. You have to jump through inordinate hoops to have a CI system that tests on OS X. In the cloud there's Travis CI that supports OS X, or there's the GitLab runner that can drive Parallels or VirtualBox (incl. snapshot and rollback).

Re: Virtualize OS X on Linux

#54
post #50

Earlier quoted context omitted.

You get all the Unix goodness you would get from Linux combined with the commercial polish you're used to from Windows (even more so).

For me "all the Unix goodness" is a proper package manager, an environment I can modify as much as I want and nowadays too an environment that doesn't have yearly big updates, but a rolling release. My desktop has stayed exactly the same[0] for almost seven years already. My configs follow me from job to job and from computer to computer. I don't want or need changes, just an editor and a proper *nix kind of operatin…

> rolling release

That pretty much limits you to Debian unstable... Or Windows, if forcibly upgrading counts as "rolling."

But wouldn't a rolling release be the exact opposite of what you'd want if you want no changes, ever? And if that's the case, just don't upgrade macOS until Xcode forces you to, that usually gives you a few years. I stayed on Snow Leopard for years until Apple put a gun to my head, but Mavericks and Yosemite gave me no problems; everything worked just like it did before. (I still miss Snow Leopard, though...)

Re: Virtualize OS X on Linux

#55
post #43

Earlier quoted context omitted.

> only response I tend to get is a smug, "Eh, just buy a Mac Book." Of course. Back in the day we had to buy Commodore 64, Spectrum, Spectrum +, Spectrum +2A, Spectrum +3, Atari ST, Atari Falcon, Amiga 500, Amiga 1200, PC, .... and Mac. So those of us that enjoy a packaged experience of OS + Software + Dev Tools are more than used to it. The culture of the hardware doesn't matter, just give me a CLI and a 2D frame bu…

6502 on the Commodore, z80 on the ZX's, 68k on the Ataris, Amigas, and Macs, x86 on the PC (and different hardware architectures, even when they had the same family of CPU)...compared to x86_64 on a PC architecture for just about anything now, with the biggest hurdle being legal, not technical. That's not an "Of course" situation. It's a "bang your head against the wall in frustration" situation. The hardware is comm…

> x86_64 on a PC architecture for just about anything now,

Not in any of my pockets or devices at home, besides the laptop.

Re: Virtualize OS X on Linux

#56
post #51
post #49

Earlier quoted context omitted.

Apples interest in making cross platform applications easier waxes and wanes with their market share. If I remember correctly, they were quite keen on java and making it work well at one point.

They still heavily use Java on their backend systems, but that's not what we're talking about here... You're right - they did have a Java-Cocoa bridge early in OS X, but deprecated it quickly when it was difficult to translate Obj-C semantics into Java. I remember trying it, but it wasn't really that easy to use. Even in this case though, the idea was to write Mac-specific applications, just in a different language.…

The Java-Cocoa bridge was only an early bet as they weren't sure if the Mac developers were keen in jumping into Objective-C.

They dropped it the moment they realized most of them were happy to use Objective-C and somehow they were the first company to turn back the tide from JIT to AOT compilation.

Yes, back in the NeXT days there was a Windows version of the whole Objective-C dev environment for Windows, and also an initial port of Cocoa to Windows when it was still called Rhapsody.

As for fairly recent, it was almost 10 years ago. :)

Re: Virtualize OS X on Linux

#57
post #55

Earlier quoted context omitted.

6502 on the Commodore, z80 on the ZX's, 68k on the Ataris, Amigas, and Macs, x86 on the PC (and different hardware architectures, even when they had the same family of CPU)...compared to x86_64 on a PC architecture for just about anything now, with the biggest hurdle being legal, not technical. That's not an "Of course" situation. It's a "bang your head against the wall in frustration" situation. The hardware is comm…

> x86_64 on a PC architecture for just about anything now, Not in any of my pockets or devices at home, besides the laptop.

In context of the discussion, we seem to be talking about personal computers, not hand-held devices, and my comment reflects that.

Re: Virtualize OS X on Linux

#58
post #32
post #20

Earlier quoted context omitted.

Honest question: do you need Apple hardware? Or Apple OS? Nowadays linux can certainly run on Apple hardware without any extra effort

Not everyone wants UNIX clones and there are toons of goodies on the OS X stack for doing desktop development for people willing to pay for it.

> Not everyone wants UNIX clones

Technically OS X is a "UNIX clone"

> and there are toons of goodies on the OS X

You mean there is a Clippy for OSX?

Re: Virtualize OS X on Linux

#59
post #54
post #50

Earlier quoted context omitted.

For me "all the Unix goodness" is a proper package manager, an environment I can modify as much as I want and nowadays too an environment that doesn't have yearly big updates, but a rolling release. My desktop has stayed exactly the same[0] for almost seven years already. My configs follow me from job to job and from computer to computer. I don't want or need changes, just an editor and a proper *nix kind of operatin…

> rolling release That pretty much limits you to Debian unstable... Or Windows, if forcibly upgrading counts as "rolling." But wouldn't a rolling release be the exact opposite of what you'd want if you want no changes, ever? And if that's the case, just don't upgrade macOS until Xcode forces you to, that usually gives you a few years. I stayed on Snow Leopard for years until Apple put a gun to my head, but Mavericks…

Debian Unstable isn't the only rolling release distro. Another popular one I can think of Arch Linux.

Typically, changes in rolling releases are easier to deal with. At any time, the change is smaller, so you don't have to be overwhelmed by a large number of changes all over the place, as is sometimes the case with versioned releases; and the changes are fresher, so your inputs to the developers who made the change are easier to apply.

Re: Virtualize OS X on Linux

#60
post #40

Earlier quoted context omitted.

God, I wish the opposite! After years of using AwesomeWM [1], now that I'm stuck in OS X for work I feel like I'm tied down and handicapped. While I'm around, anyone know the keyboard shortcut to UNminimize a window? [1] https://awesome.naquadah.org/

Another method is to ⌘-tab to the minimized app, and while still pressing ⌘, hold down the Option key and release ⌘. Not very elegant and it won't work if the app has a mix of minimized and non-minimized windows, but I usually don't have a mix. If that's the case, you can still use notyourwork's method above.

I liked how some WMs handle windows of same application. I can Alt-Tab to a window of an app, and then — without releasing the Alt key — Alt-` to a different window of the same app.

On Kwin, for example, going from Alt-Tab to Alt-` smoothly filters out all the non-same-app windows.

Alt-Tab => Alt-` is also much easier than ⌘-tab => ⌘-Option => Option

I'd think OS X's WM would have ⌘-tab => ⌘-`

Post reply on HN