Wednesday, May 25, 2005

Swing & Patterns

Chet Haase gives some thought to the pro and cons of Swing & Patterns, inspired by a dicussion at the JAX Conference in Frankfurt. Very interesting article!

Tuesday, May 24, 2005

PatchExpert

A small fix can be a big headache when you need to re-build, re-test, re-package and re-deploy software. If the change is small enough, distributing it as a minor "patch" makes a lot of sense. As Lu Jian explains, the java.net project PatchExpert makes this straightforward.
rating comment: The framework seems to be quite interesting and so is the article! It points out the pros and cons of PatchExpert and gives a brief example of how to use it.

Saturday, May 21, 2005

IBM Voice Toolkit

Are you looking to create state-of-the-art, voice-driven applications? Look no further than to IBM; the latest iteration of the IBM Voice Toolkit integrates with the Rational Software Development Platform, giving you a turnkey development environment based on industry standards, including VoiceXML and Java.
rating comment: Very interesting article, though it only scratches the surface of voice-driven applications. The small introduction to VoiceXML is quite good.

Friday, May 20, 2005

My Google Site

Google testet eine alternative Homepage, auf der Personalisierungsfunktionen angeboten werden, um verschiedene Google-Dienste über eine zentrale Stelle erreichen zu können. Auf Wunsch erscheinen so aktuelle Gmail-Mitteilungen, Nachrichten, Aktienkurse, Wetterberichte oder Zitate auf der Google-Eingangsseite.
Jetzt sollte es das Ganze nur noch in deutsch geben!

Wednesday, May 18, 2005

Language Lessons

Java Tech columnist Jeff Friesen has been coding in Java for nearly ten years, and in that time, he's found some surprises in the language, like how += doesn't necessarily do what you expect, or the hazards of invoking a potentially overridden method in a constructor. In this article, he provides some important lessons based on this experience.
summary:
  1. Do not use the string concatenation operator in
    lengthy loops or other places where performance could suffer.
  2. Do not call overridable methods from superclass
    constructors.
  3. Do not use assertions to validate method
    arguments. Use if statements that explicitly throw
    exceptions if those arguments aren't valid.
  4. Use interfaces for flexibility. Use abstract
    classes for ease of evolution or to capture the essence of rigid
    class hierarchies while avoiding the creation of objects that mean
    nothing.
  5. Use covariant return types to minimize upcasting
    and downcasting.
  6. Don't forget the superclass while writing a
    subclass.
  7. Remember that compound assignment operators
    automatically include cast operations in their behaviors.
rating comment: Articles like this on are always useful, cause you can never know enough of these little mysteries!

Tuesday, May 17, 2005

Goslin on Harmony

The open source community may be looking for 'Harmony' but "Father of Java" James Gosling says enterprise Java customers would sooner go "screaming into the hills." Gosling talks to DevX about why Sun is ambivalent about Apache's Harmony, the future of the tools market, and the expectation for a language that will one day eclipse Java.
I know there are different opinions out there, but I think Goslin has a point. I don't know the difference between Apache's and Sun's license in detail, but I know that I have the sources of sun's J2SE for free, which is definitely an advantage! As I said before, I'm gonna be excited about Harmony and what's it gonna be like, but I think it wom't be able to compete with sun's J2SE.

Thursday, May 12, 2005

Using enumerated types

In this month's Taming Tiger, columnist John Zukowski explains how to work with enumerated classes and their predefined methods and shows how to add constructors, override methods, and have instance variables.
rating comment: Great article about enumerated classes. It shows how to use them effectively, but also points out to use them carefully, which I absolutely agree on. It's a nice feature to use, but use it deliberately.