Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts in Software

Giga Quotes

No comments

The GIGA USA quotes site contains over 50,000 quotes indexed by date, author, and whatnot. And it’s searchable! And it links to a hundred other quote sites!

Following some links I chanced upon one of my favorite Steven Wright quotes:

I bought my brother some gift-wrap for Christmas. I took it to the Gift Wrap department and told them to wrap it, but in a different print so he would know when to stop unwrapping.


This is very apropos of a bug I’m fixing in XRay. I’m using aliases to track open files, in case they’re moved; if the open file is a symbolic link, it’s very hard to keep the system from following the link – I keep getting the file the link points at instead of the link itself. I need to find some system call that stops unwrapping the aliases/links at the appropriate place…

Either Panther has an unusual number of hidden gotchas, or Murphy is singling me out for special treatment this time… perhaps both. XRay 1.0.7 is getting good reviews but users are also stumbling over several bugs – due, I’m sorry to say, to somewhat hurried testing. Details at the 1.0.7 discussion forum.

I was figuring on spending this week and the next on reviewing the not-too-good plugin architecture; writing a few plugins which do new things is usually the best way to find out architectural limitations. Hopefully I’ll be able to close the last bug over the weekend and then start on that, but I’ll try to publish 1.0.8 as soon as I get at least two new plugins working.

In other words, expect light blogging for the next weeks, as they say. In the meantime, if you’re an aspiring Mac OS Xshareware programmer, here’s excellent advice from Brent Simmons (of NetNewsWire fame) about making money with shareware. I seem to have lucked out, doing instinctively most of what he recommended…

Well, the old drawing board is getting an unusual amount of wear lately… and I’m glad! Exactly a week after XRay 1.0.6, I’m now announcing XRay 1.0.7. This has several bug fixes and new features, runs on both Jaguar and Panther, and can be invoked from the Finder by selecting an item and typing Command-Shift-X. More details in the release notes. Please post comments and suggestions to the XRay support forum.

About 4000 people have downloaded 1.0.6 so far. Since only a fraction of users (perhaps 1 in 5?) check compulsively for a new version every week, I estimate that there are about 20000 regular or occasional users around… I don’t have exact numbers for 10.0.5 downloads, but I think about 40000 copies were downloaded from my site and a few mirrors, and dozens of shareware CDs are around with 1.0.5 on them. So I’d estimate, again, that perhaps 1 in 5 users that try XRay will keep on using it regularly, and 1 in 10 of those have registered. From what I know, that’s way above the industry average. Thanks to all of you!

XRay 1.0.6 is a bug-fix release for Panther. Please read the release notes for more details; I also commented on some XRay decisions in a previous post.

I had almost forgotten how much peripheral work is involved in releasing new versions of shareware. To ensure that I’d have time to kill some remaining bugs without interruptions, I accompanied my wife to a secluded Fazenda (farm), where she took an English immersion course while I hacked away at the code. No phones, no Internet connection, quiet, excellent food… almost ideal conditions. I took some nice pictures, too… more about that later.

Dancing to the Music

No comments

I’ve been busy writing up an article about Panther, to be released around October 25… after the NDA expires, of course. 😉

Meanwhile, today has been a busy day for Apple, with lots of new releases around the iTunes Music Store, now with Windows support, updates for the iPod, and lots of marketing brouhaha. I’ve downloaded all the new stuff already and everything seems to work very well. This should give Apple’s music store a good boost, nearly at the last possible minute.

There are two new iPod peripherals. The microphone has a small speaker but unfortunately no audio input; so, no built-in ripping yet. As it seems to use the iPod’s normal audio plug (plus the remote-control interface), there’s some hope of this coming out in the future. Possibly Apple is shying away from the possibility of letting the iPod rip audio directly – no telling what the RIAA would say about this, even if it wouldn’t have CD quality.

The media reader is more interesting; it reads 6 different types of media cards used in digital cameras and downloads the contents to the iPod. This means that taking an iPod along with the camera now allows one to capture a huge amount of high-quality pictures… tens of thousands, depending on resolution. It’s rather expensive, though, at US$99.

The iPod peripheral I’d like to see isn’t out yet; I want an in-dash amplifier with a built-in iPod dock. No radio necessary. Just let me slide the iPod in. Track forward/back, volume, and start/stop buttons. That’s it. I wonder whether my dislike of in-car radios are shared by enough Americans to make somebody put such a thing on the market. US$99 should be the right price point…

Rainer Brockerhoff wrote:

The rumor sites say that Panther is heading for release before the end of the month, that the Golden Master release is already being duplicated, and even that work has already begun on 10.3.1

Apple just posted the news on their main page, October 24th is the official release day. There’s a neat counter showing how many days, hours, minutes and seconds are left; it imitates one of those mechanical clocks. Interesting how people feel this compulsion to imitate mechanical gadgets electronically…

Rainer Brockerhoff wrote:

It seems that I finally have achieved some sort of critical mass or energy to start working again on my software on a regular basis…

I noticed that this morning I was done with my news/RSS feed reading in less than an hour, and that I followed up much less links than usual. Apparently my usual news sites and weblogs are concentrating on stuff like California elections, Washington shenanigans, the baseball season and other regional/ethnic issues – it’s all even more opaque than usual. So… do I suddenly live in uninteresting times? icon_wink.gif

(This post will be cross-posted to the XRay support forum)

It seems that I finally have achieved some sort of critical mass or energy to start working again on my software on a regular basis. There were some false starts in the past, but this time actual progress is being made. I’ve already made serious progress in adapting XRay to Mac OS X 10.3 (Panther); nearly half of my bug list is done already.

The rumor sites say that Panther is heading for release before the end of the month, that the Golden Master release is already being duplicated, and even that work has already begun on 10.3.1. As I’m under NDA I can’t comment on that, or on specific features beyond what’s already published on Apple’s site. All I can say it everything works beautifully now, and it’s so fast that I was seriously inconvenienced when I had to go back to 10.2.x (Jaguar) for a few days…

For developers, porting any complex application to Panther may imply some reprogramming. There are many new APIs and resources in Cocoa, but to use these one has to write a Panther-only application. I’m already seriously tempted to axe 10.1.x support – in fact, 10.1.x users should for the near future continue to run XRay 1.0.5, as I no longer have any machine available that is capable of running 10.1.x! To complicate matters, new facilities to build applications that run on several versions – conditionally disabling features if run on older systems – don’t exist in 10.1.x and are somewhat primitive in 10.2.x.

The new GCC 3.3 compiler also brings some changes. Granted that one can keep using 3.1 (or even 2.97), but with a few restrictions. The new compiler generates better code and is more strict about some constructs.

Regarding XRay, I’ve reread all user e-mails I received this year and I’ll try to incorporate most reasonable suggestions. If you have suggestions, now is the time. I expect to release XRay 1.0.6 a week or so after Panther comes out – just to make sure that nothing broke with some last-minute change.

1.0.6 will be strictly a bug-fix and mandatory Panther-support release. Why? XRay was my first Cocoa application and now, going back to the code after nearly a year, I find that some parts were not as well written as they should be. I was concerned with getting stuff working and published, and made several design decisions and implementations which I now know to have been, shall we say, less than optimal. In particular, running 1.0.5 under Panther reveals some serious bugs and crashes which are due to my misunderstanding and faulty workaround of certain Cocoa specifications and limitations.

Progress from Jaguar to Panther means that several bugs seem to have been fixed on Apple’s side, though I don’t have any specifics yet. On the other hand, some hacks that I used to get certain features in Jaguar no longer work, so a few features will be unavoidably lost.

To a certain extent, Panther’s Finder has new capabilities that make some of XRay’s permission changing features redundant. XRay was always intended to be more a viewing tool – as you can tell from the name itself – the changing facility works only for certain attributes anyway. I think that rather than working hard to duplicate stuff built into the Finder, my time will be more profitably spent in writing new plug-ins and viewer facilities.

I have had many requests to build batch processing capabilities into XRay 1.1, and have made a few false starts on that. One deterrent are the aforementioned design decisions. XRay is built around a one-document-window-per-file paradigm and all its consequences regarding saving changes and so forth. The “Change enclosed items” is a limited batch facility for file permissions only, and strained the paradigm somewhat. Building batch processing into XRay would mean a whole new user interface, as well as a new plug-in interface, both designed for efficient changing (rather than viewing) of attributes.

Therefore, I regret to say that batch processing is not viable for implementation into XRay as it exists today. After releasing 1.0.6 and updating some of my other software for Panther I plan to start work on XRay 1.1, which will be a complete rewrite – practically from the ground up. This will be Panther-only and incorporate whatever I learned about writing Cocoa applications in the past two years.

In parallel, however, I’m planning to write a completely new application for batch file processing. Registered XRay users will not be forgotten, I assure. Details will be published as soon as possible…

Saving daylight?

No comments

(Um resumo, em português, deste post está na minha página principal)

It’s that time of the year again when the Brazilian government decides, by decree, when and where Daylight Savings Time begins. Last year Mac OS X users in Brazil had serious problems with that, as Mac OS X 10.2 (Jaguar) had the wrong dates inside the Unix tables that most of the system uses, and another (different!) wrong date inside a legacy table embedded into one of the frameworks, which was used by the Finder and some other applications.

In 2002 I published a patch to fix the Unix tables but couldn’t change the framework table. In addition, some – though not all – users reported a problem with their system snapping back to normal time on New Year’s eve. So this year, I’m waiting until someone else publishes the correction…

At this time, I haven’t got a system running Jaguar in order to test what will happen this year. The legacy table was finally removed in Mac OS 10.3 (Panther), so at least it will act consistently for all system calls and applications. However, it seems that Panther is considering DST as starting on Oct. 12 instead of the decreed date of Oct. 19.

Mac OS 9 users will have no problems, as there is a convenient double checkbox in the Date & Time Control Panel to allow the user to set DST manually. I’ve filed an enhancement request with Apple to put a similar checkbox into Mac OS X, but there’s little or no hope of this being done anytime soon (if ever).

The problem in Brazil is even more complicated, as DST is observed only by certain states in a manner not consistent with the timezones used when DST is not in effect. Additionally, the government may decide to extend or abbreviate the DST period at any time. So a manual checkbox would certainly be the easiest way around the problem.

…or perhaps a GUI viewer/editor for the timezone files… if only I had the time…

Photos licensed by Creative Commons license. Unless otherwise noted, content © 2002-2023 by Rainer Brockerhoff. Iravan child theme by Rainer Brockerhoff, based on Arjuna-X, a WordPress Theme by SRS Solutions. jQuery UI based on Aristo.