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:
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.
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.
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.
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.
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!
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.
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":
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.
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 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.
|Start to full load||1m 37s||1m 3s|
Next up I started loading applications. Here were my results:
|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!
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.
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:
TNT.tv 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.
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 Mail.app. Though Mail.app 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 Mail.app 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 – Mail.app 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 Mail.app 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 Mail.app 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 com.apple.mail GMSummaryMode -int 2
This will change the setting for you and allow you to load up Mail.app. 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 Mail.app 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.
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.
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.