Why Mac OS X Is Unsuitable For Web Development
Hugh Pickens writes "Ted Dziuba has an interesting and amusing post on how he made a big mistake when he was offered a choice for his company laptop. His options were a Lenovo Thinkpad or a MacBook Pro, and he picked the Mac, thinking it would be closer to what he was used to. So what's wrong with using the Mac as a development machine for Milo, a Python application backed by PostgreSQL and Redis? 'I've only poked around a little, but so far I've found three separate package managers for OS X: Fink, MacPorts & Homebrew,' writes Dziuba, adding that when you are older, you will understand the value of automated version dependency satisfaction. Next is that your development platform should be as close as possible to your production platform, but 'OS X and Linux have different kernels, which means different I/O & process schedulers, different file systems, and a whole host of other implementation details that you'll write off as having been abstracted away until you have your first serious encounter with "It Works On My Machine.'" Finally, he says, Textmate sucks. 'Sooner or later, you have to face facts. Man up and learn Emacs.'"
I was going to say "I can't test to see if my websites work in IE9." (Note that I no longer care about 6, 7, or 8.)
That's like saying man up and go see the new production of Glitter Boys on Broadway and then go get a pedicure.
I think he must have meant "man up and go learn vi".
I would never develop on a platform where you have to press Alt-Ri---er, Command-Right to do what the Home button does on any other platform.
hasn't this guy heard of MAMP or XAMP in some flavor?
Configuring XAMP to run with python isn't exactly difficult. neither are the vast array of text editors available for OSX.
Seriously, what the fuck?
Non impediti ratione cogitationus.
...unless you expect it to let you do Linux development.
Of course, you can dual-boot Linux on it or run it in VMWare. But you knew that, right?
Web development with emacs? Are you a masochist, or only design 1994-era text-only websites?
Lazy asshole gets a laptop, blogs about it. Film at 11.
i always used a lot of virtual machines. i had like 8 at one time. and i always had a VM that was as close to the dev machine as possible so i could test things and not get a "it works on my machine" in fact after a while i would only work on the dev environment that the bug was discovered on. doesnt matter what your computer's OS is as long as you find it easy to use.
Using Emacs as your main tool for web development is like pounding nails in with your fist instead of a hammer. Sure, you could do it, but other than a misguided need to prove your masculinity and/or street cred, why would you?
What's worse, instead of making you seem like a badass, it mostly makes you look like somebody who doesn't understand the concept of their being a right tool for a job. Special butterfly keystrokes notwithstanding, Emacs isn't the best tool for every job, including this one. Nor is any pure text editor, honestly.
Finally, he says, Textmate sucks. 'Sooner or later, you have to face facts. Man up and learn Vi.'"
Fixed that for Hugh.
Most projects have the binaries packed nicely, so you don't have to fiddle with fink/macports/flavor of the month.
Different I/O and process schedulers? Oh noes! If only we had posix and libc to abstract that crap away!
Last one is the best. I guess I didn't get the memo about textmate being forced on all mac users.
There's nothing wrong with using a Mac. Ever heard of Windows and how it runs on Intel Macs? OSX is not synonymous with the hardware.
I don't get why he doesn't just install Linux on his Mac.
There are a half-dozen suitable virtualization packages that he could use and installing it as a dual-boot OS is trivial.
He can get the best of both worlds with almost no effort.
Why don't people do a little research before posting anti-Mac rants?
If your production target is Linux, then NEITHER Mac nor Windows are good development boxes. So shut up, install Linux (bootcamp or in a virtual machine) and get to work. Whine and whimper because Mac doesn't hold your hand --- MacOS is designed to hit a target market and it's not people developing for systems other than Mac.
That's what virtual machines are for. You can use whatever OS you want for your day to day stuff and then have setups for whatever your development and testing requirements are. Plus, for web development, you could then test with Safari on Mac, Safari/Firefox/IE/Opera on Windows and Konqueror/Firefox/Iceweasal on Linux and have all your bases covered. (Hell, you could even test on Lynx if you wanted!)
"Be particularly skeptical when presented with evidence confirming what you already believe." -
I don't see much in the way of reasoned argument there. Also has he not heard of VMWare or Virtual Box? With things like Vagrant, using VBox is trivial. Besides, like any tool, if it didn't let people get the job done it wouldn't be used.
When will emacs or vim be available for Mac??? Python packages are also a huge problem on a Mac. It is not like setuptools exist for Mac OS X.... Also, when I develop for the web I always format all my devices to HFS+. I will never use FTP or SAMBA as they do not work on Mac.
And stop whining. The MBP can run Ubuntu natively (very well too).
Seriously? Vim all the way!
I am so glad I have an automated package handler that can take care of dependencies on Windows. I love doing c:\sudo apt-get install Milo.exe to take care of everything. Oh wait.
In all seriousness Linux is incompatible with each other. Many people with laptops that are funky with Ubuntu run Fedora or SuSE. I have seen packages that run fine with Ubuntu and if it does not with Fedora then its "runs fine on my ubuntu machine" and users treat it like the only true Linux distro. MacOSX is no different.
What IDE does this guy use I may ask? With CSS you can not use Vi or emacs. Html is out and CSS is in. I hate CSS with a passion but you never will know what it looks like unless you use MS Expressions or Adobe Dreamweaver to give it eye candy to attract users. I wish there was a free gui tool for Linux so I could still use it for this purpose.
http://saveie6.com/
...developing Gopher sites, you insensitive clod.
There's no -1 for "I don't get it."
He'll have an aneurysm when he finds out about the case insensitive/preserving filesystem.
right.
sensationalistic headline much?
Like anyone can even know that
Dude, OS X gives you access to great development tools (XCode, Pixelmator, Adobe CS). Plus all the Unix goodies to publish your content (scp, rsync). I develop on OS X, and have a bash script to post the content to a local vm or the production server.
I will not mourn that which I never had to lose. - Unknown
The thing he seems to miss is that he could use VirtualBox to run Windows and Linux instances for testing. Who would assume you could run a ported version of something and get it to work exactly as it did under Linux?
Only an OS X system gives you the ability to easily try things natively on all three systems, since creating a hackintosh is not really supported.
As for Textmate sucking? Well I run Aquamacs. Perhaps he should do the same if he likes Emacs as I do for a primary text editor.
Honestly the whole thing comes off as someone that spent almost no effort whatsoever trying to learn the basics of the system he was on and is generally just a poorly informed rant placed here as red meat for the Apple Hater crowd.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
After looking at his website, I really don't think he should be offering advice on what tools to use for designing websites.
Just saying.
The real Sig captains the Northwestern. This one captains
OS X and Linux have different kernels, which means different I/O & process schedulers, different file systems, and a whole host of other implementation details that you'll write off as having been abstracted away until you have your first serious encounter with It Works On My Machine.
I can't imagine writing code so finicky and unstable that it can only be cajoled into running under such a specific environment. If those details are important, then the software should be developed specifically to handle various cases. They way he describes it, it's a bunch of voodoo that can't fully be understood, and whenever the product doesn't work they simply place blame on some nebulous external factor.
Better known as 318230.
Wow, great article.
It only managed to appeal to every single religious debate on /. VI vs. EMACS, Apple vs. *, the only thing I haven't seen debated so far is his choice of PostgreSQL vs. MySQL or Oracle.
Well done troll, well done.
You just initiated a PC vs. Mac and an Emacs vs. Vi flamewar in one article? Are you MAD??? Don't you understand the potenia#%#$^#$^ NO CARRIER.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
He got a Mac to do Linux development and is complaining that it's not what he's used to? Ummm, ok. All the web development tools I use are on the Mac, but I also have to test deployment on Windows and Linux browsers, so I use this really useful thing called a VM. I wonder if he's every heard of them. Or of course he could just install one of the available Linux distros natively and be done with it.
There are some people who will complain about everything...
Huge binary repositories that try to include as much compatible open-source software as possible (as found in a distribution like Fedora or Debian) are unique to Linux distributions, and specifically those distributions that are openly developed (Red Hat Enterprise Linux and SUSE Linux Enterprise both include a much smaller set of packages than Fedora or OpenSUSE). Other UNIX operating systems usually have a smaller core set of fully supported software, and then often have a build system or binary repository of additional open-source software; sometimes this is provided by the vendor, sometimes it's not.
That is exactly his problem. He has a deployment environment that's different from this development environment, and he expects them to be the same when they're clearly not. This is quite possibly the stupidest drivel I have ever read, and obviously he's an amateur programmer. If your deployment environment is Linux, then get a Linux box to develop your code. His argument is just as stupid as saying "Windows is unsuitable for developing Linux software". This clown should be catapulted into the sun.
Furthermore, if this guy is a Web developer, then why is he concerned about underlying architectures? Stick with HTML and CSS and leave the heavy coding for the adults.
What a whiner. I use a Mac every single day for doing web development. Know how I get over the fact that I'm not deploying to a Mac in production? It's called a continuous integration (CI) and staging setup! You build your app locally and ensure the core of the test suite passes and then you push your changes up to CI where everything gets run against a test server stack that should be nearly identical to your production environment. And if the CI passes then the code get auto-deployed to the staging server for QA evaluation by the client, or other responsible party. And after they've signed off you kick-off a deployment of the code into production. And if I can't, don't want to, run CI and staging environments outside my system, I can fire up Parallels or VirtualBox and create a test environment. Boo hoo! This problem isn't remotely interesting unless you don't know what you're doing.
Even if I knew that tomorrow the world would go to pieces, I would still plant my apple tree. -Martin Luther
I develop web using photoshop, css, html, javascript, php and mysql; it really doesn't matter what kind of machine I'm using (oh wait, no photoshop for linux, I guess it does)
Sooner or later, you have to face facts. Man up and learn Emacs.
yeah, quite amusing.
The Lenovo would likely come with Windows. If his target was Linux, and he wanted to be oh so close to the target, then he would had to instal a flavor of Linux on that laptop anyways. WHY cant he install some form of Linux on the Mac? I guess he is man enough to learn Emacs but not man enough to instal Linux.
I don't get it... Simply install linux on the mac pro.
He can install Linux on his MacBook Pro, as I did after I got fed up with Mac OS X. He can even install vmware on Mac OS X tho
I say as I'm about to have to rewrite some code to not use a JDK 6 method so that the Macs in the office can continue compiling code...
First, I've developed on OSX, windows, and Linux (mainly ubuntu and CentOS)... OSX is by FAR the easiest to work on as a developer. When I switched to OSX about 4 years ago after 6+ years developing on windows / linux I became VASTLY more productive and spent far less time fixing my computer and more time actually doing work. The price tag I'll never argue. They are over priced.
Also, who cares if it's a different kernel. First of all, it's certainly closer to the CentOS server you're (probably) going to deploy it on than your windows computer. More importantly, we're talking about Web Development here right? If you're doing coding that is low level enough to be effected by the kernel then you should probably be developing on a environment that is a clone of your production server. You can still use your Mac Book to interface with it via FTP or SSH... or as others have suggested you can always just load up a virtual box running the exact OS of your production server to test against.
Final word.. I'm not a mac fan boy or anything... I do use a mac for most of my development, but I also use linux and windows computers regularly. I have employees that use windows I think it's whatever feels best to the individual and to me Mac is the most comfortable environment for development I've found. To argue you can't or shouldn't develop on a Mac is just absurd.
----------
Trying to fix or change something only guarantees and perpetuates it's existence
This problem is common to both Windows and Mac. But the difference is, in Mac, people will force you fix your code and make it work. In Windows you had been just shrugging and say, "It works in my windows machine, must be something wrong with your non standard system". All that bad karma has caught up to you and now you are bellyaching about having to actually fix your code.
Man up and fix your code buddy. In Mac/Linux world we don't coddle lazy coders much.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
The only thing I got out of this is that Ted Dziuba sucks at web development. Somebody should introduce him to the concept of development hosts and staging servers.
Now if it had been XCode sucks for development (aka: iPhone development sucks) he may have had a point. OSX has vim, a browser, ssh and svn/git, if you need or want anything else for web development the problem isn't with your OS!
I'm a linux sysadmin who uses osx as a client and it seems like macs just love to cache everything and then some. I seem to run this command way to often to fix DNS and dscl lookup issues: dscacheutil -flushcache
Worked on my w7 machine and crashed when running on XP :)
Turned out to be something with timeouts in the TCP-IP stack implementation of both versions of windows.
Privacy is terrorism.
I agree that Mac OS X is bad for web development. That was my impression too, after I've bought my Mac Book. After a while, I realized that I can just use VirtualBox or VMWare to run a Debian dev environment. Running Debian has the advantage of replicating my production environment, so I know what modules and external binaries that I need to install later on. I also don't make the silly mistake of using incorrect capitalization on file names, since my file system is case-sensitive.
Textmate? Yeah, it's not suitable for programming. I solved this by mounting my dev VM using sshfs, and by editing my files through MacVim.
I'm not sure why "TextMate versus Emacs" enters into this, especially since MacOS ships with Emacs and does not ship with TextMate. Can anyone explain?
I'm a developer (sometimes web) with a MacOS desktop. I've never heard of TextMate. I use Emacs quite regularly (and have since 1986, on equipment by Sun, IBM, DEC, NeXT, et cetera).
Who is Ted Dziuba? What has he done to deserve our attention?
> "...OS X and Linux have different kernels..."
Damn. I just realized that all my web development has been a sham. I mean, if I were doing REAL web development then this kernel stuff would have blown up in my face, too.
zc.buildout, really. Just stop depending upon OS/distro providers to get you consistent build deps; make your own, and make it build/update on multiple platforms. I tolerate Mac development daily with it, without it I would be pulling my hair out.
Should say: Why Mac OS X Is Unsuitable For someone who writes web apps in Python and refuses to use an legitimate IDE.
I guess if you are still determined to keep up your hardcore hacker cred and work in unproductive technologies, this may apply.
But for those of us that grew up and realized that effortlessly cranking out web applications == a career. Hello Grails, IntelliJ, Mac OS X.
Obviously that's a joke, but it's also a serious problem in some instances. If you have a case-insensitive filesystem filling your whole disk partition and need to test case-sensitive applications, you can create a case-sensitive disk image using Disk Utility or hdiutil, then test your app on that. I had to do this in Subversion recently while troubleshooting a problem that had all the symptoms of a case-insensitivity problem.
what a stupid post... and I'm not even a mac-lover
I think the problem isn't development on the Mac, but testing on the Mac. Code can be written anywhere, this is why we have nifty things like cross-compilers. You just have to test it on the target platform.
Give me Classic Slashdot or give me death!
Um, ahem...
This is a very reactionary post and does not belong on the front page of Slashdot. There are a lot of options to address the issues the author brings up and the premise of the article is misleading. Also, the author clearly references Windows development issues, which means he lacks essential open source credibility and should be shunned by the community.
I mean:
- How about Eclipse as an IDE? That should be better than emacs and textmate for most things.
- How about MAMP with SPMPT for Postgres? You could also script start and stop scripts for redis in MAMP similar to the ones that exist for memcached.
- While fink, macports and homebrew all do suck in their own special way (homebrew is a little suckier), what's to stop you from writing your own ports for them? Isn't this the way rpms caught on, where people knew how to compile them in the first place?
Maybe the polyphany of OSX package managers leads to issues but the same issues have existed in the Linux world for years and it's taken a lot of effort to resolve them. People took the time to resolve them, and that's what lead to a better system. You can't criticize "Mac culture" for offering the same opportunities available to linux users, sorry you don't feel the need to contribute.
- As far as file systems go, so help me, most competent developers can deal with this pretty easily. Since the author cites 'grown up' developers in his article, I guess that means grown ups are too lazy to do something about file systems when writing applications. Like make applications for linux and BSD and ignore windows altogether, or use a windows machine for creating windows applications.
Wow, this guy is an idiot, a troll, and especially a tool. Just a few paragraphs into this "editorial", we can find this lovely gem:
"... has convinced me that Mac users, in the typical hipster fashion, brutally raped the Unix culture, throwing away everything that made it unique because they did not understand it. These Visigoths are the single best case for government mandated licensing for computer programmers."
Wow, really? Brutally Raped? Visigoths? Jesus Christ, I don't even know how to respond. In fact, it's kind of a shame, because for all I know, the author may have some legitimate points. But when he says something so obviously retarded, I can no longer trust what he says afterwards. When will Slashdot allow users to give individual articles scores? I think this one is worth about a -2.
"Why Ted Dziuba is unsuitable for web development", or possibly, "Why the web is unsuitable for development". Either works really.
Dude... develop on the same O/S that you are going to deploy on! OS/X is not Linux! Repeat after me, OS/X is not Linux! If I your target is RedHat Linux with a specific kernel version, guess what you should do, install it in a VM on your machine and develop there. Better yet, make it the native environment on your the system. That is what the big boys do.
MacBook Pros and ThinkPads are hardware. Linux, Mac OS X, and Windows 7 are software. Getting the ThinkPad wouldn't have helped in any way (unless you consider a cheap piece of plastic, with a low end display, that can't run on battery for 10+ hours an improvement). ThinkPads come with Windows 7 these days, which is vastly more removed from Linux than Mac OS X (which has always been UNIX-like and is now officially UNIX). The ThinkPad might cost less, and that is the only advantage I can see, but if your employer is paying, get the good stuff!
The MacBook Pro can run any OS the ThinkPad can run. Additionally it can run Mac OS 10.4+, allowing you to test your content on a wider range of client platforms. VMWare and Parallels make running a Linux test VM easy. Running test code on a VM is better than running it natively anyway, since your deployment servers probably aren't running Amarok, proprietary NVidia or ATI drivers, etc. In fact, you might even be able to get a copy of the production machine build image, and create a VM using that, for 100% accuracy. And then you can have multiple dedicated VMs for different versions of client OSes for testing purposes.
If you want to run Emacs, there's probably a very nice Emacs implementationfor Mac OS X (I use MacVim to develop for iPhone/iPad). There's also a very nice Terminal app (not quite as nice as Eterm or Konsole, but close), built in support for mounting NFS shares from your VMs, etc. Everything you'd expect from a modern UNIX OS.
I just spend $3200 (including tax) on a maxed-out 17" MacBook Pro. Call me crazy or dedicated or both.
But in my opinion, unless you're developing for iOS or MacOS X, the Mac is a poor platform for LOTS of different kinds of things. I'm a chip designer, for instance, and there is ZERO software for the Mac in this area. I have to run Windows in a VM just so I can synthesize for FPGAs.
The Mac also has a dearth of good code editors. On Linux, I really liked nEdit. It has everything, and it is intuitive (or at least I felt that way when I was using it). For Windows, I've enjoyed using Edit Plus and Ultraedit. But for the Mac, the editors generally just suck. Every single one of them has some kind of amazingly bad UI design flaw. For instance, I think it was TextWrangler where searching with wrap-around and search&replace in selection are mutually exclusive -- if you want to use hotkeys to do these things, you have to open the Find dialog and change settings to go back and forth, and the devs told me this was intentional, like it was a good thing. For a while there, I considered blogging about it, it was that frustrating. :)
Actually, of all of them, Smultron is my favorite. It's back in development. It's still buggy as hell, but the author seems to be willing to listen when I report bugs. It's lightweight, and the UI is simple, consistent, and intuitive. So, it's getting there. Give it a version or two.
For a lot of kinds of development, I just use the Mac as a client for some other machine. If I'm doing web development, I actually just mount files on a Linux server using SMB (because netatalk has problems and OSX doesn't support NFS well) and serve the web pages from there.
What the Mac IS good at is content development. Multimedia, documents, etc. If I want to make a presentation or diagram, I use Pages, Numbers, and Keynote, along with MacTex and OmniGraffle. There are quite a number of other net clients (like NetNewsWire and Adium) and other sorts of apps that are just wonderful.
You can use Netbeans and Eclipse on the Mac, but Java just doesn't integrate all that cleanly with other Mac apps. You can get used to it, though. But generally, the Mac just isn't so great for software development.
Never ever ever do development on your workstation, unless it's close enough to your production environment. If his company had enough $$ for a Macbook, I'm sure they can shell out another $400 or whatever for a Dell workstation that runs the same distro as the server.
No I didn't RTFA, but give me a break. It sounds almost as bad as developing an application using MS Access.
(Yes I have a MBP, and I develop on Linux servers all day)
Emacs runs just fine natively on OS X. I build my own, but there are lots of binary packages. I do a fair amount of python code; works fine, too. HOWEVER, for projects that involve databases, Apache, custom Apache modules, mod_python, and OS specific optimizations I use a VM. The reason isn't just one of compatibility or applicability, but of sane containment. I don't want all this stuff on my everyday system; I WANT it contained in a VM. When I suspend the VM I suspend this entire assortment of servers. If I screw up the configuration I can easily roll it back to a previous snapshot. The great applicability - meaning I can run a kernel and system configured exactly as the target server I plan to deploy on - is icing, though obviously quite important as focus switches from functional to performance and stability, and to fixing system-specific issues or crafting package install scripts. Usually one VM for development and one for testing - the latter checks that there are no dependencies on having dev tools installed (which a deployment server won't). For different projects you'll then obviously set up different VMs, so they won't step on each other.
Clearly this is all about user error.
First, use macports or fink, not both.
Second, if you are concerned with the kernel for web development you are doing it wrong.
Textmate is interesting, but BBEdit is fantastic. I've yet to find a GUI text editor that matches it. Oh yea Vim works well too.
BTW Apple has clear instructions on installing postgreSQL on their website (which is installed with Mac OS X server by BTW) and there are frequent releases of MacPython as binaries.
If pressed install Linux on a VM and get the best of both worlds.
--- Nothing To See Here ---
So you were picking a machine to do linux development on and your choices were Mac or PC. You state that you have VMWare but thats only for browser testing, and you still have a ubuntu desktop to "get real work done". Your mistake wasn't Mac or PC, it was NOT USING A VM DO MATCH YOUR DEPLOYMENT ENVIRONMENT!! Take the mac, load up an ubuntu vmware fusion vm and get back to work. Bonus side of fusion, its easy to move a vm between mac, windows, linux, and esx, so you're free to bounce around your dev environment in the future as needed. And the reason I say take the mac is because now you're able to run all three platforms, pick and choose the best apps for the task.
Look up his posts on forums like reddit and hacker news. In fact, he once claimed to be "the best troll that ever lived". Pffft, I did better trolling as a clueless teenager on Yahoo chatrooms.
www.panic.com/coda
Get it, love it.
There are multiple package managers for Linux - lots of 'em. Pick one and stick with it. The same goes for os x. If Textmate sucks and you want to use emacs, there's nothing stopping you from doing so on os x. At the very least, if you are going to make the ridiculous assertion that one should choose a development platform on the basis of which text editor you use, try to use one that isn't installed by default as your counterexample. As for abstractions being different below the level of the system call interface - unless you are absolutely NEVER going to run on any platform other than the one you are developing on, a little platform diversity actually helps you to find problems resulting from making assumptions about internal behaviour that may not be true. Granted, some ultra high performance code may need tweaking for a particular platform, in which case handle it conditionally and move on. I've seen bigger differences between linux 2.x kernel releases than exist between os x and linux in a lot of regards. How certain are you that you won't wind up running a production system on some kind of NFS server or other filer? If so, you are just as likely to find incompatibilities between your native linux dev environment and production as you will between OS X and production.
Are there significant differences between linux and OS X, some of which will certainly manifest in a project of any significant complexity? Of course. Does that matter? Not much. On the flip side, there are similar differences between the platforms when it comes to having an operating desktop environment that can serve as both enterprise desktop and development environment. I'm really not looking forward to the day when I have to go back to using linux for my desktop environment because Steve Jobs has done something I simply cannot tolerate with regard to closing the desktop to open source and end-user developed applications.
And for what it is worth, if you hate OS X so much, just install linux on the thing. It's not like you are prevented from doing so.
I am able to successfully develop on a Mac, and I can work for eight hours w/o a recharge. Look, we all have to decide what fits our own preferences then choose the right platform. Cost may be an issue for some folks but professional engineers should pick the platform and tools that will give them the best chance of success. That selection may change based on your own requirements.
"Sooner or later, you have to face facts. Man up and learn Emacs." -> MacVim works wonderfully for me, thanks.
"But really, Mac developers, stay out of the command line. You'll hurt yourselves." -> I can probably code circles in bash around the dumbass.
"You don't deploy to BSD So why the hell are you developing on it?" -> Mmmmh,... because I'm not..? Darwin / OS X != BSD. Get your facts right. Ooooh, I have to know 2 environments, ooooh how tough, how horrible. Go get yourself a burger flipping job if that's such a challenge for you.
The guy doesn't even have the excuse of being funny. /. for years.
That kind of trash is why I haven't bothered logging in
There was a Perl/Macbook related post to the freebsd-questions mailing list a few months back from someone trying to deal with package management problems for a client. After much wailing and gnashing of teeth, a solution was found and rejoicing was heard.
The solution? Installing FreeBSD in VMWare and calling it a day.
The poster was Randal Schwartz.
I link you another old dumb article where people wondered who the hell this guy was: http://developers.slashdot.org/story/09/10/11/2028249/Ted-Dziuba-Says-I-Dont-Code-In-My-Free-Time
I can't believe this guy is so naive he can't get his free laptop dialed in d00d! Throwing in the emacs quip can only be classified as troll bait. Speaking of troll bait, is it me, or does that guy need a serious de-lousing?
I do Python web development on MacOS X, coding in XCode, deploying to Linux.
I also do Java in Eclipse on both Mac and Linux.
I also hack in C/C++/ObjC in XCode and emacs depending on which platform I'm on.
They're all fine, really. I like my MacBook Pro, and my homebrew Linux desktop, and my Linux VM serving my stuff out of someone's cloud.
The original story is lame. No story. Move along.
Start Running Better Polls
This is quite possibly the stupidest drivel I have ever read, and obviously he's an amateur programmer.
That line was unnecessary. Being civil would still have driven your point home as well. I think you agree....or do you not?
Others have noted that the hardware in question could run Linux, natively or through a VM, etc... And from that perspective I think it is fair to say that the Macbook purchase isn't the disaster that it's sort of portrayed to be here.
But I can relate to this guy's reaction. I think he, like me, fell into the trap of believing that Mac OS X (having Unix underpinnings and a certain amount of Unix software pre-installed) could be a good choice to work together with Linux systems.
And certainly I'd say his prospects are better than they were for me with my Powerbook - hardware that was dead-ended about a year after I bought it, and an OS version that was soon replaced, with all sorts of software leaving the previous version behind... And a native install of Linux wasn't as good an option for my machine as it would be for an Intel-based Mac: it would pretty much mean giving up on graphics acceleration...
But even without the difficulties I experienced, I think there's a basic problem: if you approach the platform with one set of expectations and the OS delivers something else, you're not going to be happy with the platform. I thought OS X would be good for me because it was (I thought) a Unix base with a nice front-end, good support and good availability of commercial apps. The problem I had wasn't with the system, it was with my expectations, and what specifically I wanted (ultimately) out of the system.
In particular, it turns out I wanted Linux. I wanted to run the same software as I was running on my other Linux systems, without a big hassle. Running Mac OS X makes that a bit awkward. Obviously running Linux has its own share of drawbacks but personally that suited me better in the end.
Bow-ties are cool.
You can not only run VMWare, you can run virtualbox if you just want free (linux is free too). There are numerous VMWare appliances stores like Bitnami
You can install MAMP/XAMPP. You can learn to man up and actually use the package managers.
I've done all of the above in different circumstances. Compare and contrast with my windows coworker who had serious issues with symlinks, svn and windows (XP doesn't support junctions, and neither did svn at that point, IIRC).
Just about the only issue I've had with Mac development is that svn is noticeably slower in doing lots of file operations than on our stage and production linux boxes... but not that much.
Make sure everyone's vote counts: Verified Voting
He could just use XAMPP/MAMP and/or VirtualBox. If the developers I work with gave up that easily we'd be screwed.
Let me understand: MacOSX is faulted. OK, personal opinion. The author was given a choice of a thinkpad, running windows. As I understand it from a clearly delirious post, the advantage of using windows resides in the ability to test sites with IE. Other than that, what exactly is a thinkpad providing you with? You will most likely end up running some flavour of Linux, virtualized? Or possibly running cygwin? I doubt it. I see a win-win situation with OSX: You can virtualize WIndows and Linux, for each specific purpose, AND at the same time you can have a testing platform on OSX. Besides, as many before me stated, deployment and development aren't the same thing. Not a very objective piece, IMHO.
The next time the author will write an article on how every bike should have a sidecar because he has no idea how to ride without one. Never mind the millions of people that ride bikes without it everyday without complaining.
I've been using OSX for seven years now doing nothing but web development and have found it to be the better platform for this task. Let me say, I'm no apologist or "mac fanboy." I simply want to use the best tool for the job. Yes, the platform isn't an exact match for the servers I deploy to, but that's balanced with its ease of use and access to all the other tools I need in the production of web stuffs:
1) It's *nix based and gives me access to all my favourite *nix tools (this is better when compared to Windows, not, obviously, to Linux)
2) Yes, it does have package management tools. Isn't this a good thing? (you can install APT or whatever if you want too, you know)
3) I can have access to all my graphic design tools without the need to switch OS's or load a virtual one (e.g., Adobe stuff... seriously, I'm not using Linux tools for professional graphic design).
4) Yes, there are better things out there than Textmate (I don't think this is a shortcoming of the OS). I use Vim.
5) I think, for the price, you get something equivalent to what you'd get, for the price, from any other vendor.
6) UX. Haven't seen a better designed UX for any other platform, and Linux is horrible for this outside of the CLI.
I think, overall, it's got more going for it than the alternatives: Linux doesn't have the graphics production tools I need and the user experience (beyond the CLI) is pretty bad, and Windows, well, is Windows and doesn't even have a proper development environment for the web unless you're one of those certified MS guys programming in .NET (eek!), in which case I pray for you at night ;)
Lets just quote a line from the article:
Lets see:
Fink is based on Debian's apt system
Macports is a typical BSD style port system
Homebrew is not designed as a package management system but to allow installs of individual applications easily.
And this one:
Of course the point of all 3 of them is dependency resolution.
Gentoo of course originally was trying to bring a BSD style ports system to Linux, as an alternative to the integrated .apt, .rpm culture. So it seems to me this guy might want to understand package system on Linux before he comments further.
1. Those 3 "incompatible package managers" all came from Linux. There actually is an "incompatible [with Linux] package manager", the one developed by Apple for MacOS X applications. That's the one to use if you're deploying to OS X, otherwise just pick one from the "variety" that is Linux...
2. EMACS is built into the shell, open up the terminal application and type "emacs". Works like a charm...
3. There's a -wonderful- EMACS port to the Mac called Aquamacs. http://aquamacs.org/
4. Why build software that depends on the low-level differences between Linux and OS X? What's wrong with the POSIX set of standards for that level of application development. Color within the lines; -show me why for a Web app you have to go outside of the POSIX standards at that level.-
5. Buy a copy of Parallels or VMWare and install one (or more!!) distributions of Linux, or use BootCamp to dual-boot.
6. As far as the price of the hardware, you get what you pay for. My experience with Mac laptops is that they're a heluva lot more durable than machines from HP, Dell or Toshiba; ThinkPads have similar reliability (at similar higher price-points.)
I mix front end development with my typically back end development. A virtualised Photoshop doesn't fly for me.
Yeah, this is a mind-boggling article to me. I worked on a startup this summer that had an Android app an iOS app and a LAMP REST server. I bought a MacBook Pro. Easy to find software and packages for all the Java work, obviously comes with XCode and then I ran the LAMP server under VMware Fusion.
That's basically what I was thinking. Most of the projects I work on nowadays have been normed to use Eclipse, though I still prefer Coda. As far as testing goes, I use a VirtualBox VM with a shared directory for that, and then present it to the client on an Amazon AWS instance.
He's saying that he needs package management to get those 3 installed? I don't get it.
He says that textmate sucks so he'd rather use emacs on linux? emacs runs fine on osx. I don't get it.
He says that the package managers on osx tend to compile from source instead of install binaries, so he'd rather use linux? I don't get it.
He's doing work on what I suppose is a cloud based web platform that is scaled across multiple systems, and I suppose his primary coding language is python (script), and implies that running on a linux laptop would be substantially closer to his deployment environment than a mac laptop? I don't get it.
He was a mac fanboy before OS X? Ah - things begin to come into focus: he's bent.
Well its always better for dev boxes to be close to the servers. There is nothing Mac specific about that. You would have the same problems using Debian to develop for IIS servers.
So the "Too long; Didn't read" of this basically is:
"It's too hard to write portable code."
Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
Wow, TFA is a giant mound of flame-bait! I haven't fed a troll in quite some time, but seeing as he's going after my turf (web developer for 13 years, Mac user for 8), I think I'll bite. Four bullet points with flawed arguments about why Mac OS X is "bad" and one bullet point of nerd-baiting.
Horrific Package Management
This is perhaps the only valid argument of the bunch. Although I've personally used Fink with excellent results in the past, I don't think that it's being maintained as actively as it once was, but from what I can tell Macports is. I've never tried Homebrew, but I'm sure the author has sufficiently explored it's deficiencies to his own satisfaction. The author mentions his preference for Debian based tools, which is what Fink uses, so I'm not sure why he wasn't able to find some common ground there, but obviously he wasn't.
You don't deploy to BSD
Conversely, this is perhaps his weakest argument. It shouldn't matter if your development environment is BSD (Mac) and your target environment is Linux, or any other environment for that matter. In all my years as a web developer, I have NEVER had a local development environment that exactly matched my production environment. Even when I was using Linux on the desktop, it was not the same "flavor" as the servers, so I still didn't have mirrored environments. This is why you have multiple testing environments for your project, just as you have multiple browsers for testing. My local environment is a Macbook Pro. It used to be a Windows 7 machine, which used to be running Windows XP, to run a Java-based platform. We also have Development and QA environments that mirrored Production in order to test these types of compatibility issues. I'm also willing to bet that the Lenovo didn't come preinstalled with whatever variant of Linux you're using on your production server, or that the hardware specs on the server even remotely match either laptop.
Textmate sucks
So don't use it. Try Eclipse (my personal choice) or whatever brand of IDE or text editor you prefer. If all else fails, man up and install emacs.
The hardware is overpriced
I think the same thing about BMWs and Mercedes Benz. However, some people still prefer to drive them.
Some crap about 'LOST' that is completely irrelevant to the conversation
Okay, somewhere in your relationship with your Mac, you were hurt very badly. That's okay, not everyone is a Mac person. Not everyone is a Windows or Linux person either. But at some point you need to just "man up" and deal with the choice you've made or start over and just install Linux on your MacBook Pro.
- Stealth Dave
Evil is as eval("does");
So, it seems that what is really being said here is that the Python development environment on Mac OS X sucks. Well, that may be. I have no experience with it. I prefer Java, Javascript, Tomcat/JBoss and MySQL as my development stack of choice. I use Eclipse as a development environment and I am quite happy with it. I develop, primarily, on a Mac and most often deploy on some version of Unix/Linux. I don't see any issues. What works on my Mac works on the deployment systems as well. For what it is worth, I think there is a Python plug-in for Eclipse.
Has this dude heard of parallels, vmware and other virtual machines? It is not an either or. Use you mac tools and goodness and linux or windows bit at the same time as needed. Not that you couldn't use the bits mentioned from OS X but it does not matter so much when you can also use whatever native from other OSes you need to when you need to.
How does a story like this get approved and posted while mine does not... oh wait, yeah i got it.. they dont have fruit mentions. coming from a fruit owner
... with cool name. I like it. Although it seems to be the only thing he's got there. Sure he didn't notice that every Macbook can boot _natively_ into any GNU/Linux, Windows, whatever runs on x86 hardware. Sure he didn't notice that on Linux there are .deb based package managers, .rpm based ones or build from sources options. Surely he didn't notice that there are binaries distributed in Fink, which is exactly apt/dpkg/.deb based. Surely he didn't notice that _web_ development as opposed to e. g. native application development is _usually_ abstracted so far from the guts of the OS that it doesn't really matter what kernel/filesystem/scheduler it is being developed on. Etc., and so on.. but who cares when it is much easier to put up a set of misleading half-truths than do the research and educate oneself?
Now, mod me down freely. My karma can't get any worse...
This article is retarded. Let me quickly shoot down every crappy point he made.
"OS X and Linux have different kernels" - You knew that before you started. Idiot.
"but the fact that you have three competing package managers, that don't talk to each other has convinced me that Mac users, in the typical hipster fashion, brutally raped the Unix culture" - Are you joking? How many various distros and package managers exist for linux? Here's an idea, PICK ONE (I suggest macports). Idiot.
"Finally, he says, Textmate sucks. 'Sooner or later, you have to face facts. Man up and learn Emacs.'" - Emacs is in the OS-X base system, Try typing "emacs". did you even look? Idiot!
At work, I use the Adobe suite to be compatible with our Print production crew who use Macs, and have no problem with it. Dreamweaver is pretty nice for quick previews in design view, but I spend most of my time in Code View.
Everywhere else, I use Aptana and The Gimp. They do quite well, and run on just about anything I sit down at.
I have also been doing a lot of CMS development lately, and have learned a lot about building Web Apps, so I'm thinking of putting together a web-based web development tool using Code Mirror, CKeditor, KCFinder, Pixlr and some other custom PHP/JavaScript. Then anything with a web browser will do for web development.
As for Emacs, Vi, etc.... meh, I always liked Joe.
When you're clearly full of shit, you don't want to be notified of the fact.
If you RTFA, you quickly realize this douche has no business doing development of any kind. I deploy to a heterogeneous environment all the damn time, and the problems he lists are solved by:
The worst part, is that he doen's even understand exactly how Mac hipsters raped the "unix culture." The "unix culture" is:
cd /usr/src
./configure
wget http://foo.bar.org/mypackage.tgz
tar zxvf mypackage.tgz
cd mypackage
make
make install
The Linux culture is "sudo aptitude install mypackage"
Guh. +1 for most worthless flamebait posted to /. in years.
-9000 for being worthless incompetent flamebait.
To understand recursion, you must first understand recursion.
Linux is the problem. He should be using *BSD on his servers ;-)
duh.
I guess anything I say others have said in some way... but man how does this crap hit /.?
I would not trust this poster to do my web development at all. If the poster wants a "true" development environment similar to their production environment... install the exact OS that their servers have on the mac. Running Windows and running WAMP is not a equivalent environment to any production environment (or god I hope not). The poster could use a smidgen more intelligence and leverage the awesome software that is available for the Mac for web developers and install VMWare/Parallels to EXACTLY emulate his production environment. He could then mount his webroot on his VM over NFS from his mac automatically upon boot, so he has a seamless (local) editing environment and development environment that matches EXACTLY what is on his production environment. This is what I'm doing as we speak, I run CentOS 64-bit on my machine at all times to do exactly this.
Troll, please keep this crap off /.
> Textmate Sucks
Ya, but UltraEdit is now available on the Mac.
The Mac zealots will bring /. down with this.
on this crock of an article. Shame on /.
Real men use vi
All those Java developers who brought their MacBook Pros to JavaOne, between 1/4 and 1/3 of them depending on who you talk to, probably disagree with you.
This space left intentionally blank.
HFS+ is available Case-sensitive. Check Disk Utility app. Of course, you might encounter some problems with sloppily written third-party apps......
grammar-lesson free since 1999. (rescinded - 2005)
All of this reeks of both amateurish programing and web development. What kinda of (simple) website is the author writing where he doesn't have a development server rather than using his local machine to test for these kind of bugs?
But even worse the arguments about editors is insane. Eclipse works perfectly on the Mac, and the Aptana plugin for javascript/html/css works like a charm and even includes integration with firebug for stop points etc. This simple feature included along with all of eclipses other powerful feature like SVN/GIT integration, automatic source formatting make it easily the best javascript development environment I have ever worked with. And its completely agnostic.
Maybe he has got ahold of one of the new(er) GUI emacs bundles.
Like XEmacs or GNU Emacs.
They just feel unnatural to me, probably because I started with TRS80 Basic, bounced from there to a screen editor I wrote myself in a few lines of 6800 assembler borrowing functions in the TVBug (I think it was) monitor on the microchroma 68 prototyping board, to vi, to WordPerfect, to "brief", and then another screen editor I wrote in a variant of FORTH I wrote in 6809 assembly language (TRS80 Color Computer).
vi was probably the most stable text editor I used, from '83 until I discovered BBEdit and the Metrowerks IDE editor on the Mac in the mid-90s.
(I currently seem to be mostly using Apple's Project Builder built-in editor on the Mac, GEdit on Linux, and Hidemaru on MSWindows.)
Whenever I use emacs, I still find myself longing for that old FORTH screen editor. (That may have something to do with why I liked WordPerfect's text editor, although WordPerfect, at the time, was actually quite useable for editing text, if you remembered to save as text.)
The rant on TextMate that the guy links to mentions BBEdit as passable, but not oriented enough to Ruby, then praises NetBeans.
I myself like NetBeans, for Java. Not perfect, but there is no perfect editor.
(Except the one in my head, the one I will definitely write once I get my perfect re-write of FORTH finished.)
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
I was going to trash talk Mr. Dziuba, just like everyone else, but you know what, he didn't actually submit this to slashdot. He ranted on his own blog own his own private website. Someone ELSE submitted it to slashdot, not Ted. Someone ELSE approved it and posted it, not Ted.
He's probably laughing his ass off that everyone's got their panties in a wad over something he probably wrote in less than 15 minutes and has already worked around all by himself already.
That's the first thought that occurred to me when I read "Glitter Boy" on /.
So, to any apple fanboi, development = html? No wonder I have stopped using any and every apple product - because of fanbois like you.
Steve is calling - get in the queue.
Virtual Machines!
I disagree. This is exactly the sort of post that should be on the front page it you're trying to stimulate discussion.
This article was posted less than two hours ago, yet it has more than 250 comments already. Seems like a pretty successful Slashdot post, no?
No, no, you're not thinking; you're just being logical. --Niels Bohr
That's weird, because the "TextMate sucks" article linked to seems to conclude that NetBeans is the replacement, not emacs.
First of all, I've not worked seriously on a Macintosh since the Quadra II days, so this is probably going to be a bit off-base. I also don't develop in Python, since syntactically significant white space makes me break out in hives.
That being said, you can probably create a reasonable development environment by doing the following:
1. Install your IDE of choice.
Yes, I like Emacs and use it a lot. I also use vi a lot. However, if I'm in heads down development mode, I much prefer to be in a dedicated IDE. For me this turns out to be NetBeans. The project setup within NetBeans makes sense to me, I can use Maven where appropriate, and there aren't too many annoying bugs or dependencies to manage. Finally I can choose a common LAF (I currently like Nimbus) - which obviously won't work if I'm writing a desktop application. I find that with Eclipse I end up spending quite a bit of time managing plugin dependencies. Your mileage may vary.
2. For Python, use virtualenv
From a quick search, it looks like virtualenv works on Mac OS X. This appears to solve the dependency management issues that seem to plague Python (and other scripting languages such as Perl).
3. Don't use OS shortcuts
A lot of scripting programmers use OS commands as shortcuts. This makes their scripts inherently non-portable. Don't do this. Use the language features instead.
4. Don't hard-code paths
Again, a lot of scripting programmers make assumptions about file system layouts. Don't do this. Parameterize the code, and make all of this easily configurable. If you have a build system, then make parameterization configurable as part of the build process.
Editorial Time
In short, create a portable development environment with tools that you are comfortable with, and produce a configurable or platform-agnostic build product. It's not really rocket science. I bounce back and forth between Windows and Linux (preferred environment is Linux) and have virtually the same development environment on all systems.
The person who wrote this blog sounds more like a programmer than a developer. To me, a programmer just takes tools and language practices as given. Then that person complains when the tools don't create the desired results. Understand how you work, understand what you need to produce, and then choose the tools appropriately. Try to keep your tool set as agnostic as possible, since tomorrow what you need to produce (and the target environment) will change.
Loose coupling over tight coupling works well for both a tool set choice and a design choice.
Then again, I'm mostly a systems architect these days. Your mileage may (and probably does) vary.
>> All his "problems" are down to the fact that he's developing for Linux servers and Mac OS isn't Linux.
Oh.. so now it's not linux. It's not even unix anymore? And just in the other thread I read about a million time that OS X is Unix, that OS X is linux. Stick to one thing, itards!
Mac is another option. It's important to learn and use a variety of tools, and not lock yourself into one. Using Apple's stuff is just as important as using Microsoft's stuff. (... as using Red Hat's, as using Google's, ...)
Which is why the whole which-editor-is-best argument is a lot of noise, useful noise in some cases, not so useful in others.
(Even though I personally don't seem to be able to get comfortable with Emacs. Maybe I should learn lisp.)
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
I love using my mac for web development, it works perfectly for everything I've tried to do so far. Plus I don't think this guy realizes, but there's an emacs port for mac. A quick google search found this. I've had emacs on my mac pro since the day I bought it.
The machine is a tool, buy and use what you prefer. But next time my auto mechanic declare "Snap On tools are unsuitable for automotive maintenance", when I know several other mechanics that are very happy with them, I will seriously judge his competence. If he instead stated "I prefer Craftsman tools, so I use those" I would not think twice about the abilities. It is not Linux underneath, but BSD. How did this ever make /.?
How exactly do kernel differences and system I/O matter with respect to an interpreted language environment for web development? Like the Doc might say, if it's making you feel that kind'a pain, you just might be going about it in the wrong way.
Package Management: Short answer/solution: Pick one and move on. How many hoops must you jump through to get Debian to use rPath, or OpenSuSE to use yum package management? I'd say get used to the quarks of one, and don't look back (just as we do with every platform). You got three maintained choices.. Hello...
Editors: With so many editors available on Mac, *nix GUI, TUI, etc, really.. Who cares who thinks one sucks. Just use what you like, and move on. Man up and use vi. Man up and make your edits using cat, diff, patch, grep, and sed with pipes. Whatever. Its up to you not the platform to decide how much grief or which features you want.
The 3rd sentence of the post states that he chose the Mac because it would be "closer" to his intended production environment, which was running linux. -- He chose a Mactop over a Thinkpad (full of chipsets with amazingly good linux support) because he thought it would be "closer" to his linux production environment. He later refers to the godsend of his "ubuntu workstation" for being able to continue getting work done. Clearly this man is so incompetent he believes that a machine can only ever run the OS it comes installed with. -- This man is an incompetent troll and this publicity should only serve to get him dropped from any serious employment. Why the discussion in the comments has gone past how flawed his initial reasoning for choosing mac over thinkpad is beyond my understanding. (Then again I have never understood religious arguments or their amazing endurance)
But then you have to do some really hard work to get the Mac environment to test on.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
There are other options.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
I hate Macs...I think they are over priced, glorified linux boxes, but for christ sakes! All you need is a half decent text editor and ftp/ssh. This guy is a troll.
I never use the stock OS install anyway, so I just click the case sensitive box when I format the HFS+ partitions.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
I purchased my first Mac at on a Blue and White at version 10.0.x. I did so because it looked like an awesome development platform. Over the years, I discovered that was not the case. Even after moving up through many other Macs, I have consistently come back to trying to develop on a Mac and it just does not work for me.
For doing complex Web development using Tomcat, Apache and a ton of DHTML, I have found that Mac OSX is just not user friendly enough for managing all the different tail windows, process start stop windows, code windows etc.. to build complex apps. The window management is to cluttered to manage so many tasks. I am not a fan of using IDE's and prefer to use programmers editors and standard open libraries. On Mac, the only way to use Progammers editor and edit multiple sources at one time, was to have many windows open. In windows any decent code editor has tabs to manage opened files. It has taken mac almost 8 years to get this right and now finally some editors support tabs. I think KDE is now finally including MDI frameworks OOTB but Gnome still is not so same issue there.
Another huge issue with development in Mac OSX is the inability to effectivley extend Finder like you can in Windows with windows explorer shell extensions. The ability to trick out Windows Explorer shortcut menus with tools like File Menu Tools and Tortoise SVN make it amazingly powerful development system. This is a problem of the Vanilla consumer base of Mac systems and is a huge problem in my mind. I am absolutely spoiled in windows with the dozens of tools I have extended in Windows Explorer. Linux has shell extensions but lack a ubiquitous file manager that crosses all apps which makes shell extensions less valuable to users. Hate to say it but Microsoft did the right thing when it comes to Windows Explorers ubiquitous nature in windows.
To make use of my Mac, I now use VMware Fusion running Windows and this has made me way more efficient by orders of magnitudue than using Mac directly. Windows on a Macbook is often better than Windows on a Windows laptop. Call it comfort level but I am always cursing my Macs when doing deveopment with stupid things like not being able to resize a window in the top left corner.
Don't get me wrong, I own 3 macs at home and am typing on a Macbook pro 17" right now but I do very little development on it unless through Fusion running Windows XP.
Hopefully some day, that will change but for now I have to be pragmatic and just pump out the code in the environment that is the most effective for me.
- JsD
My favourite editor on mac is gEdit. You can install through porticus.
For a business? Security, matters... especially since CORPORATE DATA is what hacker/crackers want now mostly, see here as an example thereof:
McAfee: Cybercrime Focused On Corporate Data:
http://www.ibtimes.com/articles/127765/20110328/cybercrime-mcafee-corporate-data-study-web-security.htm
(Simply because information, IS power - sheer, unadulterated COMPETITIVE power!)
Perhaps especially in this art & science of computing, AND in business!
E.G.-> Sales people... they LIVE & DIE by their contacts lists - you steal THAT, and what they're charging their customers?? You can contact them, directly, with SOLID #'s to target to beat & "undercut" the competitor, easily... because you KNOW what's being charged for goods & services BY your competitor, to said potential customer!
(Yes - perhaps not "THE" very 'best example' but, I'm not a data-criminal hacker, but I can "Channel that inner criminal" & think like that type might, easily enough... so can you, think about it - another might be patent data on an upcoming design of something etc. (list goes on, ad-infinitum)).
So - on that note?
How's MS doing on SECURITY vs. KNOWN VULNERABILITIES now, especially for the "full gamut" of what you NEED to do business online, today? Heh... very, Very, VERY well!
E.G./To wit (with valid verifiable concrete data from a respected source for it, in SECUNIA.COM):
---
Vulnerability Report: Microsoft Windows 7: (03/28/2011)
http://secunia.com/advisories/product/27467/?task=advisories
Unpatched 10% (6 of 59 Secunia advisories)
AND, of those 6 vulnerabilities, yes... 3 are "remote". HOWEVER, they're in subsystems (like FAX) that aren't installed "by default" (means I don't use it here), or have work-arounds (mhtml bug), OR, are caused/utilized by faulty 3rd party apps (e.g., & of ALL things? Apple stuff triggers one, ITunes another, iirc, etc. but no other apps are KNOWN to - go figure, eh?).
I.E.-> "NO PROBLEMO!"
---
Vulnerability Report: Microsoft Office 2010: (03/28/2011)
Unpatched 0% (0 of 4 Secunia advisories)
http://secunia.com/advisories/product/30529/?task=advisories
---
Vulnerability Report: Microsoft SQL Server 2005: (03/28/2011)
Unpatched 0% (0 of 4 Secunia advisories)
http://secunia.com/advisories/product/6782/?task=advisories
---
Vulnerability Report: Microsoft Internet Information Services (IIS) 7.x:
Unpatched 0% (0 of 6 Secunia advisories)
http://secunia.com/advisories/product/17543/
---
Vulnerability Report: Microsoft Visual Studio 2005:(03/28/2011)
Unpatched 17% (1 of 6 Secunia advisories)
http://secunia.com/advisories/product/6779/?task=advisories
---
So - "BEAT THAT WITH A STICK!", & I put out ALL you need pretty much, to do a full blown development setup alongside the OS, to do business with!
Fact is - I'd like to see the "FULL GAMUT" from the *NIX world show less errors than that above list of mine does (w/ only 7 errors tops, of which none really are serious enough to matter or to not be "worked-around" or avoided!)
APK
P.S.=> As far as tools go though? Sure, in YOUR experience, since you obviously FAVOR Macs & obviously use them more or prefer them on your end?? Sure... what you said is expected... but, even I, a "diehard" Delphi, VB, .NET, C++, Java guy realize that certain tools DO
I count 9 computers (not counting phone or toys) here at my home desk, and I don't even code. I think a developer could afford more then one. I built one recently for about $150, ran linux just fine.
The reason we subjugate ourselves to law is to better procure justice. If law does not accomplish this purpose then it m
however, more importantly... If your fucking WEB PAGE is touching kernel stuff so that it is not portable between different platforms, you've got more serious problems than web development OS zealotry to worry about. If you've hard-coded file paths like a dumbass then you won't even necessarily be portable between different distributions of linux, never mind anything else.
Re-think your code and figure out why its so badly broken and non-portable. Its NOT the OSes problem.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
That's it. I'm not reading apple.slashdot.org anymore. Unsubscribing from my RSS feeds now. I'm sure nobody cares, but I thought I'd say goodbye anyway.
Vulnerability Report: Microsoft Internet Explorer 9.x: (03/28/2011)
http://secunia.com/advisories/product/34591/
Unpatched 0% (0 of 0 Secunia advisories)
---
So, on the note of security? Windows, and its attendant "full gamut/suite" of what you need to do a business setup today?? Near "bulletproof & bugfree" (7 errs, none of which are TRULY exploitable remotely or unable to be EASILY worked around or patched for)...
Bottom-Line here, is this, especially to mgt. & business owners:
Fear? SELLS... ask ANY life insurance salesman that much, & easily too... so does secure toolsets to do business with, & finally? MS truly IS, "getting there"... & perhaps not only because MS provides a FULL array of high quality tools to do business with, that's unmatched for features & is EASY to use, but... it's now secure too, finally (for now @ least, lol, going by the known vulns counts).
APK
P.S.=> So - per the points on security in my last post I just replied to, to add on a zero known holes IE9 to?
QUESTION: Can MacOS X or Linux say the same for all the parts it has for this built-in, OR produced DIRECTLY by Apple, & NOT by 3rd parties (same with Linux too)??
I don't think so...
(That is, unless someone here can show me otherwise comparing what's used there AND is produced by the Apple company ALONE (not 3rd party stuff))... apk
My main development interface is my MacBook Pro (Unibody).
In the past year, I have done projects involving: SQL Server, C#, .NET, PHP, Objective-C, C, and I have written a deployment infrastructure using git that currently supports 20+ clients over 4 geographically separated servers with thousands of users.
The boss can pry my MacBook Pro away from my cold dead hands.
The UI is solid. After about 2 years of using it, I cannot live without the finger-swipe-expose feature. I'll have dozens of windows open across multiple desktops (I use 4 spaces), and with an extremely efficient swipe of my hand I see everything and switch between applications so quickly that it's embarrassing to think how I lived on Windows.
I will agree with the OP that getting some linux-y things going on a mac can be downright painful. But, then again, our office has tens of thousands of dollars of development server equipment that I can log into and have a field day with -- so my Mac is my *interface* but it is not what runs the code. I have VMs for Windows and Linux that I uses as experimentation zones.
The Mac is not designed for hard core Emacs developers. It is designed for the average joe who doesn't even know what emacs is, let alone make, gcc, or vi are. The fact that these things run well and work in OS-X makes it leaps and bounds ahead of Windows. The quality of the UI and device integration is what gives it a lead over Linux.
The OP can suck my ethernet cable.
Price, Quality, Time. Pick none. What, you thought you had a choice?
I know where hes coming from hes a bare metal type scripter, working with databases and/or code. Macs are sure shiny and slick if you are doing front-end work with drawn up sliced and then stitched together graphics, but for coding its not all that great. It has the tools but they are a second to the flashy stuff.
Though there are excellent tools like MAMP to get the system going - it's still another thing to work on the script coding itself. So many readily available quality tools freely there for the Linux user, so many slicker but slightly clunkier ones for the Mac, and many at a price.
Iv'e worked in an office of Macs, but going into web application development I went to Linux, cause I know too well the mac developer tools market.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
Fedora and Debian both provide a core repository and non-core repositories. I'm not familiar with Ubuntu.
OpenBSD does the same, and my memory is that freeBSD does, as well. The difference is primarily one of scale. openBSD, for instance intentionally keeps the core repository much smaller than most other distributions, and not just because the team is (intentionally) small.
The problem with the Mac, and it's a real problem, is that there is no official repository. Well, wasn't.
Now there is, but it's neither free nor open, as near as I can tell from the outside. (I'm not interested in being on the inside right now, so I'm judging it by the reports.)
But the app store still doesn't solve the underlying problem of dependency. Apple really let us down when they dropped the ball on this one. They have enough money, they could be supporting all three unofficial distros, so that you aren't as restricted by which package manager you've loaded a package by. And they could be encouraging, with financial encouragement, those guys to learn interoperability.
And they could set up a proper, funded, official commons coordinating organization to bring the three repositories and the app store together. With an official promise that they won't just drop it again the next time it's inconvenient to be having to put up walls between their project introduction hubris and the free world.
In the meantime, yeah, like lots of others are saying here, this Ted guy seems to be kind of young for shifting to old codger mode.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
Not only are there several variants of Emacs for OS X, apparently it is ALREADY INSTALLED. When I use Emacs (not very often, because there are better OS X text editors), I tend to use the Aquamacs GUI version.
This guy needs FIRED from his web developer job immediately; because he obviously doesn't have even the intelligence to breathe, let alone develop code of ANY sort.
Where are the "comparable" PC that are cheaper than Macs?
When the Mac Book Air was released, I thought this was the perfect machine for me, light, small, still powerful enough and enough screen space. So, not being attached to any OS, I thought "cool, let's find the equivalent PC and I'll have what I want and save money!". So I started looking for a PC netbook that would be equaly or more powerful, same or more memory, same or more storage, same or more screen resolution, roughly the same size and weight, significantly cheaper. Guess what I found?
I found that Mac or PC, you just end up getting what you pay for and the size and weight factor is part of the Apple design you pay for. If it's not important for you and carrying a powerful heavy brick around is OK, get a PC laptop... I'm still looking...
My department, which focuses primarily on web development has switched over to only using mac book pros. Mainly because they offer better hardware and battery life.
For all of our development needs we create a virtual machine and are then able to exactly mirror our production environment.
I would personally never go back to using anything else for web dev. But I also would never develop directly on a mac os x environment. Mainly becAuse it's not a server environment.
If you want Linux then run Linux. Don't cry that Macs != Linux.
If he's not "deploying to BSD" (his own words), the choice of the Mac was guaranteed to be just as problematic as the choice of the Lenovo, involving installing a foreign OS.
If he had taken the Lenovo, his first step was a wipe and an installation of the virtualization environment, then a re-installation of the MSWindows environment as a virtual environment. And his working Linux environment should also be virtual. Or, perhaps, he can install Debian on the metal and only install MSWindows virtual.
On the Apple, he has the additional option of using the OS the hardware was designed for as the base install and running Linux in a VM on the Mac OS. (And I would still run my working Mac OS as virtual, if I could talk purchasing into letting me get the RAM and disk.)
(Okay, I know some people who run Linux as a VM in MSWindows, but that's serious perversion.)
But we do deploy to (the Mach kernel on) BSD. Safari on MSWindows is yet another option that may need testing, but the percent of the general internet user population using the Mac now is not at all insignificant.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
(The obligatory)
You must be new here!
(since no one else seems to have said it yet.)
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
Wow, I've been using a Mac for web and other development for years now. I don't bother with package managers on the Mac for the most part. I build my own versions of Python, PostgreSQL, and other tools that are part of my pipeline. I don't want to rely on tools owned by the OS. I've had too many OS upgrades (mainly on Linux) alter the tools I'm using and break things.
As for the emacs thing. Wow, get real and use vim. This is 2011 after all... :)
Ted, we've read your screed and you made it to the frontpage of Slashdot.
Now tell us what you've learned by posting here.
As harsh as they can be, the folks here actually can offer some good advice.
Wazzup Ted?
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
First, I love how everyone here is bashing him as a troll, calling him a non-developer, etc, etc. Yet anytime we get some glowing salespiece in favor of Apple, the fanboys start crawling out of the woodwork and modding down anyone who calls them on their BS.
Aw, does it hurt to have your favorite little toy's failings pointed out?
Looking at the tone of the piece, I'm pretty sure it's not a troll and it's not a marketing hit piece, and in case you were too lazy to click the link above, he *is* a professional developer. I think it's straight from the heart, and it hit so many chords with me, I couldn't help but wipe a tear from my eye. And I don't even do web development.
Second, I love how everyone is ignoring the points he backed up well. Any takers for the packaging mess in OSX that resembles Windows more and more? How 'bout that price tag? Sure, keep telling yourself you're paying for higher quality or "design".
As for some of the attacked points:
Quite frankly, I'm glad to see this kind of article get posted. We have far too many Apple and MS fanboys here; slashdot was created by Linux users for Linux users, and this kind of from the heart, in the trenches opinion piece is much more worthy than some marketing piece about the latest shiny piece of crap to come out of Steve Jobs' ass.
Nathan's blog
I think you have just stumbled on the real reason Oracle is suing Google.
Oracle's incarnation of Sun wants Android for their very own and they aren't brave enough to try (again) to do it from scratch. Which may be why Google is having trouble being forthcoming with the source code for certain instances of Android.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
windows is good for like developing and shit.
Wow whats the deal with Slashdot, letting articles like this fly they are so biased and usually written by people that have no clue. Besides the fact that Macs are super reliable, why is it that my web developer and most that I know of generally use Mac. The color matcher , the screen color accuracy etc. is higher on mac's generally. (I am educated and realize that is not always the case too though.) But this guy obviously doesn't know didly about making websites on anything but Linux and does not realize in Mac world its generally done, different, just like it is in Windows, if it was all the same it would not be different (obviously). Run Boot camp and get Linux on there too, heck there are tons of options, one thing that pisses m off are clowns that know how to create that do not know dirt about how the tools (computers) they use work, in any real capacity. Worse thing is that when I started going to school for this, we had two classes Certified Network Assistant (A+), and computer software, and same thing there, those guys could edit a mean movie but didn't know the difference between ram and a hard drive. By the way this is a direct note to the writer.... (you) should go learn and try a little more at something before you ever post an article again... emacs and every other tool along those lines are proven to work fine on Mac, and are generally kernel independent, the ports are all there for a reason do something with them before you speak here with a bunch of us waiting to clobber you.
this guy is complaining that mac os x is unsuitable for linux package development & deployment to me.
Of course I'm biased, because my Mac triple boots OS X, Ubuntu and Windows.
BBEdit will run for 30 days before you need to give it a serial number. And TextWrangler is flat out free, but it doesn't have all of the HTML goodies that BBEdit has ... but for general programming costs, it'll probably do you.
Yes, it might seem strange to shell out $100 for a text editor, but it's like buying good power tools -- it lets me get the job done with less effort.
(disclaimer : I've been a beta tester for Bare Bones, and even have the 'it doesn't suck' t-shirt)
Build it, and they will come^Hplain.
No one cares what IDE you use and develop apps that will work on whatever platform you are targeting. If you want to use a hex editor to make your web content or draw it out in MS paint and then run it through an OCR program I don't care. Use what works for you and don't worry about what other people are doing.
I nearly stopped RTFA at heinous but baulked at the balls part. What a whiny douche and why is his personal whine blog on /.?
http://www.acetonestudio.com
I agree that Mac OS X is bad for web development. That was my impression too, after I've bought my Mac Book. After a while, I realized that I can just use VirtualBox or VMWare to run a Debian dev environment. Running Debian has the advantage of replicating my production environment, so I know what modules and external binaries that I need to install later on. I also don't make the silly mistake of using incorrect capitalization on file names, since my file system is case-sensitive. Textmate? Yeah, it's not suitable for programming. I solved this by mounting my dev VM using sshfs, and by editing my files through MacVim.
You're nearly as big an idiot as the OP. Read the comments in this thread to see why.
Two things:
1) My mother and grandfather told me ages ago, "It's a poor craftsman who blames his tools." Related to that,
2) Use the right tool for the job. If OS X is not the right tool for the job, then DON'T USE IT. But don't go out and be a whiny bitch just because you don't understand what the fuck the requirements are for your job.
I've been developing web sites for 15 years this summer, starting with Windows 3.1 and Notepad. I've been using OS X since 10.0.3 and I've been using it full-time for web development for about 8 years (since 10.2, aka "the first usable release of OS X.") Saying OS X is unsuitable for web development is flat-out wrong.
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
Would you want some grizzled-too-early looking guy writing your code? Not me!
Now seriously, doesn't it make more sense to do some research before plunking down your cash? Use the best tool for the job. My Mac is aces for video editing and processing. The *nix core lets me use scripting where Windoze requires an application. Linux makes the best server, a darn fine phone OS, and has utilities that are just a pain in the neck to assemble on any other machine. Windoze will always be great for gaming and general purpose computing.
If you program, your machine type depends on which platform you program for. Linux for Linux. OSX for OSX. Windows for Windows. Seriously, who among us owns the one machine? When was the last time you held you digital life on a single hard drive? Were you wondering why you never saw Alanis Morissette's face in her videos?
Personally, I think the dude's article is kinda humorous.
Only the dead have seen the end of War. - Plato
I had to save the edited memory by breaking out to the monitor. (Giving the monitor the addresses of the screen buffer as the region to save.)
The bulk of the work was done by the monitor routines I borrowed.
No, this was not production, but it was simple, uncluttered, and shocked the socks off some engineers who saw it, until I showed them the actual code, and how much work it was to save and use the text. At which point we would have a good laugh.
The screen editor I wrote for my FORTH was actually useful, even though it was basically the same set of tricks with a FORTH underneath instead of a debug/monitor ROM.
Really, basic vi and emacs started out the same way, simple cursor functions on time of a programable base, lisp in the case of emacs, ed and then ex in the case of vi. Oh, and there was Unix under the programmable layer.
(Uhm, yes, at the time, 6800 machine code was, for me, a programmable layer. I sure spent a lot of time figuring out that the advantages of "higher" level languages was not in specific instructions or functions that were missing in the lower level so much as it was in the ability to borrow from the experience of other programmers through an agreed-on common language interface.)
Good editors, in my opinion, remain the same: a simple, well-integrated set of functions to move the cursor around a file, interfacing with a programming language that is able to edit the contents and put the results back in the visible edit buffer. Oh, and you need some glue functionality like the ability to select the target of an operation, but where that gets complicated is in keeping the visual feedback in sync with the actual operations.
Unicode does make things a little more difficult.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
Ummm why would it matter on mac or pc or linux - most people would do development on a virtual machine wouldn't they - eg not install stuff on their client machine as this may or may not effect how various different projects run ?
I'm just going to sit back and watch this one develop in 3... 2... 1...
Specialist Mac support for creative pros, Melbourne
A lot of this depends on personal preferences, what kind of development you do. But I developed for many years on the Mac platform and I got tired of XCode not working properly, of Java not being the most up to date version (oh but I could install a more recent version if I upgraded for $$$). In my experience Linux and Windows simply have more and better tools for development. I also dislike Fink. It's an add-on, but it ought to be part of the OS. The package managers in the various flavors of Linux work very well. Why doesn't OSX have something of that quality? Because it's not designed for developers, that's why. It's optimised for end-users who *don't* develop. Linux attracts geeks like me who just want to get work done and who can't stand the Windows file system and having to pay for everything. And Windows, apart from the annoying dialog boxes and the horrible file system is well served with development tools as you would expect from such a mainstream product. Mac is not ideal for development. The dude has a point, albeit expressed in an inflammatory way.
As my subject says. You are doing it wrong. The benefit of the Macbook Pro is that your hardware is supported for ALL the major platform OS's. So, what you get from running on a Macbook Pro is the fact that from that one box, you can check OS X, Windows (Vista and/or 7), and linux performance all from that single device. You can either setup multiple boot environments for full testing or virtual machines for some quick and dirty checks. This is what makes it the choice device for development work of cross-platform tools and applications, especially web-based.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
This article is really pointless. OSX is fine as well as other platforms, and choosing it should be not less than 80% personal taste and 20% tools. The wrong point here is that the "developer" who picked up the Mac didn't choose it considering HIS APP requirements, and that's a shame (for him).
In my 10+ years experience OSX is just good as you can use it: if you need some exotic system library or a defined system/kernel setup why on earth you choose OSX? Choose the Mac laptop and install some linux flavour on it, either virtualized or physical: the hardware won't disappoint you at all and you'll have the very same distro you run on the server.
So what's the point here? Just another developer who can't choose his tools [emacs? man, its 2011: let emacs and vi on the server, and choose a real editor - if you don't like textmate - perhaps you didn't know about Textmate bundles and addons (zencoding anyone?) , but that's ok for a newbie - there are PLENTY of editors, including emacs, eclipse and vi!]
(by the way note that OSX is the most open in the closed systems: at least it have THREE packet managers and still let you compile from scratch. it's just a BSD box with a real GUI around it, with the very same BSD pro's and con's - but the pro's are nice!)
Besides the vi vs. emacs thread below, where no nerd can resist to comment, let me say the following:
If you have the choice between havin the environment where the final product is going to be used under as a quick test environmen and another one, always choose the one where its goind to be used under,
Or the mac turd files .DS_Store and the ilk that comes with them.
Another web developer with an impressive c.v. that I can safely ignore since he sacrifices thoughtfulness for bile on his blog.
Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
A-holes with mod points vex me.
There's no reason to have modded that post down other than prejudice against Macs and against the people who are honest enough to point out their benefits.
I don't get all the "develop on the same platform" comments. I finished off a 3 year job as a systems admin for a Mac shop with Linux servers and the setup was absolutely perfect. Of course we were using Ruby on Rails for which Mac is pretty much the standard development platform for.
I suggest he uses fink on OS X, as it's a direct port of debian's package manager. He also complains that he ends up compiling things all the time. Clearly, he fails at reading the manual pages, because fink is entirely capable of installing binary packages.
Just using Fink doesn't magically make all packages that you want to use available in Fink. When individual packages are available only for a different package manager, you have to either A. install that package manager and deal with conflicts somehow or B. compile each package exclusive to that package manager from source. Allow me to come up with an analogy, which is probably flawed because I have never had the opportunity to use Fink: It's as if you were using Debian but half the packages you wanted to use were available only as RPM.
I've developed over 10 websites on my MacBook Pro and the websites are deployed on Linux, MySQL, Memcached, Lighttpd, Varnish platform. There is zero issue. I guess if you are retarded, then you might have an issue, otherwise, you'll be fine.
$80 buys you a copy of VMWare Fusion
And how much buys you a copy of Windows to run inside VMware Fusion? I've seen nettop PCs including (volume discounted OEM) Windows sold for $200, about the same price that (retail) Windows Home Premium runs for. If you want to buy a Linux box, and you have no specific need to run Mac OS X, you might as well buy a Windows box (but make sure it has Linux-compatible hardware) for the discount on the Windows license.
I use a 17" MBP daily for web development and it's a great platform. Coming from a PC, the keyboard is difficult to get used to, but you could easily build a docking station and use a traditional USB PC keyboard.
I cannot believe the blog author didn't even try a dual-boot system, or at a minimum a VM environment. From looking at the rest of his blog, it all appears to be a rant about everything and anything (most things) the author hates. Wasted a bunch of my time today!
You're using your laptop's host OS as your server and your development machine, without virtualizing the server in something like, I don't know, Virtual Box to run a Linux server in? Are you completely insane? Seriously, I've been doing web development on a Mac since there was a web. Even when I was using a WebSTAR server with a FileMaker DB I never ran it on the same machine I was developing on! Bad, bad, bad, bad, bad, bad bad! You're either a very bad web developer or you just have not been doing it for very long. Either way, you're making your life A LOT more difficult than it ever needs to be.
In the immortal words of Steve Zissou, "I really wish it didn't need the seriously."
I never once had a Windows machine on my desk. [...] For the occasional bug that I couldn't repro on Linux, I'd fire up VMWare just long enough to work it out.
Even if you have successfully split the cross-platform logic from the platform-specific presentation, testing the Windows presentation still needs a Windows license, whether Windows is running on bare metal or in VMware. This makes the PC a "machine with Windows installed".
And I wasn't the only developer there who chose to work that way.
Did all or only some developers use Linux as a primary platform for developing and testing software intended to run on Windows? I can see cases where developing a Windows app on Linux might not be practical for smaller one- or two-developer shops.
I don't know. I wouldn't have modded it troll, but it's not a great post. Consider the context, which is essentially:
"Ok, so if this person has already decided they really dislike Mac OS, what does buying a Mac and installing Linux on it instead really get him?"
"It gets him Mac OS. OMG OSX is awesome."
If he cannot get his poor little head around OSX he can always load Linux as the actual OS, he still has a great computer. He can even load *cough* windows if he wants, was he really going to buy a Lenovo and use it with the supplied OS? He did not pay the extra money for the OS, it is for the superior build quality.
The guy is writing like an authority when he obviously does not know much about what he is doing. If he has Macports he can have EMACS and if he can image, he can change his actual OS and change back when he learns why OSX is better. If he knows Linux he should already know how to mount ISO (DMG) images as file systems and put his work on the right type of file system etc. I have always liked OSX for web dev but I accept other people have other opinions and I am happy to listen to them, but his is not a valid opinion.
I love stacking my barbecues in the shed at the end of summer - you can't beat a bit of grill on grill action.
Use VMware (for example) and run your target OS in a VM. You can still run svn and your favorite editor (emacs, naturally) on the Mac.
You're nearly as big an idiot as the OP. Read your post to see why.
It says it all right under his name on his website: "Programming, writing & automotive repair".
Haha why would you need a separate Windows license ?
Three web browsers published by Microsoft remain in wide use among a web application's user base, namely Internet Explorer 7 (still installed on many corporate PCs), Internet Explorer 8 (last version for Windows XP), and Internet Explorer 9 (current version for Windows Vista and Windows 7). How accurately does Wine run them?
Then how does he LEGALLY test for his one in ten (or more) website visitors that will be using Macs?
That depends on how different Safari for Mac is from Safari for Windows. I seem to remember that around the time the iPhone came out, Apple introduced a version of Safari for Windows designed so that the text would look like it does on a Mac: blurrier (with heavier antialiasing) yet more print-like in ways.
I cannot think of anything you would need to do in a web page that would be dependent on the architecture of the client browser. I've been developing web pages for the last 3 years on a mac pro and have not had a single problem. Never once have I had a "it only happens" on my machine problem. The only issue I've ever had is having to make concessions in my code for Internet Explorer, which I test using a VM. If you want to have an easy time developing, use an IDE. I recommend going with Komodo Edit or Komodo IDE if you have money. Both IDEs support a wide variety of languages and offer a decent set of features to make development easier.
If he can't manage to use emacs on his mac (if that is what he prefers), I wouldn't want him web developing with me on any platform. The same goes for PostgreSQL and python. The same goes for Ubuntu or whatever *nix he prefers. They all work fine on a Macbook Pro (especially if someone else is willing to pay for it) and then you won't have a hulk of a poor battery life mess of a typical windows laptop.
Seriously, look at his website. We're wasting way too much time on this guy.
http://hughpickens.com/
I thought it was just a Slashdot joke when someone says Mac fanbois are easily offended, but your username, macs4all (973270), just proves this to be true.
Man, I don't even feel I have to RTFA for this one:
1. "Web Development" could mean HTML, Java, or any number of other things, so that should be mentioned as part of the title "Not suitable for Pyton + xyz".
2. There are plenty of editors/IDEs besides TextMade, including CODA and Eclipse.
3. As for the kernel being different, yes it's BSD, not Linux. That shouldn't really matter much unless you are doing awfully low level stuff, but this isn't a Mac or Mac OS specific issue. If you develop on BSD, Windows, or whatever.. OS/2, and then deploy on Linux, you might see some slight differences. On the other hand, I should point out that in the Unix world, LINUX is the odd one out, BSD and, say, Solaris are more compatible, since Solaris, AIX, etc. are based on BSD to begin with.
4. Again, As for the kernel being different, it said Mac (Hardware), not Mac OS (software). If he wants to run Linux, so install it and run it instead of Mac OS - what's the big freaking deal?
I don't see any point to this article except "Maybe if I mention Apple somehow I can get rabid fan-bois to post lots of flames" or something...
(What follows is just personal opinion:)
vi isn't punishment. It's a great tool for what it's designed for: editing. And the modal nature, along with keeping your fingers on the keyboard are part of what make it awesome. I assume we're talking about vim, and not Bill Joy's original vi. It also has code completion, by the way. (Try hitting Ctrl+p, for for one.)
Netbeans, on the other hand, is an IDE, and a good one at that.
By the way, another good editor (non-modal), is jedit. Also cross-platform, but with a lot of macro/scripting/regex goodness. It has a lot of plugins, including a key one that lets you edit files remotely (by SSH) as if they were local.
I'm not a lawyer, but I play one on the Internet. Blog
1) Mac comes with its own development environment its on the OS disk install it you might like it better than textmate,
2) You can install Eclipse if you prefer
3) if you really really want a windows environment just install VMWare on your Mac and add a Windows environment.
Great article and a great submission choice. It is so easy to bait Apple fanfags its not even funny. Its like saying anything negative about their iGods and they will react as if you just buttf*cked their mother in front of them.
In before Persai.
There are no karma whores, only moderation johns
I emailed this clown and all he can say is that I am a troller he couldnt even answer my questions as to how you justify his answers with no real supporting evidence. He is an idiot that wants attention. I spit on lil POS like him.
OS X sucks because some third party software for it sucks. Quite the argument you got there, bub.
That is quite possibly the most incoherent rant I have ever read. I'm not really sure what type of development the author is talking about as he backflips from Python to kernels, and PostgreSQL to schedulers, but I simply couldn't find a hint of sense from beginning to end. I think he got a bit heavy into the Tequila he mentioned, passed out, and his Rhesus Monkey banged out the article through hyperactive dung flinging. It's the only explanation that makes sense.
... or ssh to a staging host.
#6495ED - cornflower blue
Errrrm....what about the disability discrimination act 2007? Here in the UK it is LAW that you have to design websites that comply with the DDA. This means that websites must not rely on proprietary software and should run on ANY platform, thus negating the argument that one should be developing for one deployment platform over another. Using well crafted HTML and CSS there should not be any need to design and build a website that works only on PC, MAC, or Linux. Sure, back end frameworks work on both all platforms. Stay clear of any reliance on activeX. It isn't difficult to code on any machine if you have the knowledge and skills to do so. The problem comes when coders don't know the code well enough to code by hand and they rely on GUIs to provide quick and dirty solutions to make up for their own shortfalls. Take a look at the Guild of Accessible Websites GAWDS.org and there you will find all designers creating websites that comply with the law and are great looking and functional sites. Do the homework.
I'm very confused why such an immature article would be linked by slashdot, other than intentionally inciting a flamewar.
My macbook has been running Ubuntu happily since well over two years. One of the things I have noticed is that firefox and openoffice are twice as fast under Ubuntu compared to Mac OS X on the same machine.
Never heard of virtualisation?? My Mac is brillian, and using VMware Fusion I also have Windows, Sco, Ubuntu, OpenSuse all for developement and testing. I also have a cheap PC with 8GB RAM, 2TB storage and a dual core 2.8 GHZ AMD CPU. This run VMware ESXi4. IN Here I have my mail server, File/Print server, VPN server, and firewall. Most of the bits of my network that dont get changed much. The PC makes a great server because I dont have ot look at it. My Mac makes a great client becasue it is nice to use, and is closer to Linux/Unix than Windows is (BASH shell, GNU utilities, ISO disk mounting, X11 all out of the box working well.
No notepad++ on mac :(
I'm using eclipse for HTML5 dev, it's nice.
This is a troll, but not even a good troll. Everybody knows you can use Mac hardware as the high-end PC that it is. It is functionally equivalent to the heavier, lower battery-life ThinkPad he is lusting after as far as running Linux. That was even featured in one of those Mac/PC commercials called "Touché." The whole point was you can try Mac OS, but still use the Mac just as a PC ifmthat doesn't work for you. There are kids who were able to follow that process.
So if he feels lost and scared in unfamiliar OS X, then just install Linux. Or use the VM he already said he has to run Windows to also run Linux and just use the graphical part of Mac OS to run iMovie, GarageBand, PixelMator, and so on. He could also install Xcode, which has an iPad/iPhone simulator in it, adding MobileSafari to his browser collection.
Dude really needs to learn how to think his way out of a paper bag. If you can't find a use for a high-end PC that can run Mac OS, iOS, 3 versions of Windows, many versions of Linux, either natively or in multiple high-end virtualizers, then there is something wrong with *you*.
The World Wide Web only ran on OS X for the first year or two. It was created by Tim Berners-Lee on a NeXT workstation, which has since been unforked back into Apple and is very much alive in a MacBook Pro running OS X. There is an idea in this article like Linux is "real" Web development and OS X is not, but it is Linux that is the young upstart. The "grow up, use emacs" argument could easily be "grow up, use OS X." Both are older than Linux.
I recently made the transition from Linux to Mac. As a result of that transitions:
1. ICEwm -> Spaces. I still have multiple desktops.
2. xTerm -> Terminal.
3. yum -> macports . Generally macports is a bunch slower (it does everything from source, rather than packages) but 'ports install digikam' did the right thing, although it took a lonnnnnngg time, and put a load of X11 programs I hadn't asked for.
4. vi -> vi.
5. Firefox +Opera +Chrome -> Firefox + Opera + Chrome + Safari
6. Digikam + gimp -> Aperture + Photoshop. Big win.
7. Virtualbox + WinXP -> stuck. I don't have a good equivalent to Access yet.
New:
iTunes + iPhone = portable smart playlists.
Mac comes with Apache as it's built in web server.
Author complains that the environmental differences bite you. Who does major editing on server files? Let the server do it's job. Edit in an environment that lets you play music, play with your screensaver when you're stuck. (electric sheep...) and have a couple hundred windows open on 12 dual screen desktops.
In a production environment in the past:
I've always taken an old box, and run whatever OS + server software the production box did, and moved files to/from it with rsync. I've tweaked the server with ssh+vi. I've analyzed traffic with Wireshark.
I've used Mac, Linux with various desktops, NextStep, Ultrix, AIX, IRIX, HPUX. Winsnooze, Freebsd, openbsd both with just CLI, In order of usability for what I wanted to do:
1. NextStep
2. Mac
3. Linux
4. Windows
5. Other X11 (Lack of suitable applications)
I don't count the CLI machines -- their job was to be servers. Most of my career I had a workspace for each server with half a dozen xterms ssh'd into them.
As to the author's complaint about TextMate. There's lots of IDE tools out there, BBEdit, {g}vim at the bottom end for simple text editing, up to Eclipse, and Dreamweaver if you want something with more whistles.
At present my tool chain for web authoring consisted of
1. vi to edit files
2. template toolkit 2 for templating
3. MultiMarkdown for reducing tag writing
4. Perl to automate stuff.
5. apache to test pages on.
6. rsync to push updates to my server.
Getting my toolchain working on the mac took the better part of a day mostly waiting for macports, and tracking down places where I had hardcoded paths into scripts.
In passing: I have a winsooze laptop too. It also has my toolchain present on it.
Third Career: Tree Farmer Second Career: Computer Geek First Career: Teacher, Outdoor Instructor, Photographer.
Failing that, just install VirtualBox and run Linux inside OS X.
'OS X and Linux have different kernels, which means different I/O & process schedulers, different file systems, and a whole host of other implementation details that you'll write off as having been abstracted away until you have your first serious encounter with "It Works On My Machine.'" Finally, he says, Textmate sucks. 'Sooner or later, you have to face facts. Man up and learn Emacs.'
Errh... WHAT?
Linux has different kernel? WTF? Linux IS THE KERNEL. Linux is a monolithic kernel what means Linux is the operating system (Linux kernel == operating system). There is no Linux what would be anything else than the monolithic kernel. Do not brand software systems as Linux just because they use Linux as OS. But do not call Linux "just a kernel and not operating system" because some companies and GNU hippies call OS + something else (own products) as operating systems to compete and sell it. No wonder Linux has bad name when not even people understand that what the heck Linux really is!
Mac OS X does not use Linux as operating system as it use XNU. And XNU is acronym from "XNU is Not Unix". XNU has a microkernel called Mach. XNU is package of Mach + I/O Kit + BSD what makes XNU partially open source as Linux is. Even that XNU operating system is open source like Linux is, but XNU has more than just one license on it what allows it to be closed as well. And Apple use that right to close it.
Apple use XNU as operating system in Mac OS X and iOS. And I believe the XNU is operating system even on older Apples products like old generation iPods and so on. Apple has just one operating system in use, while Linux OS is as well used in Android, MeeGo, Bada, WebOS and many other software systems.
Microsoft in other hand has two operating systems in use, NT for Desktops, Laptops and Servers and then CE for mobile devices and embedded systems.
I run a linux VM in VirtualBox for for testing my development on my mac. It's free and it took a whopping 1.5 hours to set up. I'm part of a dev team developing for linux servers, and almost every person uses a mac. This is repeated countless times in my industry. This article is utter nonsense...
All the fucking time... Run it in a VM...
Not ever fucking once do you hear a
Linux or Windows person say... "need
to run MacOS? Run it in a VM... "
Know why? Because, there is absolutely
NO REDEEMING QUALITY TO RUNNING
A MAC OS ON ANYTHING EXCEPT WHEN
FORCED TO... ON A MAC!
I really think you people are retarded in some
way. Do you honestly miss the point that you
are spending more for the opportunity to be
limited?
Mac brings ZERO to the table, other than
'questionable' aesthetics.
Why didn't he just buy a linux notebook factory loaded with the linux server bits that he needs to deploy on?
Oh, wait. Turns out none are available. He would have to buy some notebook and then install the server bits and hope that they supported his integrated graphics, wifi, etc... He could do that on his Macbook too.
Or maybe I misunderstood and what he really would have been happy with was a notebook running Windows.
Suppose you were an idiot. And suppose you were a member of congress. But then I repeat myself. -- Mark Twain
I've worked on a number of projects where I've shot down the attempted use of OSX as a web server in much simpler ways. I've even gotten the problems across to managers with no understanding of "obscure technical details" (such as code management or version dependencies ;-).
One way I've done this is by taking detailed notes of the "help" I've gotten from Apple's Customer Support. Thus, in one case, we set up some automatic printouts of certain kinds of events, but found that we couldn't get the OSX server to deal with a networked printer. We even plugged a printer into a nearby Airport (Apple's wireless base station). The CS guy that I talked to insisted that before he could help me get the printer set up, I had to shut down the non-Apple systems on the local network. This included our operational linux web server, which I wasn't about to shut down, of course. The message that Apple CS wouldn't help us unless we reduced the company's network to Apple-only hardware was easily sufficient to get OSX banned for important customer-facing server usage.
Another thing that has come up repeatedly is OSX's munging of file names. The primary problem is the caseless filename matching. A more obscure, nearly intractable problem is the rewriting complex characters as the base letter plus one or more "combining" characters (accents, etc). Both of these mean that you can't just rsync a directory tree on a development machine to an OSX server's tree. The file-name changes tend to break software in subtle ways that can be very difficult to diagnose and fix. After seeing how much time it can take to diagnose and fix these problems, again the management gets the idea, and simply bans use of OSX-based customer-facing servers.
Such problems are rare or nonexistent on servers running linux or "sane" unix systems. Companies like Red Hat and Debian are happy to support mixed-vendor networks. And normal unixoid file systems don't munge filenames inside the kernel. Everything except NUL and '/' are "just bytes" that aren't interpreted at all by the kernel, and are interpreted at the application level. It's easy enough to implement caseless matching yourself, using any of several approaches; there's no need to waste cpu cycles doing it (wrong;-) inside the kernel.
An interesting aspect to the file-name problems in OSX is that we've seen the kernel change how it does this after several upgrades. The evidence is that rsync suddenly copies a file to a differently-named file, where the resulting glyph looks the same, but the bytes are different. We've also seen rsyncs between different versions of OSX result in changed file names. This is a headache you don't need when you're trying to keep a web site working sanely.
Of course, if you never use anything but 7-bit bytes in file names, you may not think this is a serious problem. But you might be surprised at how soon you have reason to deal with languages other than English, and being able to use file names with non-ASCII characters can really make your life easier. Debugging changed or mismatched characters in the name of a tmp file can soak up a lot of hours of developer time.
For any important web use, life is much simpler if you insist that the OS not play any clever games with file names. And it's also really helpful if as much of the app-level software as possible use UTF-8 encoding for everything. This way, you avoid nasty surprises when non-English (or mixed-case ;-) file names start to appear in your web directories. And these are rules that are easy for non-geek managers to understand.
(OTOH, I've personally found it easier to deal with Chinese or Arabic text in OSX than in linux. But it's not easy with either, and this is app-level stuff that isn't the fault of the kernel. ;-)
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
The Lenovo and the Mac can run the same exact software, minus OSX. Sounds like you are not a very good developer. Other than some small changes moving over to the LINUX server, there is no reason OSX should not have worked. Well actually I know it works, I do it every day.
This guy is a whiney bitch. Oh boo-hoo-hoo. If you can figure out web development, Postgres, Python, etc, then you should already know how to install these things. If not, go learn and stop complaining. We all have our preferred operating systems, and this stupid article is just another trivial "Operating system X sucks, everyone should use my favorite, operating system Y".
I've lost faith in /.
Is it just me, or is it hilarious that he's bitching about competing products that don't inter-operate while advocating for linux? Don't get me wrong, I like me some linux, but there are such big incompatibilities that we have different distributions (which is not a bad thing! I'm just putting it out there). Hell, I even remember seeing on slashdot (maybe reddit?) a link to a post from one of the Debian PERL guys that amounted to "Don't use the CPAN installer, let me know and I'll get that package in a .deb lickity-split".
Yes, OS X has more than one package manager. But of the three, I know that at least two of them have fundamentally different philosophies on how the package management on mac should work. Of course they're not going to inter-operate when one tries to use the apple-supplied utilities when they exist and the other is shipping its own version of the dependencies.
This guy has unrealistic expectations and seems to ignore the realities of the current state of the computer world to trash OS X with an argument that boils down to "I tried to do development in an environment that isn't the same as production. I was so upset to find out that my development environment was different than my production environment that I wrote this blog post trashing the development environment I chose!"
EMACS? EMACS? you have to be kidding... all you really need is vim.
so his company sold for a bunch of money. And we care why? Just because the company value was high doesn't mean he's not a moron. You use the tools that work to accomplish the task at hand. If you're not sure which ones to use, then you ask. You don't cram down people's throat that things should be done a certain way. Choices are good. In the areas of text editing (which is where us hardcore web folks live) there are many choices and BBEDIT is a great one on the Mac. Emacs...well ok, you can use that, vi, textmate, and many others.
There are a number who would choose the write the from scratch for control purposes, but use some css in there for styling as stock html is limited in a number of ways which was why css was brought around anyway.
And get a clue, your company can be worth billions, but you can be a dork. Oh! and we'll be all happy to tell you so! LOL
EOL
Michael Murdock, CEO
DocMurdock.com (and my site is NOT my best work. It's merely there as a placeholder for the best work to arrive)
Thank Ghu for Parallels, now my Mac can run every developer's dream editor: Notepad!
Well, he uses Ubuntu -- and that's the answer for everything. Ubuntu sucks and makes people act like idiots. Textmate -- okay, it's not awesome, but tell me: WHY do you hate it and why do you recommend Escape-Meta-Alt-Control-Shift, which is a decent OS which lacks only a good text editor? Also, who, in the holy mother of fsck, is this guy?
Given that doing anything on the web is a total nightmare due to the duckbill platypus nature of everything on the web, it doesn't surprise me that this guy thinks that EMACS is the solution. Web development has been around for something like 15 years now and yet we still don't have the equivalent of QuarkXpress or Indesign to do true WYSIWYG page layout. No page that isn't just pure text looks the same in every browser and no page you build in any web design tool looks the same when viewed in any browser. And no page that you lay out just right in Dreamweaver or something that's supposed to be WYSIWYG looks right when you drop it into a CSS-based content management system like Drupal. That's just dumb.
http://www.virtualbox.org/
He can create any test environment there for Windows or GNU/Linux, and then he will get more consistent testing results from a virtual machine which can be restored to a checkpoint easily than trying to test directly on his development laptop. VirtualBox is even free.
There are other choices as well like VMWare and Parallels.
Plus he can use BootCamp to set up a native install of software in another partition if he really must run directly against the hardware.
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
I know this guy is supposed to be some sort of magic man who is uber successful: but I and two other guys have done web development on Macs in a company that is predominantly a Windows based company - for darn near a decade now. We develop on our Macs and deploy to Windows and some Linux boxes...
What is the problem?
A person with such views is unsuitable for web development.
Vim. ;)
And where I work, full-time employees are issued iPhones and Macbooks, which is great because they are actually not bad machines and give an air of uniformity to an otherwise maverick group. They're just overpriced and have a shitty operating system. However, my fellow programmer-in-arms; he and I are software development [actual programming], not web development, mind you; stated that his machine was only useful once he got Linux installed on it, and the company was toying with the idea of providing the machines with Linux, OSx, and Windows installed.
We have a virtualized infrastructure at our company. This way, the actual development machine becomes irrelevant.
Ted Dziuba is a f*cking moron. Seriously, I've read so a few of his articles and they all seem out to troll everyone.
you are a linux sucking gooshbag
I think the problem isn't development on the Mac, but testing on the Mac. Code can be written anywhere, this is why we have nifty things like cross-compilers. You just have to test it on the target platform.
Sounds like a mac fan boy
Ted Dziuba is a co-founder of Milo.com
So? I don't know about you, but most founders of tech companies knew just enough to bang out enough to show someone to get funding, and then real professional programmers are hired.
I agree with the OP. The original article is whiny and amounts to "my NASCAR racer didn't work very well in the Maine Forest Rally." Among other things, I'm wondering why the hell he didn't just download a copy of Virtualbox and plop a Linux installation on it.
Please help metamoderate.
Ah, makes total sense, I suppose. I'm about to be getting a new work pc for my new work position. Supposedly it'll be a mac, but I'll install ubuntu.
A simple, static web site is just some HTML files that a server sends out when a browser requests them, but when you write a web app that generates pages dynamically, the HTML sent to the browser is just what a program run by the web server generates as output. This program is invoked when someone asks the server for a page. Since the program doesn't continue running after generating the page to be served, web apps typically use a database backend to maintain persistent state (who's logged in, what they've posted, what privileges they have, etc.). If you have a lot of users active at once, the web server will have a bunch of threads operating at once, so there's potential for serious race condition issues.
"The use-mention distinction" is not "enforced here."