Mar 31

This was another of those YouTube videos too good to pass up. It was a little overly-long, but I can overlook that because it was great.

Mar 25

Thanks for this tip goes to Dennis Stevense and also to TUAW.com for republishing the tip he posted to his blog. Sorry, Windows users, this only works in Safari 3.1 for the Mac.

Since switching to primarily using Safari on the Mac (yes, I still<3 Firefox, but Safari just looks and feels more native on the Mac), I have been irritated by the fact that while you can force some links to open in new tabs automatically, anything that is target=”_blank” will open a new Safari Window. Sure, there’s a great “Merge all Windows” feature, but that’s just not the same!

Thankfully, in Safari 3.1, there is a new hidden preference to make Safari open all links that target a new window in a tab. Just issue the following command:
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

Thanks, Dennis!

PS - If you want to reverse it, just issue the same command with false in place of true at the end of the line.

Mar 11

WARNING: This post contains Super Geek Stuff.  Not for the faint of heart.

QuickLook is perhaps my favorite feature of Mac OS X Leopard.  Today, I found myself in need of viewing HTML files in QuickLook.  Unfortunately, I did not want to view the HTML file as rendered in a web browser (Webkit)–I wanted to see the raw code.

I already have the fantastic QLColorCode QuickLook Plug-in, so why not make HTML files display in QuickLook using that plug-in?

I started digging into QuickLook’s command line management interface “qlmanage” and initially, it seemed possible.  You can force a particular generator to render the file using the -g switch and providing the path to the generator you want to use.  Unfortunately, if that generator is not set up to render that ContentTypeUTI, it will ignore you.

Fortunately, it is easy to hack the qlgenerator to do what I needed.  Here is what I did:

  • Choose “Show Package Contents” for QLColorCode.qlgenerator (located in /Library/QuickLook or ~/Library/QuickLook)
  • Under the Contents folder, you should find the Info.plist file.
  • Make a backup copy of it!
  • Now, open Info.plist using Property List Editor.
  • Open Root -> CFBundleDocumentTypes -> 0 -> LSItemContentTypes and add a New Child.  The value should be public.html (the ContentTypeUTI for HTML documents)
  • Save Info.plist
  • From Terminal issue the command “qlmanage -r”

That’s it!  You should now be able to QuickLook your HTML files and see the code.  If you want to put it back the way it was, just remove your Info.plist, replace it with the backup you made above and reload your QuickLook daemon.

Mar 07

Finally, after a tad more configuration, all my wireless stuff is working pretty much to my satisfaction.  It all started with the introduction of my new Time Capsule into my network.  It being the “most advanced” device, I of course (perhaps to my own detriment) decided it should be the top dawg (yes, that’s proper spelling in Georgia).  This meant swapping out the AirPort Extreme Base Station that was doing my primary Internet routing (see this post).

The last piece to this puzzle was my secondary Xbox360 (in the bedroom).  It must connect wirelessly because I could not get a wire through the floor after two full evenings of trying.  The problem is apparently, the Xbox360 Wireless Adapter (an overpriced piece of crap) is not compatible with the Time Capsule. It apparently had this same issue with AirPort Extreme when it first was introduced, but Microsoft fixed it with a firmware update.  Rather than wait a year for that, I decided to just create a WDS network with my Time Capsule as the boss and the AEBS as a remote unit.

This is not entirely intuitive, so let me give it in step-by-step form:

  1. The first key to all this is that you have to set the primary device to “Participate in a WDS network” rather than “Create a wireless network” which is what I would’ve thought it should be.  Changing that setting allows the hidden WDS settings to show up.
  2. Now, add the client (in my case the AEBS) MAC address to the allowed WDS clients section in your main device’s settings.
  3. Then, I had to do a factory reset or two on the AEBS and set it up similarly.  Here, you want to set the WDS setting to “remote” and add the MAC address of the main device.
  4. Lastly, I configured the AEBS’s IP addresses manually using 192.168.xxx.2 as the IP for it and telling it the router and DNS server was 192.168.xxx.1.  Manual settings just seemed smarter than allowing DHCP to assign the AEBS an IP.  Make sure you remove the IP you just assigned from the DHCP range.  Also make sure the remote station is set to “Bridge mode.”

So, now I have the Time Capsule sitting with the cable modem in the basement and doing my primary routing/DHCP stuff.  It is also hardwired to my Media Center PC.  The AirPort Extreme is in the bedroom next to the Xbox360.  It is configured as a WDS remote station/bridge and the Xbox360 is hardwired to it.  (Know anyone who wants to buy a slightly used Xbox360 Wireless Adapter?)  Either one can be used as an access point, but due to the basement location of the Time Capsule, all of my wireless clients typically connect to the AEBS in the bedroom.  I may actually swap them in the near future so that the Time Capsule does most of the wireless stuff and the AEBS is the primary router/DHCP/WDS device.  It just feels like that would be faster–especially when it comes to Time Machine backups.  For right now, I’m tired of looking at the Airport Utility screen, so I’m not changing anything for at least a few days.

Mar 06

I stumbled on this thanks to TUAW.com (The Unofficial Apple Weblog). This ranks very high on my list of the dumbest things ever invented.

Behold, the MagStay PRO (not sure why it’s called “PRO”–is there a non-professional, simpler version?). It’s sole purpose in life is to keep your Apple MagSafe power connector from doing what it’s supposed to do–disconnect in the event of a sharp tug!

In nearly 2 years of using my MacBook, I can honestly say I’ve had this problem two or three times. Each time, I was able to easily work around it by slightly modifying my body position/posture.  On the flip side, I (or someone I know) has tripped on my power cord at least a dozen times (including a few tangles the dogs have had with it) and each time, the MagSafe connector has done its job and kept an expensive device from flying off the table.

How absolutely stupid.

Mar 05

I got my new Time Capsule yesterday when I got back to the office and decided to set it up last night. Wow, what I thought was going to be an easy swap turned into a 2+ hour, rebooting pain in the neck.

I was excited due to an AppleInsider article that made it seem like an easy thing to “upgrade” my current AirPort Extreme Base Station to the Time Capsule. Here’s the screenshot that got me excited:

Time Capsule Setup So, it would seem like the software would use the config file from my AEBS to configure the Time Capsule in a similar fashion and I’d be all set up in no time flat. In fact, that’s what it seemed to do before I took it downstairs to plug into the cable modem…

Problem number one was that I had to reboot the cable modem after I swapped the AEBS for the Time Capsule. No clue why, but maybe that’s not Time Capsule’s fault. Took me a few minutes to figure that one out, though.

Problem number two was that no matter what I tried, I could not get wireless off it. Everything was reporting functioning, my wired desktop was connected fine and could access the internet. I could even see the wireless network from my Macbook. No wireless–the connection just timed out every time. After trying everything (new password, no wireless security, different SSIDs), I finally did a full “reset to factory defaults”. That didn’t work either–the Time Capsule never booted up fully. So, I did another full reset, this time by pulling the power cord and holding the reset button as I plugged it back in. That seemed to work and I started over.

So, this time, I tried setting up the Time Capsule as a completely new device on a new wireless network. Worked fine. Until I tried to import my config file from the AEBS to get things like my DHCP reservations and port maps back. When the Time Capsule rebooted, again no wireless.

Finally, I factory reset one more time. Again, the software reset wouldn’t work–the Time Capsule never came back online, so I had to do the hard reset with the power cord. This time, I set it up completely from scratch using the config file (it’s just XML) to copy/paste things like the MAC addresses for my Xbox DHCP reservations. Working nicely.

So, last thing, I go up to try and get my mother-in-law’s computer back on the wireless. I tried to use the feature of the Airport Utility software that allows you to join a wireless client without actually entering the WPA password in the client. No dice. Not only did it not work, but it hung the Time Capsule. I tried to change the WPA password and Airport Utility crashed leaving the Time Capsule (now, two floors down) needing yet another reboot.

All-told, I must have rebooted that thing about 15-20 times and hard-reset it twice during setup. A word to the wise: Do NOT try and use your AEBS config to quickly set up your new Time Capsule.

Apple should have probably delayed Time Capsule and its accompanying updated version of Airport Utility (or not promised it in February to begin with) for at least another month to work the kinks out. It’s working now, but I can never have those 2 hours back and I was hoping to play some Puzzle Quest last night!

Feb 07

Mac Tricks and Tips has a great post listing their Top 100 Essential Applications for the Mac. Some are must-have, some are good, and some I would avoid like the plague (Quicken 2007, why must you suck so?).  Some, I even question the use of the word “Essential” in the article’s title (come on, Aperture? Seriously?), but this list is a nice collection of some great Mac applications in one place.  Of course, the clincher for me was finding GrandPerspective which is an open-source Mac OS X re-imagining of SpaceMonger, one of my all-time favorite Windows utilities.

Here are a handful I have had good experiences with and can recommend:

  • GrandPerspective
  • Adium
  • CSSEdit
  • Cyberduck
  • VLC
  • Audacity
  • Delicious Library
  • Handbrake
  • Pixelmator
  • iAlertU (only for notebooks with the sudden motion sensor)
  • Carbon Copy Cloner
  • Flip4Mac (warning, Microsoft product)
  • Growl (comes conveniently packaged with Adium)
  • Parallels (if you must run Windows)
  • iWork (nearly half the price of the cheapest MS Office package)

Here are a couple that didn’t make the list, but I still love:

Sorry I was too lazy to include links to all of them, but all the ones from the “Top 100″ list are linked on their site and usually Google does a good job of finding them too.

Jan 15

So, by now the news of Apple’s announcements is all over the interwebs.  I’m not going to give details here, you can find that on all sorts of other great sites (Engadget and MacRumors, to name a few).  I just want to give my quick impressions of the four primary announcements they made.

  1. Time Capsule/Airport Extreme HDD - I think this one has potential.  I recently bought the Airport Extreme and it has been nothing but impressive.  It’s the best home router I’ve owned (not that I’ve owned a lot) and it shares my Canon MP500 printer nicely between my always wireless MacBook and the PC.  I’d pay $299 for that great functionality bundled with a 500GB server-grade internal HDD for storage.  I think this has potential to compete with Windows Home Server and be a nice all-around solution for Time Machine backups and syncing multiple computers (Windows and Mac).
  2. iPhone/iPod Touch Software Update - I updated the InternetSafety.com iPhone to 1.1.3 minutes after Steve got off the stage.  Even with the potential for many thousands of people updating at once, it downloaded and installed quickly and cleanly.  1.1.3 offers a few new features, but nothing earth-shattering (in my opinion).  Still, it’s nice to see an update that adds features rather than just stopping people from applying the latest hacks, cracks, and custom ringtone apps.  The real shocker was that iPod Touch users are going to have to pay $20 for the update that enables Mail and Notes and the Stock and Weather widgets.  Way to reward your loyal, early adopters, Apple, by making them pay for stuff that should’ve been there day one.
  3. iTunes Store Movie Rentals/AppleTV Refresh - This is probably the only announcement that would make me consider spending money ASAP.  The AppleTV just dropped to $229 (sucks to be that guy who bought it over the weekend for $299).  It’s a nice device, but at $300, I felt it didn’t really give you much.  Now, with the ability to purchase content directly on the AppleTV, it seems a lot more worthwhile, and I could see myself buying one eventually.  I doubt I’ll rent many movies from iTS as the prices are a little high for my tastes, but that’s not going to stop a lot of people and Apple will make a killing on it.  I think the content is also slightly less expensive than similar Microsoft Marketplace content.
  4. MacBook Air - This was probably the highest octane announcement.  I’m sure it’s something a lot of people are looking for.  Personally, it’s not for me.  The size of my MacBook doesn’t bother me.  The size of the MacBook Pro doesn’t bother me.  If I were going to drop $2000 on a laptop (because, let’s face it, you can’t buy it without at least a few extra pieces that will bring the total up), I’d go for the more powerful Pro with a 15.4″ screen.  That’s me, though.  Additionally, the internet is aflutter with the fact that it has a non-user-replaceable battery.  Personally, I think they’re blowing it out of proportion as by the time the battery starts to die out, most of these same people will have upgraded through at least 2 iterations.  It is one sexy-looking laptop, but it’s not for me.  Oh, and for the record, that’s one of the dumbest names since the Lisa.

So, that’s it.  That’s my summary of my feelings about it.  Overall, it was a pretty good time following it.  I have to give props to MacRumorsLive.com and their coverage.  Engadget went down a few times, but the MacRumorsLive stream kept coming and didn’t even require refreshing.  That was a great experience, guys!  (Not to mention, it was sponsored by MacHeist which I have purchased both years now–great products in that bundle.)

Jan 15

Once a year, Santa Steve emerges from Cupertino and announces Mac goodies for all the good little boys and girls. Today, January 15, 2008, is that day! That’s right, folks. If you didn’t know, this week is the annual Macworld Expo in San Francisco. This year, there is “Something in the air” but so far other than rumors, that’s all we know.

In preparation, I have worn my black “I (Apple) Code” shirt and jeans. I will be following several live-blog pages during the Stevenote address which begins at 9am PT/12pm ET. Engadget, TUAW (The Unofficial Apple Weblog), and MacRumors usually have good ones.

I will post my impressions and thoughts sometime after I have fully digested the event.

Jan 10

I admit it–I’m not big on backing things up. This may be the result of never really having experienced catastrophic hard drive failure (knock on wood). Or, it may just be my lazy, gen-x attitude.

At work, I typically save all important documents directly to a “My Documents” share on the file server (IT takes care of backing that up–thanks, Ron). However, I recently started started using a little ToDo list app that really needed its file stored locally (connecting and disconnecting to the server would just be too much for its “every 5 second” autosave). So, how do I back that up on a regular basis? Combine that with the time I’ve spent this week getting my Subversion repositories properly backing up and I decided it was time for a solution.

I had always heard about how cool Automator is on the Mac, but had never really given it much thought. Is it ever (cool)! I was able to graphically set up a simple workflow to make an archive of my local “Documents” folder. Problem was, my 18GB Parallels VM file is in there. With a bit more Googling and some creativity, I was able to exclude that folder (and a few others). More on that later.

So, now, how do I run this bad-boy without physically opening Automator and running it? This article on MacOSXHints.com came to the rescue. You save your Automator workflow as an Application (or, if you read the comments, an iCal Plug-in) and use the iCal alarming capability to schedule it.

I now have automatic backups running every morning at 2am for my iMac at work. Now, I just need to break down and buy that really big external drive for home so I can use Time Machine to back up my personal Macbook.

If you are a casual reader, you can feel free to stop reading here. The rest is pretty technical details on setting up the Automator workflow.

Now, on to the tricky part. If you are trying to use Automator to specify folders, but want to exclude some sub-folders, you are in luck! It’s not terribly intuitive, but what I discovered is that you needed to include a “Get Folder Contents” before you could filter by name. Note that this example only excludes one level deep. It will not drill into subfolders and exclude those. I suppose you could make it do that, but for me, I didn’t need that functionality and this was much simpler and faster. Here is what I ended up with:

  • Get Specified Finder Items - Add your “Documents” folder (and any others you want backed up)
  • Get Folder Contents - Apparently, this turns Folders into “items” that can then be filtered. Don’t check the “Repeat for subfolders” unless you really really want to drill into every subfolder and create a giant list–it may take a long time to run and exclude items you didn’t expect to be excluded
  • Filter Finder Items - Use the “Name” “Does not contain” filter and just add a filter for each item you want to exclude (in my case I created one for “Parallels” and one for “Microsoft User Data”)
  • Create Archive - Creates the zip archive and saves it in a specified location
  • Rename Finder Items - I used this to append a date-stamp to the filename
  • Copy Finder Items - Last step, copy it to a location accessible by Finder. Fortunately, if it needs to mount a network share (even smbfs), it will!

That is my workflow. Hopefully that will help someone that gets stuck on the excluding named folders step. Automator is really pretty neat and who knows, maybe I’ll find some other great uses for it in the near future!