As a programmer, I like the concept of DRY - Don’t Repeat Yourself. So given that enough people have asked me about my choice in computers, I’ve decided to just write a quick article about it, given that it’ll be more maintainable this way. :)
So I recently ditched a brand-new spanking T420 after approximately 8 months of use, but with good reason - to spend even more money and purchase a Late-2011 Macbook Pro! …don’t sound convinced? Well here’s my attempt.
There are a few major concerns people have with Macs and really it comes down to what you’re looking for in a computer. Since people are starting to bash on me for using a Mac, I’ll also list my complaints that I’ve had with other operating systems:
So my major use cases on most machines go something like this:
Windows can handle 3/4 of those things correctly, and that’s probably why I’ve been on Windows for so long - because I haven’t found the extremely poor coding environment in Windows to be a problem until now, when I’ve gotten serious about it.
Sure, there’s Visual Studio and .NET, and while I do find that C# > Java in many aspects, I would not use it for any personal projects given that most of my projects would not fit in to that niche, and if I could actually build something profitable out of it, it wouldn’t be profitable anymore with the Microsoft licensing fees I’d probably have to pay. There IS BizSpark, but that’s besides the point.
Really, the only good thing I’d use Windows for would be the ecosystem of games available, but I wouldn’t really be interested in gaming on a laptop in the first place, and I’d rather not sport a 17-inch monstrous Alienware laptop that would make me look like I’m overcompensating for something.
As a consumer device, I wouldn’t really recommend a Mac as it’s considerably overpriced for the hardware, and you can see my major reason for switching is for point 2. Albeit, I do find a lot of things on OS X to be nicer than Windows like workspaces and the really sexy hand gesture-centric focus on the operating system, but I would not pay several hundred dollars more for features that I could invest in another monitor or hardware to make up for it.
Linux - what can I say. When I heard about Unity desktop and the first time I tried it, I was rather excited. On my Thinkpad T420 it would be the lean, mean ultimate coding machine. But sadly it didn’t really suffice for many reasons.
The darn thing kept crashing!
I thought Thinkpads were built for Linux, heck it’s even “Ubuntu Certified.” From all the drivers I had to download to get my trackpad to work half-decently, to all the hacks I had to do to get it to stop consuming so much power, to all the times the darn thing crashed on me while I was in the middle of my coding, I finally gave up. I ended up using the Windows OS more than Ubuntu on the dual-boot because I wouldn’t have to worry about the thing eating up the ridiculously large 9-volt battery up in an hour.
Sure, even if it was really suited for coding, it didn’t really suffice for the other points. A dual-boot was incredibly frustating and running in a VM was even more ridiculous.
At the very least, OS X could still provide me with a very familiar bash terminal (though I hear zsh is pretty sexy), and still provide me with a less-prone-to-crash shiny interface.
There’s one major thing going for Linux, though:
sudo apt-get install [MAGIC THINGS I WOULD LIKE INSTALLED]
Super simple package management. Though with brew, I can do something similar:
sudo brew install [MAGIC THINGS, BUT NOT AS MANY AS APT-GET]
..and that’s the thing, there’s so much community behind Mac that you’ll find that most tools will be available for it. Or at least in my case, as for doing lots of web-related development.
So there you have it, you’ve heard my criticisms about the operating systems I’ve used, but of course Macs are not perfect either and I do have some complaints, but that will be another blog post ;)
So here are some things I’d highly suggest changing:
This is pretty essential - Apple charges you ~$200 more for 4 GB more of RAM, when you can just order it off of Amazon for ~$40! I highly recommend doing it yourself as it’s a very simple and cheap way to get your MBP blazing fast, especially with multiple workspaces and a crapload of Chrome tabs.
I haven’t done this yet, as they are darn expensive and the Asian floods have increased the price, but I’ve seen quite a few tempting purchase-worthy drives on Amazon.
If you’re afraid of the cost or afraid that an SSD will not have enough space, I’ve heard good things about the Hybrid SSDs from Seagate:
…that’s really all you can do with a MBP - no graphics card since I have the 13-inch. Albeit, it’s not much different from the Thinkpad as their 14-inch models don’t sport a graphics card, and I’ve actually found Starcraft 2 to run much smoother on my OS X than the Thinkpad (though the processor on this MBP is 2.8 GHz over the i7 2.7 GHz on the Thinkpad)
I use a Macbook Air at PagerDuty, and I really love the form-factor, but the lack of upgradibility makes me a little worried as I have found it slow to run tests and to run my local servers, so I wouldn’t get an Macbook Air for personal use. But I love it as a work laptop, as I can bring it home easily and use it everywhere (so you ought to try working there if you’re a Waterloo co-op or looking for an internship :P). I’d definitely consider buying them if they come up with 15” ones. (That’s right Apple, SHUT UP AND TAKE MY MONEY!)
So that’s my rant - I have more to talk about if you ask me, but you can see my use case and why it covers it quite well. So haters can keep on hating, but I lurve my Macbook~~~
If you have any questions or comments, leave a comment below, or follow me on Twitter (@j_ckao)