Palm Developers, Where's my RSS Newsreader?

If you’re a Palm developer, and looking for an idea — how about a good RSS news aggregator? Something like NetNewsWire on the Mac? Web surfing on the Palm is the pits, unless you happen to be into two dimensional scrolling. Syncing Web content for offline reading on the Palm is also the pits. But reading news from RSS feeds, which is mainly text, should be a quite an enjoyable experience on the Palm. And RSS publication is growing rapidly — just heard recently you can turn your custom Amazon.com searches into RSS streams, to keep up with new releases based on your own defined criteria.

DirectNIC Revisted: Look what I found!

While waiting for DirectNIC to respond to my support request email and fax (I’m sure they’ll be getting back in touch with me any minute now…), I started looking over that transfer confirmation email they sent me. I noticed a slight difference between the single (well hidden) “ok, confirm the transfer (you schmuck)” link, and the 50 or so odd “DENY THE TRANSFER (We knew you were bright. You’re better off staying with us anyway!)” links. And that one difference was the presence of the following in the URL:

&mode=nack

Being a computer nerd, I immediately suspected that “nack” means “no acknowledgement” — which, by adding this, would probably tell the system to skip the login requirement, and move right on to servicing of the request. They add that to all the “Deny the transfer” links, so you can deny the transfer with as little hassle as possible.

So, I added the “nack” bit to the “confirm” URL and gave it a whirl. The system responded with:

Command completed successfully

Yahoo! No login, and it looks my transfer is going to go through. I’ll know in the next few hours. πŸ™‚

DirectNIC.com Making Life Difficult

Nice thing about a weblog is that it provides a place to vent…

Recently I agreed to purchase a domain name from a user of the DirectNIC domain registrar. Fortunately for me, I managed to negotiate that the domain would not be paid for until it had been successfully transferred to my registrar, OpenSRS. (My company, MakaluMedia, is an affiliate domain provider with OpenSRS.)

The original owner of the domain (we’ll call him Mr. Biz), once the sales agreement had been negotiated, logged into his account at DirectNIC, and modified the admin record of the domain to reflect my information. The act of doing that makes me the new owner. (Domains, by the way, are not really owned, but rather something more like assigned.)

At this point, I, as the new domain owner (the one whose name appears on the domain’s Admin record) would have the right to initiate a transfer of the domain from one registrar to another. However, since Mr. Biz himself had only owned the domain for a short period before selling it to me, the general rules required that I wait six-weeks before initiating the transfer to OpenSRS.

So I waited.

After the six weeks passed, I logged into my account at OpenSRS, and initiated a transfer. As expected, I received shortly afterwards an email from DirectNIC, indicating that someone at OpenSRS wanted to transfer the domain, and presenting a link which I could click to confirm the request. It was interesting to note that the email was absolutely packed with links I could click — in one simple step — to reject the request. In fact, I had to carefully point the mouse to avoid clicking one of these links!

Selecting the confirmation link led me to the DirectNIC website, where I expected an acknowledgment of my cancellation. Instead, I was taken to a login page. Turns out, I’ve got to login to a DirectNIC account to confirm the transfer request. While I’m the owner of the domain, the domain itself is still managed within the DirectNIC account of Mr. Biz — an account to which I obviously have no access.

So, I’m presently trying to resolve this deadlock by asking Mr. Biz to access the transfer confirmation link (before it expires!), login to his account, and confirm the transfer. So far I’ve not heard back from him. πŸ™ — which is why it’s fortunate that I didn’t agree to pay for the domain before it had been transferred to my registrar.

But this whole episode really irks me, because its absurd to assume that everyone authorised to confirm a transfer request at DirectNIC happens to be the owner of the account under which it is managed. By doing so, DirectNIC very much hampers the process of domain transfer — which of course is fine by them.

And here’s what really gets me. The FAQ on the DirectNIC site suggests that to conduct a domain transfer, the original owner transfers the domain to another account within DirectNIC, the owner of which — after making a $15 internal account transfer fee! — can then transfer the domain to another registrar!

Reading on the Palm

If there’s one thing I really enjoy using the Palm for, it’s reading ebooks. Things have improved so much since I first gave ebooks a try several years ago:

  • First, there’s a lot more big-name titles available, from places like PalmDigitalMedia.

  • Now that Palm devices have backlit screens, it’s possible to read in low-light conditions, such as the bedroom or the balcony in the late evenings.

  • There are some nice fonts available for download or purchase, that greatly improve the legibility of the text on screen.

  • Since Palms have more memory, and can expand, one can conveniently tote around an entire library. (My 256K SD card, at about 400k per book, could conceivably hold over 600 ebooks.)

I’ve just finished reading (what else?) Lance Armstrong’s, “It’s not about the bike” (very good book) and am about to begin reading “A Walk in the Woods” by Bill Bryson, about one man’s hike through the Appalachian Trail. Before that, it was Robert Ludlum’s “The Janson Directive”.

Corrupted PreferencePanes Cache

Alex Harper, the author of the nice MenuMeters utility for MacOS X recently helped me solve a nagging problem: Sometimes newly installed PrefsPanes simply wouldn’t show up in the System Preferences. Turns out there’s a preference panes cache file that can become corrupt:

~/Library/Caches/com.apple.preferencepanes.cache

Deleting this file solves the problem.

Thanks, Alex!

Apple Address Book Network Integration

My wife and I each have a Macintosh on our home network, yet for the longest time we’ve been unable to share information such as contact and calendar information.

I’ve recently been asking around and have learned that with a single .Mac account and Apple’s iSync software, up to three computers can share Address Book data, iCal calendar and todo list information, and Safari bookmarks. Here’s how it’s done:

  1. Be sure to have the latest Address Book, iCal, Safari and iSync installed on each of the computers.

  2. Enter the shared .Mac account information in the Internet panel of the System Preferences on each computer.

  3. Click on the .Mac icon within iSync (on each computer) and configure the desired synchronization settings for each computer. (The first time you do this, you’ll be asked to register the computer on Apple’s synchronization server.)

  4. Click the Sync button.

My wife and I are now sharing Address Book, iCal and Safari bookmark information, and life is grand. πŸ™‚ This synchronization service is the final touch that makes .Mac’s $99 annual charge seem (for me, at least) worthwhile.

And this story wouldn’t be complete without mention of BuddyPop, the amazingly wonderful $5 utility that gives you instant on-screen access to your Address Book data.

AddressBook Access from the Command Line

One of the things I’ve enjoyed most about Mac OS X is watching the emergence of tools that tie the GUI applications to the Unix interface. For example, StuffIt, Speed Download, and Interarchy all come with command-line interface (CLI) tools. In the case of Interarchy, for example, I can type the following in the Terminal and have Interarchy download the file in the background (putting it in my Downloads folder and post processing it for me):

interarchy -b this_url

Today a great new utility was released, called contacts. Contacts is a CLI utility providing command-line access to the Mac OS Address Book. Very convenient! There’s no faster way to get someone’s phone number now than to type the following in the Terminal:

contacts Jones

What’s also quite nice is that many of these CLI utilities (like contacts) are free, and even delivered with the source code (in case you want to modify them, or just learn something).

ESA Launch Mars Express

On June 2nd, the European Space Agency (ESA) launched the Mars Express space probe. The probe is now on its way towards the red planet, with rendezvous planned for December 24th. This is particularly exciting for us, as our company produces the equipment, known as the Intermediate Frequency & Modem System (IFMS) that communicates with the satellite from the ESA ground stations!

iTunes Blog Integration

Since this website also serves as a technology playground, I’ve recently integrated iTunes reporting. You can see both the currently playing track in my local iTunes, as well as a listing of the last 30 recently played tunes. Neat.

How is this done? I’d love to tell you it’s based on a CORBA ORB that I single-handedly conceived and integrated with a SOAP/XML-RPC interface running on my blog — but, those who know me would KNOW I’m lying. So I’ll fess’ up — Most of the work is done with a little MacOS X utility called Kung-Tunes.

Powerbook Disk Failure

Earlier this week on Monday, my Powerbook’s hard drive began making odd chirping sounds. By Wednesday the chirping had degraded to thumping, and on Wednesday night the disk died. Fortunately, due to an external mirror that I maintain, I was quickly up and running with almost no data loss.

In order to maintain this mirror current, I run a script from cron each night that mirrors my startup volume to the external Firewire disk. This script was generated by Carbon Copy Cloner. During the day, I run another script, every two hours from cron, that uses on psync to mirror my /Users/ directory to the mirror:

#!/bin/bash
 
# The following variable holds the name of the target volume
 
NAME=TiBookMirror
PART=`diskutil list|grep $NAME|awk '{print $6}'`
 
if [ -z `ls -1 /Volumes/ | grep $NAME` ] ; then
  exit 1
else
   if [ `file /dev/$PART | awk '{print $2}'` = "block" ] ; then
    /usr/local/bin/psync -d /Users/ /Volumes/$NAME/Users/
  else
    exit 1
  fi
fi

A failure of the startup disk then can result in a maximum of two hours of lost work.

In my case, after the TiBook’s drive died, I booted from the external Firewire mirror (hold the option key down at boot, to get a list of available startup volumes.) I ran from this mirror until my new drive arrived. Later, installed the new drive, booted from the mirror, quit all running applications, and used CCC to mirror the mirror to the new internal drive. Shutdown and started from the new internal drive. Smooth as silk.

A few random notes (for myself, should this happen again):

  1. Buy Disk Warrior 3. Apple Disk Utility isn’t sufficient to repair seriously damaged disks.

  2. Don’t lend your Torx 8 screwdriver to anybody

  3. Enrique Tous (+34 915445660) at Multiple Zones España is very fast at shipping out a new Powerbook drive. I had a new 60GB drive delivered to my house the next day for 229 Euro (excluding VAT).

  4. Don’t forget that subvolumes defined in Retrospect are not path based, and will get screwed up when you install a new disk. You have to go back and redefine those subdirectories, and update any Retrospect scripts that reference them

  5. Be careful about using fsck -y from the command line. Doing this made the damaged drive disappear (not even appearing any longer in the volume list). I noticed that when you run Disk Utility, and do a ps -aux | grep fsck, that DU is actually running fsck-hfs in the background to do the work. First time I’ve heard of “fsck-hfs” Should we as Mac OS X users be using that instead of fsck?

Shell Script Launcher

I’m looking for a MacOS X GUI utility to facilitate the launching of shell scripts. Ideally, I’d like to have something running in the menu bar, whose contents reflect a listing of the shell scripts (sh, bash, php, etc.) that I have stored in a particular folder. Selecting an item from the menu would switch to Terminal and execute the shell script in a new window.

That’s the basic requirements. Getting fancy — it would be nice to be able to drag-n-drop a number of files on any script name in the menu, and have those files passed as command-line arguments to the script.

Anybody know if such a utility exist?

RadioLover

All I can say is — wow. This morning I’ve discovered an application for MacOS X that is simply awesome. (Ok, maybe the initial wow factor still hasn’t worn off.) It’s called RadioLover.

RadioLover, in a nutshell, allows you to record streams to MP3. If the information is available in the stream, it will create separate MP3s for each song — including sensible naming of the file and tag assignment. The quality of the recording is a function of the stream bitrate, so for a 128 kbps stream, you’re going to get something close to what you buy from Apple’s Music Store.

Possible uses: Let it run overnight and keep a fresh supply of music available for your iPod. Use its “scheduler” to schedule the recording of a late-night talk show, and listen to it later in your iPod.

If the iTrip (for iPod) is the best $35 I’ve spent lately, RadioLover is certainly the best $15.

iPhoto Library Manager (Revisited)

For anyone interested, attached below (in the Extended Entry) is the script I run nightly from cron that informs me by email when my current iPhoto Library is getting big enough to consider taking an action with iPhoto Library Manager to create a new one.
A couple of notes:
(1) Yes, the script uses the CLI version of PHP. I’m much more familiar with the PHP language than I am with tools like Perl.
(2) The script uses the knowledge that I name my iPhoto Libraries according to the form “iPhoto-Library-20030521”, so that the last entry in a directory listing is the currently used Library (and the one whose size should be calculated).
(3) I’ve removed the < ? ?> PHP delimiters from the script example, to prevent execution when you view it (since my blog is parsed by PHP). Continue reading iPhoto Library Manager (Revisited)

Cnet Article about the Apple Music Service

As mentioned on Macintouch, a Cnet column titled “Steve Jobs’s Half Note”, Evan Hansen writes that the iTunes Music Store’s innovation falls far short of the ideal for an online music distribution system:

So, what should the ideal music store of the future look like?   At the very least, it should provide unsecured MP3 downloads; reams of information about artists and music, including trusted reviews and recommendations; numerous opportunities to sample before buying; concert schedules and tickets; and access to lyrics and sheet music. […]   How revolutionary might all of this get? One idea that’s been discussed recently proposes creating a real-time pricing scheme for music, with song prices based on their popularity. Hot new singles might spike up to $3 or higher during the first hours or days of their release, while unpopular titles would be substantially discounted. Demand pricing could increase sales for otherwise overlooked works, or at least lower the cost of trying out something new, while rewarding top sellers.   I don’t know if this would work. But it sets the bar pretty high for innovation. By comparison, Apple’s music store is rather modest.

What Evan Hansen doesn’t understand, that (thank goodness) Steve Jobs does, is that the innovation (and challenge) of most successful design is — simplicity. Minimize the options available to users. Create a path of least resistance to the objective. “Reams of information” will distract me. “Concert schedules and tickets” is an obstacle to my purchase of music. “Real-time pricing” will confuse me (Hmm, maybe I’d better keep looking for a better buy.)

2 million songs sold in a two weeks? I think Jobs and Apple got it about right.

Music Encoding Options

Over on Macintouch, there’s a lot of discussion ongoing about music encoding — Which is better AAC or MP3? What bit rate is required for sufficient quality? How does the LAME encoder compare to the encoder used in iTunes 4?

Folks are expressing some fairly strong opinions. One popular post is someone’s personal comparison of music samples encoded with MP3 and AAC over a variety of bit rates. Sound quality is described using terms like “brighter”, “fuller”, “wider”, “clearer”, “deeper” and “more dynamic range”.

In my humble opinion, such reviews should be taken with a large grain of salt.

Some years ago, I worked as a student in the audio laboratory of Dr. Marshall Leach. During that time, I was amazed at the number of folks visiting the lab, claiming superior audio quality from things like gold capacitors, “high-end” cabling, and expensive speakers. What was even more amazing was that many of these folks continued to firmly hold their opinions in spite of laboratory demonstrations to the contrary.

A good example is loudspeakers. It’s actually not too difficult to build a near-optimal loudspeaker system — i.e. optimal in the sense that it produces a flat frequency response given a spectrally flat input (noise). Such speakers, which almost perfectly reproduce their input signals, are consistently rated poorly by audiophiles.

Anyway, back to encoding…

Today, I compared a music sample encoded on the Mac using the LAME MP3 encoder with VBR, high-quality, and specifying an average target bit rate of 128 kbps, with the same sample encoded in standard 128-kbps AAC using iTunes 4.

I listened to these two clips, running concurrently in QuickTime Player 6.2, and simply could not tell an audible difference. Physically the AAC file was 3.5 MB, compared to 4.6 MB for the MP3.

I would love to find a more technical comparison between these format. I would suppose that the such a comparison could be done through a frequency/spectral-power analysis of the data composing the song.

Has anyone seen anything like this available?

Telefónica España and Proxy Caches

My ADSL and internet service provider, Telefónica España, just installed a network of transparent proxy caches. I suspected this when last week I suddenly lost my ability to immediately see updates to modified websites, and then confirmed with the ip-calculator service.

I called Telefónica to complain and let them know that this causes serious problems for professionals making frequent changes to customer websites. (It’s kinda embarrassing to call a customer and say, “Can you have a look if the change I just made looks ok?”) The response was basically, “Sorry, nothing we can do to help you.” (That was only after I managed to weasel past Line-1 support! “Proxy What? Did you try restarting your computer? Macintosh? Oh, there’s your problem.”)

Any suggested solutions (other than changing providers)?

ImageWell

If you’re blogger on the Mac OS X platform, and like to include images in your entries, you’ll likely find ImageWell one of the most useful utilities around.

It resides in your menu bar. Dragging an image to the utility can, in one step:

(1) Scale the image to preset configured dimensions (2) Apply a shaping mask (3) Upload the image to your FTP site (4) Paste the URL to the image on the clipboard

Highly recommended!

Disk Utility Fix Permissions & CommuniGate Pro

If you use Apple’s Disk Utility application to Repair Permissions on your Mac OS X system AND you have CommuniGate Pro installed, you’ll end up messing up CGPro’s files such that the following won’t work:

echo "Hello" | mail -s "Hi There" [email protected]

The affected files from the Disk Utility report are:

Group differs on ./private/etc/mail/submit.cf,
    should be 7, group is 0
Owner and group corrected on ./private/etc/mail/submit.cf
Permissions corrected on ./private/etc/mail/submit.cf
Group differs on ./usr/bin/mail, should be 0, group is 6
Permissions differ on ./usr/bin/mail,
    should be -r-xr-xr-x , they are -r-xr-sr-x
Owner and group corrected on ./usr/bin/mail
Permissions corrected on ./usr/bin/mail

To fix things, do:

sudo chown root:wheel /private/etc/mail/submit.cf
sudo chown root:mail /usr/sbin/CommuniGatePro/mail
sudo chmod 2555 /usr/sbin/CommuniGatePro/mail
sudo chown root:mail /usr/sbin/CommuniGatePro/sendmail
sudo chmod 2555 /usr/sbin/CommuniGatePro/sendmail

iTunes 4 Warning

Just a quick note to mention that when iTunes 4 asks if you want to “Replace Existing” songs when re-encoding, what it really means is “Move Existing to Trash”. As I’m re-encoding my entire CD collection to AAC, I just happened to notice in the info bar of a Finder window that my disk had only a few hundred megabytes of free space left. The trash was full (several gigabytes) of my old MP3 that had been moved there by iTunes 4!