Sunday, May 20, 2012

Finding partly played podcasts: In Our Time

iTunes tracks how many times tracks have been completely played [2], but it doesn't provide any UI for tracks that have been partly played.

This isn't a big deal for music or videos, but it's a real bother for podcasts. I have 72 episodes of "In Our Time" in my "IOT unplayed" shortlist; and I know some of them are partly played. I just don't know which ones. 

It's been a longstanding frustration, but this week, Doug's AppleScript for iTunes gave me the answer:

Project: Gather Partially Played Tracks « Doug's AppleScripts for iTunes

... Smart Playlists don’t include any criteria for detecting how far along a track has been played, and Last Skipped may not necessarily have been set if a track was simply stopped rather than skipped.

... a track’s bookmark property will contain the number of seconds the track had been played before it was stopped. Thus, if any tracks have a bookmark value greater than zero then they’ve been partially played...

I'm lousy at AppleScript, but it wasn't hard to modify the example Doug provided. I have a smart Playlist called "IOT Unplayed" and I modified the AppleScript to find tracks in that Playlist that had a bookmark value greater than zero [3]:

property nameOfPlaylist : "Partially Played"

tell application "iTunes"
set opt to button returned of (display dialog ¬
"Find partially played tracks in:" buttons ¬
{"Cancel", "Podcasts", "IOT Unplayed"} default button 3)

if opt is "Podcast" then
set targetLibrary to (some playlist whose special kind is Podcasts)
else
if opt is "IOT Unplayed" then
set targetLibrary to some playlist whose name is "IOT Unplayed"
else
set targetLibrary to library playlist 1
end if
end if

try
set thePlaylist to some playlist whose name is nameOfPlaylist
on error
set thePlaylist to (make playlist with properties {name:nameOfPlaylist})
end try

try
delete every track of thePlaylist
end try

duplicate (every track of targetLibrary whose bookmark > 0) to thePlaylist
reveal thePlaylist
end tell 

Of course this isn't as elegant as a Smart Playlist -- I need to run this AppleScript manually. Even so, it solves 80% of my pain. Thanks Doug!

[1] I donated $5. It was a royal PITA to do so. It reminded me of how bad our donation system is. Among other things:

  • I distrust PayPal intensely based on past experience. So I had to use the awkward data entry UI.
  • It took me a while to figure out I had to 'update amount' - so that cost me two data entry episodes
  • I had to go back and add an email
  • If I could keep track of how much I'd previously donated to the site, I might make a larger (or smaller) donation.

Sucks.

[2] I have a feeling that years ago iTunes would consider a track "played" if one simply started listening to it. I'm probably wrong about that.

[3] In my hacked AppleScript the 'library playlist 1' statement will never be reached; I just kept it in as a reminder of how to scan all tracks. AppleScript only allows 3 buttons, otherwise I'd have made this an option.

Saturday, May 19, 2012

Navigating AT&T mobile's web site: a cheat sheet

I have a hard time navigating AT&T's mobile site. So I wrote this post to store some of the links I use. I'll update it periodically. Some links may embed one of our phone numbers, so they're not so useful for others.

In general I login first, then copy and paste these links to navigate.

Friday, May 18, 2012

Google results 100% ads?!

I did a search on "open source document management".

My result page was 100% advertising.

I've never seen this before. I'm hoping it's a bug of some kind. I tried opting out of Google personalized ads to see if that helped. Next up I'll just block every advertiser on the page using Ad personalization.

Thursday, May 17, 2012

iOS Restore problems: App Sync failure and missing Google Contacts

Fresh off discovering iOS Restore problems with In-App purchases and video podcasts I was called in to help a friend transition from two 3GS to two 4S iPhones.

He had a different set of problems, some familiar, some weird, some new to me:

  • When restoring Mail, Calendar and Contacts from Google Active Sync, the best option is to delete the Google account and restart. I've run into this several times, and reentering a password on a restored Google Active Sync (Exchange) data set works about half the time.
  • He ran into a real mess with AppleID vs. me.com ID. I think he'd started out with one Apple ID (Store Preferences) on his iPhone, then switched to another. As a result he had apps on his iPhone that no longer matched his iPhone Apple Store ID. They'd run, but they wouldn't sync to the desktop or the Cloud. When we did a restore they were gone. There's no way around this; he either has to switch to his old ID (but it's lost) or repurchase the apps that were owned by the lost ID. Yech.
  • He and his wife share one instance of iTunes, but their apps have different Apple Store IDs. This can be done, but it requires a mixture of Cloud and iTunes sync. Double Yech.
  • To enable email delete on Gmail with Mail.app delete, we had to rediscover the insanely obscure m.google.com/sync setting that makes Gmail behave like a rational piece of software.

Those are the familiar bugs. Yes, Apple Store IDs and App DRM are a mess. Apple isn't a genius every day of the week.

The weird bug was, I think, a Google bug. After we reentered his Google credentials and synchronized, we found several missing entries in his Phone shortcuts. That's because the Contacts were missing. After a few cycles of removing/restoring Contacts Sync I could see the missing entries varied.

Turns out that Google was giving us exactly 100 out of 216 contacts; but the 100 varied. It seems Google was throttling the phone update.

Maybe if we'd waited a while we'd have gotten the rest. Instead I changed Sync from Push to Manual. Tried a few manual updates to no effect, then switched back to Push and we had all 216. A real pain, and I found zero hits on this problem. (Now there is one.)

The iOS user experience could use some work. In particular, the Backup story is pretty feeble.

Monday, May 14, 2012

Start Chrome using a specified "user profile".

I love Chrome's Multiple User feature - aka Identity Management in the G+/Facebook era.

 It's why I switched from Safari to Chrome on OS X. I have a profile for
  • My TrueSelf that only a few shall know.
  • John (Kateva) Gordon
  • My corporate self
I also have profiles I use when I'm assuming my children's identity (ex: Facebook monitoring). All the Profiles sync through Google Cloud including bookmarks, passwords, extensions and so on. So I use the same Profile everywhere.

Even in Darkness, Google does some things well.

I switch my three primary profiles all the time. That's how I know the great weakness of the current implementation. The Profile Google gives me is never the one I want. I frequently have to switch identities, which opens a new window, then hunt that window down ... Meanwhile, the original Window hangs on.

I want some shortcuts that will take me directly to the Profile I want. In both Windows (easily) and Mac (comand line), there are ways to do that as described in SuperUser and Quora:
This is top-secret stuff, these parameters don't show up on the most popular listing of Chrome command line options

The command line parameters are of the form:
  • chrome --profile-directory="Profile 1" -> Kateva
  • chrome --profile-directory="Profile 2" -> Corporate
  • chrome --profile-directory="Default" -> Personal
They match the directory names shown in (Win) C:\Users\[userid]\AppData\Local\Google\Chrome\User Data.

I've created a Windows shortcut for each Profile, now I have to give them unique icons.

Sunday, May 13, 2012

iOS Backup and the Cloud: Problems with Restore

After the 5.1.1 update my son's iPhone developed a crash habit. One photo in particular triggered an immediate restart on editing. Perhaps an iOS bug, maybe another problem. I did a full Restore, which means a backup then wipe then reinstall then restore. That didn't fix the bug, so we deleted the problem image.

That's not what I'm writing about though. During the Restore cycle we ran into some newer limitations with iOS backup. These included:

  • His Pocket God Comics, which are in-app purchases, were not backed up - contrary to Apple's iOS backup document. We were able to re-download them from within the Pocket God app; but that process appeared to rely on Pocket God and its Cloud servers.
  • His video podcasts vanished. We sync through iTunes though, not the Cloud, and they were still in iTunes and could be restored. Some of them aren't available from the Cloud any more.

I don't think there are any workarounds for these problems. Apple could fix this; in the Jobs era it's the kind of thing that tended to get his peripatetic attention. I doubt they will, but I'd be happy to be wrong.

My only recommendation is to distrust the Cloud, and avoid in-app purchases whenever possible. If you are using something that's Cloud dependent you don't own it -- and you don't even rent it. At best you have a fuzzy claim to occasional use that might be revoked at any time.

Saturday, May 12, 2012

Mac: how to make a server photo screen saver work

I wanted to share a common set of screen saver slide show images across 3 of our Macs. First I put them an old G5 with abundant storage. It seemed to work, but if there was any interruption of our wifi network other machines couldn't reconnect. (Disregard the marketing. Wifi is much slower and much less reliable than wired.)

So I put them on our Time Capsule NAS share. That worked, but if a client logged out or a machine restarted the share wasn't remounted.

Sigh. OS X Networking is reliably disappointing. I remember network shares being more reliable in 10.3, and that using a share shortcut mounted the share. Certainly shares worked better in MacOS Classic (albeit a lot more slowly).

What seems to help is mounting the share on startup by adding it to one or more user's login items. After this the screen saver image slide show survives a restart.

(There are ways to mount drives on boot for all users with vifs.app editing of etc/fstab, but it looks risky to me and I read reports of "finder problems".)