Monthly Archives: January 2009

p300 switching to Java 1.6?

The Java 1.6 features that p300 currently uses (splashscreen, tray icon) are included in a way so that Java 1.5 will still work.

However, I want to do some things that makes this not possible.

Is anyone still using p300 with Java 1.5? Because there is for example only 1.5 for OS X 10.4. Please tell me.

p300 version 1027 has been released

Another year, another release ;) p300 1027 is out. Go and get it.


  • Sound effects in the chat when you send or receive a message
  • Copy own URL to clipboard from main menu
  • Updated launch4j to 3.0.1. Should fix problems with some 64bit Java VMs
  • Auto updater settings are now an advanced settings

Please report all problems, especially if the new sound feature does not work.

Updating Openfire 3.4.4 to 3.6.3 via RPM

In case anyone googles for this, I had problems doing this. Somehow, the DB upgrade scripts were not executed. So it complained because it could not find its tables:

java.lang.IllegalArgumentException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
  Table 'openfiredb.ofID' doesn't exist

What I did was to check in the jiveVersion table which DB version was set for “openfire”. Then I mysql’ed the SQL files in /opt/openfire/resources/database/upgrade manually to the latest version.

Then everything worked fine. Why it didn’t run the SQL scripts automatically? I don’t know. But it once again proves that the quality of Openfire is.. not so high.

Interview mit einem ehemaligen Adware-Programmierer

Nett zu lesen. Unter anderem interessant:

“We did create unwritable registry keys and file names, by exploiting an “impedance mismatch” between the Win32 API and the NT API. Windows, ever since XP, is fundamentally built on top of the NT kernel. NT is fundamentally a Unicode system, so all the strings internally are 16-bit counter Unicode. The Win32 API is fundamentally Ascii. There are strings that you can express in 16-bit counted Unicode that you can’t express in ASCII. Most notably, you can have things with a Null in the middle of it. That meant that we could, for instance, write a Registry key that had a Null in the middle of it. Since the user interface is based on the Win32 API, people would be able to see the key, but they wouldn’t be able to interact with it because when they asked for the key by name, they would be asking for the Null-terminated one. Because of that, we were able to make registry keys that were invisible or immutable to anyone using the Win32 API. Interestingly enough, this was not only all civilians and pretty much all of our competitors, but even most of the antivirus people.”

Hier lesen :)