Saturday, June 18, 2011

G5 iMac Blue Screen on logout and startup - and a review of G5 debugging

[See the update. I don't think it's safe to use a 10.5.8 machine with AirPort Wifi and Epson HL-2140 printer drivers as a print server.]

Back in the days of Quarterdeck Extended Memory Manager and DOS Carousel/DesqView/Sidekick debugging was simple. Our one machine crashed many times an hour, and there were only a few things to relentless tweak in the hopes of getting a bit of work done. Hardware problems were extremely rare; my original Panasonic 8086 was vastly overengineered [1].

Despite vastly more security threats, life for a modern Mac household is much improved. We currently run 3 OS X machines (two 10.6, one 10.5) and five iPhones for five users. My life as network admin is mostly focused on porn control (which is a lot like fighting with QEMM really).

Software has come a very long way. Hardware is less robust than it once was, but Apple gear isn't as bad as it could be. Overall we're ahead.

When problems hit though, they can be really tough. This is the story of one of those problems. Like my Troubleshooting MacBook wake from sleep problems of 12/2010 I think I've got it under control, but I'll probably never know the precise cause. I think that's because, barring obvious hardware failure [2] and malware infection [3] most modern tech problems are multifactorial. Multiple software bugs interact with occasionally flaky hardware to produce bad outcomes; curing the problem often means fixing several contributors and thus reducing, but not eliminating, crashes.

In other words, modern computer reliability has quite a bit in common with murder rates in Manhattan and diseases in humans [4]. Chaotic and multifactorial causes and fixes.

Today's example involves our old G5 iMac, (introduced 2004, got mine @2005). These were among the last G5 machines Apple made, and like all the G5 line they were plagued by heat problems. And more heat problems. Heavens, but the G5 chip sucked. [5]

This machine has been pretty stable, though noisy, but yesterday it hung on the login screen. I did the usual first OS X troubleshooting step -- I did a power-cycle restart holding the shift key. This forces cache cleanup and a directory structure integrity check. That seemed to work, but soon I was seeing blue screen on logout, particularly with my son's parental control managed account -- and blue screens on login -- just before I'd expect to see the user select screen on this multi-user machine.

There was no obvious software explanation, so in today's world the next step is to test hardware. I booted the (Mac Classic OS!) hardware test disk for the G5 and ran it in loop mode. Surprisingly the machine passed. This would have been a good time to inspect the G5's notoriously shortlived capacitors, but in fact I only did that the next day. The capacitors were fine, and I vacuumed the machine [6].

At that point I could have started rooting around with Verbose login and Console looking for blue screen errors but this is an old machine with a lot of software cruft. Since the hardware looked good I did a 10.5 archive and install [7] and let it run overnight.

This morning it booted up nicely -- right into a foul 10.5.1 bug with Admin account passwords [8]. I was amazed, I never thought to see that one again. After I did the tortuous unix command line fix [9] password reset I updated to 10.5.8 and rebooted into a clean Admin account that logged out to a blue screen. About then I realized the problem hadn't gone away and I had to do real troubleshooting.

I'll skip the tedious details. Instead I'll enumerate what I think the contributing factors were, then I'll describe what worked.

My best guess is that it was not malware related, but involved several of these items;

  • An AirPort network problem. I could see the iMac was showing up on the network with different network machine names, such as BigMac, BigMac-2 and so on. It eventually got up to BigMac-4. I suspect a hardware problem with our Time Capsule/AirPort Extreme router. [10]
  • A software issue with OS X 10.5 Location - there were some odd behaviors when I tried changing Location settings. Maybe a corrupted preference file.
  • An Epson printer driver issue interacting with WiFi shared printer access. The drivers on this machine are a few years old and they didn't come from Apple (in 10.6 they do). I found some curious print jobs dangling in the printer queues on different accounts as I cleaned up accounts.
  • Something funny with Parental Controls. Several controlled accounts had password failures, even after the Archive/Install. However resetting the account passwords to the original password still matched the login keychain password.
  • Spotlight and turning off Spotlight indexing of a network mounted Time Capsule backup drive.
  • Network shares connecting on startup
  • Time Machine backup to a Time Capsule external drive's disk images.
  • Flash - which is the source of all evil on a Mac
  • MacAlley external keyboard driver

This is what I did to get things working, beyond the archive and install (if I could have I would have switched to wired connections to our router):

  • I removed all Locations except Automatic (I could have also simply deleted the appropriate preference file)
  • I created a new Location and set it to fixed IP address rather than request via DHCP (so no hang if there's an IP request issue)
  • Turned off Time Machine
  • Turned off Spotlight (drag and drop the internal drive icon to the Privacy list)
  • Installed the Click to Flash Safari extension to reduce Flash activity when my son is using the machine (ads mostly)
  • Reinstalled printer drivers but didn't reinstall the MacAlley external kb drivers. It works without them.
  • Created a new Admin account and trashed the one that hit the 10.5.1 bug. Incidentally, the best practice for admin accounts is to use a 6 letter Sentence case string. Then the short name will be a lower case version of the long name and you can use either when typing.
  • Reviewed and refreshed all the parental controls.
  • Removed all login items, esp. network drive mounts, from all accounts.
  • Restored the original Apple kb instead of the MacAlley I was using (eliminates 1 driver, I did this after things were working but it's a good stabilizing move)

It's now working. I wouldn't be surprised if there is a hardware problem in the G5 and the problem returns, but it is clearly much improved. I think any hardware problem is more likely in the Time Capsule.

With Click To Flash, Spotlight disabled, and no Time Capsule backup this machine is quieter than it's ever been. I'll wait a while before I reenable backup [11] and I think Spotlight is a goner (love it on 10.6 though).

If I had to put my money on a single fix, I would wonder about the fixed IP and perhaps redoing Location settings (removing would have been better).

Update: I can't say it's cured, but it's clearly far better. No more blue screen today. The only device driver I've installed is for the printer, there's no native support in 10.5. It's also astoundingly quiet. It hasn't been this quiet in memory, the fans barely run. Coincidentally I just now came across mention of Tiger (10.4) kernel panics with newer AirPort base stations. I wonder if there's a relationship ...

Update 6/18: It came back. I was stunned. I can't imagine hardware errors behaving this way. My son had used the computer, but we monitor him closely. All he'd done was print ...

and print ...

and ....

He likes to print. We hardly ever print. Sometimes he was printing from a 10.6 laptop.

The only driver I'd installed yesterday was the Epson 10.5 printer drivers. They're older of course, and the OS has been patched since they were current.

I tried several things, but this, dramatically, worked when multiple other things (PRAM reset, SMU reset, hold shift to start in safe mode, etc) didn't. I swear this was an occult geek ninja move.

  1. Startup in single user mode (cmd-S on startup)
  2. Run the command that allows me to modify the file system (you see it on startup prompt)
  3. Navigate to where OS X stores the CUPS printer spool (I knew the driver was CUPS): ~\var\spool\cups\cache (to use the unix cd command to navigate here while in single user mode, you have to do sudo -s first to get a root shell).
  4. Delete all the files - rm *
  5. exit

The machine started up normally. I then turned off print sharing and deleted the Epson printer driver.

Wow.

Update 6/27: I reinstalled print drivers but made a 10.6 machine my print server. No further problems. I posted on this to Apple Discussions ... Leopard login blue screen fixed by...: Apple Support Communities

- fn -

[1] After years of use, during a marathon debugging session managing DOS interrupt conflicts, I pulled a board with the machine running. It shorted out only half the bus, the machine continued to work for years. Panasonic must have lost money on each of these monsters. They left the market when the US Congress, rightly fearing the disemboweling of the US computer industry by superior competitors, used plausible threats of protectionist intervention to save the US hardware and software industry from Japanese competitors. Nobody remembers this.
[2] Hardware failure can be very hard to spot. I had a series of issues with my 27" iMac that were vexing, but not bad enough to really investigate. Finally my Kensington USB hub got flaky enough to be replaced. With the new hub the seemingly unrelated system issues vanished. Wireless routers are famous for failing in flaky and hard to diagnose ways.
[3] Not yet a real issue for our Macs, but it's clearly coming. I suspect that's why Apple is delaying their hot new MacBook Air so it ships with Lion. They want to move us to signed code platforms within the year, so they need to kill 10.6.
[4] How many physicians think humans get only one viral infection at a time? I've believed for years that a lot of "viral syndromes" are the result of multiple simultaneous viral infections. I bet that meme makes it the med schools in my lifetime.
[5] Remember the liquid cooled G5 towers? Apple was desperate. Miracle they survived the Intel transition. That's when we learned how good Apple was.
[6] I used to blow dust out with compressed air. That was fun! Then I killed a Mac Mini optical drive in a dust cloud. Now I carefully vacuum using a mini-shop vac. The machine looks archaic now -- huge capacitors, everything enormous. Especially compared to working on the Mini, much less an old iPhone.
[7] No longer available in 10.6, which I think does the equivalent on every install.
[8] In the old days you could trade up from the equivalent of 10.5.1 to 10.5.6 at Apple stores. No more. Disappointing.
[9] Yes, password reset is easy to do on any account. You can also just mount drives in firewire target disk mode. Passwords exist for other reasons, not to secure the drive. For physical security you need encrypted images.
[10] The generation I have are notorious for power supply failures with extended flakiness prior to total collapse.
[11] There's very little data stored on this machine. It may not be worth backing up.

See also:

A series of mostly 2004 and 2005 posts about the heat and fan problems that plagued iMac G5 buyers, though the rev 2 machine I bought had fewer of the capacitor and firewire and fan issues. These posts predate Twitter and Google Reader Share, back then my posts were more tweetish.

Friday, June 17, 2011

PDF services and Send to iPhoto - an album of JPEGs

I recently enjoyed this 2010 article on using OS X PDF services to send websites and docs to iBooks (Mac OS X Hints). All Mac geeks should give it a read, and the excellent comments as well.

Reading the hint made me take another look at the options on the handy PDF menu found at the bottom left of every print dialog. The list includes Save PDF to iPhoto, which is a bit odd since iPhoto won't import PDFs. (I have a memory that it once did, but Google disagrees). If you drop a PDF into iPhoto, you get a not supported dialog.

So I gave it a try. The results are interesting - iPhoto gets a JPEG for every page of the PDF. It's even documented ..

Mac OS X: About the Send PDF to iPhoto feature

... This feature uses an Automator workflow to create a PDF printout, and then convert that PDF to a JPEG. The JPEG is then sent to iPhoto. This workflow is installed by Mac OS X and is stored in /Library/PDF Services/...

It's an obscure but handy feature. Alas, Automator never lived up to its 10.4 promises, it's languished ever since, despite the best efforts of Nyhthawk Production's curious site ... Mac OS X Automation (curious because it's not an Apple site, but Automator links to it).

Connecting devices to WPA Airport Extreme base station without authentication - including guests

This isn't new, but it's new to me. I ran across it in my Airport Extreme menu
AirPort Utility 5.1 Help: Adding a wireless client to your 802.11n network
... If your base station supports it, and your network is password-protected using WPA Personal or WPA/WPA2 Personal, you can provide wireless clients access to your network without requiring them to enter the network password...
... Choose Add Wireless Clients from the Base Station menu...
This is different from the "guest network" base station configuration. The most obvious use is for visitors, but I assume it can be used for WPA devices that don't support password entry (do such exist?).

It works by creating a hole in network security -- a device is allowed on the network based on its MAC address without a password. This is spoofable of course, but I imagine you'd have to know the magic MAC address. Based on the article title it's 802.11n only.

Access can be limited to 24 hours, which makes sense for most uses. Easiest configuration is first device to try gets the privilege. If you don't use the 24 hour limit access is forever, unless you edit the Airport Access Control list.

Sunday, June 12, 2011

Spotlight will index your Time Machine backup disk

I caught my MacBook's fan noise, so i looked to see what was sucking CPU.

It wasn't, surprisingly, Flash. The MacBook was trying to index the backup drive attached to my Time Capsule upstairs, even as it did its routine Time Machine backup to the remote image.

I'd seen that on other machines, so I knew the fix. I added the remote mounted backup drive to my Spotlight Preferences Privacy tab. The fan spun down a few minutes later.

It's a surprising behavior. Does Spotlight also try to index a TM backup on a physically attached drive? Obviously this kind of indexing is pointless, just a waste of bandwidth, storage, CPU and power. I'm surprised it's not been fixed.

Update 6/22/11: There are odd consequences with doing this, esp. in 10.5. This 2008 discussion is interesting -- TUAW Tip: exclude your Time Machine disk from Spotlight indexing and 10.5: Spotlight and the Time Machine disk - Mac OS X Hints

OS X Parental Controls Review - State of the art in OS X 10.5 and 10.6

Apple has recently updated their OS X Parental Controls documentation for 10.5 and 10.6. It will be interesting to see if they improve Parental Controls with 10.7(Lion).

The only good thing I can say about the current generation of OS X Parental Controls is that they're an improvement on the non-existent Parental Controls in iOS.

Below is a summary of the current controls documentation, followed by notes of my own. I appreciate the irony that, as the father of a vulnerable child, I share the same agenda as China's totalitarian Party (emphases mine) ...

Mac OS X v10.5, 10.6: About the Parental Controls Internet content filter

The Internet content filter can operate in three modes: unrestricted, automatic, and whitelist.

When "Allow unrestricted access to websites" is selected, the Internet content filter logs websites that the account visits but does not restrict Web browsing. Visited websites are still logged and can be examined in the Logs tab of Parental Controls preferences.

When "Try to limit access to adult websites automatically" is selected, the Internet content filter does its best to block websites with inappropriate content. To do this, the Internet content filter uses the same technology that the Mail application uses to identify "junk" mail. The Internet content filter can identify, with a high degree of accuracy [!], whether a Web page is safe or not by examining various properties of the website including text and structure.

Additionally, the Internet content filter will block a website if the website identifies itself as adult-oriented using RTA (http://www.rtalabel.org/) or SafeSurf (http://www.safesurf.com/ssplan.htm) rating systems, as well as forcing "safe" searches with some search engines.

In this mode, the Internet content filter logs all visited and blocked websites, and flags them as such in the Logs tab of Parental Controls preferences.

In certain situations, the automatic Internet content filter may mistakenly block a safe website or allow an adult-oriented website. For example, if the website uses an uncommon language or if there is very little text on the page. These websites can be identified in the Log tab of the Parental Controls preference pane and added to the "Always Allow" or the "Never Allow" lists. These lists can also be accessed by clicking the Customize… button in the Content tab of Parental Controls preferences. Websites that are mistakenly blocked can also be allowed by clicking the "Allow…" button on the blocked web page and authenticating as an administrator user.

https note: For websites that use SSL encryption (the URL will usually begin with https), the Internet content filter is unable to examine the encrypted content of the page. For this reason, encrypted websites must be explicitly allowed using the Always Allow list. Encrypted websites that are not on the Always Allow list will be blocked by the automatic Internet content filter.

If "Allow access to only these websites" is selected in Parental Controls, the Internet content filter blocks any website which is not on the list. When the blocking web page is presented, a list of allowed websites is also shown. If using Safari, allowed websites are displayed as bookmarks in the bookmarks bar.

Note: For most websites, the Internet content filter considers the domain name and not the path. For example, if http://www.example.com is added to the list, then http://pictures.example.com will be allowed, as will http://www.example.com/movies.

In whitelist mode, visited and blocked websites are flagged in the Logs tab of Parental Controls preferences and can be added or removed from the whitelist there.

The documentation is incomplete (I gave it a rating of "2"). Some additional notes and references:

  • Safari history cannot be deleted in the most restrictive mode and in that mode preference changes are limited as well. It can be deleted and preferences can be edited in other modes.
  • The documentation false claims about the accuracy of content blocking, and of course images cannot be managed (emphases mine).
  • A user account must be closed (user logged out) for content rule updates to be applied.
  • Because of the various measures Google takes to evade censorship by authoritarian governments their services are a poor match to Parental Controls. Bing is much more dictator friendly, so I block all Google services and allow Bing.
  • OS X Parental Controls settings and logs can be managed from a remote admin account (see references below).
  • It is most convenient to allow and block sites while reviewing the log file records.

It's easy to find problems with OS X Parental Controls, but I don't expect much improvement -- even with all the world's dictators on my side. For example ...

  1. There's no customer demand for improvements. I think most parents are quite unaware of what most adolescent males do on the web, and I think they prefer to remain unaware. This is not necessarily a bad solution for most adolescents and parents; not all children are equally vulnerable.
  2. Technologies for evading monitoring, ensuring security, and protecting privacy also block Parental Controls.
  3. Engineers without young children don't like Parental Controls, not least because of how the technologies can be misused. Working on Parental Controls is unlikely to be a career move at Apple.
  4. These are hard problems because of the way the Internet is structured, and because content providers are actively trying to evade Parental Controls either because they want to facilitate adult access or because they are seeking vulnerable people to exploit.

See also (mostly Gordon's Tech):

Update 6/15: Nothing illustrates Apple's disdain for Parental Controls better than this screenshot:

Screen shot 2011 06 15 at 8 25 16 PM

The log display can extend vertically, but not horizontally. It's fixed width. So you can't actually view the URLs. The poor engineer must have taken pity on his users however, if you let your mouse rest on a URL for a while a popup will show you the full text.

This is third rate work.

Wednesday, June 01, 2011

Mac Mind mapping software: Inspiration, OmniOutliner and MindNode

I've used several mind mapping tools over the past few years, including, most recently, MindManager for Windows. I like the tools well enough, but it's a niche market. The leading vendors like Mindjet and NovaMind typically charge $250-$400 for their products; that feels a bit much when Aperture sells for $80 on the Mac App store.

All of the commercial products use proprietary, closed data formats -- so there's a severe data lock problem with this domain. It's tough to switch vendors. Some, like NovaMind, have quite good import/export features -- but that doesn't change the fundamental data lock issue. Many of the products, including some respected freeware apps, are Java based. That's a big negative for a Mac user.

Which is why it's nice to see that Inspiration is back. It was never actually gone -- but they stopped marketing it for adult and business use (schools only). Visiting their web site today they seem to be taking another stab at a broader market. Inspiration isn't nearly as pretty as MindManager, and it doesn't have MM/Windows deep Office integration, but it's much less expensive. I'd give it a try (it used to import MORE 3.1 documents btw!), but the trial software registration form is ridiculous. I'll wait until they get a clue on that front.

Inspiration is nice, but what I really want is for the OmniGroup to deliver a mindmapping solution. They could extend OmniOutliner, OminGraffle, OmniFocus or do a new app -- but my preference would be to extend OmniOutliner. They'd do a beautiful job, and perhaps they'd consider opening up the file format.

Update: The ever reliable "Martin" mentions MindNode in a comment. I loved this part of their web site description:

No file format lock-in. MindNode and MindNode Pro support a variety of file formats. You can import and export FreeMind and OPML files (a file format used by many outlining applications) or export the mind map as PNG image, TIFF image, PDF, RTF or HTML document.

MindNodePro is sold on the App Store for $20 and by direct download. MindNode is quite limited by free. There's an iOS version that currently has its own file format, but the developer promises it will migrate to the MindNode format.

MindNode is a small OS X and iOS developer product ...

... MindNode and MindNode Pro are applications designed and developed by Markus Müller. Based in Vienna, Austria, Markus is an independent software developer whose focus lies on designing intuitive and useful software for the Mac and iPhone platform...

This on is my todo (Toodledo/Todo.app) list to try.

Update 6/4/11: There's a free trial version of MindNode Pro - limited to 20 nodes. That's what I'm experimenting with. It's simple, but elegant. If you drag and drop a file to MindNode it creates a resizable icon shortcut (default size is too big). I like how it works. If you want to create documents, you create then externally and relate them using MindNode. For example, I could related a set of SimpleNote text notes. The documentation is unclear, but i can confirm node names are indexed by Spotlight.

See also:

Tuesday, May 31, 2011

Why is my iPhone 4 crashing so often?

It started when Reeder, a previously stable app, began crashing frequently. I assumed the app wasn't keeping up with OS updates.

Now several apps are less stable. (Of course I've been shutting down, restarting, etc.)

It could be one app that is having a systemic impact, but my hunch is this is hardware related.

Google tells me this is not a terribly common problem but it does happen. The best explanation so far is How-To: Fix Crashing Apps on Your iPhone and iPad.

The only fixable hardware related cause I can imagine is bad "sectors"  on the iPhone's Flash memory -- flash memory defects the OS can't fix on the fly. Memory wear is normal for Flash storage and I expect my phone has a higher than average rate of read/write cycles.

So my next measure is to wipe the phone and reinstall from a backup. During a refresh the OS may have more options for managing bad

This will take some time, so I'll update after I get around to it.

After that, I'll have to bring it in. That's a scary thought!

Sunday, May 29, 2011

Personally sad changes to Google search

Google has changed the way it indexes my blogs (notes.kateva.org, tech.kateva.org). Until recently search results were individual posts. Now search results are increasingly archive pages that include significant numbers of posts.

This may reflect Google's declining opinion of my worth, or simply a declining interest in blogs, but whatever the cause the new behavior is far less useful.

I tried Bing, but it's much weaker.

Friday, May 27, 2011

Unexpected benefits of removing dated OS X fonts

There are a two things I miss about Windows. I miss Windows Remote Desktop Services, it crushes OS X remote desktop. I also miss Windows fonts, especially Windows antialiasing.

OS X fonts have been a particularly annoying problem. Some applications, like my 5 yo copy of FileMaker Pro 8, show persistently garbled fonts. On the other hand, my new copy of Numbers.app defaults to a poorly rendered 9 point Helvetica Neue.

I've lived with these bugs for years, but tonight, in the process of investigating a hung app, I sorted them out.

In Library/Fonts (see Mac OS X: Font Locations and Their Purposes) I found a folder of Microsoft Fonts left over when I deleted Office 2008, and I found a good number of old style fonts dating back to 2006 [2]. After cross checking with the excellent font lists in the extensive article Font Management in OS X I removed those fonts. This had the unexpected benefit of fixing FileMaker Pro 8 - the fonts there now display nicely.

For the Numbers font problem I experimented with control of OS X antialiasing. In OS X Preferences:Appearance I set "turn off text smoothing for font sizes" to 8 and smaller (it was initially 10 and smaller). [1] I'm not sure that made any difference. What did help was creating a new template with all cells set to Helvetica 12, then saving that as a template and making it the default spreadsheet to use on startup. (Currently there's no other way to change the default font in Numbers.app.)

In the course of the above I found:

  1. When I opened up Font Book.app several of my fonts showed a duplicate font message. When I ran verify some reported bugs. I chose the inactivate duplicates option, but I later discovered OS had inactivated the "good" version of the font. After I removed my old fonts I had to re-activate the "duplicates".
  2. The Font Book app can be used to verify all fonts. I recommend that quick test for everyone who's run OS X for a while.
  3. It's convenient to use Font Book to create a collection of the handful of fonts I actually use. Note the Windows Office Compatible and "Web-safe" built-in collections.
  4. My copy of OS X includes two SchoolHouse fonts - cursive and printed. I wish I'd had these when I was teaching writing to my first child! I don't know where they came from, I don't think they're part of the regular OS X font installation.

[1] The options in 10.6.7 are different from the options in 10.6 in Aug 2009.
[2] The accounts on my 27" iMac have migrated across many machines, probably going back to 10.1. They've picked up some cruft along the way.

See also:

Update 5/28/11: I should have tested FileMaker Pro 8 a bit more. It looked good at first, but when I searched later all my records seemed blank! A reinstall, surprisingly, didn't fix anything and didn't seem to add new fonts. I had switched to Verdana, and tried old Georgia instead. That worked well.

Update 5/30/11: When I tried to empty the trash I learned that Arial and Times were still in use! They were in the Microsoft Fonts folder, and they were my bad-boy fonts. I had to restart then empty the trash.

Monday, May 23, 2011

Messages I delete in OS X Mail.app being archived in Gmail

I prefer Gmail's non-standard method of handling email, but it's a very poor fit to legacy IMAP clients.

Recently I realized that email I was deleting in OS X Mail.app (10.6) was being archived in Gmail. This is not what I wanted. I feel like this is a relatively new behavior -- at one time one had to jump through some hoops to map Mail.app's delete button to the Gmail archive behavior.

I've had more success with setting OS X to move deleted messages to the Trash mailbox (no change) AND Store deleted messages on the server (this I changed).

Tuesday, May 17, 2011

OS X Application Switcher - more than you knew

It's going to take me a while to add these to my usual workflow. Some I know, the interesting new ones are bold. Read the article for details ...

Six unexpected uses for the Application Switcher | Business Center | Working Mac | Macworld: ""

You’ve probably got the basics of the Application Switcher down pat by now: press Command-Tab to see a bar full of running-application icons and keep Command down as you tap the Tab key to quickly switch to the application of your choice.

2. Open a new window [good for dealing with minimized windows]

... Command-Tab to the program in question and, before you release the Command key, press Option. Release the Command key first, and then the Option key... If the target program’s windows are all minimized, the most recently minimized one returns to duty. If no windows at all are available, a new one is created.

3. Open a document in a different program

When you want to open a document in something other than its default application—a Word file in Pages, say—you can use variations of the Finder’s Open With command. But if the target application is already open (and can handle the document), you can also just drag the file from the Finder onto the Application Switcher bar. The trick is to start the drag operation, and pause it with the mouse button held down, before you press Command-Tab; keep Command down so the bar stays on the screen, and drag the document onto an application’s icon.

4. Bypass the Clipboard

You select a swath of text from a Word document to transfer to a document in InDesign, and realize you can’t Copy and Paste because you’ll lose what’s already on the Clipboard. You can transfer the selection using the Application Switcher instead.

Drag-and-drop a piece of selected text to another application using the Application Switcher.

Start dragging the selection in the Word document (move it a little bit and then stop). With the mouse button still down, press Command-Tab. Holding Command down to keep the Switcher open, drag the selection into the InDesign icon. You’ll be switched to InDesign, where you’ll see the usual “ghost” of a dragged selection, just as if you were dragging it within the InDesign document itself. Drag it into position and let go of the mouse button.

The target window isn’t frontmost in the destination? Hang on to the selection by keeping the mouse button down, and press Command-~ (tilde) to cycle to the correct window. You can also use Command-N to create a new window as a drop target.

5. Hide and show background applications

You’re in Pages. You can see only Finder windows in the background, and you want to refer to a Stickies note. You don’t have move to background applications to rearrange windows or to hide them as you leave. Instead, press Command-Tab to open the Application Switcher, tab to highlight the Finder, and, with Command still down, press H to hide the Finder's windows. When you release the Command key, you’ll still be in Pages.

Unhiding a background application is a little tricky because if you repeat this procedure (in this case, tabbing over to the Finder and pressing H), the background windows will reappear, but you’ll also be switched into that application when you release Command. To make the windows reappear while keeping your Mac’s focus in the current application, you need to press Command-Tab, tab to the application icon, press H to unhide its background windows, and then press Esc while the Command key is still down. Release the Command key and you’ll still be in the original application.

6. Jump to an alphabetical Exposé

You can quickly trigger Exposé when the Application Switcher is on the screen by pressing the Up or Down arrow; you’ll see the windows for whichever application was highlighted in the Switcher bar.

If you know the trick for arranging Exposé windows alphabetically—pressing Command-1, you’ll be pleased to know you can jump right to this alphabetical arrangement from the Application Switcher. Instead of using the Up or Down arrow key to open Exposé, highlight the application you want and press the 1 key (you're already holding down the Command key). Hold it down for a couple of seconds. What’s happening is that Exposé is triggered, and then it notices that Command-1 is being pressed and so offers the alphabetical arrangement—you’ll see the windows swap into correct positions.

I didn't even know the Cmd-1 trick. It's neat! Sheesh.

Saturday, May 14, 2011

Google Calendar assigning wrong times on CSV import? Here's one fix for the time zone bug.

I can get pretty disgusted with Google Calendar, but then I make myself remember how bad Apple's iCal is. By comparison, gCal is a ruddy gem.

I had to remind myself of that today, because gCal was particularly disgusting.

It started when I tried importing my son's baseball team schedule into a public calendar using my old (best on the web!) import directions ...

Gordon's Tech: Import Calendar data into Google Calendar via CSV files

Here's the header and first row of the CSV file that I was finally able to import. It looks like you need the bloody seconds in the date. I worked with Excel for Mac, used the convert functions to turn text into numbers, then chose the precise format, then exported. Subject,Start Date,Start Time,End Date,End Time,All Day Event,Description,Location,Private Edgumbe Peewee Hockey,10/24/09,2:10:00 PM,10/24/09,3:10:00 PM,FALSE,Practice, Highland North,FALSE

This time I did necessary concatenations of strings and type transforms using Apple's excellent (and under-appreciated) and inexpensive Numbers.app spreadsheet.

The good news is that gCal no longer requires "seconds" in the time fields, and, although I don't think it's documented, it will even work with "military" time (14:20 instead of 2:20 PM).

The bad news is that time zone support is flaky. After I imported all of my calendar entries were off by about 3 hours, even though my time zone (general calendar settings) and the calendar's time zone were both CST.

I made several tries at fixing it, but this is what worked.

  1. Switch to Calender Settings:General
  2. Change your time zone to something different.
  3. Save.
  4. Change it back to the correct setting.
  5. Save.

After I did that my next import worked.

Fortunately I know to always do imports into a unique calendar; there's no way to undo an import and repetitively deleting 50 bad calendar items is a good source of Google hate [1]. I created and deleted test calendars until I figured a workaround for the bug. (If you do get bit by a bad import sync to the (abominable) OS X iCal and repair there.)

See also:

[1] Why are calendar apps so awful? My theory is that they are quite hard to do well, but management doesn't value them. So they never receive sufficient investment.

Wednesday, May 11, 2011

Blogger's "Links to this Post" is working?

I was reviewing an old post when I came across "LINKS TO THIS POST" at the bottom of the post.

That's not surprising. Blogger featured this long ago. I thought I'd turned it off though -- it's never shown anything.

Today it does. So has Blogger restored the long lost backlink function? That would be a big memory management boost.

Monday, May 09, 2011

Doodle:schedule a group activity

Doodle isn't yet another calendaring service. That's good, because it would take a crowbar to get my family off Google Calendar.

Doodle augments calendaring systems. It helps with negotiating a common meeting time between multiple participants on diverse platforms. Our local HIMSS chapter has used it for a year or more and it's been working well.

Doodle solves a problem I have, and it has a track record. So it's worth my time to test Doodle against Gordon's Laws for software and service use.

First I'll start with the fundamentals. Doodle is a Swiss company (Zurich) and revenue is a mixture of ads (yech) and premium services:

  • solo - mobile support (web site), calendar connect (but this comes with free service too), ad free: $30/year
  • business: solo + branding and encryption + 20 users: $350/year
  • enterprise: negotiable
That's encouraging -- they have a plausible way to make money that doesn't require them selling me out. On the other hand, I don't see a lot of value to the 'solo' account since Calendar Connect comes with a free account.

Next I'll look at account setup and revocation. It's not obvious, but if you look at the login at the top of Doodle pages the Doodle icon is a drop down. Click it and you'll see how to link Doodle to your (two-factor protected) Google account using OpenID. That, of course, can be revoked from Google. I'm willing to give them my Gmail address -- it's hardly secret and already gets vast amounts of (largely filtered out) spam.

Next I tried the Google Calendar integration. I don't like that they want my Google Contacts. So that's a negative; I decided not to provide that access for now. I may give them access to one of my Google Apps accounts that has no significant Contacts exposure.

Overall Doodle gets a B+. No data lock, easy exit, plausible business model, good credentials handling. They miss the A because they insist on access to my Google Contacts rather than Calendar alone.

I'll give them a try.

PS. Extra points for having a $3 iPhone app and an Android app. Non-free is a very good sign for an iPhone app. Almost takes them to A-.

Update: As per comments, Doodle allows one to drop access to Contacts after an initial privileges grant. So they do get an A- which is pretty good. Best would be if Content access was always optional.

In practice Calendar access isn't very useful for me -- very few events of mine show up on my personal gmail calendar. They show up on calendars I subscribe to, such as my corporate calendar, the family calendar, my wife and kids calendars, etc. (Dog does not have her own calendar yet.)

So to know my true free/busy time Doodle would need access to an API that doesn't exist yet. On the other hand, subscribing to the Doodle calendar feed lets me visualize Doodle controlled appointments within my Google Calendar. That's useful now.

Contacts access would be useful within Doodle, but as noted above I'm cautious about allowing that.

Sunday, May 08, 2011

Facetime connections to elderly parents - a Logitech webcam problem

I mentioned a few weeks ago that I was testing a Facetime videolink to my mother. It's not my first attempt. I'd tried Google Video Chat two years ago, but after months of struggle I gave up; it had, and still has, dismal usability. iChat was even worse. In all cases I've been using the excellent Logitech QuickCAm Vision Pro for Mac. (Still the best webcam ever sold, though I fear it's going away without a true replacement.)

After a few weeks of testing I can report that Facetime is a big usability improvement over Google Video Chat. I configured my mother's machine to auto-answer my calls; I can call from my phone or desktop and her machine will pick up. Facetime doesn't need to be running, OS X 10.6.x will launch it.

There's only one problem.

After I close the call at my end Facetime continues to run on her machine. It doesn't auto-exit (and, at this time, she can't see well enough to reliably quit the app) [1]. This means her webcam stays powered on [3]. Under some conditions, perhaps mostly time, the embedded OS that manages in-camera focus and exposure control crashes. The Webcam still works, but it focuses to infinity and the light levels are very low. If you pull the USB cable, wait a few seconds, then plug it in again, the camera will reset.

I'm considering a few workarounds. Firstly, it would be great if Apple officially supported auto-answer, so FT could then auto-exit on close. Alternatively I could

I'm leaning to the nightly restart as the simplest fix, but I should also try remote control -- again!

[1] As her macular degeneration has progressed we've been focusing on her iPad use.
[2] Apple needs to kill AppleScript, but I fear there'd be not replacement. 
[3] The webcam then stays in active mode, so it appears like it's always sharing an image.

See also:

Update:

When a Google search doesn't return much, it's often because the function one is seeking is now a part of the OS.

OS X Energy Saver allows one to schedule a restart. I'll schedule my mothers machine to reboot at 2am daily, that should clear out any dangling FT sessions.

Incidentally, there's a longstanding, perhaps ancient, UI flaw with OS X Energy Save scheduling. Look at this:

Screen shot 2011 05 08 at 3 20 54 PM

It looks like the first option is available for selection, but the second (schedule restart) is unselectable -- it's "grayed out".

Look carefully (it took me a while). The select box (drop down) on the first row is also grayed out. This is standard behavior. The reason the 2nd row is so confusing is that it starts with a drop down -- there's no preceding text to display in normal font. Despite appearances this row is available for selection. Just click the check box.

I deleted a prefs file and did a number of Google searches before I realized what was going on. I found others who made the same mistake ...