Persistence…. I’ve been looking

Persistence…. I’ve been looking into a lot of different persistence strategies for “Java” lately for projects I’m working on at work. Currently most of our projects still use hand-coded SQL (JDBC) which is far from desirable. [Otiose Cognitions]

I hear good things about Kodo JDO. Might be worth a look.

Applet security redux. I

Applet security redux.

I have finally come upon a solution that is less expensive than paying

the $200 plus $100/year to Thwaite for a digital certificate. I just put the following into my Java Plugin JRE’s java.security file:

   grant codeBase "http://rollerweblogger.org/ekitapplet.jar" {
permission java.security.AllPermission;
}

Now, this is fine for me because I trust myself. But, for example, what

if Anthony Eden was to ask

his users to do this, substituting roller.anthonyeden.com for

rollerweblogger.org in the above snippet? Anthony would be asking his

users to trust in the following things:

  • Neither Howard Kistler, Dave Johnson, nor Anthony Eden have put no malicious code in Ekit

  • An evil hacker will not break in to Anthony’s site and replace

    ekitapplet.jar with malicious code

Is that too much to ask of Anthony’s Roller users? If it is, then we

need to buy a certificate for Ekit and hope that this one certificate

would be good for all Roller users.

BTW, this is my first Ekit post using Mozilla.

[Blogging Roller]

Presumably, even with a certificate, users would still have to trust that none of the authors had put any malicious code into it? All the certificate does is assert where it came from. You are still required to trust the source.

BCELify BCEL. A tool

BCELify

BCEL. A tool to build classes on the fly and output them as bytecode. Complex stuff. Luckily it comes with BCELifier. This tool can take an existing .class file and generate the BCEL java source code to build that class. Very cool.

What this means is that if (like me) you find BCEL itself a mite tricky, you can write your class in the normal way, compile it, BCELify it and end up with the source code you need to feed BCEL with to get the same result. Groovy. This reminds me of my dim past, recording VBA macros in Excel to find out how to do something, then hacking the generated code into what I wanted. [Pushing the envelope]

I’m really not sure how I feel about this. We are really re-treading the boards that lisp trod with it’s macro system many moons ago. I suppose the complexity of our solutions is the result of refusing to swallow the lisp/scheme mantra of code and data being one.[Brett Morgan’s Insanity Weblog Zilla]

Indeed. I’m still looking for the ‘perfect’ language. Java with closures, multiple inheritance, dynamic execution (like Perl’s ‘eval’) and primitives as first-class objects (a la Smalltalk) would be pretty cool.

This article on an imaginary ‘Java 3’ also makes for an interesting read.

BCEL. A tool to build

BCEL. A tool to build classes on the fly and output them as bytecode. Complex stuff. Luckily it comes with BCELifier. This tool can take an existing .class file and generate the BCEL java source code to build that class. Very cool.

What this means is that if (like me) you find BCEL itself a mite tricky, you can write your class in the normal way, compile it, BCELify it and end up with the source code you need to feed BCEL with to get the same result. Groovy. This reminds me of my dim past, recording VBA macros in Excel to find out how to do something, then hacking the generated code into what I wanted.

Been busy hacking .net MockMaker

Been busy hacking .net MockMaker again today. Its messy at the moment, and there are no real tests (gasp!) yet but I think most of the guts is there. It won’t deal with overloaded methods or parameter modifiers yet. I have to learn how they work first 🙂

Modularising and unit testing tomorrow, unless I get bored of C# and do some Java instead.

Free Open Source Kills

Free Open Source Kills Markets.

Free Open Source Kills Markets

Open source, as a meme, is a successful one. It is also a confusing one because open source often means free software. I am for open source, but I am against wholesale adoption of free software because I believe it harms the health of software industry.

Free open source software devalue commercial software and poisons the marketplace. If some talented individual started giving out free Microsoft Word clone with source code, not only will Microsoft stock drop by 25%, entire word processing market will disappear. Once buys starts thinking that something should be free, there is no turning back.

One might argue that adding new features could revive markets decimated by free software. New features has leverage only during early half of a product category’s lifecycle. Word processing market is already well past the halfway point. I measure halfway point as the point where 20% of product feature set meets 80% of user’s needs. Past that point, users start caring less about new features.

[Don Park’s Blog]

If its possible for a talented individual working in their own time to produce a viable free alternative to a commercial product, doesn’t that offer some indicatation as the the true value of that product? If I can get a free Word clone from the net (and I can) instead of paying 100 pounds for Word, then chances are I will. If however, Word had sufficient added value in terms of reliability, ease of use, extra (useful) features, and good quality support to justify the price differential, then I might choose Word. The key issue is that the choice is mine to make. Competition, whether from Open Source or commercial products is a good thing.

If a commercial product is in competition with a cheaper commercial product, it must have sufficient added value over and above the lower cost alternative to remain competitive. Competing with Open Source is merely a more polarised example of the same issue.