You are currently browsing the category archive for the ‘Open Source Software’ category.

NSW has pulled out of round two of the federal government’s computers-in-schools scheme (news). The NSW state education minister Verity Firth stated today that the cash-strapped government doesn’t have the funds to buy:

  1. electicity to run them;
  2. technical support to maintain them; and
  3. “let alone” the software to run on them.

Yet again mainstream has fallen victim to the “computer equals Windows” mindset.

The state of NSW should plan to install a solid and feature-rich linux distribution on their systems. Then they can help address their problems by:

  1. using less electricity
  2. avoiding the need to employ proprietary software certified technical support staff; and
  3. getting access to a veritable plethora of free & open software which will provide not only an excellent foundation for general education, but also a platform for true computer science education

Being an IntelliJ IDEA user for about 5 years now I have resisted the lure of the free open-source IDEs Eclipse and Netbeans. I tried being an early-adopter of Eclipse but found it significantly lacking in support for shortcut keys, refactorings or even a cohesive Java project view that made any sense. The ease in which it led to corrupted projects, and the propensity of buggy plug-ins was also disappointing. That was around 2004. I imagine it’s significantly improved now otherwise it would not have the overwhelming support it enjoys.

Around the same time I tried adopting NetBeans. This was in the day when you needed to mount the filesystem before you could start or open a project. Such strange design turned me off right away. The modern NetBeans is much nicer though and I have been following its progress since 5.0, when the inclusion of the Matisse GUI designer intrigued me.

This week I attended Sun’s EJB3 Business Component Developer course. We used NetBeans 5.5 and deployed our applications to the Sun App Server. The integration between the IDE and the server is sufficiently coupled to provide a modicum of productivity (although Parkes and Weeksy pointed out over a parma that it could be better). It was disappointing though that an IDE of NetBean’s age didn’t demonstrate maturity in regard to refactoring and context highlighting. I’ve just installed the NetBeans preview R6M10 and I can happily report that its “intelli-sense” (apologies for the commoditisation of this proprietary term) has improved. The reason for this, according to the latest NetBeans Magazine, lies in recent enhancements to javac.

Java SE 6 … introduced JSR 199 (Java Compiler API) and JSR 269 (Pluggable Annotation Processing API). The Java Compiler API enables tight and efficient integration with javac (and other Java source compilers), and JSR 269 … provides a source-level equivalent of reflection metadata. Working together, these new APIs allow IDEs and other tools to dig deeply into the structural information that javac extracts from source code.

The end result is that NetBeans is significantly improved. I now feel up to half as productive as I do when using IDEA, and that’s no mean feat! The magazine articulates many new features, including AST-based selection, semantic highlighting, improved code completion, vastly improved refactorings (they’d have to be), editable diffs, javadoc hints and more. Most, if not all, of these features have been present in IDEA for a long time, but it’s good to see NetBeans playing catchup. After all, there is an infinite price differential between the two product licenses. The closer NetBeans’ feature-set gets to matching that of the commercial product the better off the Java development world will be.

Some time ago, last year in fact (how time flies) my friend Marky Jones sold me his second hand iPod for a steal. While I’ve really enjoyed listening to podcasts and jazz I often found the software interface a little awkward. The need to synchronise music using iTunes was quite annoying all I really wanted was to treat the iPod like a USB disk and manage the music myself. The scenario really came to a head when I moved to Ubuntu as there’s no iTunes for Linux.

Instead there are many superior options. At the moment I’m trialling the RockBox firmware for the iPod. I’m almost sold on it. I did the install last weekend and it took about 30 mins, which seems OK to me as I’m a nub at this stuff. My only problem was forgetting to cleanly unmount the iPod before removing it from the USB port. Once I’d corrected that little nugget all was fine.

The RockBox interface is much simplier than the default Apple firmware. To navigate music on the device I use an easily recognisable explorer-like interface. To manage the files on the device I can use a terminal or Nautilus (the file explorer) … drag/drop, copy/paste it’s all very familiar.

Importantly, RockBox will play Ogg Vorbis encoded music files (unlike the default firmware). Ogg is an open encoding format, meaning it can be implemented and improved upon by anybody. This is not the case with mp3, which is closed and requires licensing before an encoder can be published.

However, there are gremlins in the machine. There are no stable iPod releases of RockBox. I am using a nightly build and suffer from intermittent freezes (perhaps 3 or 4 per day). These are sometimes accompanied by a terse error message proclaiming “data abort” and a hex address. Like any good community member, I’m about to hit the RockBox bug tracker and forum to see if this is known about.