All the best hackers I know are gradually switching to Macs. – Paul Graham
A week has gone by since I received my 15” MacBook Pro from Apple. In this post I’ll share my first impressions about the whole experience especially for those who are considering the switch.
Ordering the Mac
I placed my order online through the Canadian Apple store, selecting the available 2 day shipping option. The ordering process was quick and smooth, without many attempts to sell me add-ons or other products (I dislike GoDaddy and Dell for this reason alone). I received the first confirmation email regarding my order, and eventually, after a few hours a second email arrived which reported a higher sale price. It turns out that Apple didn’t show me the taxes when I checked out. I was not impressed by this, as the checkout should have reported the exact amount that I was going to be billed for, including taxes.
The shipment
During the ordering process I picked a standard configuration (15”, 2×2.2GHz, 2 GB), except for a larger hard drive. Despite this, my order shipped in 4 days, while the website officially predicted it would ship within 24 hours. Depending on how you view this, the extra charge for a fast delivery can be seen as pointless, if the bottleneck happens before the product is actually shipped.
Furthermore, providing more accurate expectations may cause one to consider a retail store purchase instead. But let’s not be too impatient, and accept this as an OK turnaround time. What surprised me the most was that a transaction which was handled entirely in Canada (Canadian store, address, credit card, etc…) was shipped all the way from Shangai.
I’m not naive, I was expecting the laptop to be manufactured in China, but not actually ship directly to my house from there. To make a long story short, the 24 hours for the shipment and 2 days for delivery, magically became 4 days + 4 days. It took 8 days to arrive here. If you are considering a purchase online, keep in mind that 8 days may not seem like a lot now, but when you are waiting for your (expensive) cool new toy, they can seem like an agonizingly long time.
According to the Apple website, it looks like they are running low on stock and the newest laptops are taking longer and longer to ship. I’ve also read a few threads about how many Macs arrived in suboptimal condition. Common issues are dead and stuck pixels (considered normal by Apple, unless there are 7 or more pixels affected within an area of 1 inch), light bleeding monitors, uneven backlight, a strong yellow tint in the lower third of the screen, warped cases, stuck or misaligned keys… you get the idea. I would advise you to buy in store if you can, I was lucky enough to obtain a model that appears to be in perfect shape, but you may want to double check your model at the point of purchase rather than risking it.
The packaging
Apple is miles ahead of basically all of the PC manufactures in this department. Their packaging is sexy, efficient and trustworthy. My MacBook Pro arrived from China to Toronto without a single scratch, and taking it out of the box, felt like undressing a beautiful woman (giggity giggity). This may not matter to you, but I’m a sucker for good design, and small details that show a certain level of attention to quality. Even the protective foam had MacBook Pro written on it and the keyboard had a protective cloth to prevent it from scratching the screen during transportation.
A fast and beautiful product
Apple redeems a so-so ordering and shipping process, by creating a product that is remarkable.
I’ve reinstalled the OS, in order to remove unwanted software and extra languages. Boy, this machine is fast. Reinstalling Mac OS X took very little time, and now it boots up in a matter of seconds (even though I rarely restart it).
Mac OS X doesn’t fall short of my expectations. It is awesome out of the box, because it allows me to focus on what I want to do with it (and without it getting in the way). In a couple of hours I had everything needed to develop in Ruby, Python and Haskell, and to use it for general productivity. It’s very intuitive to learn and I feel that I’ve grasped the essentials pretty quickly (it’s a BSD in the end).
The Apple approach
Most Ruby developers that I know use Mac OS X, Ruby on Rails and TextMate. Heck, that’s the configuration used by the whole Rails core team. But ask yourself, what do Mac, Rails and TextMate have in common? They share a common approach, they all just work out of the box. They can be extended, further customized and configured, but they ship “production ready”, adhering to good design choices and conventions.
Try to guess what the first question many of my friends asked me about the new Mac was? “Have you purchased TextMate?”. When I answer that those were the best sixty bucks I’ve spent in a long time, many of them dropped “the Emacs bomb”. Oh yes, Emacs. They just don’t get it.
Virtually everything that can be accomplished on a Mac with TextMate, when programming in Rails, can also be accomplished with a different OS (e.g. Linux), a different editor (Emacs, Vim, JEdit, etc…) or web technology (e.g. ASP.NET, J2EE, etc…). The problem is “how” you accomplish the end result, and what sort of effort, knowledge and time are required to do so.
I don’t feel my time is best spent excessively configuring and fiddling with the tools that are supposed to make me more productive. “Emacs can be made as productive as TextMate”, but even so, who cares? If it takes me a day or two to configure it, in order to obtain similar functionalities to those of TextMate, Emacs ends up costing me a much higher amount of money than the mere 39 Euro I gave Allan Odgaard.
The same thing goes for Rails. You could tell me that there is no need for Rails when I can use the whole J2EE stack, and many people actually believe this. Sure, go ahead and good luck with writing lines upon lines of XML just to barely configure your application.
It’s a matter of your personal mind-frame. Correlation doesn’t imply causation but I don’t think it’s a coincidence if at RailsConf, most developers showcased Macs.
To quote Dave Thomas:
The tools are not necessarily better, but they don’t have to be sharpened or maintained as often, which lets you concentrate on just using them.
This is how software should be written, and ultimately what the “Apple approach” is all about.
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
It’s difficult for me to concentrate on a tool when it’s not doing what I want it to do. Every text editor except Vim has been unable to let me tell it what to do accurately, and I don’t believe that the cost of me investing time in Vim (my config is only 100 lines long, 80% of which is just grabbed from vim.org) is greater than the amortized cost over time of my frustration with lesser tools.
I’m a Macbook developer too, btw.
Knowing nothing about emacs i rolled up my sleeves and started using it. The basics were easy and i was up and running in 2 days. I gave up when i had been spending a couple of weeks (30 minutes one day, 1 hour another) trying to get the Python mode and Emacs Code Browser and project browsers plugins installed.
Why doesn’t anybody package a version of emacs with some sensible defaults for tailored for every language?
Well bottom line: i returned to my *lesser* setup of Eclipse + PyDev setup
I recently switched my main development machine from my MacBook to my Gentoo box and needed a new editor (I usually use gvim for Linux editing but don’t like it much as an IDE). Anyway I gave Emacs a shot and I’ve found that it does a ton of what TextMate does if you just set a variable or load something in your .emacs file. Once you start stepping through matches from grep just like you would compiler errors you really start to appreciate the power in Emacs.
Being open-source is a big win for a text-editor-slash-development-environment. All the bundles to make TextMate more IDE-like still can’t fully integrate themselves into TM. Check out the Rails integration with Emacs. It’s quite impressive, more-so than the Rails bundle for TM.
http://dima-exe.ru/rails-on-emacs
Anyway, Emacs or TM is a fine choice as is the Apple platform. My Intel-based MacBook is not as stable as my previous PPC G4 mini, but that is my only gripe with it. Apple machines and OS X are great if you love attention to detail.
Set up .vim file once and you’re set for life 🙂 (although you’ll probably end up tweaking it a bit in the years to come)
I posted a little response here 🙂
http://www.sameshirteveryday.com/2007/06/27/re-the-apple-approach/
I’ve been using Macs, Rails and TextMate for about a year now and its awesome. Nice write up.
Are there some examples of TextMate macros online somewhere? I tried playing with TextMate a few months back and it seemed like a toy text editor to me. Obviously I was missing a big part of it. So I’d like to see some examples of what it can do.
I had exactly the same reaction when I got my PowerBook 2 years ago. It’s like opening a gift, only it’s to yourself. I’m curious, though, about the fascination with TextMate. As a longtime vi/vim user (since 1989) I try newer editors every few years but keep coming back. I gave TextMate a spin last year but went back to vim after a month. Are there specific features which seem to be particularly well done, or is it a reaction to bloated IDEs?
texmate is a joke..
TexMate Rocks! It is one of best editors I can imagine.
I use jEdit on OS X.
I used TextMate for a year, but I just switched back to jEdit.
Why? Four reasons:
1) TextMate doesn’t do split screens.
2) TextMate can’t print for shit.
3) TextMate uses the infernal UI nightmare that is OS X’s “drawer”.
4) TextMate can’t organize my projects.
jEdit is a pig on RAM and CPU because it’s written in awful Java. But I have a Mac Pro, and I have oodles of RAM and CPU. So, jEdit is the better solution for me. Maybe TextMate 2.x will fix the above problems.
Oh, I should note I still use TextMate as a replacement for TextEdit when I need to edit a single file real quick. It’s just not the best Ruby/Rails/project editor.