Category Archives: Off-Topic

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.

Java: the holy language of God

After years and years of studying various holy sources I am finally able to present my research results. Looking at the Qur’an (yes, Ministry of Homeland Security, I’m one of them apparently), the Popol Vuh, the Bhagavad-Gita and even a page or two of the Bible clearly proves that God (or Gods, as with omnipresent omniscient entities you can never be sure with whom you are talking right now) speaks Java (and not more than Java Language Specification 1.2).

Every reader of the aforementioned books first notices the convoluted and verbose use of syntactical elements. Every reader of Java source code first notices the convoluted and verbose use of syntactical elements. Of course, this is good, as it gives you time to think while reading the text, without overloading your mind with to many facts in to little time. Linguists found that redundancy in a language improves its error resistance and its understandability.

Along with that, there is a lack of shorthand constructs and cryptic sequences of unspeakable characters. Gods language is clean and simple so that every creature can hear it without getting knots in their brain. It is notable that some print media uses text known from lesser languages like *(x+=y++%8) to signal profanity.

The products and rules of God expressed in the holy books apply to the whole universe. Most of the texts make explicit statements about this “write once, run everywhere” principle. The creator of the universe made his rules .. well .. universal. Being the omnipotent entity he is he could have created a universe where he has no power. But to avoid imploding the brains of those who study the universe he obviously refrained from creating that paradox.

Holy (and maybe not so holy) men (and woman, but less in numbers and usually burning rather quickly if being overly verbose) pointed out that one can find the answer to any of life’s problems in those holy books, if you study the text long enough. Smart (and sometimes not so smart) men (and woman, but less in numbers but not burning these days due to worries about the CO2 footprint) pointed out that one can find the answer to any of the core programming problems in the fairly complete Java runtime library, if you study the JavaDoc long enough.

Sadly, even tho the Gods are Java and Java therefore is God, there is evidence that humans are probably created in C or C++.

The first thing you notice when you look at humans is their obvious need for manual resource management. Breathing is a classical example of allocating a resource (air) and freeing it after use (breathing out). There are numerous examples where failure of either allocation or release of the resource caused unrecoverable errors in the program execution.

Looking around the planet, it is also obvious that humans in general do not do a good job in freeing their resources properly. Garbage collection is virtually unknown even tho viable garbage collectors exist. The various resource allocation strategies and conflicts give cause to much grief and pain.

Looking at humans you can see a clear platform dependency. Although it is claimed that the same source or genetic code could be adapted to various environments, humans tend to die rather quickly (and sometimes in fairly interesting ways) if transplanted to a different runtime environment.

And last but not least: A freshly created human is void of any usable strategies and has to spend years and years to build up a reasonable runtime library (which then is over-adapted to the specific environment and fails easily when ported to a different platform (see the section on resource management above). Likewise the C languages themselves come with only the minimum standard library. Extra functionality has to be manually coded or brought in from outside. Humans call this process education, programmers “importing a library”. Different educations/libraries usually come with complex and contradictory requirements causing more vendor dependence and thus again pain and grief.

So humans: abandon your erroneous ways, repent and join the forces of god and stick to 100% pure Java.

Sorry, next year Santa wont be able to come to town

.. cause I’ve eaten his reindeers. In case you ever come to Sweden, this is one of the things you should not miss out. You may not want to tell your kids what they are eating right now, but once they got hooked in, they would not care anyway.

At the minimum I’m now able to answer the question on “What is the most important question in a human’s life?”. It’s simple: “Can I eat it?”. This question works perfectly well for cows or sheep and of course also for crocodiles, emu or kangaroos. So far I’m reluctant to try to eat Gators, as I do not want to end in a movie (or upset some of the folks in Orlando, for that matter).

There is a whole world to eat – except for some weird stuff, of course – so bring it on!

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.)

Not hacker-proof: Getting a Social Security Number in Ireland

Right now I’m sitting in the local Welfare office to get a PPS number (thats how the Social Security Number is called here), otherwise I would not be able to legally earn any money here. Not that I would have problems earning money illegaly, its just that the local law-enforcement community gets a bit bitchy after a while in that case.

As Ireland, like all english speaking countries lacks organization and oversight when it comes to registering and controlling people, there exists no central citizen registration. Yeah, if they would accept a few lessons from Germany or France leaders like Bush (now Obama) or Blair could learn a valuable lesson on how to create a police state efficently. A social security number makes you a “real” citizen here – its needed to get a Job and maybe for all kind of other identifying purposes as well.

To get one of these numbers, all you need is a proof of address and a proof of identity.

Getting the proof of address is easy – just give them a utility bill. As there are no checks on your identity, any name will work, as long as your landlord believes your claim, that your mother named you “Donald Duck” . Given some basic people-skills, that should be easy to do.

The proof of identity is a bit more difficult. If you claim to be neither British nor Irish citizen, the Welfare-office requires a passport. Getting hold of one named “Donald Duck” is probably a bit too difficult to be carried out by novice con-artists. But getting a fake Windsor or scottish accent is not hard, and then you can take the easy route: British or Irish citizens need a birth certificate and a photographic ID (any ID!).

Birth-certificates are easy to “produce”. Either copy one – heck, they are plain paper and not meant to be tamper proof – or reapply for one choosing a suitable photographic ID. Be aware that this particular step may upset the law-enforcement community again, so be sure to do it right or to not do it. (Of course, as a good citizen I do not encourage any illegal activities of any kind. And if you have to do such things, then for heavens sake make sure that you at least prepare well.)

So how to get the photographic ID? Make one yourself. There are plenty of companies that offer services to produce company staff IDs or IDs for staff members for local events. They dont even check much on the background – so as long as you dont want to produce IDs from well-known locale companies you shall be fine. Just make sure, the ID you produce has a “official” looking name and appearance. If everything fails, register at the local library, in case they have a photo-ID for their members.

So once you have the ID, the birth certificate and the fake scottish accent, you are fine to apply for a PPS number. Welcome, newborn irish citizen “Donald Duck”.

Year of the Mass-Elections in Germany

A few days ago the US closed the book of having a Bush clan member as president for the next 4 years (after that, there is still a unburned Bush active in Florida), and Barack Obama slowly gets the old folks from the Clinton area back into the seats of power. All the mud-throwing and mutual cut-throat competition, name calling and general power stuggles are great to distract people from the real issues, so lets not stop them in 2009: Germany joins the club of democracy-simulating countries by throwing in 8 elections this year.

Of course, the election for the European Parliament really does not matter anymore. As soon as Ireland agrees (this way or another) to the Treaty of Lisbon, the parliament will be reduced in its importance to a old men’s club. Then Europe finally has a chance to overcome the insane ideas of 1789, and the parliament will only be allowed to comment, but no longer to veto or even influence legislations issued by the European Commision. So its only 7 elections that count.

For Germany, the main question will be: Will the long bearded evil guys or the criminals win?

The long bearded guys.
Over the last years, governments all around the world worked hard to slim their processes down (by removing controlling organs and participation) in order to increase the efficiency of our society. Removing oversight always unlocks the progressive forces in a free market and is guaranteed to make people rich*.

So in this country, in this year, we have to choose sides: Do we want known criminals deconstruct our society via full scale surveillance, police state tactics and a general “take from the poor, give to the rich” behavioral pattern, or do we want a change towards a true multi-party system, instead of having the “mult-party, single agenda” system of the CDSPU?
So far, it seems realistic that neither the conservative Christian Democratic Union (CDU**) nor the Social Democratic Party (SPD***) wont get a majority. The fun will start, if both get not enough votes to even form a 2-party coalition. If that happens, I will throw a party.

* Not all of course. If all people have the same amount of money, no one would be rich.

** Neither the words Democratic nor Christan has no meaning here. Its just a marketing gag, really.

*** Social-Democratic should not be mixed with either “social” or “democratic”. Meanings changed, and in the same way, the “War ministry” is now called “Defence ministry” words no longer tell the truth.

How to become Dollar Millionare

(1) Take 10 Euros and place it in your cupboard
(2) Wait until the FED drives down the dollar with unreasonable bailouts of Wallstreet banks
(3) Cash in your Euro to receive your dollars.

Hmmm … When I said I want to become millionaire anytime soon, I hoped to be able to afford a caribean island or so. Now I could be happy to get a coffee at Starbucks for that amount of money. Thanks Mr. Bernanke and Mr. Paulson for messing up my plans!

Jobsecurity for Spies

Imagine you are an agent for the ministry of homeland security.
Imagine you are an agent nobody likes as everybody knows that “everything you said can and will be used against you” while the agent is around.
Imagine you’ve heard that everyone has fun playing online games.

And now, after a stressful day of hunting Mr. Bin Laden you want to play it too. But you want to play it while on duty.

What do you do?

You come up with a secret plot how “terrorists” could use the game to plan and coordinate attacks. Like this, for instance.

And now you can convince your boss that all the time spent training your Dwarfen Wizzard is actually helping to catch Mr. Bin Laden (a ugly looking Orc, of course :)) …