Wednesday, October 27, 2004

Orlando's first birthday

My little son Orlando had his first birthday today. We had a party with his grand parents and a friend of him was walking by with his mom.
Orlando very much liked the fact that everyone took care of him and all that. He did not sleep during the afternoon - normally he sleeps for one to two hours.

It is so incredible that a year has passed now. At the start he was a tiny little something that slept, cried and filled the diapers. Now he is walking on his own, eating Pretzel with us, is starting to talk and will start going to the kindergarten next week.

Monday, October 25, 2004

SourceForge.net support

Ok, first: you get what you pay for ...

But an entity that claims to be the best and biggest platform for Open Source development should give better support.

Slowly from the beginning. Andrew uploaded the files to the download farm and set the release to 'hidden'. Then after uploading everything he set the release to 'active'.
Now people get the files in the download list, but when you select one, on the mirror page you get a notice that the mirror doesn't have the file and that sf.net will fix this.
Andrew opened a case with sf support, which was more or less 'just closed'. I also opened a case. And after not fully reading my initial submission, the support guy closed it after exchange of some questions and answers with "if it was hidden, then it will resolve itself in ten days".
What the heck? I see nowhere written, that hidden releases only reappear ten days after setting them to active. No notion why this is the case to what to do to increase re-appearance speed. Users are waiting for the files.

I was thinking about buying a sf.net subscription. But if this only gives me a bad answer faster than when I have no subscription, then no thanks.

Sunday, October 24, 2004

Xdoclet: Release 1.2.2 is out

Xdoclet 1.2.2 has been released yesterday. This release is a big improvement with more than hundered closed issues and support for J2EE 1.4 Webservices, JDO 2, Java Server Faces and EJB 2.1.

JDK 5.0 support is still missing, but this will be supported in the next release.

The release entry on Freshmeat will tell you the details. If you use and like Xdoclet, then please also vote for it.

One of the interesting questions will be how much Xdoclet will be used in future now that annotations are part of the languge. Should Xdoclet try to process those as well? As an example: Thomas Diesler of JBoss is currently rewriting the ws4ee part, which is currently based on Axis. In a forum entry, he wrote recently, that JBossWS won't support Xdoclet, but support JSR-181 Webservices Metadata. Bill Burke already has some 'annotations for J2SE 1.4' in his AOP framework, so this will probably also be used in JBossWS. Ok, this is JBossWS only and other manufacturers won't provide such a thing. On the other hand, a translation from JDK 5 annotations to JDK 1.4 + Xdoclet tags might be useful.

Saturday, October 23, 2004

Got my copy of "hibernate in action" today.

I got my copy of Hibernate in action today and made it through the foreword so far.

Amongst the reviewers of the book are a few Xdoclet developers: Ara Abrahamian, Matt Raible and Nick Heudecker. When I looked at Amazon sales ranking for the book I also saw that Eric Pugh, who also works on Xdoclet seems to write a book on Hibernate as well. It's a small world.

Now I am uncertain, as I was using Hibernate in the past: should I read the book chapter by chapter or just skip around and perhaps miss important things.

Well, I am glad that my copy is here im my hands now.

Tuesday, October 19, 2004

AOP: JBossAOP vs. JBoss-Interceptors

I am currently playing with JBossAOP in JBoss AS 4.0. Cool thing!
You basically write a POJO with a method that follows a signature pattern, do some xml mumbos-jumbo and throw everything in the app-server, which deploys it. That's all.

There is one drawback though: currently it is not possible to intercept calls to methods on the EJB home interface. That's still the domain of the old JBoss interceptors that exist since JBoss 2.x.

But else, JBossAOP is really fun.

Sunday, October 17, 2004

Orlando is walking on his own

My little son Orlando is now at the age of close to a year walking on his own without any help from us and also without holding a chair or other helpers.
I am very proud :-)

Wednesday, October 13, 2004

Eclipse plugin horror

I am currently working with webservices. Bruce Scharlau has a nice picture of a graph how the various elements in a .wsdl file are linked together. This picture is generated by a plugin contributed by IBM. The eclipse page also has a download link to it.
Now I am downloading this 55MB zip file, then some EMF stuff and and and.. Sometimes data is flowing in at incredible speeds ro 3kBytes/sec (over DSL!). Then some parts of the download are missing and the update has to start again .. In the end, this sort of action takes ages *sigh*
I really like Eclipse, but this is nightmarish.

And the worst: the feature to generate the diagram is not even available due to some error or incompatibility or missing whatever.

Monday, October 04, 2004

BlogThis for FireFox PR available

Under Mozilla Update :: Extensions -- More Info: BlogThis, the BlogThis context menu extension is finally available again for Firefox.
This tool works like the BlogThis! button in the Google Toolbar for IE.

Tuesday, September 28, 2004

A good move from Sun

Linda de Michiel and Craig Russel, spec leads for JSR-220 (EJB 3) and JSR-243 (JDO 2.0) have written an open letter to the Java community that they want to unite Java persistence under the umbrella of JSR-220.

The critics will now mumble that JBoss will get (more) influence on the whole Java persistence through their jsr members and through hibernate in special (Hani, I already hear you rotating in your bed).

I think this unification is a good thing, as persistence is critical to many applications and there is no point to have various competing standards that all fill a certain niche and where you can't really tell why you are using one standard and not the other.

Can you tell what is the difference between hibernate, jdo and entity beans? If so, do you know the differences between various jdo implementations? Do you know all the vendor specific details of EntityBeans configuration?

Saturday, September 25, 2004

Ewww blogger...

For my previous post I tried to optimise the layout in a way that the tables are not miles away from each other, but no luck :-/
I have no clue what is going wrong, so I just have to accept it as is. Perhaps people are not supposed to blog tables or such...

Some statistics

I have a little web site that had some 2000 visits this month so far. I use awstats to track usage.
Below is an excerpt from some statistics.

Interesting fact: 70% of all users use a screen size of 1024x768 or less!
Also interesting: most browsers have Java and/or PDF support.









Operating SystemsHitsPercent
Windows1095587.8 %
Unknown5624.5 %
Macintosh4593.6 %
Linux3983.1 %
Sun Solaris890.7 %
FreeBSD40 %
NetBSD10 %
Symbian OS10 %














BrowsersGrabberHitsPercent
MS Internet ExplorerNo848268 %
FireFoxNo207216.6 %
MozillaNo7135.7 %
Unknown?3692.9 %
NetscapeNo2762.2 %
OperaNo1821.4 %
KonquerorNo1210.9 %
SafariNo760.6 %
LinksNo720.5 %
WebCollage (PDA/Phone browser)No510.4 %
Others 550.4 %








Screen sizesPercent
1024x76863.3 %
1280x102414.6 %
800x6009.3 %
1152x8646 %
1400x10502 %
Others4.6 %










Miscellaneous 
Browsers with Java support93.4 %
Browsers with Macromedia Director Support39.2 %
Browsers with Flash Support92.5 %
Browsers with Real audio playing support37.8 %
Browsers with Quicktime audio playing support39.5 %
Browsers with Windows Media audio playing support89 %
Browsers with PDF support84.9 %

Tuesday, September 21, 2004

SVG: Tree drawing

This article at xml.com describes how trees of data can be drawn in SVG with the help of an xslt stylesheet.
With some additional work, this could surely be converted into a nice DTD printer. A good article nevertheless.

Monday, September 20, 2004

JBoss 4.0 is out

After quite some development time, JBoss 4.0 has been released today.
Even as it was announced to be released rsn some days ago, I didn't believe it.
Now I bets will be accepted when the first patch release will follow :-)

Monday, September 06, 2004

My first time :-)


[echo] D:\devel\sim\server\build/webapp/classes
[javac] Compiling 2 source files to D:\devel\sim\server\build\webapp\classes

[javac] An exception has occurred in the compiler (1.4.2). Please file a bug
at the Java Developer Connection (http://java.sun.com/cgi-bin/bugreport.cgi) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
[javac] java.lang.ArrayIndexOutOfBoundsException: 1886419334
[javac] at com.sun.tools.javac.v8.code.ClassReader.nextInt(ClassReader.java:335)

Wednesday, September 01, 2004

I am OS X

Just made the "What OS are you" test on http://bbspot.com/News/2003/01/os_quiz.php.

I am
You are OS X. You tend to be fashionable and clever despite being a bit transparent.  Now that you've reached some stability you're expecting greater popularity.
Which OS are You?


Not bad .. I feared to be some Win*. Try it, it is worth a laugh.

Tuesday, August 31, 2004

SVG: Batik and <tspan>

Currently I need many drawings in PDF to be able to include them in documents produced by PDFLaTeX. With Batik, there is a tool to convert SVG to PDF.
The Idea to use SVG came as Together can write this as the only vector format. And when producing class diagrams etc. with Together, the PDF result is excellent. Unfortunately Together is no general purpose drawing tool.
After some investigation I found Sodipodi, which is a nice tool with some downsides. But ok, it can produce SVG. When doing some tests, the Fonts always looked ugly (the top line in this pdf). I did some testing around and found that Sodipodi does the following

<text ....>
<tspan>This is some text</tspan>
</text>

After removing the <tspan> elements, the text can no longer be moved around in the Sodipodi canvas, but looks like it should (bottom line in this pdf).
As <tspan> is pretty valid in SVG, this seems to be a problem in Batik or FOP, which is used by Batik to produce PDF. Especially as the conversion to PNG works as it should.

Saturday, August 28, 2004

The "I want it now" syndrome

Have you ever worked in an Open Source project?
Then you probably know the folks that report a bug with "ultra critical" and "I need it yesterday". The bug report sometimes says "xxx doesn't work". When you then ask what doesn't work -- silence. Nothing. Or even flaming that one could have answered earlier.

I understand, that not everybody is able to fix things themselves. And I also understand that if you use a tool that stops working, it is very important to get it fixed at that moment.

But most people that work on Open Souce earn their living by doing other things, perhaps even having a second job in the evening. So you cannot expect them sitting behind the trouble ticket system all day long just waiting for that very urgent problem coming in.

If a tool has such a big value for you and your production chain, then get a support contract upfront or try to pay someone to help you when the problem arises. Some call that risk-management.

Friday, August 27, 2004

Things the world doesn't need

Heise newsticker reports that Cherry now offers a Linux Keyboard (click here for a larger image)!

That keyboard has keys for page forward/backward, as if ALT-/ woudn't work. It also has cut / copy / paste keys.
Ok.. nice idea. But the bad think about all those keys is that they cannot be reached without moving the hand away from the ten-finger writing position.
But I am sure, it will be a success, as it has a penguin key.

P.S.: When do they offer keyboards with a BSD daemon or a steaming java cup printed on? :-)

Friday, August 20, 2004

Maven woes again

As Xdoclet uses Maven to produce the final documentation and web site, I thought I could enable the maven-statcvs-plugin to get to fancy line of code charts.
But instead:

[java] StatCvs-XML - CVS statistics generation
[java]
[java] java.lang.NullPointerException
[java] at net.sf.statcvs.Main.getModuleName(Main.java:193)

When looking at the documentation, I found out, that this plugin uses a cvs command found on the host, while the maven-changelog-plugin uses a built-in cvs client.
This explains why maven takes that much space *sigh*.

Even worse: both plugins get the change log from the cvs server. Instead of fetching it one time only and then processing it twice, the load on the server is doubled!

Friday, August 13, 2004

Java code analysis tools

Today I stumbled over some stupid errors and thought "why doesn't eclipse tell me about that?" so I remembered Findbugs and was first looking for a findbugs output xml to html stylesheet (there is one posted in the forum at sf.net). I also saw that there is an eclipse plugin. So I was trying to get findbugs with its plugin to work together with Eclipse 3.0, but did not have success because I misunderstood part of the the documentation.
While googling for help, I came across PMD and thought to give it a try.
The plugin works nicely and is easy to set up and run.
But after running it over my source file, I was disappointed, because it mostly was a different incarnation of checkstyle. It was telling me that some variable names were too short, others too long bla bla bla.
But it did not find the real problem of the following code snippet:

Object o1 = getBla(..);
Object o2 = getBla(..);
if (o1==null && o2 !=null) {
// do something
}
else {
if (!o1.equals(o2)) // something else
}

PMD complains that o1 and o2 are too short that is all, but does not detect the NPE when o1 and o2 are both null.

Ok, this might be too tricky. Lets try something simpler:

Object o = null;
System.out.println("below is a NPE");
o.equals(null);

Even here, PMD only complains about the short variable name, but doesn't find the NPE.

I am sure, that a tool like PMD can help a lot in improving code quality, but is basically useless for bug hunting.

And for my need to convert the findbugs output into a html page, I wrote an extremly simple xslt stylesheet.