This year, Amazon made me a special gift. Instead of sending yet another coffee mug, they finally listed my JBoss book. Unfortunately, the nice cover graphics that you can see at the publishers page is not yet shown.
I am really looking forward to hold the real printed issues in my hand. Until then there is still some work to do.
Friday, December 24, 2004
Tuesday, December 14, 2004
Busy time
It's now over a month since my last post. I was just too busy to even read the Xdoclet and JBoss mailing list or even work on those projects. We had an important release at work which ate quite some time.
The other day I was asking are fop and batik dead? Meanwhile there is a new Apache subproject Xmlgraphics that seems to be the new umbrella for the new projects. But currently its mostly an empty shell.
With the release at work I am also not able to attend Javapolis conference in Antwerp and am so jealous about all the lucky ones that were ablt to go there.
The other day I was asking are fop and batik dead? Meanwhile there is a new Apache subproject Xmlgraphics that seems to be the new umbrella for the new projects. But currently its mostly an empty shell.
With the release at work I am also not able to attend Javapolis conference in Antwerp and am so jealous about all the lucky ones that were ablt to go there.
Saturday, November 13, 2004
Ws4ee tooling
I am currently having a discussion with Thomas Diesler on the JBoss Forum about the usage of Xdoclet for ws4ee (and especially in conjungtion with JBoss).
Thomas argues that there is no big gain in using Xdoclet for webservices, as it lacks support for wsdl-generation. He is of course right in the latter and I see the point that some work needs to be done here. Of course I am biased here as comitter on Xdoclet.
Thomas proposes wscompile from the sun JWSDP-package. But this also doesn't provide everything you need and you also have to write files on your own.
So the solution lies in the use of both tools: have xdoclet generate the service interface, ejb-jar.xml entries and webservices.xml and the jaxrpc-mapping, let wscompile provide the wsdl.
I outlined this at the JBossWS and Xdoclet wiki page.
Thomas argues that there is no big gain in using Xdoclet for webservices, as it lacks support for wsdl-generation. He is of course right in the latter and I see the point that some work needs to be done here. Of course I am biased here as comitter on Xdoclet.
Thomas proposes wscompile from the sun JWSDP-package. But this also doesn't provide everything you need and you also have to write files on your own.
So the solution lies in the use of both tools: have xdoclet generate the service interface, ejb-jar.xml entries and webservices.xml and the jaxrpc-mapping, let wscompile provide the wsdl.
I outlined this at the JBossWS and Xdoclet wiki page.
Friday, November 12, 2004
Hewlett-Packard takes a new approach to software | CNET News.com
Hewlett-Packard takes a new approach to software | CNET News.com
This is interesting. As HP operates globally, they will take a good piece of the JASP cake. How will those service partners react?
For JBoss and open-source itself this is probably a good move, as many company including the classical IBM-customers (e.g. banks) will take JBoss and open-source more seriously and perhaps even consider switching from their "nobody got ever fired for buying IBM attitude".
This is interesting. As HP operates globally, they will take a good piece of the JASP cake. How will those service partners react?
For JBoss and open-source itself this is probably a good move, as many company including the classical IBM-customers (e.g. banks) will take JBoss and open-source more seriously and perhaps even consider switching from their "nobody got ever fired for buying IBM attitude".
German JBoss book announced
dpunkt.verlag listes a new JBoss book in their preview section. This is a German book and talks about JBoss 4.0. Target audience are admistrators and programmers that want to start with JBoss, but already have some basic J2EE and Java knowledge.
Why I mention this? Have a look at the author :-)
Why I mention this? Have a look at the author :-)
Sunday, November 07, 2004
Are FOP and Batik dead?
When looking at the download directory for fop and batik
(Index of /dist/xml/), it looks like the two projects are pretty dead. There was a batik release this year in february, but only because there was a security issue with the squiggle browser (nice tool btw!). For fop, which is at version 0.20.5 the situation is even worse: last release was in july 2003!.
Update:
After reading this blog article, things seem clearer. There is no entry on this on the ASF pages though.
(Index of /dist/xml/), it looks like the two projects are pretty dead. There was a batik release this year in february, but only because there was a security issue with the squiggle browser (nice tool btw!). For fop, which is at version 0.20.5 the situation is even worse: last release was in july 2003!.
Update:
After reading this blog article, things seem clearer. There is no entry on this on the ASF pages though.
SVG: drawing DTDs
In the past, I wrote a little note about XML.com's article on svg tree drawing.
Currently, the way most people seem to go if they want to add a structural drawing of their DTDs is to use XmlSpy, open the DTD, convert to XML Schema and let XmlSpy draw the diagram. XmlSpy can then export the drawing as png, or one can do a screenshot and save it in another pixelized format. The result is really good looking:
It seems that there are also other tools on the market like Tibco TurboXML that can produce drawings of DTDs (and the Tibco one seems to be able to export them even as SVG, as JBoss had some html-versions of their DTD in SVG done with some Tibco tool).
While this is good for graphics on the web or just visualisation of complex structures, this is of no real use when you have to scale the graphics to include it in some printed work. So I started to write my own converter. With the help of the batik toolkit, this is working quite well. The current state looks like this:
(The respective svg looks like this).
Obviously not yet as good as the XmlSpy version, but I can just run the conversion on command line and do not need a XmlSpy-license :-)
I will update this page when there is more available.
Currently, the way most people seem to go if they want to add a structural drawing of their DTDs is to use XmlSpy, open the DTD, convert to XML Schema and let XmlSpy draw the diagram. XmlSpy can then export the drawing as png, or one can do a screenshot and save it in another pixelized format. The result is really good looking:
It seems that there are also other tools on the market like Tibco TurboXML that can produce drawings of DTDs (and the Tibco one seems to be able to export them even as SVG, as JBoss had some html-versions of their DTD in SVG done with some Tibco tool).
While this is good for graphics on the web or just visualisation of complex structures, this is of no real use when you have to scale the graphics to include it in some printed work. So I started to write my own converter. With the help of the batik toolkit, this is working quite well. The current state looks like this:
(The respective svg looks like this).
Obviously not yet as good as the XmlSpy version, but I can just run the conversion on command line and do not need a XmlSpy-license :-)
I will update this page when there is more available.
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.
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.
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.
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.
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.
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 :-)
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.
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.
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?
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...
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.
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 Systems | Hits | Percent |
---|---|---|
Windows | 10955 | 87.8 % |
Unknown | 562 | 4.5 % |
Macintosh | 459 | 3.6 % |
Linux | 398 | 3.1 % |
Sun Solaris | 89 | 0.7 % |
FreeBSD | 4 | 0 % |
NetBSD | 1 | 0 % |
Symbian OS | 1 | 0 % |
Browsers | Grabber | Hits | Percent |
---|---|---|---|
MS Internet Explorer | No | 8482 | 68 % |
FireFox | No | 2072 | 16.6 % |
Mozilla | No | 713 | 5.7 % |
Unknown | ? | 369 | 2.9 % |
Netscape | No | 276 | 2.2 % |
Opera | No | 182 | 1.4 % |
Konqueror | No | 121 | 0.9 % |
Safari | No | 76 | 0.6 % |
Links | No | 72 | 0.5 % |
WebCollage (PDA/Phone browser) | No | 51 | 0.4 % |
Others | 55 | 0.4 % |
Screen sizes | Percent |
---|---|
1024x768 | 63.3 % |
1280x1024 | 14.6 % |
800x600 | 9.3 % |
1152x864 | 6 % |
1400x1050 | 2 % |
Others | 4.6 % |
Miscellaneous | |
---|---|
Browsers with Java support | 93.4 % |
Browsers with Macromedia Director Support | 39.2 % |
Browsers with Flash Support | 92.5 % |
Browsers with Real audio playing support | 37.8 % |
Browsers with Quicktime audio playing support | 39.5 % |
Browsers with Windows Media audio playing support | 89 % |
Browsers with PDF support | 84.9 % |
Tuesday, September 21, 2004
SVG: Tree drawing
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 :-)
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
Which OS are You?
Not bad .. I feared to be some Win*. Try it, it is worth a laugh.
I am
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
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.
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.
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? :-)
That keyboard has keys for page forward/backward, as if ALT-
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:
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!
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:
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:
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.
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.
Thursday, August 12, 2004
A-Team finally free of charges
reports here that the heroes of my youth, the A-Team is finally cleared of all charges by the US Military.
Enjoy the article :-)
Tuesday, August 10, 2004
Downside of ubiquitous reachability
We were having some strange problems with some framework. I got the number of an expert from "his" sales guy a few days ago and I was trying to reach the expert now. Around 3pm yesterday (German time) I dialed +49 171 ... (German mobile phone number). After a few beeps I heard the voice of that guy. I started ".. bla bla bla.." then I heard "you know .. it is 6am here where I am .. you just woke me up".
I felt somewhat guilty that I did phone him and that I did not directly hang up. On the other hand I was pissed, as I did phone during normal office hours (in Germany) and cant know the German numbers are redirected to the US (California probably). If that guy doesn't want to be woken up, then he should shut down his phone).
I felt somewhat guilty that I did phone him and that I did not directly hang up. On the other hand I was pissed, as I did phone during normal office hours (in Germany) and cant know the German numbers are redirected to the US (California probably). If that guy doesn't want to be woken up, then he should shut down his phone).
Friday, August 06, 2004
Bahncard - I am impressed
German Railways, Deutsche Bahn offers a reduction system, Bahncard, where you buy a voucher that gives you 50% reduction on the normal railways fee.
In the past, ordering a bahncard took a week or longer and they sent you a slip of paper as preliminary Bahncard until they were able to print the plastic card.
This time things were different: including the delivery of the Bahncard by German Post, it only took one and a half days from ordering the Bahncard at the web site until I had the card in my hands. I am really impressed and hope that other services of the Bahn will ameliorate as well.
In the past, ordering a bahncard took a week or longer and they sent you a slip of paper as preliminary Bahncard until they were able to print the plastic card.
This time things were different: including the delivery of the Bahncard by German Post, it only took one and a half days from ordering the Bahncard at the web site until I had the card in my hands. I am really impressed and hope that other services of the Bahn will ameliorate as well.
Tuesday, August 03, 2004
20 years Email in Germany
20 years ago, Germany got connected to the CSNet. This article shows the first email that reached Germany.
Why do I write this? Because the CS Department of U Karlsruhe later 'outsourced' this part into one of the first German Internet providers 'Xlink' that later became of the now bancrupt KPNQwest. I had the pleasure to follow parts of this live from '93 on @Xlink.
Why do I write this? Because the CS Department of U Karlsruhe later 'outsourced' this part into one of the first German Internet providers 'Xlink' that later became of the now bancrupt KPNQwest. I had the pleasure to follow parts of this live from '93 on @Xlink.
Sunday, August 01, 2004
A must have for Firefox
Saturday, July 31, 2004
Google strangeness
Years ago I wrote a page about Baggerseen um Karlsruhe and put it online. The page gets quite some hits (around 30 a day). When you now google after Baggerseen, Google (DE) lists it on the first page (first ten of about 18000 entries).
Now, common knowledge says, that Google ranks pages higher that many links point to.
But when I enter 'link:www.pilhuhn.de/hwr/baggersee.html', Google says that no other page links to this page (which at least is not completely true).
So this entry is also a test if Google will in future list the contained link or not.
Now, common knowledge says, that Google ranks pages higher that many links point to.
But when I enter 'link:www.pilhuhn.de/hwr/baggersee.html', Google says that no other page links to this page (which at least is not completely true).
So this entry is also a test if Google will in future list the contained link or not.
Sunday, July 25, 2004
Java is slow? No!
Mike Hostetler writes in this weblog entry that Java does not need to be slow when you use the -server jvm switch.
I once wrote an article for iX magazine about benchmarking Xslt processors. Here, the fastest one also was written in Java -- and I did not even experiment with the server jvm. My results are also backed by the results on the Java is faster than C benchmark page.
Also popular belief is that if you want to do fast database access, you have to do this in embedded sql (esql) within C. This might be true, if you have to go to the database for every record anyway, but if you are iterating over a known (sub)set of the data over and over again, it might be better to let your infrastructure (e.g application server or O/R manager cache the data).
And then last, but not least: Remeber that everything that can be done in O(n) can also be done in O(n²).
I once wrote an article for iX magazine about benchmarking Xslt processors. Here, the fastest one also was written in Java -- and I did not even experiment with the server jvm. My results are also backed by the results on the Java is faster than C benchmark page.
Also popular belief is that if you want to do fast database access, you have to do this in embedded sql (esql) within C. This might be true, if you have to go to the database for every record anyway, but if you are iterating over a known (sub)set of the data over and over again, it might be better to let your infrastructure (e.g application server or O/R manager cache the data).
And then last, but not least: Remeber that everything that can be done in O(n) can also be done in O(n²).
Friday, July 23, 2004
Source code hint
From the source code of one of our projects (anonymized):
:-)
// TODO: IF YOU CAN SEE THIS IT MEANS THAT <name> DID SOMETHING STUPID AGAIN
:-)
Maven - I am not the only one
In this blog entry, Hani Suleiman expresses about maven, what I was always thinking.
I don't grok guys like Konstantin P., who constantly is bashing a working ant based compilation of a tool, while his maven based one "only needs a little more hand tuning".
Did you ever try maven over a modem line? You pull the 6 MB archive just to find out that if you type maven --foo, it starts downloading tons of jars and you just wait for an hour. Then you think "ok, now everything is set up". Yes, there is an offline option, but then half of the commands don't work.
I completely understand Hani...
I don't grok guys like Konstantin P., who constantly is bashing a working ant based compilation of a tool, while his maven based one "only needs a little more hand tuning".
Did you ever try maven over a modem line? You pull the 6 MB archive just to find out that if you type maven --foo, it starts downloading tons of jars and you just wait for an hour. Then you think "ok, now everything is set up". Yes, there is an offline option, but then half of the commands don't work.
I completely understand Hani...
Thursday, July 22, 2004
A little step for mankind, but a big step for Orlando
My little nine month old son Orlando today did his first steps on his own. He pulled him self up at a chair and did some little steps holding and pushing the chair. Wow.
Monday, July 19, 2004
JBoss J2EE 1.4 compatible
According to this press release (PDF), is JBoss the first open source J2EE application server that passed the Sun certification.
Congratulations, JBoss!
Some more links wrt this.:
Heise Newsticker
Computerwoche online
Congratulations, JBoss!
Some more links wrt this.:
Heise Newsticker
Computerwoche online
Friday, July 16, 2004
Bug or feature?
Today, we got a very interesting behaviour with building a larger application at work. We have an ant task at one place like this:
Now when running this with a file modified in . ant reports:
After this we end up with a lot of .class files in ${java.dir}.
So javac seems to not only compile this one file, but also the
files that this one imports.
At the end, this led to different versions of the .class files
with our autobuild system running wild.
<javac debug="on"You see, no destdir set.
classpath="${external.lib.dir}/foo.jar">
<src path="."/>
<src path="../common"/>
<src path="${java.dir}"/>
[... includes ...]
</javac>
Now when running this with a file modified in . ant reports:
compile:
[javac] Compiling 1 source file
After this we end up with a lot of .class files in ${java.dir}.
So javac seems to not only compile this one file, but also the
files that this one imports.
At the end, this led to different versions of the .class files
with our autobuild system running wild.
Wednesday, July 14, 2004
Does Lego make you a geek?
I recently read Microserfs by Douglas Coupland. One of the big players in the book are Lego stones.
In the story they postulate, that all geeks did play with Lego when they were childs. Now, I did play with Lego, a co-worker and geek still plays with Lego. So at the moment it is 2:0 in favour of the book's theory.
Question: do you also see this coincidence?
In the story they postulate, that all geeks did play with Lego when they were childs. Now, I did play with Lego, a co-worker and geek still plays with Lego. So at the moment it is 2:0 in favour of the book's theory.
Question: do you also see this coincidence?
Tuesday, July 06, 2004
Bye Java 1.5 -- hello Java 5.0
In this this press release, Sun renames what should have been Java 1.5 into Java 5.0 to emphasize that this is the most advanced release of the last five years.
I had to look at my calendar to convince myself that it is not april 1st today ...
I had to look at my calendar to convince myself that it is not april 1st today ...
Thursday, July 01, 2004
Recent trip to Bilbao
We have been for a week in Bilbao, Espania. Very nice city. One of the hightlights is definitvely the Guggenheim Museum.
We took a flight with Happag-Llloyd Express directly from Stuttgart to Bilbao. This went without complications. Handling basically was as with all other flights. As we had our little son Orlando with us, we had concerns if he could handle the flight, but he slept through.
To limit luggage, we left his nappies at home, being sure, that it would be easy to find some in Bilbao, but it proved harder to be than we thought. We were looking for a supermarket, but had no luck. We finally bought a fairly expensive pack of nappies at a department store.
Supermarkets like Eroski are all a bit hidden.
The Guggenheim really is a good show and a great architectural piece.
We also spent three days on the beach. Getting there is easy with the Metro (the stations were designed by Sir Norman Foster), which is cheap (3 Euros for a day ticket per adult). They also have complete GSM coverage in all tunnels.
Bilbao seems to have changed a lot in the recent years. There are new buildings all around and a good walk along the Nervion River.
Life in Bilbao is really different from what it is in Stuttgart (or Germany in total). There are bars and cafes all around, while we only saw one Burger King and as many Mac Donalds and Pizza Huts. In the evening, virtually everyone is standing in front of a bar, eating some Tapas (fingerfood) and having a drink. For lunch, the restaurants offer "menu de dia" with starter, main course, desert, water and wine and an esspresso for as much as 8 Euros with big portions at good quality.
Also shops tend to be open less than eight hours a day with a big break ("siesta") in between 1pm and 4pm.
Pictures are available at the picture page.
Tuesday, June 22, 2004
Eclipse 3.0 is out
In this press release, the Eclipse Foundation announces the availability of Eclipse 3.0.
From the release plan this was not anticipated as RC4 was due on 25th and the final release only at the end of the month.
Interestingly enough, at the time of this writing, no download is yet available.
So was the press release only launched at (summer) solstice to announce another eclipse? :-)
From the release plan this was not anticipated as RC4 was due on 25th and the final release only at the end of the month.
Interestingly enough, at the time of this writing, no download is yet available.
So was the press release only launched at (summer) solstice to announce another eclipse? :-)
Sunday, June 20, 2004
Stuttgart Lauf
Today I did the 7km running at the 11. Stuttgarter Zeitung-Lauf.
The Stuttgart-Lauf is a mass competition: in total around 18.000 people were running, inlining or even driving wheel chairs.
I did run in the 7km run (which actually is 7.6km) and am happy that I was able to completely run through without pausing, although I did not do any practising at all.
As usual (this was my third participation), there were supporters all around the track, making noise, music and just having fun.
The following picture will give you an impression on what you see when you are actually on the track
Runners at Stuttgart-Lauf
Update: there have been 19.622 starters in total of which 9600 did the 21km run. (Reference: Stuttgarter Zeitung).
The Stuttgart-Lauf is a mass competition: in total around 18.000 people were running, inlining or even driving wheel chairs.
I did run in the 7km run (which actually is 7.6km) and am happy that I was able to completely run through without pausing, although I did not do any practising at all.
As usual (this was my third participation), there were supporters all around the track, making noise, music and just having fun.
The following picture will give you an impression on what you see when you are actually on the track
Runners at Stuttgart-Lauf
Update: there have been 19.622 starters in total of which 9600 did the 21km run. (Reference: Stuttgarter Zeitung).
Tuesday, June 15, 2004
heise online - Mario Jeckle ist tot / Mario Jeckle is dead
Mario Jeckle is dead -- this is very sad news. Unfortunately I only met him once (at the
iX Conference last year). Mario was really a nice, cool and knowledgable guy.
He died on 2004/06/11 while he was trying to help others.
One reference amongst many:
heise online - Mario Jeckle ist tot
iX Conference last year). Mario was really a nice, cool and knowledgable guy.
He died on 2004/06/11 while he was trying to help others.
One reference amongst many:
heise online - Mario Jeckle ist tot
Wednesday, June 09, 2004
heise online - Open-Source-Server für Java 2 Enterprise Edition 1.4
Heise online reports that JOnAS did their first J2EE 1.4 release, beating JBoss in that area.
heise online - Open-Source-Server für Java 2 Enterprise Edition 1.4
heise online - Open-Source-Server für Java 2 Enterprise Edition 1.4
Sunday, June 06, 2004
heise online - Sun will Java-Quellen freigeben
Heise writes that Sun wants to put java into open source: heise online - Sun will Java-Quellen freigeben
EJB 3.0 steered by politics? A conpiracy?
There are various articles like Forums - EJB 3.0 steered by politics? that express that EJB 3.0 must be the result of a conspiracy or of politics or what ever, but in any case not the result of technical discussions.
I don't think so. I have to admit, that I am pro JBoss, so I am biased.
The voices that come up are from the usual suspects in the established commercial market like commercial app server vendors or JDO vendors that really fear their market share being taken away by Open Source like JBoss. But not only JBoss, but also new frameworks from Apache etc. The biggest difference between Apache and JBoss is probably, that JBoss Inc. is now a company, while all Apache stuff is always hyped no matter what good it is.
It might be good for EJB and J2EE that someone from a different viewpoint is now leading the technical discussion. Who knows - perhaps in EJB 4, IBM will be the technical lead. Or Macromedia. Or ...
I don't think so. I have to admit, that I am pro JBoss, so I am biased.
The voices that come up are from the usual suspects in the established commercial market like commercial app server vendors or JDO vendors that really fear their market share being taken away by Open Source like JBoss. But not only JBoss, but also new frameworks from Apache etc. The biggest difference between Apache and JBoss is probably, that JBoss Inc. is now a company, while all Apache stuff is always hyped no matter what good it is.
It might be good for EJB and J2EE that someone from a different viewpoint is now leading the technical discussion. Who knows - perhaps in EJB 4, IBM will be the technical lead. Or Macromedia. Or ...
Sunday, May 30, 2004
War driving? War walking!
Just went out on our balcony to see if my wlan has access there. It hasn't. But I found an access point of one of the neighbours. No WEP, no nothing. While I was still pinging around a bit, it offered me a IP address. Pinging the .1 in that subnet was successful. Directing the browser at that host gave me a login screen of the access point asking for a password.
Next to the password entry field, there is a text saying "The default password is 0000".
And yes, the user didn't change it ...
Next to the password entry field, there is a text saying "The default password is 0000".
And yes, the user didn't change it ...
Saturday, May 29, 2004
My Ixus is broken
My Ixus is broken and only shows a 'E18' error.
There is a website that shows in many picutures how to fix it.
After diassembling the first parts, my girlfriend decided to get another
one on eBay.
It looks like fixing that error is a task for a long winter night. With a big table covered by a white sheet, so that you find all parts again.
There is a website that shows in many picutures how to fix it.
After diassembling the first parts, my girlfriend decided to get another
one on eBay.
It looks like fixing that error is a task for a long winter night. With a big table covered by a white sheet, so that you find all parts again.
Friday, May 28, 2004
freshmeat.net: Project details for XDoclet
Marcus updated the
freshmeat.net: Project details for XDoclet. I am curious how many people will have a look at it or if downloads and website hits will increase.
freshmeat.net: Project details for XDoclet. I am curious how many people will have a look at it or if downloads and website hits will increase.
Sunday, May 02, 2004
Over the last two days, I had some very strange behavior of JBoss. I was fiddling around with JAAS, EJB security et. al. The code just didn't want to do what it should. After Explorer (this was on Win2k) crashed a few times, I rebooted. And voila: JBoss behaved as it should with my app just running. *sigh* This really cost me a day.
In the past (as a (former) NetBSD hacker) I told people that WinNT and 2k isn't that bad and that they are stable bla bla bla. This really changed my opinion :-/
In the past (as a (former) NetBSD hacker) I told people that WinNT and 2k isn't that bad and that they are stable bla bla bla. This really changed my opinion :-/
Friday, April 30, 2004
Saturday, April 17, 2004
I am now (for nearly two weeks) invloved with Xdoclet as commiter. Xdoclet is a code generator, where you add tags in javadoc format to your source (@foo.bar). Xdoclet then generates Java files and deployment descriptors. Currently I am wading through JIRA, their trouble ticket tool. It's quite some work. But fortunately, you see a result.
I am also currently writing an article for iX magazine about Xdoclet. I submitted it to the editor two days ago in the afternoon, saying that it is not clear when there will be a next release. In the evening, there was a mail on the developers malingl list saying "hey, do we want to release this weekend?" :-)
I am also currently writing an article for iX magazine about Xdoclet. I submitted it to the editor two days ago in the afternoon, saying that it is not clear when there will be a next release. In the evening, there was a mail on the developers malingl list saying "hey, do we want to release this weekend?" :-)
Thursday, April 15, 2004
Gavin King (the hibernate guy) is writing about SFSB. While not everything he wrote is correct (according to the comments, which I did not verify), his last sentence Lesson: beware J2EE folklore! is completely true.
I often hear "CMP is useless". When you ask people why, they tell you some myths or results from a foaf or things they experienced years ago, which is not true on a modern CMP 2.x server like JBoss.
I often hear "CMP is useless". When you ask people why, they tell you some myths or results from a foaf or things they experienced years ago, which is not true on a modern CMP 2.x server like JBoss.
Wednesday, April 14, 2004
We have been at our local OBI store on Saturday. Over the loudspeaker, the lady was announcing "And now, just in time for eastern: out four million megapixel camera is on stock again". She was repeating this every then minutes.
Wow, they are having such a product at a consumer store, while you can't even buy that in high-end shops. :-)
Experience from the past (marketing guy is pretending that a megapixel screen can display 16 million colors simultaneously) showed that it doesn't make sense to tell the lady that four terra pixel cameras are still a bit in the future.
Wow, they are having such a product at a consumer store, while you can't even buy that in high-end shops. :-)
Experience from the past (marketing guy is pretending that a megapixel screen can display 16 million colors simultaneously) showed that it doesn't make sense to tell the lady that four terra pixel cameras are still a bit in the future.
Thursday, March 25, 2004
Tuesday, March 23, 2004
In Bruce Landon's Weblog for Students
he is writing: Jython really needs is more recognition from Sun and IBM .
I am not sure on this. To me it seems that at least IBM has a tendency to use things in a way that if you started with it once, you can't really move to another tool. Best example is WSAS 5 with WSAD. Support for DB/2 is far superior to support for other databases.
Now back to Jython: what could more recognition from one of those companies mean? Will there be a WSAD4Jython that gives comfortable editing et. al., while no plugin for Eclipse is supported?
he is writing: Jython really needs is more recognition from Sun and IBM .
I am not sure on this. To me it seems that at least IBM has a tendency to use things in a way that if you started with it once, you can't really move to another tool. Best example is WSAS 5 with WSAD. Support for DB/2 is far superior to support for other databases.
Now back to Jython: what could more recognition from one of those companies mean? Will there be a WSAD4Jython that gives comfortable editing et. al., while no plugin for Eclipse is supported?
Sunday, March 21, 2004
I have been at CeBit, worlds largest IT exhibition.
Amongst others, I met Marc Fleury and Sacha Labourey from JBoss again. JBoss really seems to start now - also in Europe. The two guys had one meeting with the press after the other.
As in all the years, the parts at Heise publishers was great. This year it wasn't at their booth, but in EMC near central station.
I met quite some people therer, but didn't really see much new things. I think meeting old friends again there is the real purpose of all the fair business.
Amongst others, I met Marc Fleury and Sacha Labourey from JBoss again. JBoss really seems to start now - also in Europe. The two guys had one meeting with the press after the other.
As in all the years, the parts at Heise publishers was great. This year it wasn't at their booth, but in EMC near central station.
I met quite some people therer, but didn't really see much new things. I think meeting old friends again there is the real purpose of all the fair business.
Sunday, March 14, 2004
Today I stumbled over the this articles about Continous Integration.
I agree with it. The most interesting part is about being able to do a daily build and the pros and cons of it.
I often hear the same ("No, I don't run the testsuite between edits, this takes me 10 minutes each").
Then it says:
I am not sure, if this is enough when done on a central test machine or if even developer has to run through this before even being allowed to check changes in.
Oh well ..
I agree with it. The most interesting part is about being able to do a daily build and the pros and cons of it.
I often hear the same ("No, I don't run the testsuite between edits, this takes me 10 minutes each").
Then it says:
We are pretty aggressive about what we mean by a successful build.
* All the latest sources are checked out of the configuration management system
* Every file is compiled from scratch
* The resulting object files (Java classes in our case) are linked and deployed for execution (put into jars).
* The system is started and suite of tests (in our case, around 150 test classes) is run against the system.
* If all of these steps execute without error or human intervention and every test passes, then we have a successful build
I am not sure, if this is enough when done on a central test machine or if even developer has to run through this before even being allowed to check changes in.
Oh well ..
Wednesday, March 03, 2004
It looks like social networking sites are the new in things on the net. Lately I got invitations to Orkut and OpenBC. While browsing at Orkut, i found lots of people that are not only attached to one networking site, but to many of them.
I think that those networks can be very additive - especially when they allow to rank others and to be ranked, when they show how popular one is etc.
I really wonder when those communities start their business plans. OpenBC as an example first offeres their commerical premium services. When after a month you are accustomed to all the features, the account falls back to the normal version and you have to pay to get the level of service that you know.
And by the way: the grandmom of those sites, Sixdegrees is currently down for relaunch.
I think that those networks can be very additive - especially when they allow to rank others and to be ranked, when they show how popular one is etc.
I really wonder when those communities start their business plans. OpenBC as an example first offeres their commerical premium services. When after a month you are accustomed to all the features, the account falls back to the normal version and you have to pay to get the level of service that you know.
And by the way: the grandmom of those sites, Sixdegrees is currently down for relaunch.
Subscribe to:
Posts (Atom)