Parallel Desktops

An open letter from a cyclist to 99% of drivers

The news always seems to be carrying some story about a cyclist and a driver getting into a fight or of a cyclist being struck by a car while they are riding. When these stories are discussed in the comments section of a news site tempers flare and heated arguments about sharing the road break out. The pattern is so consistent that you can predict it pretty accurately:

Featured Gadgets Parallel Desktops

The Accidental iPad and How I Use It

When Steve Jobs announced the iPad a few months ago I didn’t think “Wow, I gotta have me one of those…”. Though I was intrigued by the form factor and slightly motivated by Steve Jobs’ demonstration of the device, it didn’t scream out at me as something I needed. I was actually more amused with all the criticism surrounding the choice of iPad as the name for the device.

I yawned and went on with my life.

Nearly a month ago I walked in to our local Apple store with my family. We weren’t looking for anything in particular, just letting my kids fawn over the Mac hardware as we thought about buying a MacBook for my son before he heads off to college. I asked one of the Apple store employees if they had an iPad I could take a look at. He handed me an 8 x 6 inch card with a picture of one on it. The device was far thinner and lighter than I expected.

He then asked if I would like to reserve one.

Parallel Desktops

Macs and Failing Hard Disks – an early detection tool

The other day I was sitting at my desk when I started to hear a faint clicking sound. I pushed the noise out of my mind for a while and continued to work on the task at hand. Before long the clicking started to get louder and louder; it was clearly a consistent mechanical noise and was coming from under my desk, right where my Mac Pro is parked.

I popped my head down there and sure enough, it sounded like one of my 4 hard drives was starting to go. Usually if you hear a clicking sound coming from a hard drive its demise is imminent. I blasted out a quick note about this on Twitter and my friend Ast recommended that I try running SMART Utility to see where the problem was.
SMART Utility for Mac scans the internal hardware diagnostics of a hard drive to quickly determine its health. Using the data collected on the hard drive itself as well as a custom algorithm it can help predict when a hard drive is starting to have problems and may need to be replaced. It’s like an early warning system that can give you a chance to pull the data off a drive before it’s too late.
I pulled SMART Utility down and ran it and sure enough a Growl warning popped up:
When I took a look at the main SMART Utility screen there was a failing drive:
My Backup drive was having some issues: 375 errors and a reallocated bad sector. This 1TB drive is my primary backup for Time Machine; with that drive potentially compromised I started to panic. With all the documents, photos and digitized home video I’ve collected over the last 20+ years I was worried if one of my primary drives went down I’d be in serious trouble.
Fortunately for me I had an additional drive that I kept in my Mac Pro to serve as a spare. SMART Utility recommended that I replace the drive so I reset Time Machine to point at my spare drive and let it run, backing up the drive overnight.
The next day I shut down the Mac Pro, preparing to pull out the bad drive. It was only after I powered down my Mac that I realized I could still hear that clicking sound that started this little adventure. How was the drive clicking if it didn’t have any power?!?
Well, it turns out it wasn’t one of my drives that was doing the clicking; it was an older UPS that was also parked right next to my Mac Pro. The fan in it had started clicking—that was the sound I was actually hearing. I proceeded to kick the UPS until it stopped clicking.
(No, really, I did. Kicked it like a soccer ball. It ended up getting quiet for about 10 minutes too. Ultimately I ended up having to replace it anyway. No nasty comments from the People for the Ethical Treatment of UPSs, please.)
An Important Lesson
While the clicking sound wasn’t actually the problem it did prompt me to test my drives. Had I known that a tool like SMART Utility was out there I would have bought and run it a long time ago. Sure, the drive SMART Utility identified hadn’t completely failed yet and is technically still serviceable. That said, the data I have is far too important to store it on a drive that shows signs of having problems.
SMART Utility is a nice little app, can diagnose all of your drives in just a few seconds and costs $25. Highly recommended.
Oh yeah, if your drive starts to make a clicking sound I wouldn’t recommend kicking it until it quiets down. That’s only something you do with a balky UPS. Got a tip for keeping your hard drive healthy? A utility you recommend for ensuring it’s safe? Drop a note in the comments.


Parallel Desktops

Switching to Mac – Two Years Later

It’s now the two year mark for my switch from Windows to Mac. Over the last two years I’ve gone from a Windows developer exploring the Mac as a compliment to my Windows and Linux machines to a full time Mac user that spends the vast majority of my time in OS X.

I didn’t wake up one day and say “Wow, I hate Windows. I’m going to switch to Mac”. I bought a little white MacBook, put it on the desk next to my primary Windows machine and started playing with it. Though technically underpowered compared to the dual screen, custom built PC I spent all of my time on, I found myself constantly reaching over to the MacBook to use it. The environment was fresh and new to me and I began to really enjoy the user interface consistency that OS X and the vast majority of Mac applications shared.

For such a small device the performance was excellent too; though it was the least expensive of the MacBook line of computers it didn’t feel like a compromised machine. Applications loaded quickly and I could run several large applications at once and see very little performance impact. In the past when I purchased the least expensive Windows based laptops the machine was barely usable out of the box; it needed to be cleaned of all the “extra” applications and within a month of using it the performance would start to deteriorate. Not so with the Mac.

In relatively short order I went from having a MacBook to purchasing a Mac Pro, which replaced my primary Windows desktop. Whereas the MacBook was quick, the Mac Pro was—and still is—remarkably fast. With dual 2.8Ghz quad core Xeons and 12GB of RAM, I was suddenly able to run a huge number of applications seamlessly.

The bottom line is I’m really happy I decided to “try out” that MacBook two years ago. Computing—as a software developer the place I spent a huge number of my waking hours—became fun and exciting again.

Tips For New Switchers

Over the last two years I’ve learned a lot about helping people make a successful switch from Windows to Mac. Here is a quick summary of some tips that can help you or someone you know make the transition easier, along with some links to blog posts on the topic:

1) Learn the keyboard

As a touch typist the first problem I had when I started using a Mac was adjusting to the keyboard. A Mac has a Control, Option and Command key to the left of the spacebar, Windows has Control, Start, Alt in that same spot. The more advanced a keyboard user you are the more time it will take you to adjust. Keys like Home and End exist on a full size Mac keyboard but they don’t perform the same actions they do on Windows. Backspace and Delete swap labels but not functionality. All of this leads to a lot of missteps initially; invest the time to learn the keys.

Blog Posts: Windows to Mac Keystroke Mapping – a Quick Guide | Where did my Backspace key go? | Have you tried using the Option key? | Keyboard vs. Mouse | Switching to an ergonomic keyboard | The Page Up / Page Dn keys |

2) Be prepared to deal with MS Office files

Nobody at Apple would ever want to admit it but for now DOC, XLS and PPT files are the common language of the business world. You will want to find a solution to open, create and edit Microsoft Office files quickly and easily. The most obvious way to handle this is to get the Mac version of Microsoft Office. While I personally have it installed on one of my Macs, lately I’ve been using Neo Office to handle those types of files. Though technically you can use iWork to handle that, creating DOC and XLS files in Pages and Numbers requires extra steps that make it a challenge.

Blog Posts: I hate my Mac!

3) Learn about DMG files

If you download a new application over the web chances are it will be packaged up as a DMG file. A DMG file is a disk image and presents itself like a physical CD / DVD would when it is loaded up on your Mac. TUAW has an excellent 101 style overview of them. DMG files are important because of tip #4.

4) Learn to install applications

If you are coming from the Windows world you will need to adjust to how 3rd party applications are delivered on Macs. In Windows most downloaded applications come in the form of a self contained setup program. Double-click it and it starts an install wizard. On Mac you will generally receive a DMG file (see tip #3 above). Inside it may be a PKG file; which can be double-clicked to start an installation program. In some cases the application will just be contained in the DMG file; you drag that into your Applications folder to “install” it. The process is simple once you learn it but not obvious if you are new to Macs.

Blog Posts: Installing new applications

5) Time Machine is your friend

Go out and buy an inexpensive external hard drive that you can use to run Time Machine, the backup program that comes with OS X. It’s seamless, backs up your machine every hour and quickly allows you to either grab an older version of a file you’ve recently modified or perform a complete restore on the machine. I don’t need to use Time Machine for restoring files too often but when I do it’s a glorious feeling that I’ve got backups when I need them.

Blog Posts: I love Time Machine because… | Fixing a simple Time Machine error

6) Learn about windows

I’m not talking about Windows the operating system, but the windows in OS X. In Windows when you want to close an application people often just click the X in the top right corner of the window. On OS X the majority of the time clicking on the little red circle that turns into an X when you hover over it will also close the window of the application but not actually quit the application. Maximizing a window in OS X doesn’t make it full screen like it does in Windows.

Blog Posts: Tips for tabbing your way through windows | Avoid the potholes when switching from Windows to Mac

7) Find some great applications

OS X is a pretty complete operating system and comes with enough applications to get any web oriented person up and running. That said, there are tens of thousands of applications that you can use to make the most out of your Mac experience. Over the last two years I’ve cataloged the applications I’ve found and without a doubt those are my most popular blog posts. Whatever your interest is, chances are someone has created a nice little application to service that need.

Blog Posts: After 3 months, what’s really being used | My critical applications 5 months after switching | 8 months after switching, my favorite applications | My top 10 free Mac utilities | 10 little known Mac utilities

Hopefully this will help some of the more recent switchers out there. You can grab a complete list of my Switching to Mac blog posts (currently at 71) by clicking on the Switching to Mac label on my blog.

Have a tip for helping a recent switcher adjust to a Mac from Windows? Drop a note in the comments below!


Parallel Desktops

Using Mac Preview for a quick slideshow – fail

I generally like to put up blog posts that talk about cool things I’ve discovered on my Mac, or problems I’ve overcome and how I did that. This time it’s about a pet peeve I have with my Mac: quickly viewing a group of images. I believe there is a tiny change Apple can make that would have a huge impact on usability, especially for non-technical users.

Preview is a very cool part of OS X. Small and light, I can load lots of different files and off I go, scanning through them quickly. As a technical person I appreciate the way it works when viewing a group of files; I select them, pop-up the context menu (Right Click for me) and select Open. Preview loads them up and off I go. I can happily navigate through the selection or throw together a quick slideshow from the Preview menu.
Where this breaks down is for the non-tech user. My wife was looking through a large collection of images this morning on a shared drive that I have. She navigates to Force (my Mac Pro), selects a shared Photos folder, then navigates down to the folder of images she wants to see. So far so good.
The first thing she does is double-click on an image, which loads it up into Preview. This is a natural act for virtually any non-technical person; you see a file you want to view and you double-click on it. Great! Then she wants to see the next image. The navigation within Preview doesn’t work because by double-clicking on an image she has only selected a single image. It’s only if she has selected a group of files that Preview allows any navigation between those files.
As a software developer with a UI background I understand the importance of having objects behave consistently. Select a group and perform an action on them. Got it.
Where this breaks down in Preview is that non-technical users don’t grasp the concept of collecting a group of items and performing an action on them. By navigating to a folder they already have gone into a collection of items. Why should I then have to select all of those items before performing a group action on them? This is especially true with an application that is designed to help a user quickly scan through files without having to load a large app to see them.
If I want my wife to use Preview to view all of the images in a folder I need to tell her to navigate to that folder, click on the first file in that folder to ensure it has focus, press Command-A to select all of the items (or click-drag the mouse on all of them), then press Command-O to open them. She does this once every month or so, not often enough that she’s going to remember it.
Other Options
Of course there are other options here. I added a Quick Look button to her Finder window by Right-Clicking on the toolbar area, selecting Customize Toolbar… and then dragging the Quick Look icon to the toolbar area:
Now she navigates to the folder, selects the file and clicks the little eyeball. Quick Look is even faster than preview but has a small problem: if I click the Full Screen button it loses the ability to navigate through the rest of the images. She uses a white MacBook so the screen is not very large; I told her to drag the Quick Look window to a larger size (it resets every time you switch to a different folder) so that she can see it better.
Use Cover Flow
An option I tried for her was to use the Cover Flow view. While it’s very obvious how to navigate, the small size of her MacBook screen and the large areas of screen real-estate used for navigation controls leaves some pretty tiny images.
Just use iPhoto!
I use iPhoto on my Mac Pro and that’s what I use to browse my photo library. So why don’t I just have my wife use that? There are two options for her using iPhoto: the first involves her importing all of the images I take (and I take a lot) into her local copy of iPhoto. That’s far too much work when all she really wants to do is quickly browse through the last month of photos that have been taken.
The second option is that I have iPhoto loaded on my Mac Pro and share the my collection. This presents two problems: sharing a 40K photo sized iPhoto library over a wireless connection is… S…L…O…W. It also means I have to have iPhoto loaded at all times on my Mac Pro in order for it to be accessible. Both are non-options for me.
Use a Different Application
When I posted this little Pet Peeve on Twitter I got a couple of responses. @Eaglesdontflock suggested that I used a program called Phoenix Slides, a donation-ware application that puts up blazingly fast slide shows. I tried playing with Phoenix Slides and came away very impressed, so much so that it will be a different blog post in the next couple of days.
Ask that Apple change Preview
Yeah, ok, it’s a long shot but one of the things I can do is ask Apple to change the behavior of Preview at some point in the near future. So here you go Apple:
If I load up a single file in Preview I would like the navigation controls to be enabled as though I had selected all of the files in a folder. Let me navigate through all of them. This is only true if I selected a single file.
Too much? Then if I load up a single file in Preview, let the Slideshow feature work on all of the files in the folder. Seriously, why even offer the Slideshow option when only a single item is selected?
Will this break a UI model? Well, it’s really only a change on a single application: Preview. It doesn’t imply that all applications need this behavior. Since the goal of Preview is to quickly and efficiently scan through files I would think this would be a great little change and in keeping with the purpose of the application. If it’s too much then make it an option in the Preview preferences. At this point I’d take a terminal hack to make it work that way!
As always, if you have a suggestion for a better way to handle this please drop it into the comments below. I also encourage you to follow me on Twitter. Sure, you’ll get a lot of other non-Mac stuff but hopefully you’ll get some value out of it as well.


Parallel Desktops

Apple solves my MacBook Pro battery problem

After finding that my MacBook Pro's battery required service and would no longer hold a charge I made an appointment with the Genius Bar at my local Apple store in Reston, VA. After a short wait Vilma (the Genius) called me up and asked what the trouble was. After I filled her in on the issue she reached into a drawer and grabbed an iPod Nano that was labeled "Battery Diagnostics":

Once that was plugged in and she rebooted the machine she loaded up a diagnostic application and sure enough the status of my battery was decidedly bad:
I bought this MacBook Pro in June of 2008 so it's nearly one and a half years old, yet still under the 3 year AppleCare warranty I purchased. She told me however that batteries are not covered under the extended AppleCare warranty unless the failure is a result of a manufacturers defect. Though she delivered the news in a friendly and empathetic way I was not happy.
Vilma could see that I only had 48 cycles on the battery and it seemed reasonable to me that this should be covered by the warranty. According to Apple a removable MacBook / Pro battery should be able to retain up to an 80% charge after 300 cycles. She pulled the information on the battery and left to talk to someone else, presumably a manager, explaining to me as she left that she would do everything she could to get it covered. A few minutes later she returned and said Apple would be replacing it under the warranty.
I don't know if she replaced it because it had a "manufacturers defect" or because it only had 48 cycles on it. Fortunately for me I didn't have to shell out $129 for a new battery. She popped in the new battery and fired up the diagnostics and sure enough, the new battery registered healthy.
Ideal Battery Care
As we were wrapping up the battery replacement I asked Vilma how I should treat the battery to get optimal life out of it. Her recommendation was to cycle the battery constantly, running the machine on the battery almost exclusively. The seemed a little excessive to me but clearly leaving my MBP plugged in nearly 24 hours a day was not the right answer.
Apple has a page on battery care and their recommendation is that if you are not regularly running your notebook from the battery that you should do full charge / discharge cycle at least once per month. This apparently helps keep the "battery juices" flowing, which does make sense. They also recommend that if you are going to keep your MacBook powered down for an extended period of time that you leave it at about 50% power, which will help preserve the battery life.
I wish that Apple had made this information more apparent to me when I purchased my MacBook Pro; if they did it was likely just a footnote in the information I was provided. Telling someone that they need to manage their battery life does seem odd coming from a company that prides itself on simple "it just works" products. Apparently the latest generation of MacBook Pros with the sealed in batteries are not nearly as finicky when it comes to battery life, though Apple does recommend this charge / discharge cycle for them as well.
Personally I'm just happy I have a battery that can actually hold a charge again. I'll be setting up a weekly reminder to run a full charge / discharge cycle on my battery too, with another reminder to do a full battery recalibration per Apple's Support Knowledge Base.
Any suggestions on how best to make your MacBook's battery life last as long as possible? Please drop a note in the comments!


Hardware Parallel Desktops

A MacBook Pro and a Dying Battery

I've gotten a lot of e-mail lately asking why I haven't been updating my blog. Frankly it's because of two reasons: my business has kept me busier than a one-armed wall-paper hanger and my Macs have just worked. With my adjustment period from Windows to Mac firmly in the rear view mirror and a well rounded set of applications available for use, I haven't really had any issues to speak of.

That is, until this last weekend when my MacBook Pro's battery decided to act up.

Since I have a very powerful Mac Pro humming away under my desk I don't use my MacBook Pro too often. I'll take it when I travel but don't use it on battery power too often. Since I bought the machine about 18 months ago I've only cycled the battery 47 times according to System Profiler.
While traveling over Thanksgiving I pulled the MBP from my bag, powered it up and started happily working away. Oddly the battery indicator—which should show a full charge—rapidly dropped to 92%. Within about 15 minutes my battery power was already dropping below 70%.
I kept working away, popping open some web sites and updating a spreadsheet with some of the data I was looking up. I glanced up at the battery gauge and saw that it was already down in the 40% range after only about 20 minutes of use when suddenly my MBP shut down.
This wasn't a graceful "I'm going to sleep now" shut down. There were no warnings, no kernel panics and no obvious signs of distress from my Mac. The screen just went black. I had about 3 seconds of noise from the fans and hard drive spinning down while I contemplated what had just happened. Did I save what I was working on? Did I really only get 20 minutes of use out of my battery?
I closed the MBP and flipped it over, pushed the little battery indicator button and two little green lights winked back at me. Odd. I pressed the power button and the MBP started to boot up. It was nearly through the boot process when it decided to give up and shut down again.
I grabbed my power cord, plugged the machine in and booted it up. It came up fine, no issues and dutifully reported that it was charging the battery. I remembered that I had recently seen an article on calibrating the battery from Apple. The process was simple:

Get the machine fully recharged then let it rest in that state for at least 2 hours. Once charged, unplug the power and run it down until the machine goes into a sleep state. Let it stay in sleep mode for at least 5 hours to fully exhaust the battery. Recharge from there and you are ready to go.

The problem was, the machine would shut off well before I got down too low on the battery. I decided to get it as close to the "shut down zone" as I could (about 40%), then put the machine to sleep. The graceful pulsating light told me it was happily slumbering away. I left it like that to see how long the battery would last while preserving the memory in sleep mode.
Three days later I lost patience and tried to wake it from sleep mode while still disconnected from power. Though the light was still pulsing I couldn't wake the machine. Not completely dead, it appeared to be in a coma. I reconnected power, turned on the machine and it quickly restored itself. The battery gauge was registering numbers all over the map and after it charged fully it indicated that I needed to "Service Battery":
At this point I'll try taking it into to my local Apple store and see how they deal with it. I have an Apple Care extended warranty though I'm not sure if they will cover the battery with that. Stay tuned and I'll post an update once I learn the outcome. I posted a note about this on Twitter and got lots of responses telling me that Apple quickly replaced their batteries for them. Then again, I also got a link to this page about Apple's battery policy.
Had a battery issue with a MacBook Pro? Did you get a resolution that worked for you? Drop a note in the comments and let me know!


Parallel Desktops

Upgrading to Snow Leopard

Mac OS X - Snow LeopardThe UPS truck pulled up yesterday and delivered my family upgrade pack to Snow Leopard. Though I'm a software developer I really stick to the web side of things and have not participated in any of the developer versions of Snow Leopard. As a result, I've only done modest reading on it and I am approaching this upgrade as many consumers would.

Rather than jump in with both feet, I decided to upgrade my MacBook Pro first, holding off on my primary machine (a Mac Pro) until I had seen which applications are compatible.
Application compatibility? Doesn't everything work?
Well, no. Most general purpose applications run fine – the majority for me did in fact. It's those little extensions that I've become hopelessly addicted to that can cause a problem. My biggest concern with Snow Leopard was whether or not I would have to change the way I work if one of my applications suddenly stopped working.
Since Apple released Snow Leopard ahead of schedule it apparently caught a number of independent software developers off guard and unprepared to release updates to their software.
The other thing I was interested in was the performance improvements. I wanted to see if on a real world Mac I would see any real bump in performance. Armed with the trusty stopwatch feature of my iPhone I ran through a number of different boot ups and application loads both before and after the upgrade to see how things changed.
The measurements I took are by no means scientific – it's difficult to get sub-second timings down when you are poking at a virtual button on an iPhone to record times. That said, I did record the duration several times to ensure they were always in the same range. If not, I'd record a few more and come up with an average. The goal was not to say "This is X seconds faster" but to get a rough feel for performance improvements.
Installing Snow Leopard
The installation of Snow Leopard was pretty simple. Pop in the DVD, launch the installer, select the hard drive to install it to and let it run. Mine estimated 45 minutes but it actually ended up being an hour before the reboot sequence required me to step in and do anything. If you are installing this and you get the estimated time up, use it as chance to run errands because it will be a little while.
Once installed I got a very un-Apple like message window:
Where is System Sheesh, I don't know, that's not something I normally run or even care about. This was a modal window (parked on top of everything) so it clearly wanted me to figure it out. I didn't see it in the list so I clicked Browse and hunted around for it. I used my other machine to Google up the location of said file and it turns out it's located in:
/System/Library/Core Services
I navigated there, selected it and from that point on I was in Snow Leopard. I know if I asked my wife to do this installation on her Mac and she saw this message she would be yelling out "DAVID!!!" right about now. If not, she would probably just click Cancel in frustration, and I'm not sure what the impact of that would be.
Application Compatibility
With Snow Leopard fully installed I set about trying my different applications. The first thing I noticed was that my iStat Menu was missing. Turns out they'll need to issue an update to make it compatible with Snow Leopard. Next up Xmarks was MIA from my menu bar as well. Neither of these were mission critical for my work flow so I'm comfortable waiting until patched versions are available (which both indicate they are working on).
The only application (so far) that has had an impact on me is 1Password. Without going in to too much detail I'll pass you along to the page they have provided to sort through the best way to get 1Password to appear in Safari. For now I'm using Firefox, which doesn't have the 1Password compatibility issue.
For you devs out there, be aware that if you are normally running an instance of MySQL you'll need to download the 64bit version and reinstall it. As a Ruby on Rails developer MySQL is vital to my local development activities. Here's a helpful post from Stack Overflow that provides some guidance. It will take me a while to really test out my other development related applications.
Performance Improvements
One of the things everyone seems to be saying about Snow Leopard is that it's faster. It clearly is a smaller OS, since it actually gave me back 17GB of disk space. Snow Leopard "felt" quicker but I wanted some real world numbers to validate that for me.
The Mac I upgraded is a 2.4GHz Intel Core 2 Duo MacBook Pro. I've got a 200GB HD and upgraded the memory to 4GB. It has always been a pretty snappy machine so I actually did need the stop watch to see if there was real improvement.
Action Leopard Snow Leopard
Start to full load 1m 37s 1m 3s
Shut Down 10.5s 4.5s
This was a pretty clear improvement, both on the front and back end of the start up / shut down process. I actually found that because I had a number of extensions I needed to go into System Preferences and activate many of them by clicking on their icon in the Other section. Examples were Growl and SteerMouse. Once those extensions were loaded manually (and set to auto-load) my boot times improved to what you see above.

Next up I started loading applications. Here were my results:

Application Leopard Snow Leopard
Safari (1st time) 3.4s 1.6s
Safari (2nd time) <1s <1s
Text Editor (1st time) 1s <1s
Text Editor (2nd time) <1s <1s
iPhoto (1st time) 13.5s 10.4s
iPhoto (2nd time) 1.9s 1.8s
iTunes (1st time) 9.7s 5.1s
iTunes (2nd time) 1.8s 1.5s
Pages (1st time) 12.9s 10.1s
Pages (2nd time) 1.5s 2.0s
Firefox 3.5.2 (1st time) 18s 15s
Firefox 3.5.2 (2nd time) 2.2s 2.4s

So, generally I saw a modest improvement in application load times. I've only just started playing with Snow Leopard and I'll likely have more observations coming soon. While I'm generally happy with the upgrade from a performance standpoint and love the strategy Apple is using for this, I'm holding off upgrading the Mac Pro until I have a better handle on which of my development tools need upgrading / patching.

How about you? Did you notice similar improvements in performance? Found a site that can help identify Snow Leopard compatibility? Drop a note in the comments!



Parallel Desktops

I hate my Mac!

I was chatting with some friends yesterday, some folks I hadn't seen in a while. As they were getting ready to leave Donna looked over at my MacBook, propped open and sitting on a table.

Donna: "Ugh. Macs."
She had a disgusted look on her face, as though something unpleasant had just been released into the air. This caught me a bit by surprise. You see, Donna had called me earlier in the year because she wanted to replace an aging XP based laptop and knew I was a happy Mac convert. I talked with her for a while about the benefits of a Mac, telling her about why I liked it and what she could look forward to.
Since switching over to Macs I'm very careful about promoting them to others and my description of them to Donna fell right along those lines. I don't get irrationally exuberant; when switching to Macs from long time Windows use I recognize that attitude and approach is critical to being happy with a new personal computer. I'd rather people be happy using their computer, whatever it happens to be.
Donna: "I hate my Mac! I wanted to take it back it's so hard to use!"
David: (shocked look on face)
Donna: "Nothing works the way I expect it to!"
I couldn't just leave it there so I started to probe a bit. What didn't work the way she expected? Was there something specific? Have you never read my blog?!?
Donna: "When I try to open files from work they simply don't… work. And if I make changes I need to convert my files so that people back at the office can use them!"
This sounded bizarre. Well it turns out when she bought her Mac the sales person at the Apple store talked her into getting iWork. He told her she could open and use all of her MS Office related files with iWork so that's what she went with. Though they sell Microsoft Office for Mac at the Apple store, this particular representative apparently wanted to push iWork.
iWork is not MS Office
Since I run my own company I get to define the standards and I'm using iWork. It's a nice, elegant suite with a great word processing application (Pages), innovative presentation software (Keynote) and a barely serviceable spreadsheet (Numbers). As long as you're not doing anything too complicated with Numbers it's fine, though it's still a pretty rough application. Don't believe me? Try building up a fairly complex formula and using help to determine what certain functions do. It's a major stumbling block.
If Apple is serious about making iWork a contender against MS Office one of the things they will need to do is some usability testing on recent switchers using Numbers. If your knowledge of spreadsheets was built up or refined using Excel then you're in for a rude awakening when you try to be productive with Numbers. More than any application I've used on my Macs, Numbers requires huge pauses when I'm trying to create new spreadsheets that are more than simple ledgers.
While word processing interfaces are pretty well standardized there are a number of interface "innovations" that have made their way along from the ancient days of spreadsheets that have been ingrained into the way people work. In Excel on Windows if you want to copy and paste a series of cells you select them, Control-C (Copy), then move to the cell you want them inserted and press Enter. I personally hate that Excel has modified one of the most common behaviors of the operating system user interface (Copy and Paste), yet that's what people use. It's also something Donna stumbled on.
Donna: "Copying on the Mac doesn't work right. I can't copy and paste like I used to!"
As our discussion carried on it was becoming increasingly clear that Donna didn't hate her Mac, she hated iWork and the empty promises that it would work with her existing files.
Donna: "When I get a file from work I open it and then I have to "share" it back to a DOC file or Excel spreadsheet. I can't just save it like I used to. If I forget then people at work complain to me that they can't open my files."
It was then that it started to become clear that she had transferred her frustration with iWork over to her entire Mac experience, painting it all with the same brush. When I tried to steer the conversation away into other areas she grudgingly acknowledged that photo management, web browsing, e-mail, etc were easy, though it was clear her frustrations with key work related tasks had poisoned her approach.
I suggested that she go out and get a copy of MS Office for her Mac. This is actually the approach I had to take with my wife when I switched her over from Windows. Her school uses MS Office and while I tried to get her to use iWork she just didn't feel comfortable with it; too much change at once. I also told her about the One to One classes that Apple offers through the Apple stores; hopefully she can sit down in that environment and get answers to her questions.
My parting thought with Donna was that attitude was everything when changing to something different, whether it's a computer, a job or a relationship. If you find yourself looking for everything that's wrong you will doom that change to failure. It's OK to be skeptical and question things but when it switches over to a "this sucks" it may just be time to move on.
Hopefully Donna will be able to enjoy her Mac the way I and my family have enjoyed ours.



Parallel Desktops

TNT doesn’t like Mac users

tnt_logo2I was sitting on the couch the other day and relaxing when my wife yelled to me from the other room:

David! My Mac's not working!

I love those highly specific descriptions of a problem. I asked for a little more clarity.

I'm trying to watch a video and it's not working!

I dragged myself off the couch and over to my wife's MacBook. She was on the TNT site and trying to watch an episode of Raising the Bar. She would click on "watch a full episode" and a blank screen would appear where the viewer normally would be.

It was not immediately apparent what the problem was. A poorly installed codec? A broken web page? I rummaged around for a little while and found that the TNT support site stated that they didn't support Macs for viewing their shows. Why? Here's what the support site says: would like to apologize for not being able to accommodate Mac users.
The issue is related to the Windows Media Player, specifically video with Digital Rights Management (DRM). This is because the WMP for the Mac is not supported directly by Microsoft . Our agreement with the studios that produce the shows stipulates that their content be protected (full episodes) from piracy with DRM software.
Additionally, WMP is more universal than other platforms like QuickTime and Flash Video for distributing protected content.
What they should have said was "We're really sorry that we didn't put a little Javascript up front to detect a Mac and indicate to you that we don't support your platform. No, we'd rather that you waste your time trying to figure out what the problem is first, then search through our support site to learn this little gem."
I also love the statement that WMP is more universal than other platforms "like QuickTime and Flash". WMP is more universal than Flash Video?!? Um, no, it's not. According to Stat Owl, Flash content reaches 94.66% of internet viewers and Windows Media Player has a 73.9% market share (June '09 stats).
That leaves over 21% of the population that can watch Flash based video unable to view TNT's content. That's over 65 million people in North America. Apparently TNT is all full up on market share and doesn't need access to that demographic.
I didn't share all of this with my wife of course. I simply told her that she couldn't watch any TNT shows because their web site was broken. Sure, I could have loaded up Windows in a VM, fired up Internet Explorer and watched the video or maybe even found some solution to this little problem from a technical standpoint. In the end though I'd rather just mark TNT as a fail, write a rant about it and tell my wife to find something else to watch.



Parallel Desktops

The application Mail quit unexpectedly – GrowlMail problems

One of my favorite–yet least mentioned–free utilities is Growl, a universal notification service for Mac that lets applications notify you of events. Now instead of each application deciding on how they want to present notifications for things like new mail, incoming tweets, etc. you can control it in a single place, assuming the application supports Growl or an extension has been written for it.

Such is the case with Though is not written to support Growl the developers for Growl have created an “extra” that can provide that functionality. I’ve been using this setup for a while now and have been quite pleased with it.

After upgrading to Safari 4 I suddenly found that was crashing on me as soon as a new e-mail came in. Here is the error message I was getting:

Which was followed by:

Reset and relaunch had no effect – just crashed again. It turns out that an error has been introduced into Growl after upgrading to Safari 4 that creates this crash. There are two solutions to this problem:

Solution 1: Change notification to Summary
The problem for Growl is when individual e-mail notifications come in; that’s what is causing the crash. If you don’t have any new e-mail (which causes the crash) you can load up the preferences and switch to the Growl tab, then change the setting to summary mode:

If however you can’t load mail up to get to that setting you can accomplish it by changing it through the terminal. Load up a terminal window and enter the following command:

defaults write GMSummaryMode -int 2

This will change the setting for you and allow you to load up The downside to this is if you still want individual mail message notifications. For that you can use Solution 2.

Solution 2: Install Growl Beta 1.1.5B2
There is a beta version of Growl that addresses this issue; you can grab it from the Growl beta page. Just download the DMG and install the latest Growl package AND the newer extension (in the Extra folder). This is of course beta software but I’ve been running it for a while on two of my Macs and it’s been running fine so far.

If you have any work-arounds on this please drop a note in the comments. I was able to find most of this information but it was a bit scattered. Hopefully people searching when they get the error will find this helpful.


Parallel Desktops

Book resources for learning Ruby on Rails

I've now been using Ruby on Rails for a little over a year and have found it to be a fantastic environment to build web based applications. The last year has not been without some serious pain and learning curves and while I hardly consider myself a master of the environment I've found a number of resources that may help you if you are considering using RoR as a development platform.

Sure, you can access nearly everything you need to learn RoR online but I am personally still addicted to the dead-tree model of learning. If you are like me and prefer buying books then read on. In the last year I've bought 10 books on various Ruby/Rails topics and what follows are the ones I've gotten the most use out of.

NOTE: Ruby on Rails is a constantly evolving environment and the information below is really relevant for early June 2009. Things can change in the Rails world relatively quickly. It's a good idea to stay up on Rails developments by following the Ruby on Rails blog at a minimum.

Learn Ruby First
Before you rush out to buy a Ruby on Rails specific book first you need to learn Ruby the programming language. If you've been writing applications in C/C++/C#/Pascal (like I had) then Ruby is a relatively easy language to learn. Since it is open source getting a copy of Ruby is usually just a matter of downloading it to your machine and running it. Mac users have a big advantage here because Ruby is bundled in with Leopard.

Though you can get up and running with Rails while having a very modest knowledge of Ruby I can't stress enough that you should take the time to understand Ruby before you dive into Rails. Why? Because building a basic application with Rails is so easy that you will be tempted (as I did) to just start building. If you haven't really learned the Ruby language you will take a lot for granted and not understand why things work the way they do. You will copy and paste code rather than write it and when you do write it you will likely not write it well.

The book nearly everyone talks about for learning Ruby is "the PickAxe book" by Dave Thomas: Programming Ruby. Dave Thomas has a great conversational writing style. He makes learning Ruby almost story like, walking you through code samples while providing deep coverage of the Ruby language. At 1000 pages (3rd edition) there is a lot of material here, including a reference for the core Ruby library.

If you want to become adept at using Rails you do not need to read the book cover to cover but should get through Part I before you start doing anything of significance.

Rarely do I count on a single text book to provide my knowledge of a subject and that's the case with Ruby. Based on a blog reader recommendation I also picked up The Ruby Way by Hal Fulton. Though it's nearly interchangeable with the PickAxe book, Hal Fulton has a very different writing style. Rather than weaving a story I've found The Ruby Way to be more reference like. While I started learning Ruby with the PickAxe book I find myself grabbing The Ruby Way more often now when I need to explore an area that I don't understand as well as I would like.

Both of these books are excellent resources for learning about the Ruby language and I recommend having them in your library.

Rails References
Once you have got a good grasp on the Ruby language you can dive into Rails. Once again I have two books that I turn to frequently. One is for learning/getting started, the other is a desktop reference.

While you can find lots of excellent quick tutorials for getting your first Rails application up and running quickly on the web (such as Sean Lynch's excellent tutorial for Rails 2.0) it can't match the depth of a book. Agile Web Development with Rails (AWDR) by Sam Ruby, Dave Thomas and David Heinemeier Hansson is a good way to walk through building your first Ruby on Rails application.

The authors use a step-by-step style to build up an online bookstore, providing side roads and discussion points along the way. Some of the core philosophies of Rails are mentioned here (like DRY), though they don't go into a lot of detail. I personally found that good; what I was looking for was a relatively light-weight book that takes me quickly through building an application so that I could see results. AWDR does that and starts to show off some of the cool things you can do in a Rails application.

If you are going to use Rails for anything other than playing around you need a good reference book that helps explain things in more detail than AWDR. By far my favorite Ruby on Rails book is The Rails Way by Obie Fernandez. This book is not by any stretch a book for helping you get started with Rails; instead The Rails Way covers how things really work inside of Rails. Want to understand what's really happening with a Controller? How routing works? How to really leverage ActiveRecord? Get this book.

Obie has created a great desktop reference that you can pick up and dive in at just about any point. You don't read The Rails Way cover to cover; you keep it handy and pop it open when you need to know more about something you're working on.

So there you have it, four great books on Ruby and Rails that will help you get started building applications in that environment. As I said at the beginning, Rails is a rapidly evolving environment and it's difficult for books to keep up.

Got a book for Ruby or Rails that you really like? A web site with excellent tutorials? Please drop a note in the comments and share.