Holland gegen Niederlande

Die Fussball EM ist ja noch in vollem Gange, auch ohne uns Deutsche. Doch die Österreicher übertreffen mal wieder alles, wie man bei dem klasse Reporter Spass hören kann:

Posted by Karsten at 09:50 | Comments (0) | TrackBack


Eclipse 3.0 finally released

Although announced for the 30th June, the Eclipse Foundation has released the final version of Eclipse 3.0.
I am happy about the end of all the Milestones (M1 to M9) and updates every couple of months, destroying plugins and the total IDE setup.
And it is nice to see all the new features since version 2.1 compiled in one New and Noteworthy Document.
After I omitted all the Release Candidates I will upgrade to the final version and looking forward to see all the plugins working stable again for longer than one month.

Posted by Karsten at 15:54 | Comments (0) | TrackBack


Eclipse Community Education Project

Due to Gabriel Chua's weblog entry about a Eclipse Plug-in Development Course I stumbled over the Eclipse Community Education Project which is an Eclipse Technology Research Subproject. There you can download a free video course on Plugin-Development for Eclipse. Unfortunately this course is based on Eclipse 2.1.x and not the new Eclipse 3.0. This is quite sad. And the course is a bit outdated therefore. It is a well designed course with 9 lessons and comes as a real player stream or download.
Looking forward to see newer material in this project which could be a great resource, but up to now it is a bit empty and useless.

Posted by Karsten at 01:20 | Comments (0) | TrackBack

great web statistics with AWStats

Not only my webhoster has AWStats installed as web statistics tool but also SourceForge.net as announced it as "Project of the month" in June 2004. As a web site manager you need to have a clear idea how much traffic your site receives on a daily basis. While there are many log file analyzers available on the Internet (many at no cost), I am very happy with AWStats.
SourceForge reports:
"AWStats, SourceForge.net's June 2004 Project of the month, is a multiplatform Open Source log analyzer that provides all the statistics a webmaster needs, presented in a very professional, dynamic report. It takes only a quick glance at the project's online demo to see why so many Web professionals are downloading and deploying this software. AWStats has been on SF.net since October 2000 and has had 400,000 downloads since its inception."
It gave me already a lot of hints about where readers come from and what entries they liked the most.

Posted by Karsten at 01:17 | Comments (0) | TrackBack


Updated Links page and Guestbook

Finally I found the time to updated my links page and guestbook. Both pages are now integrated into my weblog, so you can add an comment to the guestbook entry now for a general website comment or post your link into my link page.
I hope to make it now easier to leave a guestbook entry and insert links into my linklist. The biggest improvement IMO is that now the guestbook entries and link suggestions are also filtered with my MT-Blacklist. So spammers get blocked with one simple configuration.

Posted by Karsten at 19:24 | Comments (0) | TrackBack

Java Studio Creator announced

Sun announced "Java Studio Creator" for Monday. Just read the news on Heise about this. The formaly known as "Project Rave" IDE will be available on Monday for 99 Dollars. Currently you can access a Java Studio Creator Early Access Release, but you have to register to do so. This stopped me from giving this new tool a try today. I wonder how it will "feel" like compared to my IDE of choice, Eclipse.
With this tool Sun tries to attack VB.NET and the easiness of M$ development tools. Therefore I guess that the IDE will be very graphic orientated and encourage click based development. I will definitely give it a try. Or does anyone got already experience with it?

Posted by Karsten at 18:39 | Comments (0) | TrackBack


New Weblogstyle

Just did some minor cosmetics on my website, including one header on all pages. This gives a better structure and helps in navigating through my pages.
A lot of things are still not finished. And a common footer is needed as well, but now I am familiar with the settings in MovableType and everything should go smoother now.
How do you like the changes? How do you like my new logo? My girlfriend created it for me, since she is much better with image/Photoshop stuff.

Posted by Karsten at 23:38 | Comments (0) | TrackBack


Joke: Two ints and a Float are in a bar...

madbean.com: [joke] Two ints and a Float are in a bar...

Two ints and a Float are in a bar. They spot an attractive Double on her own. The first int walks up to her. "Hey, baby", he says, "my VM or yours". She slaps him and he walks back dejected.
The second int walks over. "Hey, cute-stuff, can I cook your Beans for breakfast". After a quick slapping, he too walks back.
The Float then ambles over casually. "Were those two primitive types bothering you?", he remarks.
"Yes. I'm so glad you're here", she says. "They just had no Class!"

Posted by Karsten at 13:43 | Comments (0) | TrackBack


Improving Blog workflow with BlogJet

Based on the weblog entry Digital Lifestyle: Newz Crawler and BlogJet I got to know BlogJet and installed it. It's a cool Windows client for my blog to publish new entries on it. You can get it here: http://blogjet.com

The feature I like most is the BlogThis button in the web browser. The marked text is copied automatically and the URI of the web site inserted with a title. Now it gets even easier to write about any stupid fluff stuff.

The next tool on my To-Do list of software I need to give a try is a news aggregator like Newz Crawler. But one software gadget a day is enough.

"Computers are useless. They can only give you answers." -- Pablo Picasso

Posted by Karsten at 17:24 | Comments (0) | TrackBack


Prevent Concurrent Updates through Webinterfaces

When you provide a set of special administrators a webinterface to update a set of data, how do you insure, that the data gets not updated concurrently?
In this case concurrently means, that two persons retrieve the data into a form field and both do updates based on this data. Now in a naive developed webapp, the data of the first save will be lost, since the second one will overwrite it.
To prevent this you can insert a new date field into your database and store there the last value of an update. This date data is stored in a hidden form field and whenever an update is called you check if the submitted date is the one in the DB. If true the data in the form field was up-to-date and an update on the DB is save. Otherwise you have to reject the update and send the new data to the client to enable him to update his part based on the new data.
This is a trick I just learned from Toni at Jato Consulting.

Posted by Karsten at 00:19 | Comments (0) | TrackBack


My IT projects

Jato Consulting

Shortly after my arrival from Australia I started to work for Jato Consulting were I got involved in different projects they do for BMW and Siemens.
They give me the chance to look at different projects and work with different technologies (XML and Digester, Java Timer or J2EE web apps in general).


In Melbourne, Australia, SKEX IT Services gave me the opportunity to gain experience as a development manager. At MojoKnows I was responsible for a development team of four persons, planning releases/tasks in a XP (eXtreme Programming) sort of development process. Beside my team leader role I was 50% of my time coding. My specialties where JMS (OpenJMS) and Struts, but we used a lot of other tools like Hibernate (with XDoclet), Ant, Bugzilla, Tomcat, MySQL, ...

NTU Singapore

At the Nanyang Technological University, Singapore, I wrote my master thesis "A Web-based Medical Image Database System (WebMIDS)". For the implementation, J2EE is used together with the Expresso Framework. MySQL was chosen as database system for the implementation due to limited funds.
A dedicated server was set up with Linux as the operating system and with Tomcat as servlet container.


At Apeiron, a small but very skilled SoftwareService Company, I was participating in the redesign of Almeda and building my first J2EE skills. Almeda is technologically solved with the Vignette Storyserver (a TCL based Template and Content-Management System).
My first J2EE experiences were encountered by experimenting with Struts and an in-house DB framework to build a Intranet Timesheet on a Tomcat server.
I can strongly recommend Apeiron for your projekt in the Java World. Thanks to Christoph Kipp and Andreas Prohaska for the great time there (2001-2002).


My very first IT job was at Siemens, where I was building Intranet applications based on Cold Fusion. The team there was responsible for the business communication of ICN VD. The VD-Trainingsportal and a Intranet FAQ was one of the things i developed there with the help of ColdFusion and NetFusion Objects.
It was a great time and I was touched by the gratification for my extraordinary work.

Private Projects

In my private life I started the Mitfeierzentrale, build the Fasanenhus site and currently a new project is in the pipe.

Posted by Karsten at 08:38 | Comments (0) | TrackBack


How-To: Comments in JSPs

There are two kind of comments possible in a JSP. HTML comments (or visible comments) and JSP comments (hidden comments).
<!-- my comment visible for the client -->
<%-- my comment not send to the client --%>

In one of my projects the JSPs were documented very well with big blocks of comments. Navigating to the point of interest within the JSP code was very fast. That was very good and helped a lot. Unfortunately all comments where in HTML style, so first of all everybody could read them (which was not a problem in our case) but they also caused latency in the download and increased the web traffic (which was not good in our case).
Changing the comments to not generated output comments reduced a webpage for about 20%.
So in general I recommend to use only hidden JSP comments. The only reason I see in HTML style comments is to use it for debug reasons like:
<!-- Debug: myVariable = <%= myVariable %> -->

Posted by Karsten at 22:16 | Comments (0) | TrackBack


Refactoring to generalize

Today at work I was refactoring some of my initial code and it was a great feeling.
First I was doing something like

myUpdate(long id, byte bytAnswer1, byte bytAnswer2, byte bytAnswer3, byte bytAnswer4, ....)

to fill a stored procedure with

MyCallableStatement.setByte (4, bytAnswer2);

Then I realized how stupid it is to make the method signature dependable on the amount of AnswerBytes. So I changed it to

myUpdate(long id, byte[] Answers)

which is much shorter and better from the maintenance point of view.
This also gave me the opportunity to change 10 calls of the above setByte statement to a generic

final int anzAnswers = 10;
for (int i=0;i MyCallableStatement.setByte (i+1, Answers[i]);

I know that it is nothing special, but was a great feeling for me to see how the code evolved and to see the step by step improvement.

Posted by Karsten at 14:45 | Comments (0) | TrackBack

TheServerSide: Caching in web applications article

On TheServerSide a nice article on Enhancing Web Application Performance with Caching was published. Neal Ford from The DSW Group explains the usage of the Flyweight Design Pattern (also from the Gang of Four book) to share objects. That is not my definition of caching, but it reduces the memory usage and helps therefore for the overall performance.
Therefore the article is worth reading.

Posted by Karsten at 09:19 | Comments (0) | TrackBack


Travelling around Germany

The last couple of days we were travelling around a bit through the souther part of Germany. Our first destination was Karlsruhe where we listened to some singing choirs on the street form the queer choir festival in Karlsruhe (Kreisch).
After visting my hometown Stutensee we visited Bruchsal with a very beautiful castle.
Finally we went to Würzburg were we visited the Kulturspeicher which is a nice museum in an old Wheet storage building.
At the highlight of our little trip was a Herbert Grönemeyer Concert (at Amazon)

Posted by Karsten at 00:10 | Comments (0) | TrackBack


Election of the european parliament

Yesterday were the election of the european parliament and I am happy about the result of the greens in Germany and especially in Munich. In Munich the Greens (Münchner Grüne) archieved 23,3% and are second strongest party behind the conservatives.
The only thing I am sad about, is the turnout of people going to the election. This is really really sad. Sad for the people who didn't go. In my opinion it is stupid to miss an election and it is not the fault of the politicians to get closer to the people. It is the fault of the people. If you are not getting involved you cannot blame others.

Posted by Karsten at 23:55 | Comments (0) | TrackBack


Lieblingsautor Rupert Lay

Rupert Lay ist mein Lieblingsautor. Bisher habe ich von keinem Autor so viele Bücher gelesen wie von ihm. Bisher waren dabei:

Nachkirchliches Christentum
Dialektik für Manager
Das Ende der Neuzeit
Meditationstechniken für Manager
Die Macht der Moral
Ethik für Manager
Manipulation durch die Sprache
Vom Sinn des Lebens
Die Macht der Moral
Weisheit für Unweise

Meiner Meinung nach sind seine Bücher die besten Managerbücher die es gibt, da sie viel auf die Persönlichkeitsbildung abzielen und einen weiterbringen und schulen. Das ist ein krasser Gegensatz zu den sonst üblichen: "Befolgen Sie die folgenden Tipps um ein guter Manager zu werden" 08/15 Werken.
Angefangen hatte alles damit, dass ich eine Sendung über die Seminare von ihm im Fernsehen gesehen habe. Darauf haben mir meine Eltern mein erstes Rupert Lay Buch geschenkt (Manipulation durch die Sprache) Seit dem hat es mich gepackt. Meine Favoriten sind Nachkirchliches Christentum, Das Ende der Neuzeit und Weisheit für Unweise.

Weiter Links zum Thema:
Homepage von Rupert Lay
Fairness Stiftung
Ronneburger Kreis

Posted by Karsten at 12:44 | Comments (1) | TrackBack

Petition gegen Softwarepatente

Hallo zusammen,

das Europaparlament plant, Patente auf Software zuzulassen.
Das entzieht gerade kleinen Softwarehäusern die Geschäftsgrundlage, weil große Unternehmen durch die Patente auf "Ideen" die Entwicklung von Software in kleinen Unternehmen blockieren können. Auch die Weiterentwicklung von Open-Source-Software wie Linux wird dadurch erschwert bzw. unmöglich gemacht.

Ich möchte Ihnen/Euch vorschlagen, die im folgenden angegebene Petition zu unterzeichnen, dauert nur wenige Sekunden (es gibt bereits über 340.000 Unterzeichner, und jede Minute kommen ein paar dazu):
Petition für ein von Softwarepatenten Freies Europa

Posted by Karsten at 10:24 | Comments (0) | TrackBack


Pragmatic Code Documentation

Robert Watkins has written a nice blog entry on How not to comment code and I totally agree with him.
Too much comments are definetly a drawback and slow down the experienced user as well as a novice.
But my experience in a various of projects is, that the not or bad commented source code is the one you find most often. And that is really, really bad. Javadocs a one of the greatest inventions. So, stop reading here and start writing comments in your source. ;)

Posted by Karsten at 17:19 | Comments (0) | TrackBack

Europawahl - Am 13. Juni Grün wählen!

Gestern war ich wählen, da ich am Sonntag leider nicht in München bin. Leider ist das Interesse für die Europawahl nicht sehr gross, dabei ist Europa sehr wichtig und die Mitbestimmungsrechte des Europaparlaments durchaus gegeben. Die Grünen werden da auch in Zukunft Ökologie, Gerechtigkeit, Selbstbestimmung, Demokratie und Frieden sichern. Für ein besseres Klima in Europa, braucht es starke Grüne: DESHALB WÄHLEN GEHEN UND WEITERSAGEN! Jede Stimme zählt!
Und auf alle Fälle wählen gehen!

Posted by Karsten at 09:29 | Comments (2) | TrackBack



Die Mitfeierzentrale entstand im Rahmen der Teilnahme am 5 Euro Business und ist eine Idee von mir.
Die Idee ist eine Vermittlungsbörse anzubieten für Freizeit und Reisepartner gepaart mit verschiedenen Community-Services.
Die Domain mitfeierzentrale.de steht mitsamt eines fertigen Konzepts/Businessplans zum Verkauf.
Interessenten wenden sich bitte an support[bei]mitfeierzentrale.de.

Posted by Karsten at 17:02 | Comments (2) | TrackBack


Avoid NullPointerExceptions

This is a simple trick to avoid these nasty NullPointerExceptions:
instead of
if (myVar.equals(MY_CONSTANT))
simply write
if (MY_CONSTANT.equals(myVar))

The second form is better and more stable since it avoids NullPointerExceptions and merely will evaluate to false if myVar is null. But the first will throw a NullPointerExceptions instead. This is what I call defensive programming. Patrick at MojoKnows was a big advocate of defensive programming.

Posted by Karsten at 03:30 | Comments (7) | TrackBack

meine liebsten Links

... sind nun integriert in mein Weblog. Wer Vorschläge für weiter Links hat oder seine Seite gerne verlinkt haben möchte, hinterlässt mir hier einfach einen Kommentar und schon werde ich mein bestes geben ihn einzufügen.

My most favourite links are now bundled in here. If you have any suggestions about new links, just drop me a comment here and I will do my best to link your site.



Calvin and Hobbes



Martin Fowler
Eclipse IDE
The Apache Jakarta Project



Alternate Computer Versand
Webspace4All Webhoster
Folding@home (distributed computing)



Fasanenhus Baltrum (Nordsee)
weiter Links zum Thema



Stadtmagazin für verschiedene
Städte mit Kino, Party, Konzerte, ...



nette politische Linkliste von Claudius Rafflenbeul-Schaub

Posted by Karsten at 00:19 | Comments (1) | TrackBack


Blacklist installed, comments allowed

A couple of days ago I came across MT-Blacklist, a Movable Type plugin to eradicate comment and trackback spam. Today I finally installed it on my karstenvoges.de weblog and it works great.
So from now on the comments are enabled again. I do not know how some spammers found my site, since it is only at the beginning, but I had a couple of spam comments. And spam is very, very annoying.
I can highly recommend the installation of this plugin. It was a ridiculously easy installation, since I had no problems at all. I nearly forgot to insert the Latest Master Blacklist file. It is working nicely and hopefully now preventing these idiots from spamming my site.
So please feel free to add comments.
The next thing is, that I have to refactor the layout and displaying of the comments as well, but that is deferred to some time in the future.

Posted by Karsten at 14:04 | Comments (0) | TrackBack

Scottys Herkunft geklärt

Nachdem ich schon über den Fund von einem Skorpion in unserer Wohnung und der Abgabe von Scotty berichtet habe, kommt heute endlich die Aufklärung über die Herkunft des Skorpiones und wie der kleine Skorpion es zu uns nach München geschafft hat.
Das Zoologischen Institut der LMU, München, hat uns unterrichtet, dass Scotty wohl vom Balkan oder Kaukasus kommt und zwar einen Giftstachel besitzt, der Skorpion aber eher zu schwach ist, diesen durch die Haut eines Menschen zu bohren. Puh, Glück gehabt. Ausserdem ist es eher unwahrscheinlich, dass wir noch mehr davon hätten.
So ist im Moment unsere Vermutung, dass er ins Auto gekrabbelt ist, als Désirée vor 3 Wochen in Kroatien war und sich dann in Ihrem Gepäck versteckt hat.
Im zoologischen Institut sitzt er nun in einem kleinen Terrarium und freut sich seines Lebens im schönen Deutschland. :)
Vielleicht werden wir ihn dort einmal besuchen gehen.

Posted by Karsten at 12:59 | Comments (0) | TrackBack


Fasanenhus Baltrum online

Das Fasanenhus ist ein Ferienhaus auf Baltrum. Baltrum ist eine ostfriesische Insel an der Nordseeküste, und da es eine autofreie Insel ist, ein ideales Refugium für die ganze Familie.
Das Fasanenhus ist einer dieser Orte, an dem man sich so richtig erholen kann. Für mich gibt es kaum einen schöneren Ort. Die frische Meeresbrise, die Dünenlandschaft, und die Ruhe sind eine unschlagbare Kombination.
Schaut doch einfach mal auf den Seiten der Nordsee Oase vorbei, denn Baltrum ist ein absoluter Geheimtipp für den Urlaub. Viel Spass beim Entspannen!

Posted by Karsten at 12:20 | Comments (0) | TrackBack

New Guestbook online

Finally I changed my guestbook, since I found it stupid to have an additional guestbook installed if there is already a comment function in my Weblog.
So this entry is my designated guestbook. Feel free to write a comment about my weblog/website or any other thing.
The old PHP guestbook script got removed. So feel free to reenter your comment.

Posted by Karsten at 01:34 | Comments (7) | TrackBack


Article on Spring, Struts and Hibernate

Wiring Your Web Application with Open Source Java by Mark Eagle is a nice article about building a web application with Java which uses a combination of UI, business logic, and persistence. This article introduces a way to leverage open source software to lessen the burden and uses Spring, Struts and Hibernate.
The article is well written although it lacks some more code and is very high level. But for a first impression on how to wire things and if you are not familiar with Spring it is a nice introduction.

Posted by Karsten at 11:41 | Comments (0) | TrackBack

Music: New Model Army

New Model Army ist meine absolute Lieblingsband. Von keiner Band habe ich mehr Alben (insgesamt 9) und bei keiner Band war ich schon auf so vielen Konzerten (insgesamt 5) Meine New Model Army Alben sind:
History (the Singles 85-91)
Thunder and Consolation
Here comes the war
B-Sides and Abandoned Tracks
The Love of Hopeless Causes
Strange Brotherhood
... & Nobody Else

wobei meine Lieblingslieder über sämtliche Alben verteilt sind. Das faszinierende an NMA ist der eigene Folk-Rock Stil gepaart mit einer Begabung keine ähnlich klingenden Lieder zu produzieren. Soetwas findet man selten, vor allem bei der riesigen Anzahl von Alben die NMA bisher rausgebracht haben.
Dazu kommt noch eine grosse Fangemeinde, die jedes Konzert zu einem Erlebnis macht. Bei einem Konzert in Mannheim (auf der New Model Army ... & Nobody Else Tour) feuerte das Publikum die Band solange an, bis beide Seiten nach 2:45 Stunden nicht mehr konnten. Das habe ich so bisher bei noch keiner anderen Band erlebt.
Der Haupttreibende hinter NMA ist Justin Sullivan, der mitlerweile auch ein Soloprojekt am Laufen hat.
Lyriks, Tourdaten und die neusten Bandnachrichten finden sich unter www.newmodelarmy.org.
Viel Spass beim Probehören. ;)

Posted by Karsten at 01:21 | Comments (0) | TrackBack


AIR: Moon Safari

Moon Safari von AIR ist mein Lieblingsalbum für die Hintergrundmusikgestaltung (tolles Wort, hihi) bei Besuch oder ruhigen Ratsch-/Klön-Abenden.
Die Musik ist entspannend aber interessant. Diese Mischung ist ja eher was seltenes. Vor allem wird es nie langweilig, die Musik wird nie abgedroschen, was bei einigen anderen Gruppen/Alben schon mal der Fall ist.
Ausserdem ist sie schon beim ersten mal hören leicht verdaulich, was auch nicht vielen Musikern gelingt. Alles in allem uneingeschränkt zum Kaufen empfohlen!

Posted by Karsten at 01:40 | Comments (0) | TrackBack


Ein viertel Jahrhundert Geschichte

wurden geschrieben von Karsten Voges. hihi.
Vielen Dank an alle für die lieben Grüsse und Glückwünsche.
Ihr habt dazu beigetragen, dass es heute ein wunderschöner Tag wurde.
Bald wird es hier auch wieder die Möglichkeit der Kommentare/Kontaktaufnahme geben.
Vielen Dank und bis bald.

Posted by Karsten at 18:43 | Comments (0) | TrackBack


Scotty the Scorpion, Teil 2

Heute hat unser kleiner süsser Skorpion Scotty ein neues Zuhause gefunden im Zoologischen Institut der LMU, München.
Leider war der kompetente Prof. Dr. R. Hoffmann nicht verfügbar, aber so werden wir am Donnerstag wieder in der Kaulbachstr. vorbeischauen bzw. anrufen.
Dann wird das Geheimnis um unseren Skorpion vielleicht doch noch gelöst.

Posted by Karsten at 15:51 | Comments (0) | TrackBack