Tips on working from home

I have now been working from home for the better part of a year. Being self-employed has its advantages; not only do I get to choose the technology I will use (Goodbye Windows, Hello Macintosh), I also get to determine where I want my office to be. While others struggle with the daily drive to the office my biggest concern during my daily commute is turning an ankle while walking down the stairs to my home office.

Of course you don't have to be self employed to work from home. A surprising number of my friends and neighbors that work for other companies work from home as well and have to deal with many of the same issues I do. I've worked from home many times in the past as an employee and have also managed people that worked from home so I have learned a few things that may help you out if you are considering it.

1) Personal hygiene is NOT optional
It's so easy to simply stumble down stairs (or into the room you work from) and not worry about getting dressed for work or even taking a shower. One of the most important things to do when trying to adjust to working from home is to treat your day as though you are going into the office. Set the alarm, eat breakfast, exercise, shower, get dressed; whatever your normal routine is before commuting to the office. Try to do the same thing when working from home.

The people you live with will also appreciate not finding a pajama clad Sasquatch when they come home.

2) Make sure your family/roommates know when you're at work
If you live with others, be it a spouse, children, parents or roommates, make sure they all understand when you are in work mode. Let them know that when the door to the home office is closed you are at work. No door? Establish "work hours" and let people know that you should not be disturbed during that time. This can be especially difficult if you have people home with you when you are trying to work. You don't have to be a jerk about it mind you; hugging the kids and reminding them of their chores/homework when they get home is an important benefit of working from home.

Young children are the hardest to deal with while working from home; having a child under 5 in the house and trying to work is extremely hard. Don't assume that because you are working from home that you can automatically do your job and also be a day care provider. Short of mindless physical or highly repetitive tasks the interruptions will prevent you from doing anything meaningful. If you are able to get real work done then chances are you're not really there for your child. You may be one of the small number of people that can pull it off; if so you are in rare company. I found being a parent of young children was a full time job.

3) Become very organized
If you're not a "To Do List" kind of person consider becoming one. Write out a list of the things you need to get done for the day regardless of how trivial and cross them off the list as you go. You will likely be under increased scrutiny if you work from home so make sure you can clearly identify the things you are getting done. It's not just an accountability to your manager, it's also a tool that keeps you on track. If your company uses a shared calendaring system like Exchange you should make sure things like conference calls and out of office meetings get recorded there.

The distractions when working from home can pull you off track if you let them; having a list to turn to makes it easy to get back on track.

4) Be accessible
As a manager of people that worked from home I always became suspicious when they "dropped off the grid". I once had an employee that said he was working from home for the day simply disappear. He didn't get on our Instant Messaging service, was not reachable by phone and didn't reply to e-mails until late that evening. As a manager that has to trust my employees I felt that trust was violated. When I confronted him the next time he was in the office he said that he was "heads down" working and wanted to try to be productive so he didn't answer the phone or e-mail. He was a software developer so that's plausible but he couldn't really quantify what he accomplished that day. In his particular case the trust was broken and it was never recovered.

If you use instant messaging, update your status so people "see" what you are doing, much as they would if they strolled by your cube or office. Make sure that your boss feels comfortable with the way you work from home. Since you're not going to be in front of them as much make sure you establish clearly what they expect from you. Need to be heads down and work uninterrupted? Just let the boss know and give them an emergency way to reach you.

Some people that work from home feel that they should inundate their co-workers with e-mails and voice mails to prove that they are indeed working. Most people see right through that. Don't go overboard with the visibility thing, find a balance that closely emulates you working in the office.

5) Take care of yourself
One of the downsides to working from home is the easy accessibility of food. You get up to stretch your legs and there is a pantry or refrigerator just waiting to be raided. Sure, there may be snack machines in an office environment but they usually a) cost money you may not have handy and b) make you feel guilty as you walk by your co-workers several times a day inhaling a bag of Famous Amos chocolate chip cookies. If you don't have the self-control to handle easy access to unhealthy snacks then don't leave them around the house.

Getting some exercise throughout the day is also really important. When you work from home you drop a HUGE amount of walking out of your daily routine. Every couple of hours you need to get up, stretch and take a short walk. If you live within a reasonable distance walk or take a bicycle to get your lunch. If the weather is nice I will often grab my MacBook and move out to our deck to get certain types of work done.

You need to be careful not to become a shut-in once you start working from home.

6) Separate Work and Home Life
Once you set a work schedule make sure you stick to it as best you can. Though it's different when you are an entrepreneur (work is never really done), as a paid employee of a company you should try to wrap work up at a reasonable time and move to another part of the house to relax. Kick off the shoes, maybe even change clothes so that you mentally reinforce in your mind that you're done with work for the day.

I realize that these tips make it sound like I'm sucking most of the fun out of working from home. The reality is it's still called "work" and by definition it should generate results or achieve a purpose. If your employer is willing to trust you to get work done from home you should return the favor and not view it as a convenient way to slack off without getting caught.

The benefits of working from home include a lot more than setting your own schedule and working on your terms; add up the amount of time you get back by not having to deal with a commute. If you work from home 3 days a week and normally have a 30 minute commute you're getting back roughly 150 hours of time a year. You're likely cutting out over $600 annually in out of pocket fuel expenses, dramatically reducing the wear and tear on your vehicle and you are helping the environment by reducing your traffic footprint. If you manage it well everyone benefits from it.

Now that I've wrapped up this blog post I'm going to stretch my legs and find a snack upstairs. Hopefully something healthy.

Already working from home? Got another tip that will help people that do? Drop a note in the comments!

A Fast Way to Learn MySQL

I've been doing development work for quite a while and up until my recent switch to Mac I had been doing that work using Microsoft technologies; on the database side I was using Microsoft SQL Server. When I started playing around with Ruby on Rails I also needed to switch out the underlying database I was using, settling in on the wildly popular MySQL.

Though there is a huge amount of information available online for MySQL I still like purchasing technical books and I cast about for a decent entry level book on the topic. What I found was Ben Forta's MySQL Crash Course. If you are trying to learn MySQL, especially if you are new to SQL in general, this book is a must buy, especially given the price.

The presentation is consistent throughout and Ben frames most commands with Input, Output and Analysis. He demonstrates what a particular command looks like in Input, displays the results of the command in Output and then discusses the nuances of the command in Analysis. His writing style is extremely easy to understand and makes walking through the examples interesting and informative.

This book does not really cover installing MySQL in any kind of detail. Since that's highly dependent on the version you will be using, the OS you are running it on, etc. that's best handled by web resources or from the MySQL web site. The book very briefly covers things like backup and performance tuning but those topics are better served in other places. Finally, if you're already a SQL expert then this book may be of limited value to you. I was quite rusty in my SQL skills so this book served more as a refresher for me and covered some of the MySQL specific nuances like full text searching.

If you have been wanting to learn more about MySQL and want a good desktop reference book that will help you master the basics quickly I recommend you grab a copy.

Got another MySQL book you like / recommend? Please drop a note in the comments.

Mastering Twitter with TweetDeck

I'll be the first to admit that I didn't "get" Twitter. When I first heard about it and saw that "tweets" were 140 character micro-blog posts that contained such mindless drivel as "Heading out to work" or "Getting a haircut" I dismissed it as pointless.

A couple of months ago my good friend Jeff told me that I should give Twitter a go. Jeff's a bright guy so I ask him "Why on earth would I want to do that?". His response was "You don't blog frequently enough for me". Well, this was indeed true. As I've been working more and more on my startup I didn't have as much time to devote to blogging. I had lots of things I wanted to share but didn't want to take the time to put together a full blog post for it.

So in July of '08 I grabbed a Twitter account and started tweeting away. I only had a couple of "followers" (people that would see my tweets in their Twitter home page) for the first few weeks. They were close friends that were also playing with Twitter for the first time. At that point simply using the interface that Twitter provides on their home page was enough. I'd drop in my 140 character status, catch up with what my friends were doing and that was that.

After a couple of months I had done little more than checked in a couple times a day to see what people had "said" and try to drop in a pithy quote here or there. Then Jeff pointed me towards the Search feature in Twitter and mentioned the value in using key tags in a search. Since Jeff and I are both huge Washington Redskins fans he found that many people were inserting a #skins tag in their tweets. By searching for that we could see a global and very dynamic conversation that was going on with our favorite football team.

As new tweets came in for the search term a dynamic indicator at the top of the search page would indicate how many new results there were and provide a link to refresh the page. This was great and opened a whole new way for me to look at Twitter. It suddenly became more about participating in a global conversation on topics of interest, a cross between an old fashioned chat room and a forum.

While all this was great there was one little problem. I found myself constantly pulling up browser tabs with different searches on them that would allow me to see what was going on. Though the web interface for Twitter is very easy I found that the more I used it the more difficult it became to manage the various views I had for Twitter data.

Enter TweetDeck
TweetDeck is an Adobe Air Desktop application that runs on Mac, Windows or Linux. It provides a multi-column interface for accessing different views of your tweets. You can create multiple columns of the following types:

All Tweets: A collection of tweets from everyone you follow
Replies: Replies targeted to you regardless of whether you follow someone
Groups: A customizable list of people you want in their own column
Direct Messages: Non-public tweets sent only to you
Search: Enter search terms and every tweet that contains them appears
Favorites: You can get a list any tweet you have flagged as a favorite

Within any of these columns you can also set a filter to help limit what you actually see in the event your are tapping a tweet source that is very active. You can also mark tweets as read and have them removed from your view if you only want to see what's new. At the top of the All Tweets column is a number that shows you how many unread tweets you have though that's the only place the unread count appears for me on the current 0.20b version.

Individual tweets display the image for the person making the tweet that doubles as a menu for interacting with it. Mouse over it and you have the ability to Reply, Retweet, Send a Direct Message or mark the tweet as a favorite.

The area at the top of the window for entering tweets is spacious and clearly marks how many characters you have typed in, also giving you tools to insert a shortened URL or a TwitPic (always helpful when dealing with a 140 character limit).

The notification options for TweetDeck include playing a bird chirping sound whenever new tweets arrive (which for me became quickly annoying; I turned that off), as well as a small notification window that will tell you which of your columns has received new tweets:

This was also something I turned off. Iain Dodsworth, the developer of TweetDeck indicated in a recent tweet that it would soon offer Growl support.

TweetDeck works by talking to the Twitter APIs, pulling down the messages you are reading and dropping them into a database on your local machine. Though you can manually pull down tweets at any time Twitter limits you to the number of API calls you can make in a specified period of time. You have some control over this polling of the Twitter service if you feel like tweaking how quickly your tweets come in.

Using TweetDeck
I really enjoy using TweetDeck. Though I would like the user interface to be a lot more compact I can generally see most of what I want on a single screen if I make the window large enough. On my Mac Pro with two 1600x1200 displays I've found that TweetDeck works best with 4 visible columns. Unfortunately you cannot size the columns so on my 1600 pixel wide display I max out at 5 visible columns.

I love that it has shortcuts for URLs and pictures when I am creating a tweet and that I can Retweet something I find interesting to my group of followers. I really do wish the text entry area had auto spell checking though; since it's now embedded in virtually every editing surface I have I've become quite accustomed to seeing little red squiggles when a word is misspelled.

Getting beyond the UI, the biggest benefit to TweetDeck is that I can create a number of different columns that can track my interests, especially by entering a search term. This is where Twitter stops becoming just a cute little time waster and starts to become a very powerful networking tool. If you have a deep interesting in something just put it in a search column in TweetDeck and see what comes up. If it's an active topic the search window will dynamically update, providing you with an ongoing stream you can dive in to if you see something that catches your fancy.

I have had some problems with these dynamic search windows in TweetDeck on occasion. Some times they will simply stop grabbing new results and need to be closed and reopened in order to see new results.

TweetDeck is not perfect but it is by far the best tool I've used for accessing Twitter. If you've got a better tool for accessing Twitter please drop a note in the comments or feel free to follow me on Twitter and shoot me a reply.

Anti-virus software and Macs

Yesterday's Washington Post Security Fix disclosed that on November 21st of this year Apple put out a technical note where they recommend the widespread use of anti-virus software for Macs, including specific recommendations for Mac AV utilities.

I've never believed the "Macs cannot get a virus" mantra that some people spread. The reality is that any computer where the user has the ability to write to the hard drive or install applications is subject to a program doing evil deeds without their knowledge.

I've been a Mac user for 10 months now—a relative neophyte—but have learned a couple of things that have carried over from my Windows days. The single most important one is to be very careful about which software I allow to get installed on my Mac. When I install something that comes from the web I get a little confirmation dialog:

In addition when I try to run full installation programs I will often get prompted to enter the administrative password for my Mac:

Some applications, like those based on Adobe AIR's development platform include their own warning dialog:

In all of these cases it's critical to stop and think about what you are doing. This is a virtual knock on your door where you get a chance to either turn someone away or let them in your home. It's critical that you take a moment and think about what you are doing; don't just blindly enter your password or allow software to be installed. If you have gotten into the habit of blowing past these dialogs then you need to stop doing that and think it through.

The other thing is to stay current with Software Update. When that little globe is bouncing on my Dock Bar I generally install the updates that it recommends.

Do you run anti-virus software on your Mac? Though I'm very cautious with my own machines I do worry that my wife and teenage children will not be as diligent.

Raising kids in an online world

My wife and I have had many discussions of late about how best to raise kids in an increasingly connected world. What I would like to share with you is how much change we’ve seen since we became parents nearly 20 years ago and some of the things we’ve done in order to make it all work.

A Little Background
All of my children grew up around computers and have had my hand-me-down machines in their rooms since a very early age. Since my oldest is now 19 and off in college, that means that a lot of their exposure pre-dated Internet access.

Initially having a computer in their room meant getting them educational software and games that helped with reading, geography and math. One of their favorites was the old Oregon Trail game; as a history teacher my wife loved those types of titles. Giving my kids extensive access to computers at an early age meant providing them with an advantage that I knew would help them later in life.

Connectivity Comes Along
In the late 90s I retrofitted our house with the wiring needed to connect all of our machines together, extending my basement LAN to the rest of the house. Now my kids could print their work out on the shared laser printer parked downstairs. Over time I began to let my kids gain access to the web, giving them tips for finding things through Alta-Vista and later Google.

With that connectivity came the first stages of our kids connecting to their friends through their computers. First off was e-mail, which didn't really work out that great with my kids. Too few of their friends had e-mail addresses and other than a couple of token e-mails to grandparents on the other side of the country not much changed for them.

Next came AIM, which my kids took to like ducks to water. During the time frame we allowed our kids to use AIM (after homework, before bed) you could hear a nearly constant pinging sound as they chatted up their friends. After that came MySpace and they were building up their personal profiles and communicating through that. Finally came FaceBook, which has basically become the primary way my kids plan to get together with their friends and share pictures.

Enter the Mobile Phone
I bought my kids their own mobile phones when they became teenagers, mainly so that we could give them the freedom they desired (and earned), yet satisfy our need to know where they were and be able to get in touch with them quickly. Initially I worried about how many minutes my kids would use and went with a large plan. Well, it turns out that was not a problem because my kids barely even talk on their mobile phones. Instead they text. A lot.

I’ve personally never been a huge fan of text messaging; often I can handle my communication needs by simply talking to someone on that same phone much more quickly. My text messaging tends to be quick, short blasts, not ongoing dialog. With my kids it’s much different however, especially with my youngest daughter. She can text using the phone’s shortcuts at a rate that rivals what many people can do with a full keyboard.

Parenting: Still a Contact Sport
So clearly in the time that I’ve been a parent the mediums of communication have changed dramatically, both for the better and the worse. On the bright side my kids have been exposed to—and become very comfortable with—much of the technology that drives business. My wife and I love being able to get in touch with our kids wherever they happen to be, helping us feel confident that they are safe. My kids have been able to easily maintain relationships with friends and family all over the country.

The information they need for school is instantly accessible. My youngest daughter’s school text books are available online through her school’s web portal, allowing her to quickly search for information. My son’s homework assignments can be found online and my oldest daughter at Virginia Tech can handle a large portion of her workload through a variety of web access points.

There is a downside however. I am always concerned about the content my kids view online. My wife and I are very active parents, talking to our kids regularly about what is and isn’t appropriate on the web. We have taken an “over the shoulder” approach to our kids, not monitoring logs or installing software like Net Nanny. The technique that’s worked for us has been pushing on our kids that we trust them, and that in return for that trust they need to act responsibly while online. I don’t think that works for everyone but it has worked well for us.

Of course occasionally our kids stray off the path and do something we do not approve of. This becomes an active parenting opportunity for us and if our kids don’t seem to “get it”, we’ve found a powerful form of punishment; simply take the offending device away for a while. I’m not a fan of physical punishment with my kids and this technique has worked extremely well.

Change Happens
If I have learned anything about being a parent in a pro-technology environment it's that the same value system you have for the real world needs to be extended into the technology world. When I started down the path of parenthood the Internet wasn't even accessible for the average person. Now internet access, social networking and instant communications are ubiquitous.

I share this information not because I think I have the answers on how best to raise kids in today's online environment. If anything, being a father for nearly 20 years has taught me tremendous humility; with such rapid advances in technology and collaboration everything is changing so quickly that I feel I'm aiming at a moving target.

My goal with this post was to open a dialog on raising kids in a connected world. If you’ve been through what I’ve been through, what has worked for you? If you are a young person fresh into adulthood what did your parents do right or wrong from your perspective? Know of a good resource for parents of children to turn to for figuring out how to pull this off? Please drop a note in the comments below. tells my Mac I have a Windows Malware infection

I was happily working along this afternoon when suddenly I received a Skype pop-up text message. I rarely use Skype for text messaging, sticking with Adium for that. It's usually some Skype SPAM asking me to come to some lonely woman's web page to see pictures of her. This time the message looked pretty ominous:

Obviously this is just a SPAM attempt to get someone to jump over to a web site. Kind of tough for my Mac running Leopard to get a Registry hack installed. At the bottom of the message was a link to go to the offending site:

Out of curiosity I decided to jump over and take a look at the page. I'm running a Mac and it was pretty clear this was targeting Windows machines. What I got was this:

Just trying to navigate away from the site presented me with this little pop-up:

What do I love about all of this? Let's see:
  • The animation leading up to the above screen shot looks like a Windows progress dialog
  • The Windows XP style dialogs were very nicely done
  • The ScanAlert motto: Making the web Hacker Safe! (technically doesn't that mean it's making it safe for hackers???)
  • The line "You PC is still with spyware!" makes me think a LOLCat is responsible
  • That I'm running a Mac
Needless to say the people that pull this crap need to be removed from the Internet. Funny thing is I did a quick search and found this reference to the problem on a Microsoft discussion forum where a Windows user fell for it. There's even a blog post from nearly a month ago from Alex Eckleberry identifying this same site and issue, yet it's still running around today.

Anyone out there know how to stop people like this? Is there a good place to report this kind of behavior? I can see non-technical people falling hard for things like this.

Making the Logitech Harmony 620 remote work with a Mac

I was buying a couple of items at my local Costco yesterday and saw the Logitech Harmony 620 sitting in a display for $99. I had been wanting a decent all-in-one remote that would help me integrate my primary entertainment set up down in my basement. The equipment is a bit dated but works very well, the only problem being the plethora of remotes that I need in order to make it all work properly.

What looked interesting about this particular device was that it had a USB connector on it and would allow me to program it with my PC. This beat the old process I had to go through on a previous all-in-one remote that required a series of numeric entries into the keypad that felt like a game of Twister for my fingers.

The packaging on the 620 indicated that it supported a Mac so I made the impulse decision to buy it. Turns out I could have saved myself $10 by buying it from Amazon/Target but I didn't feel like driving back and returning it over $10. Once I managed to extract the device from the blister pack it came in—no small feat mind you—I followed the gigantic fold out instructions and popped the included CD into my MacBook Pro.

Mistake 1: Don't use the software that comes with it
I really wish the Logitech people would get their software act together, especially on the Mac side of the house. The software that shipped with the 620 was version 7.3.2. I detest software that requires a reboot on installation and this one required two, meaning I downright despised it. I seriously considered taking it back to Costco at that point but kept plugging through.

Once the software was installed I followed the on-screen instructions and plugged the USB cable from my MacBook Pro to the remote. The software failed to recognize that the remote was plugged in. I tried the other USB port on my Mac, tried using a different USB cable and even went through the series of incantations that usually help me cure technical problems to no avail. It simply wouldn't recognize the device.

I ended up removing the batteries from the remote and plugged it into my Mac to see what would happen. The remote came to life, drawing power from the USB port, though the software still failed to recognize it. At least I knew the connection was good and that it was likely either defective software or a bad remote. Given Logitech's reputation I was banking on defective software.

Mistake 2: Don't assume the Logitech site will help you
I immediately jumped on the Logitech site to see if I could find some troubleshooting information on this. Unfortunately the Logitech site doesn't even have the Harmony 620 listed as a product from them! This led me to conduct a more exhaustive search on the web to find out what was going on. It turns out the 620 is functionally identical to the Harmony 670, which was on the Logitech site.

I deleted the old copy of the Harmony software that I had previously installed and downloaded the latest version directly from the Logitech Support site. They have rebuilt the software quite well and it now installed without requiring a reboot and it recognized the remote right away.

The only catch in all of this was that I expected the remote to actively display that it was connected to my Mac through the USB port but it did not, or if it did it was so quick on the little remote LCD display that I missed it.

Configuring the Harmony
Once the software was installed and running it took a little while to get it properly configured with my devices. I entered in the name / model number for my TV, PVR, Receiver and DVD player and it seemed to recognize them fine. I even added in the xBox 360 and Wii that we have hooked up to everything. The 620 was able to power up the xBox but could not handle the Wii since that apparently requires a Bluetooth connection.

Once it knows your devices you can walk through a wizard interface that handles what device needs to be set to which input and what should and should not be powered on for each task. After going through the hell of getting the software to work properly with the remote this portion seemed to work great.

The Remote Hardware
Using the Harmony 620 is actually pretty nice. It's got a very comfortable peanut shape much like the Tivo remotes I favored when that was my PVR of choice. With one exception the buttons are well placed, easy to "feel" for in a dark room and reasonably well lit after pushing the little "glow" button.

The only button that caught me a couple of times was the Stop button, which is located directly above the rewind button. It was a little too easy to hit that while jumping back and forth on my PVR, which would pull me completely out of the show I was watching and require I navigate back to it.

That little quirk aside I love that I now hit a single button and all of my inputs are properly set and I can jump between watching TV, a DVD or playing a game. One single button push on one single remote. The only thing missing is one of those little chains like they have at banks for their precious pens so that my kids won't accidentally hide it.

I'm not much of an audio or videophile so this was more of a layman's perspective on setting this up and making it work. I actually wrote all of this down because of the problems I experienced in getting it all to work and the fact that I didn't find solutions in one single place on the web. If you happen to buy a Logitech Harmony 620 and have a Mac, hopefully this post will be of help to you. Logitech, please get your software act together! I love your hardware but experiences like this one make it difficult to recommend your equipment. At a minimum you should list ALL of your products on your web site.

If you happen to use/recommend a good, inexpensive universal remote please note it in the comments.

Getting the most out of Spaces on a dual monitor Mac Pro

Ever since I switched from Windows to Mac over 9 months ago I've been obsessed with making myself as productive as possible in OS X. Without question one of my favorite features is Spaces, the multi-desktop feature for Leopard. Here is how I've set up my environment to make the most out of it.

Hardware First
My primary workstation is a Mac Pro with 12GB of RAM and several TB of disk space. In addition I have two monitors attached (Samsung SyncMaster 204B), which gives me an effective 3200x1200 of desktop real estate. In my opinion you can't have too much RAM, disk space or more importantly screen real estate.

The other thing that I've found extremely helpful for me was using a decent multi-button mouse. In my case I'm using the one from my older Windows XP gaming rig, a Logitech MX 510 Optical Gaming Mouse. The best part of it for me is that I've set the additional button below the mouse wheel to activate Spaces, making it really easy to quickly access the list of windows and select something. Since the Logitech drivers are buggy I purchased a license for Steermouse, which gives me all of the mapping functionality I need to map buttons in OS X.

Arranging Spaces
I use Spaces by breaking my windows up into work areas for specific classes of tasks. In this way when I am in that work area most of what I need is visible. In some cases I want minimal distraction and in others I use the Space as a view into one of many conduits of information.

Spaces can handle a rather large number of virtual desktops but the number I've found that works best for me is 12: 4 rows of 3 spaces each:

Here is how I've broken mine up:

Web and NewsiTunesOpen
CommunicationsDocumentationVMware Win XP
iPhotoWord ProcessingOpen

Since I rarely shut down my Mac (I simply put it to sleep), I have many of these applications available as soon as I need them. This is of course one of the primary advantages of having 12GB of RAM. Here's how each one of these spaces works out:

Web and News
My primary web browser is Firefox and NetNewsWire is my news reader. I'll have multiple tabs open in my browser and use it when I'm doing research or catching up on the day's news. This is one of those distraction zones and I try to be regimented about how much of my time I spend here.

Since I sync up my iPhone frequently and often like to have music playing in the background, iTunes gets it's own Space. I rarely spend any time in this particular space.

I try to keep all of my direct incoming and outgoing communications in one place and that's what this rather crowded Space does for me. I run the standard Mac in the left monitor and in the right I have Adium, Skype and TweetDeck active. I also have a small TextEdit window open where I jot down notes and thoughts. I just started using TweetDeck today but have already become quite attached to it. Great way to stay on top of my expanding Twitter feed.

I always seem to be referencing PDF documentation on a regular basis. Today I've got a PayPal API document and an Active Merchant tutorial I am going through. Since these two are going hand in hand for what I'm working on I have them both up. Normally I have a single PDF up in this space; I'll mute the speakers, shut off my Growl notifications and music and focus on reading. It's a bit like entering a library to me.

Windows XP
Though I rarely use it any longer I tend to keep a Windows XP instance up and running in a VMware Fusion virtual machine. My primary need for it now is to load up Internet Explorer and check how the web based application I am building looks on it.

Lately this is where I've been spending most of my time as I get ready to launch my next business. I've been doing the work in Ruby on Rails and as a result keep a couple of different windows up and running in here. On the left monitor I have TextMate up as my editor of choice.

In the right monitor I have a standard OS X Terminal window up with several tabs inside of it. A background tab has my active Mongrel instance running the development version of my application and the foreground tab is ready to accept commands.

I use Safari as my web browser for local application testing and may have several tabs for documentation open in it as well. Since I use MySql as my primary database I keep a MySql Query Browser handy with my development database loaded in case I want to make quick changes to the data set. This is rounded out with a TextEdit window that contains a list of issues and notes for what I am working on.

This Space is reserved for OmniGraffle Pro. Since it has lots of additional windows and pallets I tend to let it take over both monitors. I use OmniGraffle for mocking up wire-frames of my application pages and working through flow charts for application logic.

Though I don't keep it open all the time I do have a dedicated space for iPhoto, mainly because I let it take over one monitor while I have Finder windows open in the other if I am moving pictures to different media for transfer or import. I'll also do my editing with Gimp in that Space.

Word Processing
I've become quite fond of Pages because of it's simplicity and have a Space dedicated to the times when I am in letter writing "mode" or creating marketing materials.

As you can see I also maintain a few open Spaces that I can jump to if I have some application or task that falls outside of my pre-defined areas. The benefit to all of this is that I can jump into a Space and focus on the task at hand. If I have the mouse in hand I'll press the button for Spaces and just click on the area I want to be in. If I'm in keyboard mode I'll usually press Command-Tab and pop to the application I need, which will also switch the Space for me.

I use a similar setup on my MacBook Pro, though since it is a single monitor and used primarily when I travel or am in a meeting I have it set up very differently. The principles however are the same: group applications into Spaces based on the mode of work I want to be in.

As a high-tech entrepreneur I have a tendency to be running at top speed throughout the day. Over the years I have learned how to multi-task well, allowing myself to flow from one task to the other when the situation warrants it but shutting down music, alerts and external distractions when I need to focus on deep tasks. The set up I have created with Spaces works great for me and I feel considerably more productive than I did back in the old days with multiple layered windows competing for my attention.

Do you juggle multiple applications at once or try to keep one application running at a time? Have a better way to keep your applications running smoothly? Please drop a note in the comments.

iShowU HD - capture that video easily

Have you ever wanted to capture video that you see online? Say for example you want to capture a highlight play on NFL.COM—which has some very high quality video clips online—integrating the results into your own video. I was looking for just such a solution the other day and found iShowU HD, a nice little application that can capture virtually any video you can view on your Mac, including Flash based videos from YouTube, etc.

Using the application is pretty straightforward - just set the video capture area, the quality of the output video, click the Record button and off you go:

iShowU HD also provides a way to put together basic screencasts, capturing either the entire screen or just a portion of it while scrolling the viewport with the mouse movement. It can display mouse clicks with a radar-like circle animation and audible click.

The only problem I've had with it was that recording audio (narrating my video capture) had a technical problem with my USB based microphone; it only recorded to the left channel. Shiny White Box—the manufacturers of the software—assured me that a fix would be coming for that within the next month. Fortunately the built in mic on my MacBook Pro doesn't have the problem so I can work around it for now.

For $30 it's a nice little piece of software. I haven't done too much research on the topic so if you're aware of a good piece of video capture technology—including something for making screencasts—please drop a note in the comments.

How to lose an AirPort Express in under a minute

A couple of friends mentioned the Apple Airport Express to me and it sounded compelling; a super compact 802.11n Wi-Fi base station that could not only serve as a wireless USB print server but could also be used to play my iTunes music on my stereo.

I have long wanted a clean solution for accessing my iTunes collection from my stereo without a big hassle and this sounded perfect. I bought one on for $96 and used my Amazon Prime account to get it here in two days.

The AirPort Express itself is extremely small; about the size of a standard MacBook power adapter. There were instructions inside and a CD containing the AirPort Utility but since I had already installed a Time Capsule I had all of the software ready to go. I simply plugged the AirPort Express into a power outlet inside of our stereo cabinet and ran a mini-stereo to RCA cable from it into one of the inputs on our main stereo receiver. A small green light started to flash so I went over to my MacBook Pro and fired up the AirPort Utility.

There was a new wireless network that I could join so I switched to it and found the new device. So far, so good. The AirPort Utility walked me through a series of questions to configure the device and the next thing I knew it was attached to my existing wireless network and was visible to all of the machines on my network. It could not have been any easier.

I ran downstairs and fired up iTunes on my Mac Pro, where my main music collection resides. Down in the lower right corner of the iTunes window I noticed that I now had a pop-up menu that would allow me to target either my Computer or the cleverly named "David Alison's AirPort Express" for sound output. By selecting the AirPort Express anything I played through iTunes would get pushed out to my stereo now.

I had to play with the volume both on iTunes and at the stereo to eliminate some static issues but was able to resolve that pretty quickly. This was great—my entire music collection was now easily accessable inside of our family room!

Taking Cool to the Next Level
About the only problem with all of this was that since my music collection was downstairs on my Mac Pro I would have to run downstairs if I wanted to select a different song or play list.

Enter the free Remote application for the iPhone and iPod Touch. This Wi-Fi based application loads up on your iPhone and allows you to remotely control iTunes running on your Mac. You simply pair it up and you can control the operation of iTunes right from your iPhone. You can see your album artwork directly on your iPhone too; very cool.

How I Lost My AirPort Express
With everything operating smoothly I was really excited to show Allison how all of this worked. I proudly held out my iPhone with Remote running on it and watched her marvel at our new source of music. Thinking show and tell was over I was about to settle in on the couch to listen to a little Tears for Fears when Allison said:

"David, this is really cool. Can you put that on MY iPhone and hook it up to MY MacBook? I want to listen to MY music!"

Great. I set up the coolest toy I've seen in a while and before I could play a single song all the way through she had claimed the set up as her own. Sure, we have some overlap in our musical tastes but she doesn't care to listen to my 80s rock and I feel the bile rise when some of the "crooners" she likes start belting out their songs.

I quickly got her MacBook and iPhone matched up, then walked away as my shiny new AirPort Express was being used to push Michael Bublé's "Save the last dance for me" out of our stereo speakers.

Oh well, it was great while it lasted. On the bright side my wife is extremely happy.

Got a different way to play your digital music throughout your house? As Roland Orzabal would say, Shout, Shout, let it all out... in the comments.

Quick tip - save your MacBook's hard drive

Recently I've gotten a couple of e-mails from folks that have had problems with hard drive failures in their MacBooks. While hard drive failures are a fact of life with nearly any computer it can be exacerbated in laptops and portable machines where the risk of drops while the drive is spinning is significantly higher.

One of the features I really love about my MacBooks (both my original MacBook and my MacBook Pro) is how reliable the sleep function is; close the lid and the MacBook's screen goes dark and you are ready to run off. The reality is that by default the machine does not immediately go into sleep mode but starts the process of writing the contents of your memory to your hard drive.

This means that when you think the machine is inert, the reality is that one of the more sensitive moving parts (hard drive) is writing to disk. Depending on the amount of memory you have in your machine this may take a while to do; in my case with a MacBook Pro and 4GB of RAM it takes a little over 10 seconds.

You can modify your MacBook to simply drop into sleep mode immediately by opening a terminal window and running the following command:

sudo pmset -a hibernatemode 0

This means your machine will drop into sleep mode nearly instantaneously. Hendrik, a frequent contributor here and the author of Juxtaposer, pointed me to this excellent article by Rob Griffiths in MacWorld from a couple of years ago. A great read if you want more details on this setting.

If you don't make this change you should keep an eye on your sleep indicator on the outside of your MacBook; don't move the machine after closing the lid until that light is steadily pulsing.

Got a quick tip to help MacBook and MacBook Pro users to keep their hard drive's safe? Please drop it into the comments below.

Time Capsule creates a challenge

I was thinking something was not right with my wife's MacBook. It wasn't because she was complaining about anything; to the contrary over the last week she didn't say anything about the machine. It was quiet. Too quiet.

Last night while I was sitting down watching TV with Allison she finally let it out:

"That new Mac is really slow. My Windows machine was faster."

Wonderful I said to myself, let me see what's up. I grabbed her white MacBook and saw by the dock bar that she didn't have anything running so I started up Firefox. Sure enough, there was a very long delay before the application window appeared.

"See?" she said "It's really slow! It's not just me!"

Apparently I have some deep technical gift, an ability to approach any technology problem in the house and by simply laying hands on the offending device the problem is immediately solved without me doing anything. At least, that's the way Allison sees it and it's just one of the reasons she's kept me around for so many years. My gift had apparently left me.

I quickly scanned around the desktop of the MacBook and noticed that the Time Machine icon was happily spinning away. When I clicked on the icon I saw the little "Preparing Backup..." message. Over the course of the next 10 minutes or so I noticed that it kept spinning and as a result loading up applications was very slow. I tried to kill the process but it would simply not pay attention to me.

I ended up doing a restart on the machine, which took a while by itself. Once OS X restarted and I was back at the desktop I stopped Time Machine and tried loading up applications. Sure enough, everything was nice and fast again.

It turns out Allison's MacBook was having trouble connecting to our Time Capsule. I went through everything I could, including using the AirPort Utility to attach to the TC, checking all the settings and everything seemed to be fine. Multiple consecutive attempts to restart Time Machine and let it run simply resulted in more waiting while "Preparing Backup..." was spinning away in the background. This led to multiple forced shutdowns while trying different settings.

Finally I started to get some error messages:

Which was quickly followed by:

This last one was interesting because clicking the Initialize... button resulted in Disk Utility loading up, which couldn't see the Time Capsule drive.

I decided to start over with the Time Capsule since I had another backup of all of Allison's files. I used the AirPort Utility to erase the Time Capsule drive and start over, then made sure I ejected the Time Capsule in the Finder. I did this because in my scans of various forums I had read that Time Capsule seemed sensitive to drives that were already mounted; it was better to let Time Machine mount the drive as it needed it for backups.

Once I did all of this I started up Time Machine, chose the drive and let it start out as a new backup. Since it had to backup the entire machine it took most of last night and on close inspection this morning the hourly backups were now working properly and the performance was back to normal.

The lesson I learned from all of this is that though I love the work Apple has done with their products, especially making them easy to use for most everything, there is still work to be done. This did not appear to be a configuration problem because I initially had Time Machine and our Time Capsule working just fine; it just suddenly decided to stop working properly, something that my reading last night indicates is a fairly common occurrence.

It also means that I now have to check on Allison's MacBook more regularly to ensure that the backups are happening properly. Given the plethora of Time Machine error messages my other Macs get I was surprised to find that this Time Capsule situation didn't generate any visible errors that my wife would report to me so that I knew there was a problem.

If you've had Time Capsule issues like I have above and come up with a way to solve them that doesn't involve reformatting the TC drive and starting over I'd love to hear about it. Something tells me this may happen again.

My wife and her switch to Mac

I had anticipated that I would be writing a lot about my wife's experiences using her "new" MacBook. After all, it's been two weeks since I got her the machine, yet she has barely touched it by my standards. The reality is that computers are just not that important to her. She's an experienced teacher with 8 years at the same school under her belt and for the last two weeks has had to do little more than e-mail and web based activities from home. She averages just under an hour a day on the machine right now.

She is also becoming mildly amused by my regular queries about how she likes her MacBook. Her standard response?

"It's great. I love it."

There have been moments where she has struggled with the machine however. She did offer up that she doesn't like the Delete key. Why? Well, she's used to using a Windows based delete key that deletes forward, not backwards. Backspace is what she expects that key to do. I assumed that she simply had a problem with the name of the key—it still performs the same action that it did under Windows and sits in the same position.

I then realized something I had overlooked for years; my wife likes to delete backwards (er, forwards). She always had a full size keyboard available to her and as a result would actually place the cursor—either with the mouse or even using the arrow keys—to the left of the word/character she wanted to delete and then strike the Delete key on Windows.

That little snag could be easily solved by planting a full size keyboard on the machine and letting her whack away at the Delete Forward button that full size Mac keyboards have, or teaching her to hit "fn" and then hit the Delete key. Instead, I'm going to spend a little time retraining her keyboard skills to adjust to using the Delete key properly.

She's apparently been doing this since she learned to type on her father's ancient IBM PC with the original keyboard. Old habits die hard.

Minor Mail Struggles

Allison is a Gmail user and for the last couple of years simply used the web interface to access her account. Since I'm also a Gmail user I decided to set her up the way I am; using Mail and the IMAP interface to manage my Gmail inbox.

I like that Mail uses the base Address Book, which she is very fond of since she has everything in that because of her iPhone.

The problem is that she uses Gmail a little differently than I do. I am a tag / folder nut and like to have a pretty empty inbox. As a result I tend to drag messages that I have finished working with or responded to into the appropriate folder in Mail. Since Mail takes the tag model that Gmail has and emulates it as folders that works great for me.

Allison however does not use tags or folders. She would simply select all the e-mails and hit the Archive button. I don't know of a way to do that without having to load up the web version of Gmail.

If anyone has a suggestion on how best to adjust Mail to use Gmail and leverage the Archive feature please drop a note in the comments. I'd also be interested in hearing from anyone that uses Gmail on their Macs and what they are doing to make it work besides just loading up the web interface.

Playing with iPhone pictures - Juxtaposer

One of the cooler aspects of writing this blog has been the people that have come around to not only give advice but tell me about some of the cool stuff they are working on. Hendrik Kueck has been commenting on this blog for a long time now. Hendrik is a software developer and when he told me about an iPhone application he was working on I became very interested in checking it out.

His product, Juxtaposer, is a fun little application for mashing two pictures together quickly and easily. Hendrik has done an outstanding job creating an easy to use interface, one that feels very natural for the task. You can take a picture directly with the camera and start mashing away or you can grab a photo from your library.

Basically you set a base image and a top image, then start hacking away at the top image. The tools included are very basic but are perfect for doing the task at hand. It literally takes a minutes or two to put together images. If for example you wanted to see what your brother would look like with his dog's head you can whip it up quickly:

Right now Hendrik has Juxtaposer available on the App Store for only .99 cents. Hard to go wrong at that price and in return you get one of the cooler party toys for an iPhone.

8 months after switching here are my favorite applications

As I've now crossed the 8 month time frame since I got my first Mac it's time to update the applications that I use regularly. When I made my switch I made a real effort to find native Mac replacement applications for everything I use and for the most part I have been successful in that.

I'll list these applications in the order in which I find myself using them and will include internal OS X applications as well. Many of these applications are related to the way I am using my Macs now, which is starting up a new company. I am doing lots of development, marketing messaging and content creation, building spreadsheets, etc. and am in front of my Macs anywhere between 12 and 16 hours a day.

This my friends is the life of an entrepreneur in start up mode.

I am completely addicted to the Spotlight / QuickSilver / LaunchBar model of activating applications and documents and more importantly tying them together in helpful ways. Virtually everything I do starts up with Command-Space and LaunchBar has proven to be a solid and stable companion for me.

I would be severely limited without Spaces. The ability to have my windows arranged properly for each of the tasks at hand is incredibly powerful. Running on a Mac Pro or even my MacBook Pro with 12GB and 4GB of memory respectively means I can keep everything up and running and get to it in an instant.

Though I still use and like Safari I spend the majority of my time in Firefox. I have Foxmarks installed and it keeps my book marks synchronized between my Macs and my Ubuntu workstation. The add-ons for Firefox are incredibly helpful, especially those that help in web based development.

Once again, I nearly forgot to mention 1Password because it fits so seamlessly into my workflow I often forget that it's there. Between remembering my passwords but also securely keeping track of my sign-up information and credit cards, 1Password helps me complete most forms very quickly.

Since I work from my home I keep in touch with my friends and family through instant messaging. With accounts on AIM and Google Talk I can use Adium to consolidate it into a single application. I like the compact way it presents itself and the ability to quickly search through previous conversations gives it an edge over iChat.

I have several e-mail accounts and the Mail app does a decent job of consolidating them into a nice, single place. Though the IMAP performance with Google's Gmail can be trying at times, I like the interface for Mail and enjoy the integration is shares with the Address Book.

Preview / QuickLook
One of the things that I love about OS X is that it includes a very nice file viewer in Preview. I don't have to load Adobe's bloated Acrobat Reader in order to see PDF files and it handles many of the formats I need easily. I lump QuickLook in there with it though it's more of a Finder extension than an application. Being able to simply select a file in the Finder or on the desktop and hit the space bar to see a quick preview is very handy.

I've long been a big fan of true programmer's editors and TextMate is one of the best I've used. The best part of TextMate? The numerous bundles available to make the most of everything programmers do on a regular basis easier. Since I'm doing my development work in Ruby on Rails I've gotten heavily into the great bundle available for TextMate. We're also using Subversion as our source code management and the bundle for it in TextMate is great.

I recently wrote about how I've set up my office phone around using Skype and I've really enjoyed using it. Occasionally I have problems with calls to land lines, though that's pretty rare. Combining Skype with LaunchBar is a game changer in my mind; my productivity around phone based activities is easily triple what it was with a conventional land line and it costs a fraction of what it used to be.

Address Book
The address book–especially since it synchronizes with my iPhone—is great. I also love that it is accessable from within LaunchBar, allowing me to simply find a person in the address book by hitting Command-Space and entering their name, then selecting one of the contact models I have for them (phone, e-mail, etc).

Since adopting the iPhone I also switched to using iCal as my full time Calendar. The integration between the iPhone and local iCal makes it very convenient.

I am one of those people that likes to have music in the background most of the time and with iTunes 8 and the Genius playlist feature I find myself exploring my music collection far more than I ever did before. Combine that with syncing up my iPhone and it's a great application in my book. I added GimmeSomeTunes to iTunes and now I get more cover art and I get a nice pop-up with song changes showing the current artist, title and cover art.

I often find myself trying to look through older videos I've collected from a range of different video camera formats over the years and always seem to be able to play them with VLC. Though the video quality is not as polished as some other viewers (QuickTime for example) it always seems to be able to view the file, which is what I really care about.

RSS feeds are how I stay up on current events in technology, finance and sports news and NetNewsWire provides a great way for me to keep everything in one place. I wish the built in browser supported Flash and video so that I didn't have to open some pages in Firefox but other than that little nit I always have NetNewsWire up and running.

OmniGraffle Pro
I used to use Visio on the Windows platform and when I switched to Mac I needed to find a replacement. OmniGraffle does exactly what I need and has proven a fantastic tool for creating wireframe renderings of the application pages I then build. There are a lot of templates available for it and I'm also using it for building data models.

I picked up iWork and have become completely committed to using Pages. I find it much easier to deal with than Word though there is a bit of a learning curve if you're a heavy Word user like I am. I really like the layout controls in Pages and the overall UI is far less complex.

I am rather reluctantly using Numbers. I say reluctantly because I've found the transition from Excel to Numbers much harder than the transition from Word to Pages. Excel has so many little quirks that I've become used to that are not in Numbers that I find myself constantly having to think about what I need to do instead of just doing it, which is unlike most of the other software I use on my Macs. My current use of spreadsheets is a bit infrequent so I don't have too much time to spend learning it.

Though it can be a bit quirky at times it's open source and free, which means it costs FAR less than Adobe Photoshop. My needs are minimal and I use Gimp mainly to clean up images and in some cases combine a couple of images on different layers. Version 2.6 was just released on October 1 though I haven't bothered to build it myself so I'm still using 2.4. Sure, it requires X11 and is not a traditional Mac UI but it works really well and the price (free) is unbeatable.

Terminal / Bash Shell
Between using SSH to pop into my remote production servers and using the shell to run Rails commands I spend a lot of time in the shell. I always have several tabs open in the terminal, either ready for a command or running a local server so that I can easily monitor status.

iStat Menu
Whether it's because I need to see where memory is being used quickly or to see the temperature on my MacBook Pro, iStat Menu gives me instant updates. If something is acting strange on my machine a quick glance at the menu bar tells me what's up and one click later I can see what all the activity is about.

I've found myself using TextEdit more and more lately. When I have a quick list that I need to keep or need to push some relevant notes to the task at hand up I'll just pop open TextEdit and scribble away. Small, fast and included in the OS; what's not to like.

Though it took me a while to get adjusted to using iPhoto instead of Picassa on Windows, I have made the transition. I love the integration with the rest of the OS as well, especially with drag and drop targets and the ability to select my background image directly from my iPhoto catalog.

When I need to move blocks of files to my remote servers I tend to grab Cyberduck and transfer away. It has simple, no-nonsense interface and it does what I need when I need it.

MySQL Tools
Between the MySQL Administrator and the MySQL Query Browser I have pretty much everything I need to work with my local copy of MySQL without having to resort to the command line. If you do any local development and run an instance of MySQL on your machine then you should have these tools at your disposal.

VMware Fusion / Windows XP
As my development efforts have come along I've needed to pull up my product in Internet Explorer and VMware gives me a great way to do that quickly. On my Mac Pro I've found that it's easiest to just keep it running all the time so that I can get to Internet Explorer quickly to do some testing. I still prefer Windows XP over Vista, if for no other reason now that it's memory footprint is smaller.

Time Machine
Always running in the background, Time Machine is not an application I actively use very often but when I do it jumps right to the top of my list. I've had files that were not under version control that I horribly mangled and was able to get back because TM was there to catch my mistake. Now if I could just get that stupid Time Machine error to stop I'd be a happy guy.

On My Shortlist
I've found most of the applications I need but I still have a couple more to get through. On the development side I would still like a decent XHTML / Web editing tool. To this day the best general purpose HTML editing tool I've ever used was HomeSite on the Windows platform and it has set the bar for what I am looking for. I've played with the evaluation version of Coda and it's pretty close but before committing to it I would like to get more feedback on what people like and recommend. I just need a lightweight editing surface that can help build up the XHTML code with helpers, perform quick previews, decent XHTML reference, etc. I like to write in the actual code, not in a WYSIWYG style design surface.

The second thing I am looking for is a decent financial management package. I bought iBank and have been using it and while it is an attractive Mac centered UI design it could be a lot better. A friend recommended I take a look at Jumsoft Money. If anyone would like to share their experience with that, or anything else in the personal finance category, please drop in a comment.