magpiebrain

Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘September, 2003’

Shirley E. Kaiser’s very good “Brainstorms and Raves”:http://brainstormsandraves.com/ has been on my blog roll since I started reading blogs regularly. It was therefore a little distressing to see that a web-hosting company has “stolen over 2,400 resources(Brainstorms & Raves – Stealing My Content… Again)”:http://brainstormsandraves.com/archives/2003/09/25/stealing/ of Shirley’s and passed them off as their own. The web-hosting company in question is “Cheetah Solutions”:http://cheetahsolutions.com/, who deserve a damn good kicking if you ask me.

Some tard is at it again. This time however the comment was not a piece of spam trying to sell herbal Viagra. I include my response to this person in full:

Dear Mishka,

Contrary to your comments on my blog concerning the post “Another Blog tool –
w.bloggar”:

“Mishka rules !”

I will think you’ll find that you do not in fact “rule” in any shape or form. I
would go as far to say that you do in fact “suck” for your blatant spam tactics
in using my blog as a way of advertising your own website which is little more
that an under construction page, and a bad one at that.

Don’t do it again.

It won’t surprise any of you that this person had an AOL mail account.

_Updated: 26/09/2003 11:01AM_: Naturally the email address given was fake – so I have sent the email on to the one given on his website.

The “Prevayler “:http://www.prevayler.org/ persistence engine for Java might be a good project. Really it might. I have qualms about the basic principle which has everything stored in memory, with robustness provided by the fact that all calls to the persistence layer are logged and can easily be reloaded. For a decent sized database driven J2EE application the amount of data can easily outstrip the maximum available memory. I don’t even have a problem with their solution which is basically to wait until you can get enough ram (although their “out of date( Breakthroughs In Memory Technology)”:http://www.prevayler.org/wiki.jsp?topic=BreakthroughsInMemoryTechnology post on the subject states we should have holographic ram available to us by now!) even though this smacks of a “Don’t worry about the code, lets throw money at the hardware to sort it out” approach.
No, the thing that bothers me is the downright egotistical closed-minded nature of the developers. It doesn’t take long for any reader of their Wiki to see what I mean. The piece “When Should I Not Use Prevayler”:http://www.prevayler.org/wiki.jsp?topic=WhenShouldINotUsePrevalence for example:

When Should I Not Use Prevalence

When you do not know how to program.

The problem I have with this is the fact that these people with their consistently arrogant attitude have resulted in alienating a large percentage of the Java programmers out there who are now less likely to look at prevlayer seriously. As a technology for small scale apps I don’t have a problem with it. What I do have a problem with is the thought of having to deal with coders who make Mark Fleury look like the “Dalai Lama(His Holiness The Dalai Lama)”:http://www.tibet.com/DL/ when it comes to dealing with people. If you are serious about publishing and informing the public concerning what you think to be a good idea, the last thing you want to do is call everyone stupid and ignorant.

Some of you may recall my earlier experiences with “Ganymede”:http://sourceforge.net/projects/ganymede/ were “less that successful(magpiebrain – Ganymede – Log4J Logging inside eclipse)”:http://www.magpiebrain.com/archives/000087.html. To recap Ganymede is a plugin for eclipse that receives messages sent from Log4J. My problems revolved around the complete lack of documentation to explain how to get the thing to work. Anyway, “Will Sargent(Will Sargent – Terse Systems)”:http://tersesystems.com/ was kind enough to point me in the right direction and explain “how to get Ganymede working(magpiebrain – Comments: Ganymede – Log4J Logging inside eclipse)”:http://www.magpiebrain.com/cgi-bin/mt-comments.cgi?entry_id=87. After remembering to add a Socket Appender for my program it worked a treat. I don’t like it as much as Chainsaw or “LogFactor5”:http://jakarta.apache.org/log4j/docs/lf5/features.html (both of which are standalone Swing applications) in terms of functionality, however Ganymede is much more convenient that either of them as it sits right in my IDE.

If it added some more flexible filters (I cannot for example say only show INFO messages and above for a given category), allowed me to change the background of the eclipse view, added a tree-based view and a search function then I’d be a happy bunny. Oh, and some documentation of course – although I suppose it wouldn’t take me long to write that myself…

“XPlanner(XPlanner Homepage)”:http://www.xplanner.org/ is an open source project management tool for XP. I’ve been wanting to get involved in XP for a while, but it looks increasingly likely that I’ll have to move jobs before that happens. Still, the availability of a good looking project management tool makes adopting at least some aspects of XP more attractive…
XPlanner simply requires Ant, a database and a Servlet container to work.

After much trouble with international dialling codes (which was finally sorted thanks to “this handy site(Country Calling Codes website)”:http://www.countrycallingcodes.com/) I managed to fax my “application(Becoming a JCP Member)”:http://www.jcp.org/en/participation/membership/ to join the “JCP(The Java Community Process)”:http://www.jcp.org/en/home/index over to Sun. A couple of days later and email informing me that my application is being processed, and also giving me details to enable access to the private forums and draft JSR’s. Unfortunately I can’t tell you what I’ve seen unless you’re in the JCP too 🙂

Much kudos to Will Sargent over at “Terse Systems”:http://tersesystems.com/ for pointing out an eclipse plugin called “Ganymede”:http://sourceforge.net/projects/ganymede/, which captures “Log4J(Log4J Project Homepage)”:http://jakarta.apache.org/log4j/docs/index.html messages inside eclipse itself.

_Updated 11:51am_: Well, from the screen shot and descriptions at Terse Systems, it looked good. However I have been completely unable to find ANY documentation on how to actually install and run the thing! The downloadable packages come with no readme files, the homepage is a directory listing, and the only readme to be found on the sourceforge site was useless. It might be the greatest project in the world but if no-one knows how to use it, whats the point?

Now first off I have to say I have a lot of time for Allen Holub. Ever since I got a review copy of his “Taming Java Threads”:http://www.apress.com/book/bookDisplay.html?bID=35 a few years ago, it has become my bible for threading in Java. Allen Holub’s article “extends is evil”:http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-toolbox.html made some very valid points – in fact I realised that I’ve subconsciously completely removed implementational inheritance from my code – the places in which the use of an extends relationship made sense seemed to occur less and less frequently.
Slightly less informative was his latest piece “Why getters and setters are evil”:http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html. I understand the logic and applaud him for raising this to peoples attention, but feel the rather abstract article could do with more in the way of concrete articles.
In anycase it seems that Allen is working on a new book, Patterns: Learning Design Patterns by Looking at Code, which I’ll be sure to pickup.

At work recently I’ve been doing an informal review of our code base, in an attempt to get together a potential code refactoring work package. I say informal because I haven’t got any official time allocated to it – currently its taking place in lunchtimes and during slack that I haven’t told management about. Along with tools like “checkstyle”:http://checkstyle.sourceforge.net/ and “QStudio pro”:http://www.qa-systems.com/products/qstudioforjava/ I’ve been able to pick up some issues which will exist in any organisation which, like ours has had no real coding standards or review process. In addition I’ve been carrying out a more general design review, and one issue that cropped up was that of singleton classes and static classes.
Continue reading…