Category Archives: Rants

InfoWorld – clueless beyond rescue (and JavaWorld reprints it unread)

I recently stumbled across one of the most clueless Java-bashing articles ever published in a Java magazine. JavaWorld reprinted a piece (I would not call it ‘article’) from Infoworld called “How to kill Java dead, dead, dead“.

I don’t mind killing Java in the browser, along with flash and all the other garbage that clogs up my CPU. I have enough bad things to say about the crapware-installing Java-Installer Oracle (and before that Sun) produce. As if there are not enough toolbars out there for unsuspecting users to catch.

No, what I despise is the level of unprofessional ranting from the intern who wrote that article. Seriously, don’t you have any journalists who know how to research an article anymore?

Java in the browser is dead. The Java security model is as flawed as the Flash sandbox model – nice idea but once you get big enough it becomes too complex to handle it safely.

But lets wade through the article.

First, someone please explain that guy that there is a difference between a Java JRE installed on a system and a Java Plugin added to your browser. A program on your system does not necessarily cause a problem. The problem only starts when someone from outside can run programs on your computer without your consent.

When you use your browser (the internet viewer, dear author), then that browser runs programs for you. These programs, in the form of JavaScript or Java-Applets come from a outside source (the web-server) and run on your local machine. So if your browser or one of the plugins has a flaw that allows the outsider to run dangerous stuff, then he can gain control over your computer.

To fix this, fix your browser. Remove the plugins that you don’t need, block JavaScript by default (and use NoScript to enable it when needed), and you will be quite safe. When you remove the Java Plugin, then it does not matter whether your Java installation itself is unsafe, as your browser does not make use of it without a plugin.

After a few paragraphs of clueless rants, he then comes to describe how the Flashback virus was caused by a bad Java installation. Oh, my. Read the first paragraphs of the analysis of Flashback and you learn: It came as a drive-by infection via web-sites. What do you use to view web-sites? A browser. So what do you need to fix? Your browser!

The feds recommended that users disable Java in the browser, and they should. But that still leaves Java on the desktop where it can be exploited, as Mac users found out a couple of years ago to Apple’s chagrin.

Well, let me repeat. Computer do not run stuff on their own. If you are computer-illiterate it may look like it, but someone somewhere has to initiate that communication and tell your computer to invoke a program. If you don’t visit web-sites with your browser, it is unlikely that someone will do something on your system. (If you have a firewall, as Windows users affected by SQLSlammer found out.)

Apple disabled Java mainly for political reasons. First, maintaining a separate JDK fork was expensive and second, Apple wanted to foster a bit of vendor lock-in with its App-Store and hopefully everyone coding Objective-C forever. A platform independent programming system is not good if you are selling a closed platform.

On to page 2 of the article.

Websites using Java? What is this – 1999? None of the banks I know in Germany, Ireland and the UK use Java. None of the Airlines I use (Lufthansa, British Airways, Aerlingus, KLM, etc) use Java. Heck, even Ryan-air does not use Java, even though their website looks like it is from 1999.

Claiming that Java (as applet) is used for thousands of mission critical websites is probably true. The same goes for IE6 along with old ActiveX controls. Internal web-sites of companies are slow to change. But the same companies have administrators who should be able to secure their systems. As a start, they can ensure that separate browsers are used for intranet and internet. If they can’t do that, how about firing them?

(Fact: They don’t. I get two waves of spam delivered and filtered on my servers. One between 9 and 10 my time, and one between 9 and 10 US east coast time. No waves on weekends and public holidays.)

Then he goes on claiming that Java is critical and hard to disable, because of French ex-territorial voters. What? If a french person decides to leave Gods own country to live amongst English speaking people, isn’t that alone reason to take their voting rights away? Or maybe the french government is as clueless as every other government when it comes to technical decisions.

But claiming that a few thousand French people’s reliance on Java for voting every 4 years or so makes Java indispensable is ridiculous.

And he goes on that

“unscheduled outages” would be devastating if OS X and Windows suddenly blocked Java, as the feds essentially asked us to do this week.

Didn’t he state on page one that Apple, literally overnight, disabled Java in the browser. And did the world stop? How about Microsoft not shipping Java since somewhere around 2002? How did that stop the world?

And now my favorite sign that your author is not educated in computer terms:

But here’s what Apple and Microsoft can and should do: Announce that the next major versions of OS X and Windows will not run Java, period.

An operating system is not able to stop users from running software of their choice unless that system is so locked down that only approved software can run, like IOS or MacOS when you crank up the paranoid mode to only allow apps from the App-store.

I guess Apple, world dominator with ambitions, would love that model. But here’s the catch: You can only do that when you lock out everyone. No more custom software for you, naughty author. And once every computer is locked down, whoever holds the key holds the power. Yes, I know, Steve Jobs always wanted that, but I would not accept it.

And filtering it out? Apart from the legal implications of anti-competition laws, so far no OS vendor was able to filter out virus- and trojan software.

I stop here, as afterwards the poor author goes into rambling mode after exhausting any sensible argument.

I end it with the quote from the last page:

If Microsoft and Apple don’t make Windows and OS X Java-free platforms like [..] Android…

and go back to my JDK to write a Android application while it is not yet outlawed.

Lessons learned:

Now that all journalists are fired and after they moved into PR, we are left with interns to fill our brains with garbage.
And we need more regulation to get Java off the streets, so that kids can start playing with guns instead of applets.
And the world would be a better place if computer were not allowed to run dangerous stuff, so guvn’r please rescue us.

Fun with scam callers

There are stupid people, very stupid people and scammer. Since a few weeks, my Skype number gets more and more calls from a tech-support call-centre trying to trick me into installing viruses onto my computer.

The scam is rather old, and well described in the ‘Hello, I am from Microsoft’ article.

Trouble is: I am (a) not stupid and (b) not a Windows user.

I used to get annoyed by those calls, until inspiration struck me. Those fellows probably have not enough fun in their life that they start pestering other people. So I give back what I can to make their life merrier.

My personal goal: Keep them in the line for at least 30 minutes. So far, the best I managed in this game was 7 minutes 30 seconds. This particular time it ended with a unhappy call-centre person calling me non-printable words for messing with him.

The fact that I got to 7 minutes, surprised me. In the 3rd minute, I had to congratulate him for correctly guessing that I have a Mac. Yeah, my horses ran through with me. Silly me! That’s not the sane way to win the game. After that I was able to delay defeat by bluntly lying about the manufacturer of my laptop. The drone actually ignored the content of the congratulation and continued to try to bring me to press “Win-R” for another 3 minutes. 

Only after that he got the hint that I may not play fair and started to throw abuse in my direction. I guess his karma account must be rather empty now, after all these non-printable words.

I do admit, I did not like the call.

Seriously. 7 minutes 30! I lacked proper preparation and a good script, and was not able to keep the drone in the air for as long as I wanted to. Well, not long and they will call again. They always do …

And at some point I will win.

30 minutes. And what is your personal call-centre holding time?

Fun in the UK – Today: Still Banking and Three-UK Mobile Broadband

So far banking is still a mess – at least I have the IBAN now and that will make sure that I can survive long enough to switch the Lloyds account to a proper bank. Given the fact that Bank of Ireland online banking is at least usable and that they do not charge those insane fees for sending money into the Euro zone, I guess I will move everything there.

But for that I need internet access – and that’s the next trouble maker. To setup a landline, phone companies needs about two to three weeks. That is fine and reasonable. So I got myself what they cynically call “mobile internet”. British humor at its finest.

For the records, I use Three.co.uk. And I regret it. Despite the fact that the application tells me that there is perfect connection strength, the connection breaks up, sends in the data into the digital nirvana and makes the whole experience painful. For each connection I attempt I can send about 10kb to 15kb of data before the thing breaks down again.

So for checking emails: I can see I have email, I can see the titles (thanks to the IMAP protocol), but I cannot access the mails as the connection times out. Same with the web – I can see the first bits of the web-sites, but then it stalls. And all the web-sites that need an insane amount of javascript to work, well, they just dont work at all.

Its amazing, when I came to Ireland, despite the small size of the country and the well-designed look-and-feel of ruralness and last-centuriness, the infrastructure worked better than in the former empire. When I look at UK services I get the feeling they can’t do better than settle for minimal solutions. And on the big picture, the country looks just run down and ‘broken by design’.

If these blog entries help to save one prospect customer from such crappy service providers, then they served their purpose well. No one should have to put up with that sort of bad service. If nothing helps – vote with your feet so that they can go down as they obviously deserve it.

The abysmal state of banking in the UK

At the moment I am in the process of fleeing from the island of Ireland. It is a gorgeous landscape, but since the government ‘rescued’ the banks, the country is on a downward spiral to a slow death. So I decided to move to the neighbourhood island and thus settled in the UK.

Heaven, I thought Ireland is stuck in the last century. But Britain is even worse.

Banking is a highly complicated matter here. It may be OK, if all you ever do is pay in money and take out paper cheques. Paper, for heavens sake! Paper! As if the electronic revolution had never existed! I assumed that civilized nations agreed on no longer using paper as means to transfer money in the last century! I was so wrong …

But the worst part: Try to make or arrange an international payment. It feels that the British people think that outside of the island there is nothing noteworthy. And you feel this – every day.

Except for the UK branch of the Bank of Ireland, I have not found a single bank that allows you to send money overseas via their internet banking. If you want to send money (and haven’t died of a heart-attack after seeing their ridiculous fees for this service), you have to go into your local branch, fill out a long winded paper form and then hope that the money travels well.

Receiving money is even more “fun”! At least with Lloyds TSB there is no sane way to get your IBAN and BIC out of them. You have to either go through a painful telephone system entering number after number just for getting to the main menu. Screw that! Or given that they shielded themselves from Telephone enquiries, I can walk into a branch, assuming I hit their tight opening times. Organize your life around the needs of your bank! That is so wrong!

I would change banks if the other ones were not equally bad.

For me that means now: In a few weeks time I will make a trip to Belfast, walk into one of the Bank of Ireland branches to open an account with them. Then at least I can get modern internet services for a UK bank account and have means to send money around the Euro-zone without having to pay extortionate fees.

Britain, when did you loose the “great” in your name?

Surprise – its December and there is Snow

One thing that truly amazes me about the British (and heck, Ireland is largely British, but without needing a Queen) is their massive inability to cope with weather.

It is December now, and one could reasonably argue that there is a high chance of snow at this time of the year. Yet still, after one week of snowfall traffic on the roads is still crawling at the slowest speed possible. Streets are barely cleared and the country is in a cold icy shock. And every year busses, trains and car owners alike act surprised that this happens. Who could have known that there may be snow?

I came back today from a futile attempt to flee the country, as the Dublin Airport once more closed down due to the weather conditions. OK, flying with limited sight is not safe nor fun, so that one I accept. Outside the airport a warning sign informed the grounded travellers that “Taxi service is limited due to the weather conditions.” Snow fall, not storm, not rain, just plain snow flakes coming down. But most people here have no winter tires. Last winter was so harsh that the water pipes in many Dublin areas burst due to the cold, leaving the citizen of Dublin with very limited water supply for the first few months of the year. Before that, the winter 2008/2009 was considered the coldest since 8 years. So there is plenty of proof that from time to time the mild Irish weather turn a bit harsher.

In the mean time, the whole of England is gripped in the same chaos.
Oh, and Germany is down in chaos as well.

Dang, when I was young (and mind you, that is not that long ago) snowy days like these did not cause that sort of chaos. But then there came the privatization of all public services. And for profit oriented corporations, high cost events like snow fall, gets ignored. With proper (and plenty) machinery such chaos could be easily reduced. But as long as the taxpayer pays for the chaos and those corporations are not held responsible for the delays and costs caused, they do not have any incentive to change their behaviour.

You would be surprised how quickly your train company installs proper procedures as soon as they have to pay for the lost earnings of all people that were affected by those delays. ‘Cause at that point, public snow costs cut into their own profit.

Funnily the same people who say the state should retreat from providing such public services also say that the state should bear the costs for such chaos. The airlines tried to sing that “taxpayer gimme your money song” when last year’s volcano chaos grounded their planes. They could have insured themselves against it, but chose not to so that they could make more profit. Wanna bet on whether the airlines try the same with the losses incurred by the snow?

Well, I will make my escape with the ferry tomorrow. Ships are safe. Whether the trains in Britain will then bring me to my target city is probably a different story…

Market-Researchers and Consultants with an Agenda

My lovely friend “Google Alerts” regularly brings lovely piece of
writing to my desk – often to my enjoyment and many times to my
astonishment on how little research goes into research these days.

Market-Researchers – Tell me whose song I sing

Lets start with Actuate trumpeting funny claims around that BIRT is the leader
in Opensource BI.
Lets see what the report says:

“Actuate BIRT leads the pack. This is a prime example where one needs to clearly understand what they are getting, as Actuate cannot really be directly compared with the other vendors in this Forrester Wave. As we mentioned earlier, other than a few basic reporting components from the Eclipse BIRT — the community edition of the product — Actuate BIRT is mostly a commercial offering. Also, Actuate BIRT is a “traditional” or “pure play” (reporting, analytics, and dashboards only) BI suite that does not offer advanced analytics, and it only offers limited data integration functionality.”

(Pg 8 of “The Forrester Wave™: Open Source Business
Intelligence (BI), Q3 2010”

and further down

“Eclipse BIRT and Jaspersoft Community editions lack enterprise BI suite functionality.
These community editions of open source projects cannot really stand on their own as
enterprise BI suite platforms or solutions.”

(Pg 10 of “The Forrester Wave™: Open Source Business
Intelligence (BI), Q3 2010”

Ouch! Let me paraphrase that: “BIRT (OpenSource) is crippled. You need the expensive commercial version if you want results.” A non-opensource product leads a opensource wave. Hmm.. I bet Crystal Reports also contains bits of opensource components (I would be surprised if not), so by that standard do they qualify as Opensource players too?

And I probably will never understand why they test the EE-edition of the PRD 3.6 but
the CE-edition of PRD 3.5. Especially as (except for the documentation and the amount
of database drivers shipped with it) the CE and EE editions are the same code. The enterprise value for our reporting offering comes with the BI-Server and its ability to easily share reports (and even here CE brings you far). From my point of view the Enterprise editions primary argument is the peace of mind that comes with a support contract for your mission critical business intelligence installation.

Enough of that fun, I do get easily bored by bullying such easy targets.

Clueless Consultants … you cant make it up

And the BIRT affiliates of course get their own game going by starting comparisons to
justify their goals. Well, I don’t mind getting told where the weaknesses of our offerings are. But keep it honest, or stay out of the game. Remember, bogus operations always backfire at some point.

Here is one of these comparisons:
Bogus comparison matrix

They claim there is no support for user defined aggregates. Hmm, we
can implement functions in Java and they can be used in reports.
And functions are stateful. So they can aggregate. Yes, guess we
can allow third parties to implement their own aggregations.

The expression API is well documented and it is rather easy to bring
in your own aggregation. They even mention Will Gorman’s book in the
text, so the documentation is there. Ya’ know, books must be read!

They claim that BIRT is the only one who supports custom export
formats? All our (and JasperReports) export modules are pluggable – as they
are in BIRT. Do they really expect any sane developer writes a bunch of
monolithic code blocks for that stuff? (Hmm, maybe they do. There
is a distinct tradition in writing code differently when doing a
once-off prototype versus doing a real product you have to maintain
over years and years to come. And we product developers care about
long term maintenance as we aren’t paid by the hour by our customers.

The table claims, there is no paginated HTML in Pentaho reporting.
Now that is a bit surprising as the BI-Server’s default rendering
mode for reports is .. paginated HTML. They either did not start
a report on the server or choose to ignore the fact.

No conditional formatting? Now, this one is tricky. How could they
nnotice the green-plus in the tables, how could they notice the
examples. But the real WTF is this snippet from “Birt-vs.Jasper”:

“Conditional formatting is much more difficult with iReport than
with either BIRT or Pentaho.”

So either it is not there, then how can it be easier, or it
is there, then the table is wrong.

All styles and most (95%) of all attributes on a element can be computed
via an expression. Again, this is greatly explained in Will Gorman’s
book, which must be read to transpire that knowledge from the pages
into brains.

And the “BIRT.vs.Pentaho” text claims

“Pentaho’s expression syntax is OpenFormula, which is based on Excel
formulas. While this is easy for developers to use and understand,
it is often too limiting for real-world reports. ”

Bah, use whatever language you want then! I would never force a
single language down someone’s throat. Want Java/BeanShell/JavaScript/Groovy?
It is built in and ready to go. Want Pyhthon/Tcl/Rexx or Groovy? Go get it
by adding the Apache-Bean-Scripting-Host jars for it to the lib directory!

We selected OpenFormula, as this language is as close to Excel as
it can be while at the same time avoiding the pitfalls of true Excel formulas (like non-regular grammars and really weird behaviour due to legacy behaviour inherited from Excel 2.0 or so). And as Excel and OO-Calc are still the number one tool in the
offices around the world, it is a safe bet that these folks
actually know how to write Excel formulas. If certain consultants dont know Excel, do I care? Shall I care?

And the one thing that really puzzles me: Code hooks in the designer?
I mean, sure, there are scenarios where I want to bring in my own
elements, my own data-sources or whatever. And sure as hell, there is
a plugin for each of those. Again: Monolithic coding is sooooo 1980!

We call this “plugins” and that is how we delivered a Table-of-Contents
element to the community and that is how the charting is integrated.

Code-hooks for OEMs – we also offer that! The Swing-Preview has a
ReportMouseListener, a ReportHyperlinkListener and a ReportActionListener
you can employ to get notified of user-input. For HTML reports, add
your code into one of the many HTML-onmouse* event attributes and
you should be ready to go. These properties are not hidden by default,
they exist openly and are demonstrated in the demo reports.

Spreading false information may have worked as tactic in the closed source
world, where information were limited and no one had easy access to the
competitions products and source code. But these days it just looks so
sad. I honestly feel for those souls who get so eaten up by their
desperation that they have to resort to spreading outright wrong information.
Luckily the market these days is swift, so I might not have to see such suffering for long.

My horse does not run on petrol – is this a bug?

Yesterday I decided to refuel my horse carriage, and thus brought it to the petrol station. Shortly after filling up the horse with gasoline, the stupid thing died? Is this a bug?

In case you think: WTF?!: Every other day, we receive a posting in the forum that follows a similar pattern. Users download the Citrus-PRD, create reports with it, and then publish the report to an old (=not a Citrus-) BI-Server installation. And then they act surprised if that horse dies and if the report does not work.

So if you came to this site because I posted a link to here in the answer in the forum, then please remember:

BI-Server 3.0 was released in March 2009.

Citrus is scheduled to be released in September 2009.

March – September. Do you notice the six month gap?

If we would have a reporting engine that was able to do what Citrus-PRD can do, dont you think we would have included that in the march release? And the other way around: Back then in March, how would we know what the final Citrus release would look like, as it wasn’t even written yet. As long as the Church of Einstein is in power, time travel will remain forbidden, and thus we have to point out that:

The client-tools you use for developing content for the BI-Server must be the same version or older than the BI-Server version you use. Anything else violates the Einstein-rules and may bring you in deep trouble.

Apple’s Terminal: Its hard to find something more retarded

Compared with a real X11-Terminal application, the Apple Terminal sucks. Big Time.

“Whats wrong with it?” you may ask.

Lets start simple. Command-line applications cannot receive mouse events when running inside the Apple Terminal. And the keyboard is messed up (yeah, I’m running Apple, so I probably are supposed to use the Mouse to enter certain keys, like Page-Up and Page-Down.).

Since switching from a real System to the Mac (superior hardware, but dont get me started about the soft side), I really started to appreciate the power of the X11-Terminals you find in all Linux distributions. I’m a command line guy, so working with a Mac feels like being a Catholic Priest sitting in a Nudist Colony – Sin whereever you look.

Gettin Midnight Commander was easy, once I found MacPorts. But working with it was pain. No, torture. I can live without a mouse – but without a Page-Up and -Down key, browsing directories or looking at files becomes a nightmare. And without a insert-key, selecting files is not fun either. I was about to give up and end my days using muCommander. MuCommander is a Midnight-/Norton Commander clone, but copying files over the network is horrible slow and there is no command line either, so navigating complex directory structures is a keystroke hell.

But then a heavenly voice spoke to me: “Thomas. You are using Apple software.” And I remembered. Apple software usually comes good looking but not neccessaily “complete” – more like prove of concept things than real applications. So maybe its not the Mac OS (its Unix after all – and thus hard to get wrong) – its the application. Fireing up X11 and xterm convinced me: Yes, that Apple was a foul one.

Its not that mouse support is a experimental one. Its has been there since at least 9 years now. Have no rush, Apple, I can wait another 9 years. Who needs Mouse support anyway. (Note that I say that to a audience that did not manage to make UI elements like comboboxes navigatable via the keyboard. I have seen Comboboxes on my C64’s GEOS system and yes, they where usable via a keyboard.)

But not getting the keyboard right is a killer. Running X11 and XTerm on the same machine gets it right out of the box. So its not that they dont have the tools. They dont have either a clue how to adapt the XTerm code to their own codebase or they dont care. (Guess what I think what the reason is.)

I would happily drag the XTerm application on the launcher bar. BUT I CANT. The launcher does not launch just anything – it must be a blessed application bundle. So to start the XTerm, I need a command line, which Xterm would provide. Thanks again, Apple.

(If anyone knows a sensible terminal application that supports ncurses mouse-events, please drop me a line. I start to get desperate.)

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.