In the last few days, with the slow death of my Mac laptop and the return of my repaired Acer AspireOne, I've decided that I have few reasons to stay on the Mac platform. I'd love to switch completely to Ubuntu, but there's one big thing that keeps me on the Mac platform - iPod podcast sync and playback position storing. 
If you are listening to an hour long podcast and you stop half way through - your computer crashes, you decide that you want a spurt of music rather than talk, someone phones you, whatever - when you start playing again, it should start from where you stopped. There's a proposal for integrating this into AmaroK. It's definitely needed. As far as I can tell, the iPod is the only device that has this feature - everyone I've spoken to about other devices looks at me like I'm a nutcase rather than explains how their obviously-better-than-an-iPod player of the week has that feature. But it's not just the portable device having it that is important - it's the sync back and forth from device to desktop. GtkPod claims to sync this data from the iPod back to Linux, but the problem I see is that there's nothing that will do anything intelligent with the playback position data. 
This is my particular deal breaker. There's about five things that keep me tied to operating systems other than Linux, and this is a major one. I desperately want it resolved. 
Until it is, I've built a little Ruby script that gives you a sample implementation of how it could work. It's built on top of mpg123 (mpg321 is there for GPL purists). What it does is pretty simple: it runs an mpg123 instance, waits until it terminates, grabs the timer from the STDERR, pokes it into a YAML file. It's not tremendously quick - I thought about writing it on top of SQLite, but I frankly couldn't be bothered to faff around with SQL queries and the like. You won't notice any speed problems when you have more than a few hundred entries in the YAML file. If, for some strange reason, you felt that this is a problem, you can always swap out the storage as YAML, use something even simpler (CSV, say) and call grep to extract the line you are interested in. You can see the script on Gist. Installation is pretty obvious: install the ruby-mp3info gem, copy the script somewhere, chmod it and run it with an MP3 file as the first argument. I might get it to start reading M3U files, XSPFs and so on. Or I might not. Consider it GPL licensed. 
Why write this script? One of the reasons I built it was because it might help scratch someone else's need, and lower the barrier to having one of the big audio playing apps on Linux adopt it, bootstrapping them into implementing this key feature. It's useful enough to solve my problem. It's annoying enough to prompt someone into doing it better. Just like the original iPodder (now Juice). 
