I still find time to fire up NetNewsWire every day or two and skim through a part of my blogroll. And it’s awesome to see the number, size and quality of posts on many of them. One of the things holding me back from posting a link or two every day or so is, frankly, lack of energy/chutzpah to even try to do something on that level.

That said, XRay 1.1 is in final testing, and will be released sometime next week. Whew.

As some of you may recall, I lost quite a bit of data to a runaway script sometime in March. Among other things, I lost parts of source code I was working on in XRay and in some other projects; some of that was recovered either from the erased drive or from scattered backups, but due to several other unfortunate circumstances, my only backup at the time was also unreadable.

Anyway, I’m happy to report that I successfully redid most of the work I was doing on XRay. Nearly all known bugs have been fixed in 1.1. (It should really have been called 1.0.10, but the vagaries of alphabetical ordering made my version-checking code in previous versions not recognize 1.0.10 as an upgrade…) What is missing from my original update work is a somewhat laborious routine to rebuild the Mac OS X LaunchServices cache.

If this is greek to you, skip this paragraph. The problem is, there’s no official Apple API to rebuild this cache, and I managed to do it in a somewhat unsupported and version-dependent way. Unfortunately, further testing revealed that the rebuild wasn’t reliably recognized by other parts of the system short of a full log-out/log-in cycle, and initiating this from inside XRay proved to be quite a pain. So this time I simply resolved to leave this out – it’s needed very rarely anyway – and if anybody absolutely needs to do it, I can e-mail in detailed instructions.

Otherwise, I’ve taken an important decision; namely, to throw most of XRay away and start coding “XRay 2” entirely from scratch. XRay was my very first Cocoa application, and some of the initial design decisions I made early in the process – now about 3 years ago! – are no longer appropriate for the current state of Mac OS X, or for my knowledge of Cocoa programming. In fact, updating XRay properly has become a slow and unreliable process and starting out fresh will, hopefully, make it rewarding again.

Despite this being a 2.0 version, I plan this to make a free upgrade for all registered users; however, for whoever migrates from 1.x, a hopefully not too annoying welcome screen will discreetly hint at the possibility, nay, the utter rightness of making a donation to my coffers for this effort. Otherwise, details are still hazy. Yes, the user interface will be quite different. There may be some sort of limited batch processing, beyond what’s already available, but nothing too extraordinary. Also, as the Finder’s “Get Info” window now does most of what I originally wrote XRay for, I see little sense in trying to duplicate its facilities needlessly. So, XRay will go further towards the implications of its name: to look below the surface, not only regarding hidden file attributes but also inside the file data.

Needless to say, suggestions are extremely welcome and should enough fellow developers be interested in writing plug-ins to look at file contents, I’ll set up a new forum to discuss technical details. In particular, plug-ins to dissect structured file formats – like resources, MP3 tags, QuickTime atoms, various executable formats and so forth, will be the next new thing.

More soon (I hope)…