correct me if i’m wrong


A MacBook Experience for a Religious Fanatic

I recently ordered a 13.3″ MacBook, my first Apple computer and currently only Apple product.

I would like to share the fantastic user experience that it has to offer.

MacBook 13.3" Aluminum Unibody

Goals

My intention in purchasing this laptop was to be able to have a computer that was well-suited for programming, blogging, and surfing (with the occasional Hulu video) and could be easily transported. I wanted something with a native Linux install that would give me access to a BASH terminal, emacs, Eclipse, and xmonad (or another tiling window manager of equal quality). I am a supporter of Ubuntu and quite a large number of free and open source software tools: Python, Apache, MySQL, git, etc. I wanted an ultraportable since I lug my laptop around everywhere, and I wanted something nice, seeing as how I can spend up to 12 hours  a day on my computer (including watching TV, paying bills, reading, socializing, etc.–literally, every aspect of my life is tied to my computer).

Shopping Experience

I shopped around for various ultraportables, which happened to fall in the $1500 price range for the horsepower I desired (give or take a couple of hundred bucks): the Dell M1330, the Lenovo Thinkpad X300 (among various Lenovo models) and the MacBook/MacBook Pro series.

The decision was difficult due to the minor variations in each series. The Dell M1330, for example, offered a solid-state hard drive for a much lower markup than its competitors, which was really appealling. The Thinkpad X300 included everything-and-the-kitchen-sink in what it claimed to be a competitive size to the MacBook Air (although it’s actually about the size of a regular MacBook). I also received a significant discount as an IBM employee. The MacBook Pro series was the popular choice, but also the highest priced and least powered. It wasn’t a logical purchase.

My mind was quickly made up when I physically saw a silver 5th-generation MacBook in the Apple section of the local Best Buy. Both the MacBook and MacBook Pro are nearly identical, yet the Pro version is drastically marked up for an extra video card and larger screen size. In my mind, that doesn’t justify the price difference. The Dell M1330, Thinkpad x300 and the MacBook are all 13.3″ models, while the MacBook Pro is 15.4″. Hence, the plain old MacBook was also the size (and closer to the weight) that I was looking for.

First Impressions

Now that I have made my purchase, I clearly understand why Apple fanatics grow to become Apple fanatics–regardless of whether they are the most hardcore programmers or the most casual buyers. I can’t stress this enough: the experience of purchasing an Apple is absolutely immaculate from top to bottom. From receiving the first thank you e-mail from Apple that basically shouts, “we care about you as a customer,” to opening the well-designed, stylish box, to the exciting, galactic startup screen when you boot it for the first time, Apple consistently communicates the message that they care about the end-user and that they take pride in producing something excellent.

I previewed the MacBook series at Best Buy. Upon browsing the various laptops, they are clearly the most well-designed product on the floor, the distinction being enhanced by being proudly displayed in their own section. This could have been said about most previous Macbook Pro models, but I feel that the metal unibody design for the fifth generation is a significant step forward for the oft-overlooked MacBook stepchild.

I was not impressed by the form factor of the other laptop models. It is also worth mentioning that in this purchase, I wasn’t valuing horsepower as a priority. A local development environment for Web programming simply is not all that demanding. I just needed something that would survive 3-4 years without becoming outdated.

I first previewed the Dell M1330, which feels thick, and hence somewhat archaic, even though it wasn’t released all that long ago. From a design perspective, the keyboard suffers from the typically Windows PC woes by being cluttered which stickers and excessive buttons. Additionally, the screen feels small in comparison to the MacBook, although it is the same size. This is something I found to be remarkable in my comparison of the MacBook and MacBook Pro: although the Pro edition has a screen that is more than two inches larger, the difference is negligible. I am sure that over time, with much use, the difference would be noted, especially for text-heavy web applications that require scrolling such as Google Reader, but in a side-by-side comparison, it did not feel like a huge loss. Last, the Dell is clearly the best bang for your buck in terms of horsepower for ultraportables. You can configure a system with 4GB of RAM and a 128GB solid-state drive for under $1500. However, because I was not impressed by the form factor, it did not feel entirely like an ultraportable, but more like a powerful Netbook, of which there are an abundance of options that I did not consider. It looks pretty in pictures, though:

Dell XPS M1330

Lenovo laptops are nowhere to be previewed in the physical world unless you are lucky enough to have a friend that owns the model you are looking for.  Additionally, I have heard that there are “authorized Lenovo dealers” or something to that effect which can be located in obscure places such the authorized dealer’s home. So it was an easy decision to disregard them, considering I am unfamiliar with any of their new models. This is too bad, since their commericals slobber all over the MacBook Air.

Not to dismiss them completely, I do use a Lenovo Thinkpad T61p at work, which is a fantastic machine, and it would have been an easy decision to buy one had Lenovo not discontinued them.

Ubuntu

I immediately installed Ubuntu and was quickly disappointed by its support (or lack thereof). Using anything besides OS X (Leopard 10.5 at the time of this writing) simply destroyed the vertical Apple user experience. There are various fatal problems with Ubuntu on the new MacBook that led me back to OS X:

  1. The system does not shut down properly. It causes the screen to go blank and an intermittent series of three loud beeps to occur. Supposedly, this is a problem that occurs when the RAM is not installed properly. I know this is not true.
  2. The sound doesn’t work out-of-the-box. It takes some configuration to get working, if you’re lucky.
  3. Supposedly, the battery life is horrendous.

Quirks

Because Apple controls everything, they can keep it all tightly integrated to the level that other operating systems can’t. These are the quirks that Apple users rave about to the annoyance of everybody else, but it wasn’t until making this purchase that I deeply understood why. These are some of those quirks:

  1. No need to shut down, instant boot up, no need to reboot. With my Thinkpad, I can set the computer to “stand by” to quickly reduce the startup time. With my MacBook, this is a no-brainer. I close the lid, it shuts off, I tap the touchpad and it starts up. A similar configuration can be made with other operating systems, but it’s not quite as seamless.
  2. The operating system is relatively lightweight. No need for a power-house that would run Windows Vista (as if that was ever in the question–ha). I don’t know the specifics of how OS X compares to Ubuntu, but the designers definitely had the specific hardware configuration in mind when they designed the memory management. Ubuntu simply does not have this luxury. This point is worthy of further investigation.
  3. Spotlight. This is an tool that lets you find applications, media and files by typing them in. It follows the Ubiquity design paradigm that I recently discovered and am incredibly excited about. It is also available on Linux in the form of Beagle.
  4. Meticulous attention to detail. Like I already stated, everything from the packaging to the registration screen seems to be well-thought-out and well-done. This feeling never ceases. The playful, “friendly” feel of Leopard’s Expose, Spaces, Dock and other applications simply make it feel like more work has gone into it. These apps are enjoyable to use. Additionally, since it is Unix-based, the hardcore users don’t suffer, with access to vital developer elements such as a Unix terminal.
  5. Everything is simply beautiful. You don’t really appreciate the sheer beauty of a MacBook’s physical design and the aesthetics of Leopard until you experience the top-to-bottom user experience. Like I said, I feel the aluminum unibody design is a big step forward and it feels like a work of art.

All these items are things that could be configured with enough tweaking and tuning on any machine. However, the point is that that tweaking and tuning is simple not necessary here. The designers have done a magnificient job of selected only what is necessary and useful for the common population.

During my Ubuntu install, for the first time, I felt a pang of burden at installing the darn thing. There simply wasn’t the value add that one achieves over Windows. I would have put all this work into configuring it to get what would inevitably be an inferior user experience to OS X, because certain things, like the backlit keyboard that I paid for, wouldn’t function properly.

Mac OS X Woes

The experience isn’t perfect, and there are several annoyances about it:

  1. Some keyboard shortcuts are moved from Ctrl on most machines to the Command button. This is a common paradigm across most operating systems I’ve used (Windows, Ubuntu, Fedora), and is an annoyance.
  2. The Delete, Page Up and Page Down keys are missing, being replaced by different shortcuts, which takes some getting used to.
  3. I have no idea what mounting an application to the hard disk means and it causes seemingly installed applications to disappear when the computer is restarted.
  4. The typical annoyances of learning a new operating system. Dealing with things like a new package manager or finding a good FTP client, for example, are always a pain.

Overall, I am enthralled that I chose to step out of the open-source mindset to give Apple a try. The’s company’s Mac vs. PC commercials are still damn pretentious and made me love and sympathize with John Hodgeman, but I suppose they are working out for them. Fortunately, I don’t watch much TV and so therefore I’m not affected.

Published by adambossy, on January 19th, 2009 at 6:19 pm. Filed under: Computers Tags: , , , , , 14 Comments

Leave your ego at the door and master your tools

I am constantly surprised and astonished at how few programmers are thoroughly trained in using the tools they use in their daily work.

I first noticed this in college. All throughout, I consistently preached the emacs gospel to my fellow classmates. The gospel I am referring to is that emacs is an incredibly powerful tool, and that those that have a vested interest in programming should put forth the effort to master such tools to leverage their skills.

At the University of Texas, we primarly used Ubuntu Linux on the school’s lab machines. I constantly saw kids fumbling with the random crap that came with the KDE installation: KWrite, Kate, pico, nano. Not just the young ‘uns. Juniors and seniors, also. It made me sick to my stomach.

Regardless of whether I was creating a two-line text file for printing or working on my multi-semester thesis project, I would use emacs. I knew the tool well. It was quick and simple to launch, edit, and close. I could even use it from the shell without having to launch X Windows.

 

John DierdorfPhoto: John Dierdorf

 

This post is not about why emacs is better than vi (which it is). Instead, my goal is to describe why I don’t care whether you use emacs, vi, TextMate, Python, Ruby, BASH, Windows, Linux, or any combination thereof; what matters is that you choose a set of powerful tools and know them well enough to enhance your productivity.

In fact, the differences between two competing entites is negligible. Take vi and emacs for example. All they do is edit text. Two experts in either tool most likely have an indistinguishable difference in productivity. Yet a newbie to either one is utterly useless.

I don’t care about which set of tools you choose for your craft. I do care about how well you know those tools.

The same goes for Ruby and Python. Has a developer ever reached a point in a Python project in which he or she said, “darn. I should have used Ruby. It fulfills a need for this project that Python lacks.” The answer is no. They are both Turing-complete, after all. The initial toolset choice is the subject of another post. 

In short, it takes an initial time investment to get over the learning curve, but once that time is invested, the productivity gains are phenomenal. As you continue to practice an hone your skills, the reward continues to increase.

Published by adambossy, on October 30th, 2008 at 3:39 pm. Filed under: Programming Tags: , , , , , , 1 Comment