4 ms·
I've heard it said that the greatest minds of our generation are thinking about how to make people click ads. However, I feel like the greatest minds of our gen
by sreque 9y ago
I've heard it said that the greatest minds of our generation are thinking about how to make people click ads. However, I feel like the greatest minds of our generation are spent trying to figure out how to enable people to build Linux software on OSX. Whether it is:
* a convoluted process involving Vagrant, Docker, or both, because you depend on one or more pieces of software that don't run at all on OSX, including Docker itself.
* slogging through bugs specific to services running on OSX because they really only support Linux well, such as Cassandra or Kafka, or even MySQL.
* Getting shells scripts that work reliably on both OSX and Linux, especially as the tools used to do so break backwards compatibility, either by Apple itself or by 3rd party tools like HomeBrew.
* Getting a consistent development environment at all on OSX. Doing so seems to be much easier on a Linux distribution than on OSX.
And that's not even talking about general issues like:
* incredibly flaky bluetooth drivers, often requiring a full restart to fix, if not having to reset some weird hardware bit.
* My laptop randomly not waking up properly from sleep and requiring a restart.
* My laptop randomly beach-balling more often than I ever saw BSoDs on windows.
* OSX seeming to just run really slowly compared to Linux whenever it is stressed in any meaningful way.
* My laptop's wifi not working with random wifi endpoints, such as at the airport or hotel. Whether it's router software bugs or OSX bugs, I am always able to connect just fine on my windows laptop.
* Having to deal with OSX's incredibly outdated userland and its BSD-specific userland. Yes, there are workarounds, but they are generally a pain to figure out and have not been standardized in our environment in any way.
* For a few months my OSX terminal was SEG-faulting about twice a week. I learned to be very grateful for screen/tmux during that time. At some point Apple seemed to fix it, at least.
At $lastjob we were actually developing a Linux service that relied heavily on Linux APIs because it was essentially creating full-on Linux containers like Docker. Before I joined, the previous developers, all big apple fans, were actually going through the tremendous effort of trying to make the service at least build and run on OSX, even if it no-oped most of the things it did.
When I joined, one of my first acts was to completely remove OSX support for this service, and I promise you that life got way easier ever since. Our development processes got simpler. Our build system got simpler. And most of all, our source code got simpler and easier to read.
Granted, most of us aren't developing software that directly calls into Linux APIs, but even then I think you'll find huge productivity wins if you just use a Linux laptop or desktop, assuming everything else is equal.
- unclepresent 9y agofor everyone who wants to expirience a hell of developing software for linux under OSX i suggest to try to build apache httpd server from source on mac. it seems to be a trivial task on Linux but it is a hell of nightmare on OSX. I am saying this just because having a custom build version of apache is a commin need for many web projects.
- Myrmornis 9y agoOnce you've got to the point of needing to match your production server technology, doesn't it feel like you should be using a VM or docker (assuming you're tied to MacOS as the development environment)?
- stiGGG 9y agoYeah, i don't understand this argument. Even all the devs i know working under linux are doing all their development under docker or VMs to match the live environment and being able to switch between different projects more easily. And even when you have only one project, who wants to run debian stable or centos as his main OS?
- gurkendoktor 9y ago> who wants to run debian stable or centos as his main OS? I haven't used these two in particular, but if they support flatpak, why not? You'd have the same packages as on the server plus the latest versions of GUI apps.
- stiGGG 9y agoInteresting point, is flatpak already a mature thing?
- gurkendoktor 9y agoI've used flatpak on an Ubuntu 16.04 base without issues. There are limitations, for example you can't easily replace/update your window manager through flatpak or snap. But for user-facing apps, it's really a great step forward.