2 ms·
Somewhat tangentially related, a Sass I worked at, most devs preferred MacBooks for their dev boxes (ruby on rails + Java). At the time, Windows 8.1 was out. Ou
by hermitdev 7y ago
Somewhat tangentially related, a Sass I worked at, most devs preferred MacBooks for their dev boxes (ruby on rails + Java). At the time, Windows 8.1 was out. Our target runtime env was Ubuntu. I preferred to do all my development in a linux VM. I was constantly finding bugs that were checked in because they assumed the other devs assumed that their Macs mirrors the deployment environment. Except, it didn't
Most common culprit was case sensitivity issues. APFS, by default, like NTFS, is case insensitive, unlike most common Linux filesystems. APFS can be made to be case sensitive, but it turns out, breaks a non insignificant number of Mac targetted apps.
Of course, this breaks when you have a case difference when deploying to Linux. E.g. cannot import a ruby module because of a case difference in a filename. In my experience, the belief they were running on a *nix meant my fellow devs thought they were immune to fuckups they associated with Windows, but they were wrong and abstinent/arrogant about issues when confronted about it, by me, because I was running Windows (although running our code in a linux VM). I hope thats not everyones experience, but that was my one experience with Mac users targeting Linux for deployment. Seriously had a hard time convincing them there were problems because "it works on my machine," to which of course I responded "deploy it and run the tests again."
To;Dr; MacBook != Linix laptop. Gets you maybe 95% of the way there. Still better off using a linux VM than relying upon same behavior between OS X and Linux. Besides, OS X is not even linux based. It's originally based on Net BSD (I have no idea how far the kernel, etc have deviated since).
- myrandomcomment 7y agoThey UNIX parts of Darwin was based is a derivative of 4.4BSD-Lite2 and FreeBSD.
- hermitdev 7y agoYes, meant to mention that OS X is largely BSD derived, and certainly not Linix derived. Though, I am under the impression that OS X was derived from NetBSD, not FreeBSD. An aside, I ported NetBSD's strptime to (modern at the time) C++ in internal code at a previous employer, because we needed a cross platform DateTime parsing routine. (And strptime is not posix and not generally available to posix systems). To the best of my knowledge, there's still a bug in handling timezone offset parsing. Its been too long for me to remember exactly, but circa 2008, the man page definitely did not match the actual source behavior.
- myrandomcomment 7y agohttps://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/BSD/BSD.html https://developer.apple.com/library/archive/documentation/Da... “The BSD portion of the OS X kernel is derived primarily from FreeBSD, a version of 4.4BSD that...” https://wiki.freebsd.org/Myths https://wiki.freebsd.org/Myths “The two operating systems do share a lot of code, for example most userland utilities and the C library on OS X are derived from FreeBSD versions.”