Category Archives: Off-Topic

Two weeks offline and the world goes crazy ..

Exactly at the day the commercial-mega-event called Olympia started, I decided to not endure that kind of non-sense and to make a trip to the British Main-Island. Getting out of Europe for a while is relaxing.

In Edinburgh I learned that you can get a nice little tomb for just 100 pound. (David Hume stated that he wanted to be buried on the Calton Hill, but as he was a true scottsman, he ordered that the cost of his tomb shall not exceed 100 pound. Nowadays, the fine for dropping dead in a non-designated area for dropping dead is probably much higher than 100 pound.) With two or three festivals going on at the same time, I’m not entirely sure that I’ve actually seen natives anywhere. I guess most of this shy population moved into shelters on the highlands to wait until the tourist invasion (including me) is gone.

There’s not much to say about our next stop: Southampton. If you have ever been to communist-area east-germany, then the picture is familiar. Most shops on the main-street were owned by a chain called “To Let”, although they did not seem to offer much to sell there. The people in the streets were depressed and just to imagine living there sent me cold shivers down the spine. The constant rain did not help to lighten up our mood there.

And finally, London, was – as usual – a better place. Roaming the northern and western parts of Greater London, we were truely amazed how many green spots and lovely neightbourhoods you can find there. Although we avoided the southern and eastern areas (as this was not meant to become a adventure trip), London turns out to be a sweet spot to live. And speaking about expensive living: If you have the patience and don’t trust the High-Street lettings agencies, then it is quite possible to find affordable homes. They key is simply: Dont trust the glossy internet and paper ads of the large agencies, speak to the smaller local agencies instead.

But comming home and opening my news crawler, the world does no longer look so bright. Georgia attacked Ossetia (which is protected by Russian Peace Forces under a UN-mandate), and naturally got heavily slapped. As Georgia plays a important role as transit country for oil and gas from Asia to Europe, the country automatically is counted as democracy. Therefore the NATO, the US and some countries of the EU stepped up to defend that garden of freedom. (Give us a couple of years with our own governments, and all NATO members will have the same high standard of freedom of speach as Georgia.)

For now, it seems as if the NATO and Russia are heading towards a new cold-war (that’s the positive alternative) or a real war, if we insist of supporting that war-monger. But then again, attacking without cause is common nowadays, and if the US can invade countries for no real reason, Georgia can surely do the same. It really does not help the cause that Poland is a base for the US missle shield. And we Europeans would probably be in a better position, if the majority of our gas would not come from Russia. In times like these, you learn to apprechiate the global warming, as it helps to reduce our dependency for gas.

On the economic side of life, Fannie Mae and Freddy Mac seem to struggle whether to bite the dust sooner or later. If they wait any longer, and their shares fall further they probably won’t have enough money to buy the rope to hang themselfes. But letting them drown may or may not be a viable option, as China seems to be a bit upset if they would loose money in that process.

Is it time to worry? Traders of physical gold and silver report an very high demand from people who want to buy. But nonetheless, the gold price goes down. Yes, both switzerland (1000 tons) and the European Central Bank (500 tons) sell their gold deposits like crazy, yet still that does not explain the falling prices, as many fonds seem to play games with the market right now. But once the crisis hits as hard as 1929, then being in the possession of gold may be a act of treason (as it was in the US until 1974). So *if* you intend to buy gold, do it in a country with free markets, like Switzerland.

Nuclear power is safe*

*except for certain black-out dates

Yesterday, once more nuclear power has been proven to be to dangerous to be handled by humans. At the site of nuclear plant of Tricastrine, about 360kg Uranium leaked into the local water system.

So far, that’s nothing big, such things happen from time to time. Eventually, we get used to it. But it shows, that not only the plants itself are a can of worms, but all activities around the nuclear power production chain can have devastating long term effects.

The radioactive half-life time of Uranium-235 is 704 million years. So in only 352 million years, the radioactive pollution in that area will be down to half of the level it is today. Great, so your grand-grand-grand-(repeat 10 million times)-grand-kids will be lucky enough to live in a somewhat healthy area again.

But this incident must not be seen as a singular incident. Nuclear waste is generally disposed in rock salt and old salt mines. The salt is supposed to keep the waste dry and to prevent any contamination of the ground water. So far the theory. Newer research showed, that this disposal schema is not safe at all. Nuclear waste still generates heat as the nuclear processes never stop. Research now has shown that salt rock deforms when being exposed to constant temperatures of 100 degree celsius and more. Although the experiments were conducted in a laboratory only, the result indicates a great risk of storing large amounts of nuclear waste in such salt mines for  a couple of thousand years. As a result, the only safe way to store nuclear waste is to monitor it actively for the next … 350 million years.

(Home work exercise:  Calculate the full costs of 1.70 MWh nuclear power under the unrealistic assumption that energy companies are paying for *all* clean-up costs for as long as the nuclear waste is dangerous to humans. 1.70 MWh equals one barrel oil.)

During the last years, nuclear power plants have been proven less safe than advertised. In 2006 at  Ringhals nuclear power plant in Sweden, a fire shut down the plant and a faulty emergency power aggregate almost lead to a melt-down. The emergency power is required to safely shut down the plant in case of black-outs. Without a safe shutdown, a melt-down is the guaranteed result.

The very same security architecture was installed in the German nuclear plants in Brunsbüttel and Krummel (link in German), which also had to be shut down after a fire and short-circuits in the emergency power system.

And just in June this year, a Europe wide nuclear alert was issued after a accident in a Slowenian nuclear plant.

Despite the fact that Germany has a rather strict monitoring of the security of nuclear power plants, the list of incidents and accidents in German nuclear power plants is still impressive.

How many Chernobyl-style disasters have to happen, before we realize that the risk and long term costs  do not justify the short-term profit of nuclear power.

Germany, Sweden and Spain agreed to stop using nuclear power within the next years.

Italy had been a nuclear free zone for the last 20-years, but due to the current power-holder Silvio Berlusconi Italy will most likely return to use nuclear power in 2013.

So the question is: What do you value higher: Short-term solutions to well-known energy problems which everyone chose to ignore for the last decades or long-term safety and a healthy environment.

Why OpenSource is the thing that changes the world

During a TED conference back in 2005, Yochai Benkler gave a great talk about why OpenSource and the whole social production schemas we saw emerging during the last years are a revolution as big as the transition of agricultural societies into the industrial age.

We in the OpenSource crowd of course know that our path is leading to a bright future. But if you go out and randomly select one of the many OpenSource community members to explain, why this thing is THE BIG THING, you probably end up drowned in words but you wont be smarter than before. Until now, I haven’t found a explanation as clear and simple as the one given in this 17 minutes talk.

Watch the  recorded conference talk.

It’s election time: Lets bash the poor!

Starting this year and continuing next year, Germany entered a series of state-government elections that will find its culmination in the federal elections next year. OK, given the fact that both major parties were to weak to dominate the politics and (fortunately) to stubborn to put their differences aside, the last three years were a low-intensity election campaign.

After the technocratic reign of Gerhard Schöder (who not only managed to trash the social security systems by granting tax breaks for the rich and boosting the replacement of ordinary jobs into a new low-wage job sector (low wage jobs are exempt from paying taxes and from contributing to the social security system), the Social Democrats got massively slapped for their right-wing politics. As the “social” party’s actions were indistinguishable from the actions the conservative and neo-conservative parties would have done if in power, these parties got slapped in 2005 as well (for not only allowing but actually actively supporting this policy). With both major parties throttling each other, the government was finally busy just blaming each other than doing yet another reform. This way, the country at least got a break.

But with the formation of a new left-wing party to fill the gap the declining social-democratic and conservative parties, everything is open now. The new party already is strong enough to win a massive number of seats in the parliaments – and it’s movement still growing. To the traditional parties that used to be in power since the end of the war, this possible loss of influence is horrible. Loosing 20% of their market share within two years is a shocking experience. And shocked people tend to react in strange ways. But listen:

Of course, (despite the fact that banks are crashing and the weak dollar is a deadly thing for the export-oriented German economy) we are at the beginning of a boom. (Remember: Its election time, so truth is one of the few things you can’t expect from the propaganda system right now. If you’d only listen to the media coverage, you would have known that we have been at the beginning of the boom since the dot-com bubble crashed.) And so, officially, the number of unemployed people is as low as never before in the last 20 years. Right now, the official number tells that 3.413.921 are officially unemployed. This is the number you’ll hear throughout repeated by politicans and media all the time. But reading the statistic tells a different story: 1.531.940 people were “employed” in so called trainings and employment incentives and therefor do not count as unemployed. The effect of these trainings is proven to be equal to nothing, but hey, we cannot afford the negative image of 5 million unemployed people.

(Compared to March 2005, the number of people receiving well-fare or unemployment support did not change much; it went up from 7.977.502 in March 2005 to 8.027.980 in April 2008. But we are in a boom! You just have to believe in it and it will become true.)

According to the report of April 2008 a total number of 8.027.980 persons depended on additional well-fare subsidiaries for their survival. Given the official 40 million people that form the German workforce, this means that 20% of the people out there either have no jobs or cannot live from the minimum wage jobs they have. Of course, Germany does not have minimum wage laws, as this would harm the market. Therefore in some regions where hourly rates of 2 to 3 Euro for full-time jobs have become common.

The social-democratic*  changes of the poor-laws already introduced lowest-wage work throughout the country. Nowadays, it is common (especially in the declining traditional industries) to find yourself replaced by temporary workers or subsidized workers from one of the many employment incentives. Why pay 15 or 20 Euro, if you can get workers that are forced to work (quitting or getting fired means you would not get well-fare support anymore) and that are guaranteed to not complain? And of course, these forced-labor workers have no union-rights, no job-security or any other protection a regular worker might enjoy.

The negative impact of that policy now starts to become widely visible. The costs for the social security explode, as the income generating high-wage jobs erode and cost-generating low-wage jobs grow like cancer.

In that situation and with a clear road to destruction ahead, what is the most stupid thing you can do? Right: More of the same bad medicine. The latest plans (as usual paid for by the Bertelsmann foundation, a neo-conservative think-tank of the worst kind) outline a model where everyone who receives well-fare is forced into a low-wage job. But as there are not enough of these jobs, the industry should be allowed to participate on these programs. Of course, the industry would never ever think of replacing their regular workers with these slaves. Never, especially as the plan forces the industry to offer the products created by this system not under a minimum price that is equal to the price of the product when created by regular workers. Or in other words: they get a guaranteed profit margin for all the troubles they have.

Of course, this only speeds up the decline of the whole social system, and makes sure that the Inverted-Robin-Hood principle comes true: Take it from the poor, give it to the rich. Or as all criminals know: It is easier to extract small amounts of money from a million persons than to extract millions from a bunch or rich persons.

The study itself talks about the positive effects a similar system had in the US. Hmmm .. funny, Michael Moore tells otherwise. And even such old studies like Gabriel Kolbs “Wealth and Power in America: An Analysis of Social Class and Income Distribution” (1962) tell us, that only one third of the unemployed are covered by social security and that 35-40% of the families in the US were forced to live below the maintainance standard (which is the minimum income needed to maintain a sustainable living) a while 12-25% even lived below the emergency standard (which is the minimum income needed to survive for a short time) (Source: Wikipedia). Well, if the future our politicans want to achieve looks like the past and current state of the U.S., then our society will be back in the same dark times as before the war, with extreme differences between the poor and the rich and no or only minimal connection or exchange between these two worlds.

What a brave new world we build.

* I use the term ‘social-democrat’ loosely here, as the words ‘social’ and ‘democratic’ should not to be mixed with the party or social system we have today. Calling the ‘social-democratic’ party social is like calling the roman-catholic church a progressive think-tank.

Bloatware JDK

When it comes to the question of “what JDK does your application runs on”, my answer “JDK 1.2.2” usually causes a lot of raised eyebrows, along with questions like “That’s pretty old? Why don’t you update? There are so many new features in the new !”

Well, until now I haven’t found a feature that was compelling enough to upgrade.

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left.”

Starting with JDK 1.3, Sun wend on a strange and weird expedition with its JDK.

The classes in the JDK define the core functionality set of the Java Language. In the old days of JDK 1.2.2, this core feature set was a sensible minimum for working with Java. Anything beyond that functionality would have to be added as extension-library or application-library (the difference between the two choices is minimal; extensions are managed by the boot-classloader, are always trusted and always available to all applications. Extensions are added by copying the JARs into the $JRE/lib/ext directlry. Application libraries are untrusted by default, are application specific and are therefore only loaded if specified on the classpath. There is no limitation in what functionality you can achieve in either way, its just “do you have to set the classpath or not”.

In JDK 1.3 Sun started to copy JNDI and a Corba-ORB into the JDK. Before that, JNDI was a separate extension library, while the ORB was a external product. So there was no reason, other than feeling the need to have some new features, to pump up the size of the JDK.

The reasoning for the Corba-ORB is particulary funny. From the README: “This eliminates the requirement for licensing and distributing third-party Java ORBs.” The last time Microsoft tried that reasoning, they got sued to the ground. Well, Sun could as well just have made that ORB available under a free (as in beer, I dont want to be so demanding to ask for “as in speech”-freedom yet) license with the same effect. But (I guess) CORBA was  what all the “cool kids” used at that time, so the JDK would have to follow.

I yet have to see Corba-based applications outside the scope of heavy enterprise applications (which normally use the Enterprise Editon of the JDK anyway)

With JDK 1.4, Sun started to mess around with the language specs (and never stopped since then). The formerly extension libraries JAXP and Java-ImageIO were added to the JDK. Looking at the very sucessful open-source market, Sun also added a Logging API (which is a cheap and horrible to configure copy of Log4J), regular expressions (ignoring the fact that there are plenty of well-established RegExp-libraries available), a new Printing-API and a preferences API.

Again, most of these libraries existed as separate projects before, and none of these libraries requires special attention from the JDK to run. So there is absolutely no reason for them to be a core functionality.

The printing API is not that bad, but there was and is no reason for that being a core functionality. The API could have been created as a ordinary JDK-extension, and thus not adding a megabyte or two to the JDK. As JNDI failed to get acceptance from the users, Sun tried again, and added a Preferences-API. Giving developers a sensible API for storing application preferences is a good thing, no question. But that whole API smells just like a simplified version of the JNDI system. So instead of providing a sensible JDNI default implementation, they prefered to add something new. Sweet, more space wasted.

Then there was JDK 1.5 (or 5.0, as Dot-Net was approaching, and so Sun had to show that Java was more mature. Sooner or later we will see a “Java XP”, I guess. For the first time, Sun did not add new libraries (updating previously added libraries does not count as something new, despite all marketing claims), yet still managed to mess around with the language to introduce a new layer of possible bug-injection points.

But heaven did not last long. JDK 1.6, (I guess after running out of libraries to add without looking stupid,) now ships with a whole database system. Embedded databases are perfectly suited for desktop applications, sure, but for ages they roamed freely through forrests and over plains, and people used them like any other library. So what’s the point in adding yet another 20MB of Jars to the already huge JDK? What makes this move even more ridiculous: Java-DB is not even part of the JDK 1.6, it is installed in a separate location and has to be activated manually. For now, the JRE also does not ship with that database – but you can bet it will later!

I really wonder – what’s the reasoning behind that? Do they want to copy each aspect of Dot-NET (including the 5GB runtime called “a Windows installation”)? Or is this just a “I’ll scratch your back” move towards IBM (which orignally developed Java-DB (aka Derby, aka DB/2-Embedded)?

So make the insanity obvious, just look at the numbers:

JDK 1.2.2_17; Windows; International Version: 7.18 MB
JDK 1.3.1_20; Windows; International Version: 7.94 MB
JDk 1.4.2_16; Windows; Multilingual Version: 14.94 MB
JDk 1.5.0_14; Windows; Multilingual Version: 16.10 MB
JDK 1.6.0_5; Windows; Multilingual Version:  15.18 MB

The next JDK (JDK 1.6.0-update 10), finally tries some corrective steps. The JDK will no longer install all bloated core packages; most packages will now be downloaded and installed on demand (Which will give a funny new class of ClassLoader-errors (“HTTP 404: Class not found”).

“The JRE is being modularized, so that bits and pieces of it can be downloaded as needed. In the current prototype, the download needed to support a typical Swing program is between 3 and 4MB.”

At that point, we will be back where we started, at the size of JDK 1.2.2. Sanity wins, finally.

Reasons not to raise kids in the US

At some point creating a safe environment for kids just becomes a bad joke that could be as well fetured in a Monty Python show. According to a story in the  Washington Post, children in the age of 4 or 6 years may already commit sexual harassments.

Well, how crazy can you be? Children that cause problems probably need guidance instead of punishment (especially if punishment means just to file a record that will stick for a whole live).

At some point, I just have the urgent feeling of slapping both the British and U.S. government for their strange views. Arrgh. Is it a genetic error in those people that they think that laws can change the human nature? Not laws change people, education does! And education does surely not mean to put people into jail, using a “three-strikes” strategy; it means fixing the cause of the problems. But how do you teach people to fix the causes, if the attention span of the common voter has been trained to be no longer than the 5 minutes FOX news?

Oh, Lord, please summon a strong Chinese government to take over the struggeling US, so that they can live in a society that honors the United Nations Human Rights Charta and does not spy on its own people.

XML is not text – and Notepad is no XML editor

When the W3C and the big software vendors introduced XML, their marketing departments came up with a lot of bold claims. XML would be a human friendly format, heck, they even claimed it to be human editable.

On a strictly technical side, all of these claims are true.

On a real life side, these claims are simply wrong.

Only very few XML formats are really human readable, most of them describing configuration files. These XML structures usually have been designed by the developer to be human friendly. But merely using XML does not automatically make everything friendly. The only group that considers XML files friendly seem to be software developers.

Test it: open your Open-Office or XML-enabled MS-Office and look at the documents these beasts create. Or listen to a Web-Service conversation, which is just friendly XML. Do you still think XML is human readable and friendly?

But how about the Human Editable aspect. Well, the term alone is sneaky, as human editable does not mean that much. When I was a kid, savegame files were technically ‘human editable’ for me on a regular base. But I would never have claimed that savegame-files are human-editable at all.

XML files are human hackable, nothing more.

Without deep knowledge about the binary level of these files, it is quite easy to transform a valid XML file into a huge chunk of garbage.

XML is in fact a binary format. There are special cases, where a plain text-file editor can be used to alter the contents of an XML file without breaking it – but these cases are an exception, not the rule.

Do not use a text editor for editing XML files.

Like so many file formats, XML is a layered fileformat.

  1. Binary data levelAll content on your disks is just bits and bytes. XML is no exception here. When working with XML content, applications translate the binary content into a internal textual representation (usually Unicode).

    XML files have the option to declare how a application should translate between the binary and character-data level by specifying the encoding in the XML header.

    >

    Common text editors do not interpret this definition and therefore are likely to break the file on a binary level. A file that was stored in UTF-8 encoding and which was later edited in a 8-Bit encoding like ISO-8859-1 will not be readable afterwards.

    Unless you use an text editor that is aware of the XML header, your chances are high to render your files unusable or to introduce subtle errors like corrupted text contents.

  2. XML-Content levelOnce the XML-parser translated the binary content into its own internal text-representation, it will start to interpret the XML syntax and will produce a high-level view on the XML-elements and attributes described by the character-data stream.

    When not using an editor that is aware of the XML-syntax, you have to validate the syntactical correctness of the file by yourself. Luckily XML parsers are really good at spotting these errors as well, so if the file is syntactically incorrect, your parser will likely tell you so by rejecting the file.

  3. Application levelXML only describes the grammar, means: how content is organized on a physical level. It tells you that there are Elements and Attributes – but the XML standard itself does not tell you anything about the meaning and which elements and attributes are allowed on what position.

    The application-level document structure is commonly described in DTD files (DTD = Document Type Declaration) or XML-Schema files. A good XML editor can understand these files and can validate the document to some point. Although this validation cannot guarantee that your XML content will make sense for the application, at least it can tell you whether your content fits the application’s declared expectations.

    Of course, plain text editors will not provide such validation services.

Well, telling everyone not to use Notepad for editing XML files is one thing. But people use text editors because they obviously have a need to edit XML files.

To be suitable for my working style, an XML editor has to fulfill a couple of prequesites.

  • The XML editor must be able to understand the XML-encoding hint in the header (thus solving the binary translation in a reliable way).
  • Of course, it should be a real editor that allows me to write the XML file like source-code (notepad mode, instead of restricting me to a structural tree-view only).
  • If the editor does not come with syntax-highlighting, then I dont want to use it either.
  • The editor must be able to check the XML file for syntactical correctness (ie, all elements closed etc).
  • Being able to validate the XML file agains at least DTDs and XML-Schemas and providing auto-complete capabilities is a huge plus point.

Finding commercial editors for these requirements is relatively easy. But OpenSource? Hmm. thats difficult. In the open-source world, everyone seems to work with plain text-editors (which do a great job on messing up your encodings if you work with files edited on other systems).

Eclipse seems to have an XML editor as same-plugin, but you have to compile that yourself. (Dont ask me why that IDE does not come with an XML editor by default. Maybe they did not want to spoil the business for the commercial vendors. Or maybe this is just honesty of the Eclipse developers, to show you that Eclipse should not be used in Enterprise settings.)

In the open-source world I have never found a xml-editor that is easy to use – the few I stumbled across were so horrible that I did not even bother to work long enough with it to want to save a file.

On Windows, there are a couple of editors that seem to fulfill at least the basic requirements:

As I cant believe that Windows is more than just a gaming platform, I barely use XML editors on Windows at all.

Personally, I work with IntelliJ IDEA, which has great XML-editing capabilities, which cover everything I need on a daily base. (I don’t believe in stuff like XSLT or XPath/XQuery.) It costs less than some of the commercial XML-Only editors (like XMLSpy, for instance) and has a nice Java-IDE included as well.

I’m safe: Weekly consumption of alcohol is good for you

I always instinctively knew, that a constant supply of alcohol is a positive thing. Not only allows it to separate good concepts from flawed ones (also known as Wine-Test), no, it also makes you life longer than those puritans, who drink no alcohol at all. (Of course, as with all medicine, too much is still deadly. But medicine barely tastes half as good, doesn’t it?)

Well, of course all of this is true, at least according to the European Heart Journal

Americans food is the ultimate test

For the last two years I stood in awe how the common American people manage to survive the daily meal. There are countries in the world, where serving a typical American burger or barbecued something is considered a serious crime (if not a violation of the Geneva Conventions). Rumors even say, that the first representative of McDonalds coming to France was shot on sight.

And everyone who ever stayed in one of the many Hotels (for instance in the Orlando Airport area), knows that every word said about the food (no matter how bad) is true.

Well, until recently I also believed that truth.

Gretchen and Doug, two fellow colleagues from Pentaho, introduced me to the other side of the All-American food chain. Their invitation to a charity community meal on Merrit-Island showed me, that there is hope for America. There was a wide variety of foods and flavors, an amazing mix of Italian, German and other european influences composed to a bazaar of eatable things. The world’s cuisines at your fingertips.

Thinking about it, I’m pretty sure that I now know, why they make the Hotel food so bad. Its an test. Only those who survive the horrible food there are worthy enough to even be considered to become citizens. Its the ultimate test: Eat our “food” and risk a horrible death or go back from where you came.

(Which makes me wonder, why still so many Mexicans try to cross the border to the north. But then again: They probably only get spanish style food, like the stuff I encountered in Barcelona. In that case, even the things they serve in the Hotels is an improvement over that.)

So if you’re traveling into the U.S. and dont want to choose between starving to death or risking to eat the tourist-food, then strive away from the main roads and explore what the real country has to offer. You will be astonished!

Without power, but still connected

Today the last bits of energy left my notebook as exess power. Now the whole thing turned into a rather expensive desktop statue.

But I m still here and still connected. The worlds best MP3-player saved the day. Thanks, PSP/2!

I can read, I can write (slowly, as this thing has no keyboard), I can access the net. I am alive!