Frank's Eclipse and Java Blog

Saturday, January 29, 2005

Quality versus Health; Is your software healthy?

I recently stumbled on a speech by Kent Beck about developer testing in which he compares and contrasts software quality and software health. Fascinating topic and a "must listen"! One of the boldest statements - which I totally agree with by the way - is that if you don't know how to test something or if testing it is way too complicated, the design is flawed, and you should reconsider it.

The meaning of software health is also detailed on this page.

Friday, January 28, 2005

Wired 13.02: Revenge of the Right Brain

Very interesting article in Wired 13.02: Revenge of the Right Brain

I have to say though, that I've always had the opinion that good programmers have a decent amount of right brain activity going on. Knuth said in in the 60s: (Please forgive me if I misquote) "Programming is an Art, perhaps some day it becomes a craft, but it will never be a science" and I agree with that completely.

Thursday, January 27, 2005

Geek humor about C# delegates

Here is a funny fairytale about C# Delegates. I know, it is off-topic, but I thought it was cute...

Tuesday, January 25, 2005

Helga: Negative producing programmers

Helga: Negative producing programmers

Very interesting, hope I'm not one of these... ;-)

Monday, January 24, 2005

How nerdy are you?


I am nerdier than 70% of all people. Are you nerdier? Click here to find out!

Tuesday, January 18, 2005

Eclipse -clean on OSX

Here is an interesting article on how to clear the plugin cache using eclipse -clean on OSX, which as the poster states, is one of the few things more complicated on OSX than on Windoze. Enjoy.

Open Source Code Review Tool, Hammurapi 3.7, released

Open Source Code Review Tool, Hammurapi 3.7, released

This looks interesting and seems to mesh well with my metrics plugin for eclipse. I wonder what the JSEL metamodel is all about. I will have to investigate this further. With a metamodel separate from Eclipse's JDT, I might be able to implement an often requested feature, which is to allow metrics calculation from Ant without Eclipse. I cannot currently do this because the metrics calculations depend on the JDT meta model, hence the code has to be in an Eclipse workspace

Monday, January 17, 2005

The Aspects Blog: AspectJ 5 now supports full source compilation of Java 5 programs

The Aspects Blog: AspectJ 5 now supports full source compilation of Java 5 programs

Oh YEAH Baby!!! Can't wait to start playing around with this one...

madbean.com: Revenge of the <T>

Somebody had way too much time on his hands here: Revenge of the <T>

It's pretty funny, though I do not agree with the negative message that generics are evil. If they were full blown C++ templates, I would have.

Even though I come from a Smalltalk background - a completely dynamically typed language - after years of doing Java I've become so used to type declarations that I am really beginning to hate the casting required to deal with collections. If you choose to make a language strongly typed, then do it right and all the way and make the collections typed as well... The generics in J2SE 5.0 accomplish this in as clean and compatible a way as possible. A good introduction to generics can be found here. As an alternative, for a while now I've adopted the Eclipse API "pattern" of only using arrays in public interfaces and hide the collection classes in the internal implementation. That way the public API is always 100% typed and there are no surprises...

eclipsecon2005

I really want to go to eclipsecon2005!
It looks like there will be some very useful sessions, and I'd love to see the faces behind the familiar names. Not sure I can justify going though as it will get pretty expensive :-(

Friday, January 14, 2005

executable extensions and serialization

I ran into an interesting issue today. Objects contributed to a plugin via an extension point using createExecutableExtension(attributeName) can not be serialized even if they implement Serializable. The problem is that when the object is being re-materialized by your plugin, you get a ClassNotFoundException, because your plugin has no access to the class loader of the plugin that provided the object. This is somehow circumvented by the createExecutableExtension API... So instead of serializing the object you have to somehow remember enough information to allow you to recreate the object using the same extension point API that created it in the first place.