Stepwise has published an internationalization article by Malcolm Crawford and Bill Cheeseman. New to me were the magic command-line switches -AppleLanguages (for launching an application using a different language) and -NSShowNonLocalizedStrings (for logging to the console when a localized string can’t be found). It’s a good article, but I’d rather read about the non-technical aspects of localization.
John Gruber translates Quark’s PR to English.
Peter Van Roy and Seif Haridi:
This textbook brings the computer science student a comprehensive and up-to-date presentation of all major programming concepts, techniques, and paradigms. It is designed for second-year to graduate courses in computer programming.…As far as we know, there is no other book with this breadth of coverage that is both practical and theoretically well-founded.
Drafts of the book are available online. The examples are in Mozart, reflecting an emphasis on concurrent programming.
Chris Adamson:
What’s happening is that Java 1.4.1, now the default when you type java on the command line, does not support certain Java-to-Carbon technologies that QuickTime for Java depends on.
This change also breaks DropDMG 2.0’s MacBinary encoder. JDK 1.3.1 is still installed and available in /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/, however I made the mistake of hard-coding /usr/bin/java into DropDMG. (In the future I will indirect such paths through the defaults database.)
The next version of DropDMG will use a new MacBinary encoder that works with JDK 1.4.1. For now, if you want to make MacBinary-encoded images with DropDMG, you can not update to JDK 1.4.1 or symlink /usr/bin/java to /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Commands/java.
sudo mv /usr/bin/java /usr/bin/java141
sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Commands/java /usr/bin/java
DropDMG
Steve Gehrman:
The Cocoa frameworks used to create Path Finder, and source code used to write Path Finder plugins are now open source and ready for immediate download.
Included in the source code package are two powerful frameworks: CocoaTechBase and CocoaTechFoundation. These two frameworks make up the heart and soul of Path Finder.
Also included are 4 real world Path Finder plugins. These aren’t simplified versions, these are the actual full plugins that ship with Path Finder. “Hex View”, “Image Converter”, “Get Info”, and a sample plugin designed to be a perfect starting point to write your own Path Finder plugin.
The license is BSD-style. With loads of categories in the same namespace and dependencies on the Omni frameworks, I doubt many developers will want to use these frameworks as-is, but there’s probably a lot to learn from them. Path Finder is a multi-threaded app, and it handles both Unix and Mac aspects of files.
Sometimes it’s easy to what’s going on, as in NTWeblocFile.m where Gehrman explains his reverse engineering of the Finder’s “webloc” files. In other cases, the code is clear but the rationale is not, as in NSNumber-NTExtensions.m where there is a category for wrapping NSSizes when NSValue seemingly already does that.
I’m not a fan of CocoaTech’s new Geeklog-based site. The old version was much simpler. However, Gerhman includes a link to openSourceCMS.com, a site that has the major CMSs installed so that you can try them out.
Path Finder
In science one tries to tell people, in such a way as to be understood by everyone, something that no one ever knew before. But in poetry, it’s the exact opposite.
—Paul Dirac