Friday, November 11, 2005

Recording Skype calls over OS X with Audio Hijack Pro

I will try this for a work meeting Skype recording this Monday coming. Report to follow. Note -- I will be recording with permission.
Rogue Amoeba - Audio Hijack Pro for Mac OS X - Features

Podcasting is the newest fad to hit the internet, and Audio Hijack Pro will help you get in on it. A podcast is simply a radio program you create and post online. Once you do this, people around the globe can download your show and have a listen. Thousands of people are creating their own shows and tens of thousands of listeners are tuning in.

With Audio Hijack Pro, you can rapidly create your own programs and then share them with the world. From simple microphone recording to much more complex shows containing music clips, multiple hosts, and even voice chat (from applications like Skype or iChat), Audio Hijack Pro is the perfect way to create your podcasts. Download Audio Hijack Pro and see the 'Recording Podcasts' page in the manual (under the Help menu), then get podcasting!
Update 11/14: Groan. A debacle all around. In no particular order:
  • My Logitech USB (or OS X) headset has an odd bug. When you first plug it in, the headphone doesn't play any sound. You have to go into sound preferences and click mute on and off again. This bug caused about a 30-60 of wasted debugging time.
  • Audio Hijack doesn't record Skype, only AudioHijack Pro. This not specifically documented anywhere and it doesn't appear on the product comparison list. You must infer the lack of support by the absence of a specific mention of iChat or Skype. [correction 11/16: This is in fact the last row on the comparison table. Unless it was just added I missed it. So my main complaint about AH is unjustified.] I bought AH then bought AHP. Same total cost as they credit the AH purchase, but I probably wouldn't have bothered with all this for the $32 cost of AHP. AH support felt this really wasn't an issue.
  • AHP's documentation on how to do this is inconsistent (documented twice, somewhat differently) and incorrect (tells you to start Skype first, which is wrong unless you have installed an optional framework I prefer to avoid, one version of the documentation doesn't mention you have to monitor output ...).
  • Even if it did work, the procedure for doing this in AHP is complex and trouble prone for most of us.
  • Finally, and most painfully, when I got this to work I ran into two problems with Skype. I couldn't use the toll free number (Skype has an odd area code) and when I dialed the toll number the AT&T conferencing system didn't recognize the key tones Skype generates.
  • At one point in my testing either Skype or Audio Hijack crashed OS X hard. Completely dead. No response to anything. I had to power cycle.
In other words, a complete failure!

Astound your fellow geeks: pull out a SKYPE USB speakerphone at your next meeting

[ MVOX ]
miniVox MV100 :A portable DSP based USB speakerphone

$39.99

* DSP voice processing for noise suppression and echo cancellation
* Full duplex speakerphone with 110dB peak volume
* USB plug and play, no driver installation
* Headset connection
* Credit card size and only 1.5 ounces
Very cool. Plug it into your laptop and go. I want one. They have a fancier version for more money.

Update 11/11/05: The Amazon Reviews are positive, and one has this amazing comment:
Ibought this to use with my Mac for Skyping and Gizmo'ing. I wanted something small and the optional headset jack was a plus for privacy. Be aware that the headset jack fits your standard Cell phone headset, not a standard PC headset. It works okay, as advertised.

Positives: Works with no drivers, small, sound quality is above average, better than the built in microphone on my iBook.

Possible negatives: Draws too much power to plug into the usb port on my keyboard, and the cell phone size audio jack requires you purchase a cell phone style headset.

What I'm actually using now is a dinky, single ear/mic headset with a plantronic's usb headset adaptor.
For me that "negative" is a huge feature. I've been looking for a usb device that would let me use a regular small cell phone earset with Skype. I've not found anything ... until now. That makes the speakerphone functionality almost a nice "extra". I wonder about the usb power drain however. I note the higher end device in the same line comes with a battery.

Another review mentions it uses a 'mini-B' connector. Wow. Another positive. I carry those anyway when I travel, that's how my mouse connects. I use a retractable cable.

Update 11/11/05: Mine arrived today. I tested it on Skype. Sound quality is marginal, but Skype quality is poor to begin with -- this could have been all Skype issues. Still, it's workable. The device is quite compact, about the size of a very cell cell phone or a compact pager. Very light. No mute or volume control -- have to do that using software. The included USB cable is cheap, long and bulky, I use the elegant Zip-LINQ retractable mini-B cable that came with my mouse. It works with a cell phone earset and has better sound then -- this, in fact, is really what I wanted. They even include a cheap earset, which is a nice touch.

It will be far easier to travel with this than with a bulky USB headset. My ideal device would cost the same but:
  • dump the speaker phone, so make it smaller (use a cell phone earset)
  • use a built-in short USB cable that nests in the body of the device
  • add a mute button
This isn't my ideal, but it's the best I've seen so far!

How to back up your media in iTunes 5 or iTunes 6

How to back up your media in iTunes 5 or iTunes 6

Safari will process a list of URLs and create bookmarks

Very Mac like -- hidden easter egg functionality.
Macworld: Mac OS X Hints: Easily open URL lists in Safari

... Click in the Bookmark column (to the right of the Collections column) to activate it, then hit Command-V to paste the clipboard’s contents here. This is where the magic occurs; Safari is smart enough to strip out all the non-URL text, leaving you with a set of brand-new bookmarks pointing to the pasted URLs...

Why you should NEVER work with administrative privileges

In the XP world there's no choice but to run with admin privileges -- there's too much software that just won't work unless you do. In the OS X world you can run almost anything as a regular user, and you can install most things that way. (If an app won't run in OS X without admin privileges, don't use it.)

This occult DRM installation story gives yet anohter reason why OS X users should not work as an admin user:
via MacInTouch

I recently purchased Imogen Heap's new CD (Speak for Yourself), an RCA Victor release, but with distribution credited to Sony/BMG. Reading recent reports of a Sony rootkit, I decided to poke around. In addition to the standard volume for AIFF files, there's a smaller extra partition for "enhanced" content. I was surprised to find a "Start.app" Mac application in addition to the expected Windows-related files. Running this app brings up a long legal agreement, clicking Continue prompts you for your username/password (uh-oh!), and then promptly exits. Digging around a bit, I find that Start.app actually installs 2 files: PhoenixNub1.kext and PhoenixNub12.kext.

Personally, I'm not a big fan of anyone installing kernel extensions on my Mac. In Sony's defense, upon closer reading of the EULA, they essentially tell you that they will be installing software. Also, this is apparently not the same technology used in the recent Windows rootkits (made by XCP), but rather a DRM codebase developed by SunnComm, who promotes their Mac-aware DRM technology on their site.
I don't read EULAs. Do you? I didn't think so. If you don't have admin privileges, the OS (for now!) won't allow this kind of install to happen. You may be asked for an admin un/pw -- don't give it!

AppleScript adventures: updating a client iTunes library when tunes are added to a server iTunes library on the same machine (fast user switching)

Aeons ago I wrote Fortran for food during summer break in college. Millennia ago I wrote a utility in C to translate MEDLINE feeds into a form I could import into a database. Now, in my extreme dotage, I have revised an AppleScript that supported updating a client music library one one machine from a master music library on another machine. I did this so both my wife and I could sync our iPods to a shared music library, but keep our own playlists and sync contacts and calendar items correctly.

The revised version differs in seemingly minor ways -- I had to remove 2-3 lines and add 3-4 lines to implement Apple's "new" (introduced in 10.3 but only sort-of-worked in 10.4) support for sending messages to a specific user session. This would have been a trivial task, even for someone like myself who knows nothing about AppleScript, except that there's zero documentation for this new functionality. I got a key tip from a super AppleScript expert -- who gave me the morsel but made it clear I was not to bother him again (I won't give his name out -- he must get these kind of pesky requests hourly and I don't want to add to his pain).

I'll revise the script over time and put it someday in a proper web page, or submit it to the iTunes AppleScript repository. The behavior is pretty ugly however, which suggests whyApple hasn't documented this function. Some background, then the explanation.

It turns out that AppleEvents were all designed with the understanding that there was one instance of an application running on a machine, and that application was available to any authenticated request. Introducing multiple instances of applications seriously messed this up -- in ways subtle and complex. A lot of remote control solutions for iTunes, I now realize, are going to run into this problem. From a few hints I found in my searching, I suspect the behavior of client requests may be unpredictable with multiple AppleEvent targets. It is noteworthy that these events will be processed only when the requester has an administrative username and password for the receiving machine.

So why isn't this documented? A few reasons come to mind:
  • this may still be quite buggy and have very nasty side-effects
  • the user requests need to know the userid (3 digit number) and the process ID for the receiving application. There's no elegant AppleScript friendly way to get these; the only method I know of is 'choose remote application' which brings up a dialog that requires an uber-geek to manage and that is buggy besides. (The Bonjour method doesn't work at all.)
  • it is a very bad security practice that an admin uname and password is required. For all I know these are sent clear text.
So Apple has a partial solution in place, but it is very partial and probably somewhat embarrassing. I suspect there won't be anything better until 10.5. (I think 10.4 will go down in Apple history as very much a 'transitional release'.)

Moderating comments -- and identity management

Gordon's Notes: Comment spam: moderated comments and identity management -- and in this blog too.