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.
Saturday, August 28, 2004
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.
Subscribe to:
Posts (Atom)