Warping it up!

Fini Alring's Glossy Tech Zine

Java goes Open Source

Monday, November 13th, 2006

So it finally happened, Sun relicensed Java to the GNU Public License (GPL), the most widely used Open Source license.
I welcome this move and look forward to seeing where it will take the Java and open software in general.

According to the theserverside.com: ” The rumors have been confirmed by Sun: Java is going to be released in full under the GPL v2. The initial plan is to release Hotspot and the javac compiler under the GPL v2, with the rest of Java to follow in the first half of 2007. Java EE will also be opened under the GPL, as well as J2ME. The Java specification will remain under the control of the JCP.

The GPLed components will be hosted in the JDK communities on dev.java.net. Initial components (javac and Hotspot, as well as Javahelp) are from the Java 7 codebase, as Java 6 is almost entirely finished; Java 6 will eventually be put under the GPL as time permits.

The key behind moving to the GPL is to drive more volume and more adoption for the platform. The GPL helps get Java into some markets that it hasn’t served as fully as it should – such as educational markets, governments in the developing world, and some commercial customers – as well as, obviously, some distributions of Linux which insist not on Linux-friendly licenses but on actual GPL licensing.

GPLv2 was chosen over GPLv3 for fairly obvious reasons: GPLv3 isn’t finished yet! Sun is, they said, working with the FSF on defining GPLv3.”

Quick Test: Cantoo WebTest 2.0

Wednesday, March 22nd, 2006

I just did a quick test and brief evaluation of Cantoo WebTest – a free open source tool for automated testing of web applications. I found it pretty good and intuitive, and I think it has a rather mature feature set. Having made a similar test tool myself five years ago (based on IE proprietary methods) I felt quite at home, and found the xml format delightful. I would have liked some more features to select specific elements, especially support for unnamed elements, preferbly using XPath notation. It produces a nice report describing the test run, this uses xml/xslt so it’s pretty easy to change into your own report style, or just use the xml report directly from within an application. I am still unsure if the xml format allows for much dynamic in the script, such as if/else etc.. But there is supposedly better support for those things via the Groovy scripting interface, I will be doing more tests in near future as I attempt to build test suits while developing, I will also get to test it’s include functionality in depth, in order to facilitate fragment re-use.

VisualStudio User Tries Matisse

Wednesday, February 15th, 2006

When I first tried out the NetBeans GUI Builder Matisse, I was as skeptical as I would be with any Java GUI builder. They never turn out to be exactly what you’d expect; even IDEA’s designer, simplifying GridBagLayout to just a few clicks and properties, doesn’t have the same feel as Visual Studio 2005.

Whatever my feelings were before trying Matisse, I was surprised after using it: Not only did Matisse do everything I expected a GUI editor to do, it even offered new features that really made me raise an eyebrow wondering, “Why did no one else think of this before?”

In this article I will present the features I enjoyed best in Matisse, and then suggest a few features I would like to see in future releases.

Release: NetBeans 5.0

Thursday, February 2nd, 2006

NetBeans — My favorite Java / J2EE development environment, har just been released in version 5.0, much have changed since the 3.x, 4.x versions and I warmly recommend any Java developer to download and discover it’s open source glory, especially those who last tried it years ago.
I went from NetBeans 3.1 to JBuilder Enterprise and directly back to NetBeans 3.6 again, and since I haven’t really looked at the commercial IDE’s as an option for my own projects. I have also used Eclipse and IBM’s Websphere Studio Developer (which is based on Eclipse codebase), and although they are fine products, they don’t really do it for me, since I have quite big focus on Java Web Development, and Eclipse needs commercial third party plugins (MyEclipse) to do that well at the moment.

NetBeans IDE 5.0 introduces comprehensive support for developing IDE modules and rich client applications based on the NetBeans platform, the new intuitive GUI builder Matisse, new and redesigned CVS support, Sun Application Server 8.2, Weblogic9 and JBoss 4 support, and a lot of editor enhancements.

Here are some of the cool features in this release:

  • Developing NetBeans Modules
  • Matisse GUI Builder
  • Servers
  • Web Frameworks
  • Web Services
  • Editor Enhancements
  • Code Completion
  • Refactoring
  • Version Control
  • Debugging
  • Other Usability Improvements
  • New NetBeans Add-on Packs

3D Graphics for Java Mobile Devices

Wednesday, October 12th, 2005

Claus Höfele has written a nice introduction to 3D graphics on Mobile Java Devices.

This article, the first in a two-part series, describes the Mobile 3D Graphics API (JSR 184). The author introduces you to 3D programming for Javaâ„¢ mobile devices and shows how you can work with lights, cameras, and materials.

Playing games on mobile devices is a fun pastime. Up until now, hardware performance has favored classic game concepts that use addictive game play, but simple graphics. Today, Tetris and Pac-Man are increasingly complemented by two-dimensional action games with extensive graphics. Consequently, the next step is to move toward 3D graphics. Sony’s PlayStation Portable shows the graphics power you can put into a mobile device. Although the average mobile phone is technologically behind this specialized game machine, you can see where the market is heading. The Mobile 3D Graphics API (M3G for short), defined in Java Specification Request (JSR) 184, is an industry effort to create a standard 3D API for mobile devices that support Java programming.

M3G’s API can be divided roughly into two parts: immediate and retained mode. In immediate mode, you render individual 3D objects. In retained mode, you define and display an entire world of 3D objects, including information on their appearance. You can imagine immediate mode as the low-level access to 3D functions, and retained mode as a more abstract, but also more comfortable, way of displaying 3D graphics. In this article, I’ll explain the immediate mode APIs. The second part of this series shows how to use retained mode.

Article: 3D graphics for Java mobile devices, Part 1: M3G’s immediate mode