Ivy has lots of potential

April 9, 2007 – 21:14

Having recently been severely frustrated by that other ambitious Apache project that aims at “making the build process easy”, and “providing guidelines for best practices development”, etc. - OK, who am I kidding? Yes, I’m referring to maven 2. :-) - I turned my eyes to Ivy, and, after a couple of week of using it, found myself comfortable enough to write this to recommend Ivy as an indispensable part in any serious Ant-based build tools arsenal. more…

A few thoughts on Yahoo’s free YUI hosting offer

February 28, 2007 – 10:20

YUI has been my favorite AJAX library for two reasons: its unintrusiveness to the server side, and the excellent documentation. It is interesting and encouraging to see Yahoo offer free hosting for YUI. While there are obviously valid reasons for some sites not to use this service (external dependency etc.), the power of yahoo’s server facility, the advanced cache control, and the on-the-fly file size reduction (up to 90% according to the announcement linked) are in no doubt going to be very appealing to many others. more…

Stronger Java, no sugar please

February 27, 2007 – 00:14

I just wanted to expand on Richard Relos’s we don’t really need closures in Java into a broader argument - syntax sugar is the least of what Java really needs now. more…

Singleton’s new Tinfoil Hat called “Don’t clone me!”

February 26, 2007 – 20:34

I have been interviewing a number of folks to help filling up some Java developer positions. More than one of them (mind you, referred through different sources) told me, as part of the answer to “how would you implement a singleton?”, that I must override clone() to make sure my previous singleton wouldn’t get, well, cloned. And they all told me that they learned it “somewhere,” only unsure where that “somewhere” was.

I did some googling and actually found a couple of “Java tutorial” sites that tell people to override clone() as part of a “standard” singleton implementation. I won’t be linking to any of those sites for the obvious reason of not wanting to bump up their google rankings. And I’m just gonna post some kind of “counter-jinx” here:

If you are preparing for an interview, and happen to stumble upon this blog, please, please remember that Object.clone() by default throws CloneNotSupportException if the class does not implement Cloneable, and I don’t really think you would want to tell your interviewer that you wish to have your singleton class implementing Cloneable. So, no, it’s completely unnecessary to override the clone() method in a singleton implementation.

Build Subversion 1.4.3 in Ubuntu Edgy

February 11, 2007 – 19:49

You'd (I did) think now that we have all figured out how to build 1.4.2 in Edgy, building 1.4.3 should be just some rather boringly repeated procedure. Nope.

For the APR and APR-UTIL packages required by subversion, there are libapr0, libapr1.0, and libapr1 and their corresponding libaprutil* in Synaptic. Despite that the libapr0 description says that it is "currently used by Apache2, Subversion...", or that 1.4.2 was happily built with libapr1.0, you want to get libapr1/libapr1-dev/libaprutil1/libaprutil1-dev, and use this configure line: (I don't care much about accessing through webdav)

CODE:
  1. ./configure --with-ssl --with-apr=/usr/bin/apr-config --with-apr-util=/usr/bin/apu-config

Programmatically Build a Spring Application Context

January 14, 2007 – 14:56

The new BeanDefinitionBuilder class added in Spring 2.0 allows an XML-less way to build application contexts programmatically. Can be very useful for, say, creating quick testing setups in one of those script languages. more...

Upgraded to Wordpress 2.0.6

January 14, 2007 – 14:41

Build Subversion 1.4.2 in Ubuntu Edgy

January 6, 2007 – 23:54

The standard Ubuntu repository has only 1.3.2. Higepon's tips worked very well. In addition to the packages listed, I had to also install 'expat-dev'.

Mutt Notes

January 1, 2007 – 12:57

I'm just starting to use mutt, so this is where I plan to keep the tips and other notes. more...

My Ubuntu Experience: Email

January 1, 2007 – 12:36

Oddly, in this age of GUI, I'm seriously thinking about using mutt to handle emails. I tried both Evolution and Thunderbird. Neither turned out satisfactory at handling the multiple IMAP accounts I have. The Linux version of Thunderbird is particularly slow - compared to the Windows version. more...