Monday, April 09, 2007

FileMaker 8: dumbest software ever?

This is rich.

Imagine you have a FileMaker database that's configured to login using the guest account.

Now create an admin account and reduce guest privileges to read-only.

Exit.

Now you're locked out of the database. It won't ask for a un/pw because it's configured to login using the guest account. You can't change the settings because you don't have access privileges.

Wow. What a rotten piece of junk.

Fortunately I'm geeky enough to try starting up holding down the option key. As I'd guessed, that forces FM to ask for a un/pw despite the startup setting.

Update: If you change the startup account you do get a warning about login (shift for windows, option for Mac), but you don't get this warning if you reduce privileges for an existing guest account.

Update: Now that I've calmed down, here's what FileMaker could do to fix this:
  1. Include a menu option in a logical place for requesting a change in privileges/login.
  2. If the structure of FM is such that this cannot occur without a restart, then FM should provide a dialog saying (in essence) 'Close and restart required, is that ok?'

iSquint: Pod Video Made Easy.

I missed this one: iSquint. I've been using another app to burn DVDs to the iPod, I'll have to try this one. There's a commercial version for the whimsical price of $23.32.

Bringing the ease of AppleTalk to wide area IP

Nice review by ars technica ...
Have your Mac say Bonjour to tout le monde

By now, most Mac users are probably familiar with the magic that is Bonjour (formerly known as Rendezvous). A decade or two ago, when local networks emerged, many computer vendors came up with their own network protocols—AppleTalk in Apple's case. Unlike TCP/IP, AppleTalk works completely automatically: addresses are selected without user intervention or even a DHCP server, and the network makes sure all hosts know about all the network services that are available. Since the demise of the vendor-specific network protocols, Apple has been working hard to add the same level of seamlessness and ease-of-use to today's IP networks. On local networks, this has worked very well for a number of years: you can automatically detect other people running iChat, iTunes, and iPhoto, as well as detect local file, print, and web servers. All of this works by virtue of multicast DNS, where all the systems on a local network listen for mDNS requests and reply if they can answer the request. Unfortunately, this mechanism can't work across the Internet: before long, the only traffic we'd see would be mDNS requests.

It turns out that the Bonjour that we all know and love has a little-known sibling that does work across the Internet: Wide-Area Bonjour. And it's part of Mac OS X Tiger. It works like this. When you get an IP address from your friendly neighborhood DHCP server, the DHCP server usually also supplies a domain name. Wide-Area Bonjour looks up a couple of special DNS names under the supplied domain name. In most cases, these lookups fail and nothing
My oddball Brother MFC has Bonjour (mDNS) support. I recommend not buying any networkable device that lacks support for mDNS, though it's very hard to learn which devices do this. (Heck, most product descriptions don't even identify which devices have Ethernet ports!)

Sunday, April 08, 2007

Core Image Fun House -- the powerful image editor you didn't know you had

Every modern Mac ships with Apple's developer toolkit, though it's not installed. It's on the DVD. You can also register as a developer (free) and download the latest version (which is what I did today since I'm messing with AppleScript Studio).

Besides a massive (1.3 GB) library of Apple documentation (take that Spotlight!) the Developer install includes several useful tools and at least one semi-frivolous tool: Core Image Fun House. I tried out the perspective manipulation tool. Very impressive.

You can do some valuable image manipulation with this, especially if you don't own Aperture. You can, for example, apply noise reduction, something that's part of Aperture but not part of iPhoto 6. It opened my Canon RAW images (.CR2) without complaint.

It has an interesting export option called "Fun House Preset". This is a package that contains the original RAW file and an plist style XML file.

You can also export as TIFF or JPG. Interesting and potentially useful. I'll test it as an external editor with iPhoto.

O'Reilly, Safari Books, and AppleScript: so close to a win-win

[Updated with a correction per Matt Neuburg's comments. Thank you very much Matt!]

This is one of those situations that's so achingly close to a win-win for everyone that it pains me. If only someone at O'Reilly could realize how close they are! Here's the problem and the solution.

Matt Neuburg's AppleScript book
(not Neuberg!) is an excellent overview of AppleScript. Alas, it is limited, as all such books are, by AppleScript's peculiar nature.

The problem is that AppleScript is primarily useful when it interacts with scriptable Applications; this means that many important commands one may think of as belonging to AppleScript belong to Applications instead [2]. If you working to extend an existing script, and decide to research a command in the excellent book index Matt built himself [1], you'll often be frustrated. The command, you see, belongs to the Application, not to AppleScript.

On the other hand, there's a good chance Matt used in the command in one or more examples. In the absence of a companion book entitled "AppleScript for Applications" [3] you'd like to find those examples. Alas, that's where you want a full text search engine.

The good news is, there are two. The even better news is that O'Reilly could make their engine much more visible and useful, with advantages for everyone.

Consider the case of the 'Duplicate' command, which is supported by iTunes (among others) and the Finder (in slightly different ways, no doubt). When I tried Amazon's "search within the book" I discovered several illuminating references. Similarly, O'Reilly allows one to search within the book as a promotion for its Safari eBook library: O'Reilly - Safari Books Online - 0596102119 - AppleScript: The Definitive Guide, 2nd Edition.

The Safari search works well, but they don't want to give away too much for free. You can only read a snippet of information in the search results. A snippet that doesn't, currently, include the page or section number. If you click further you get to the 'buy safari' screen, but you also get to see the section number. Now, you can return to the book and read the information.

Matt would love for O'Reilly to open up Safari a bit more, but they don't want to. That's ok, O'Reilly could make all of us (and themselves) happy by keeping Safari just as closed as it is today, but merely adding a section reference to the search results they freely expose already.

Here's the win-win for O'Reilly, Matt, book retailers and us:
1. Include the section reference in the initial search results screen.
2. Promote the search facility in every published O'Reilly book and explain how to use it on the O'Reilly book page.
3. If need be, request readers register to obtain this service. O'Reilly doesn't do spam, but they can suggest email subscriptions, RSS feeds, etc during the registration process.
Let us count the wins:
1. Matt's book is suddenly a better book. Readers get more value from it. They use it more. They like it and O'Reilly more.
2. O'Reilly gets ongoing visits from its customers. Many would kill for this alone.
3. O'Reilly gets free, regular, promotion of Safari services.
4. O'Reilly sells more books, Amazon sells more books.
5. O'Reilly does not reduce the value of Safari, they enhance it by introducing users to it without giving it away.
It's a win-win for everyone. I just hope someone at O'Reilly can see the profit in it for them.

john

[1] In my real life I'm a knowledge representation/informatics geek. I have a lot of respect for the unrecognized intellectual labor that goes into producing a truly excellent index. In this case Matt did the work himself!

[2] Many applications may use the same string to refer to somewhat similar functions with slightly different syntax and semantics. This "ontologic dilemma" is a kind of uncontrolled overloading, and it makes AppleScript very challenging to use.

[3] If Matt decides to sell an "AppleScript for Applications" as a Tidbits eBook I'll pay for mine in advance.

Saturday, April 07, 2007

The NYT reviews travel bargain finder services

It feels like we're completely outgunned by the airlines when it comes to pricing strategies, but there's no lack of sites trying to find a way to stay in the game. The NYT has a nice review. I'm going to add several of these to my old business travel page (emphases mine)
Sifting Data to Uncover Travel Deals - New York Times

... The Internet abounds with offers for low fares. You can find them on the major Internet travel agent sites like Orbitz, Travelocity or on more specialized sites like Cheaptickets.com or Sidestep.com.

Farecast.com, which gathered a following with technology that enables it to predict the direction of airfares on a particular route, is back with another innovation that it says can distinguish the best deals in air travel....

...George Hobica, a former travel writer, says he thinks that fare-finder sites that rely only on data feeds miss bargains mainly because they do not include the information from Southwest Airlines. Southwest offers bargain fares but does not share its information with other Web sites. He started airfare based on the idea that “technology can fail.

...For the hard-core traveler, the kind who wants to make sure he has the highest odds of making that meeting in Manhattan, there is Flightstats.com. It compiles statistics not just by airline, but by each flight. So, for instance, if you wanted to see which flights between Atlanta and Newark are most prone to problems, you would go to its Flight Rating section and find that while Continental Flight 1154 is on time 96 percent of the time, Continental Flight 1156 is on time only 44 percent of the time and was canceled or diverted 6 percent of the time over the last 60 days.

The site also helpfully lays out vital bits of information you need to make a decision. For instance, it cites the number of flights on a particular route. The on-time statistics become more relevant if you know only two flights were made on a particular route, not 54.

... One source of data at FlightStats on frequent-flier promotions comes from Boaz Shmueli, who runs MileMaven.com and PointMaven. If your goal in life is to accumulate enough points to get free flights to Hawaii for the family vacation, you will want to frequent these sites...

... Google Mobile’s (www.google.com/intl/en-us/mobile/sms/) text messaging service for cellphones provides information in a pinch. You can get flight arrival or departure information (it comes from Flightstats) by typing in the flight number, like “Jetblue 91” on your phone’s SMS service and sending the query to 466453. (That is Google on the keypad, in case you want to remember it.)

You can also get the phone number of an airline, which can come in handy when you have just learned a flight has been canceled. (While other frustrated travelers shove each other in line at the counter, you make a few calls.) Google also offers to translate words into foreign languages and provides driving directions.

Orbitz also makes flight information available to cellphone users. Type in orbitz.com from any Web-enabled phone and you can also get information about hotels that are near the airport in 20 major cities. It details room availability and prices.

Nextag.com, the comparison shopping site, scours other Web sites for deals on electronics, clothing and other products. Now it searches Web sites like Orbitz, hotels.com and cheaptickets.com to compile a list of hotels. It makes a similar effort for car rentals...

AppleScript: adding a progress indicator to a script

I finally found a need to write (modify) an AppleScript. I'd been kind of hoping Apple would dump AppleScript and switch over to Ruby or (even better) Python as the official AppleEvent scripting language [1]. After some grumbling, though, I was able to get things working. The remaining problems is that execution is dog slow and the progress indicator available from AppleScript is very annoying.

So I was interested in this tutorial ...
AppleScript Studio Tutorial - Getting Started with Displaying Progress

One very common use for AppleScript is batch processing. Scripts of this nature will often loop through multiple items, performing some type of automated task for each item being processed. An example of this might be a script that loops through a folder of image files, converting each one to another format.

A script of this nature that is created with Script Editor, and then run, may work just fine. However, visually, it is less than spectacular. Other than a spinning cursor, and perhaps a dialog message displayed here or there during script execution, the user does not usually receive a very good visual representation of what is occurring.

This is where AppleScript Studio can come in handy. In this month's column, we will discuss adding progress bars and spinners to an AppleScript, in order to provide a visual representation of what is being processed, how much processing is complete, and how much processing remains during script execution.
I'll give it a try, and if I get it running I'll post the code. I've added MacScripter to my feeds as well.

[1] This insightful feeling comment, however, has given me pause:
Posted February 28, 2007 @ 12:57PM by AlanS

... What makes AppleScripting difficult is not the AppleScript language, it is the OSA architecture, which pushes most of the semantics into individual applications. Not only do most applications do an abysmal job of documenting their OSA support, they also differ widely in how they choose implement basic semantics such as object references. Thus, every attempt to use AppleScript often becomes a treasure hunt to find the magic incantation to accomplish a goal. Switching to another scripting language will not solve this fundamental problem...
Which makes me even sadder that "AppleScript for Applications" (out of print) has never been updated. One of the most aggravating things about trying to use AppleScript is that so much is undocumented, under-documented, broken, incompletely implemented ...