Wii!

If you want to use your Nintendo Wii remote (Wiimote) with your Mac (via Bluetooth) (perhaps because you liked Tony Stark’s movie UI and a Wii is a cheaper way to get accelerometer gear 🙂 check out

For the more programmatically inclined there’s

Java Update 1 kills QuickTime for Java

Apple has released (via Software Update) “Java for Mac OS X 10.5 Update 1”, which installs Java 1.6.0_05 (although it does not make it the default version of Java for the machine.

bash-3.2$ /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13-120)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_05-b13-52, mixed mode)

The software update is installed only on 64-bit capable Macs. To switch it to the default Java install you need to use the /Applications/Utilities/Java Preferences application (which states when you select it that “Java SE 6 is only available for Java applets in 64-bit capable browsers. J2SE 5.0 will be used in 32-bit-only browsers, including Safari”)

Discussions indicate that compiled JNI libraries don’t look like they currently work, and neither do QuickTime for Java applications:
/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java quicktime.QTSession
java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(EventQueue.java:997)
at quicktime.QTSession.(QTSession.java:92)
Caused by: java.lang.UnsatisfiedLinkError: /System/Library/Java/Extensions/libQTJNative.jnilib:
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1822)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1715)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at quicktime.QTSession$1.run(QTSession.java:94)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:300)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:210)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:195)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:187)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "main" java.lang.NoSuchMethodError: main

This is not surprising given that QuickTime for Java is based on 32-bit Carbon libraries, and has been effectively in “maintenance mode” for a while. Unfortunately someone manages to get the JNI (or JNA?) code working it’s going to be difficult to work around the problem using QTKit.

In the meantime, QuickTime for Java still muddles along in Java 5. Eclipse Ganymede also seems to launch ok, but I haven’t done anything extensive with it.

Apple Java job

From Apple’s java mailing list: 

 

We are looking for a talented, passionate and motivated engineer to join the Java team.  Java expertise, of course, is important, but C and Objective-C (Cocoa) are also essential since you will be working on the frameworks underneath AWT and Swing.  If you or anyone you know is interested, please do apply.  This is an opportunity to have a serious impact on the Mac OS X Java implementation, and start a career at Apple.You can find out more by clicking this link, or by searching apple.com/jobs for Requisition ID 3489430.