Problems connecting with jconsole to linux jvm

Lately I had problems configuring the JMX remote management for tomcat servers running on Ubuntu linux servers. After configuring everything necessary like the com.sun.management.jmxremote JVM parameters and the password files I still got connection errors when trying to connect from my Windows system to the server via jconsole. I found this bug entry for the Sun Java VM with some interesting suggestions. In my case the problem was a wrong configuration of the /etc/hosts file. Read more →

Error code 1920 when installing VMware converter

I am just preparing our Windows 2003 Small Business Server to be upgraded to Small Business Server 2008. Therefor I tried to install the VMware converter tools to convert the old server to a virtual machine before upgrading it. My problem was that the installer always complained about not being able to start the converter service with the following message: VMware vCenter Converter Standalone — Error 1920 Service VMware vCenter Converter Server (vmware-converter-server) failed to start. Read more →

Default Rounding Mode in Java

Lately I was a bit surprised when I found out that the default rounding mode in Java is something called “half even”. This API docs page provides good information about rounding in Java. For HAVE_EVEN it says: Rounding mode to round towards the “nearest neighbor” unless both neighbors are equidistant, in which case, round towards the even neighbor. Behaves as for RoundingMode.HALF_UP if the digit to the left of the discarded fraction is odd; behaves as for RoundingMode. Read more →

Eclipse building workspace hangs

Today I encountered the problem that every time I started one of my Eclipse workspaces it always started to build the workplace and could not finish it. The progress monitor showed additional tasks waiting but I could not stop them. After killing the Java VM process several times and starting up again I searched for a solution and found this page. I already heard about the clean command line argument and after adding it to the command line it resolved my problem. Read more →

The size of java.util.Calendar

A friend of mine asked me why his Java batch job reading a 23MB text file took over 300MB Memory. He read some text and date values and stored them in String an Calendar objects. A short web search brought up this blog post of Jason Rennie writing about the size of java.util.Calendar. He points out that a single instance of java.util.Calendar takes 432 bytes of memory. This was the explanation – 500000 calendar objects need 206MB memory! Read more →

Internationalization and JavaScript

Lately the amount of JavaScript in web applications has grown a lot. JavaScript has always been there but with the need of AJAX and more and more dynamical features modern web developers can not avoid it. Luckily there are a lot of good concepts arising and libraries available (e.g. prototype, yui, …) that show how to control the JavaScript monster. Something that always bothered me was that I was not able to find a good editor for JavaScript. Read more →

There Ain’t No Such Thing as Plain Text

Jeff Atwood posted a link to a site that sells T-shirts and stickers with the following image: I am thinking of ordering some of them. Handling encodings is a very important part of programming and from my experience a lot of developers do not care enough about it. I encourage every developer to read “The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses! Read more →

Fixing memory leaks of Internet Explorer 6

Lately we experienced a lot of performance problems in our AJAX applications. Since we went online a year ago we always had problems with users of Internet Explorer 6 but within the last three months they got more and more. We already knew that this had something to do with the huge memory amount the Internet Explorer 6 uses after some hours of working with our application. I used the Process Explorer to analyze which page causes the problem. Read more →

@Override specification changes in Java 6

Between Java 5 and Java 6 changes to the specification of @Override have been made. In Java 6 it is possible to add the @Override annotation to methods that implement methods of an interface which is not allowed in Java 5. I noticed the difference when a friend told me that he had to remove all the @Override annotations to make his Java 6 project compile with Java 5. The interesting thing is that there is no documentation about this change. Read more →

Ten years of “mobility”

Nearly ten years ago I bought my first mobile phone. I will take this anyversary as a reason to write a small sumary about all the phones I had within the last decade. August 1998 – Samsung SGH My first mobile phone. I bought this one with a prepayd card called B-Free from Mobilkom Austria. In this time there were not many phones around and most of them were Nokia (the better ones) or Alcatel (the cheap ones). Read more →