20 comments

[ 0.25 ms ] story [ 60.7 ms ] thread
Strange you would think a MacBook running OS X is closer to Linux than a Thinkpad running Linux.
I think he meant a Thinkpad running Windows.
either he is full of shit or he doesn't know squat about package management. you can always install from source.
I don't think he wants to install from source. It sounds like he wants definitive, tested, binary packages.
What is he missing? I use Emacs on the Mac. AquaEmacs is nice. Sometimes getting binaries is a hassle. I use homebrew these days.

Linux is a great platform. However, it's still lacking the polish and commercial support. Where's Photoshop CS5? OmniGraffle? The big thing now is I'm doing iPhone/iPad development. I still have a Linux server but it looks like I'll be doing my main dev on a Mac for the foreseeable future.

Installing from source has no relationship to package management. Even if we compile both library L and application A from tarballs, we're still doomed if there's no database entry somewhere to warn the sysadmins that switching major versions or uninstalling L may blow up A which depends on it.

Glad to see someone else building real OS packages (it's not hard!) rather than hoping that nothing happening outside their single-language ghetto can hurt them.

um, your second statement has nothing to do with the first statement. The whole point of a good package management system is so that you don't have to do a

    tar xvzf foo.tar.gz;cd foo;./configure && make;
for every piece of software you want.
His points may be valid but his language is that of a 15 year old. It's a wonder he has a job.

Anyway, here are the problems:

1. All Mac users should be using Homebrew now - that ship has sailed. Fink and Ports have advantages, but not in the typical situations.

2. Cost? Get over it. Any employee's salary plus expenses is an order or two of magnitude higher than the hardware he or she is working on.

3. Staging environments solve the OS problem. Just have staging and integration be on the exact same OS as the production system. This is the only realistic solution. Even if you're running Ubuntu 10.04 desktop and the production system is 10.04 server, there are still going to be not inconsequential differences.

4. In a Python world, this just doesn't matter. PIP should be used to manage libraries and freeze versions.

This is the usual insipid nonsense one gets from closed-minded programmers who unfortunately populate all platforms.
OSX package management is indeed annoying - which is why I do almost all development SSH'ed into a linux box. You'd think this is fragile, "What if you don't have internet access?" but in practice, especially with a MiFi, this never comes up.
(comment deleted)
You have refuted almost none of the points he made.

He's not talking about Mac/iOS app development so Xcode is irrelevant.

He's not talking about making static content sites - so Coda isn't relevant.

These laptops are made out of unibody aluminum and the keyboard glows in the dark

Now I'm wondering if you're just being sarcastic.

I know there are lots of people who use Mac OS X for web development so I'm interested in hearing what they have to say about how they manage.

I've used Mac OSX for web development for years. The trick is to NOT invent some stack of tools that is so complicated it takes days just to get it running. If that's what you have you are doing something wrong. Just whining that Europe is unsuitable for hair dryers because my plug won't fit is lame. Man up and use Emacs? That sounds so macho.
Setting up a local dev instance evolved into a pathological week long chore at any of the startups I've worked at in the past five years. Sadly, he's right and it is impossible to package up what you need in a sensible manner across multiple platforms. However, most of the toughest bugs I experienced involve the interaction between the load balancer/caching layer and the app layer, or how the system performed when the database was huge. These are impossible to solve with a local instance, anyway. Might as well start out with a process like Quora and have developer instances which you can spin up in the cloud. Having a local setup at all is a waste of time in a world with cheap cloud services.
Coming from Windows to Linux, the package management was one of the coolest things! I kind of expected the same on OSX, but I've had the same confusion expressed in the rant. What do you use for package management?
What a crock of shit. None of the "package managers" he mentions are OSX. They are add-ons by people like him who want OSX to be Linux. Plenty of web developers use Macs day in and day out, me included. What he is really complaining about is his employer's stack is ill-suited to running locally on OSX. It probably sucks on Windows, too. Anyway nothing stops him from using Ubuntu on his Macbook.

This is the same "Toyota Prius is unsuitable for plowing snow" crap that geeks with big egos post thinking they have something interesting to say.

Either use the same platform for development as you use for production deployment, or use tools that are compatible across deployment and dev platforms. And stop whining.

I do find Mac OSX slightly inconsistent at times - to install desktop apps, drag to Applications; to install lower-level stuff, double-click the .mpkg file. Where is the uninstall for the .mpkgs?

The most annoying thing I find about other people's Macs is the case-insensitive filesystem.

include "lib/myfile.inc.php";

will work fine on the mac, but by the time it's deployed on the production Linux servers it breaks horribly because the file is _actually_ called MyFile.inc.php.

I just wish they were case-sensitive by default.

As a Linux sysadmin in charge of said production servers, I'd much rather have a yum repository with RPMs (or Apt repo with .DEBs) in it that I can deploy with none of the fuss, rather than language/platform/framework specific installers.

I can't say I entirely agree with the way he's phrased it, but I do understand where his frustrations come from.

I use a mac laptop (13" Air) - they make very nice hardware. I don't always find the desktop environment to be the easy-to-use, fulfilling experience that other people have reported.

OSX's open source programs are either made and heavily tested in house, or the versions of the community open source projects that are heavily tested at the time of inclusion. So this would be the release that is already a few months old at the time of inclusion, which is probably a long time before release. So yes, you will get old versions. I'm pretty sure that only Apple-written source code will get updated between now and Lion's release.

Also, OSX is barely hardened for server use.

Tbh I wish there was a lighttpd/sqlite/php6/pear/gd/etc package, with binaries focused on each hardware revision of everything intel based. It wouldn't be too hard, and it'd save the bother of everyone less capable compiling the same thing.

If your production environment is Linux but you're developing on another platform, what do you expect?

You'd have the same issues if you developed on Debian and deployed on RedHat Enterprise.