Wednesday, December 29, 2004

4GB x 120 Can Cover All?

Adam Bosworth has an interesting post about what database features customers want these days: 1) dynamic schema, 2) dynamic partitioning, and 3) modern indexing. Most interesting are the parameters he quoted for tracking 100M items of 4KB each. He figured (only) 120 machines of 4GB each are needed to keep current day's work all in memory. Now that's NOT a lot of machines. If this is correct, we can marvel how well hardware works for us. On the other hand, these machines have 400GB x 3 hard drives. The memory to hard drive space ratio is 1:300, which means a cache hit rate of 99.67% is required to keep it away from swapping, which seems too high to me. On the other hand, keeping everything in memory does sound like a great idea.

Sunday, December 26, 2004

JSTP and Better Templating

Checked out JSTP a little and found it interesting. Here is a post on the effort of better templating in the Cornerstone Framework.

Saturday, December 25, 2004

Free PostgreSQL Manager

Tried the EMS PostgreSQL Manager Lite (free stripped down verison of its commercial counterpart) today. Although I have not used it extensively yet, I like what I have seen so far very much. The UI appears to be much more polished than pgAdmin, which is not bad already. Here is a shot of EMS ProgreSQL Manager:

Thursday, December 23, 2004

Apache Avalon Closes

Interesting piece on the closing of Avalon and forking of it into separate projects.

Monday, December 20, 2004

JRockit Needs Refinement

I had heard of good comments on BEA's JRockit JVM. I tried it last Friday when 5.0 just came out. It started my Eclipse 3.0 development environment OK. I poked around in it a little bit and noticed no difference in performance compared to JDK 1.4.2. Well, it's a server JVM anyway right? Then why does it take over as the default JVM after installation? I made sure to check off the right boxes so that it would not be installed in any of the browsers. Then as soon as I started a JUnit test, an error message came to say the debugger could not be connected to. There is no such problem with either JDK 1.4.2 or 1.5.0. I also tried JRcokit 5.0 on Linux (Gentoo with kernel 2.6.9) on Tomcat 5.5.4 and Confluence. It failed on the known problem of it with CGLib. To conclude: although I had high hope, JRockit 5.0 needs refinement before I can use it. I hope BEA fixes it soon.

Tuesday, December 14, 2004


Bob McWhirter of Codehaus fame has formed a company OpenXource.

Groovy with Ant

Using Groovy with Ant has always been an interesting idea. It shows the power of making functions first-class objects that can be passed around (called closures).

Monday, December 13, 2004

Haloscan commenting and trackback have been added to this blog.

Thursday, December 09, 2004

Dynamic Languages for the JVM

How I miss the days of developing in Smalltalk (-80 2.5 on Macs). Recently I revisited it and was astonished to find how used have I got to the not so great syntax of Java (although JDK 1.5 remedies that just a little bit). It's great to hear about Sun's interest in supporting dynamic languages on the JVM. My interest in this area comes from that not only dynamic languages are more succinct, elegant and easier, but also I forsee the days when programming can become as easy as writing a note, which everyone can do. Today we have casual users publishing blogs and linking them to the blogs of others. Tomorrow we will see the average Joe putting together little apps and linking to each other's.

Wednesday, December 08, 2004


Listened to a JDO presentation given by Solarmetric's CTO Patrick Lindsey at SVJUG's monthly event at Netscape campus (where I used to work; the trees have grown a lot in the last 3 years) tonight. Nothing in technical details. I looked at JDO almost 3 years ago and had a very bad impression of the lavish complexity of its API. Recent good experience of Hibernate has not helped in generating any new interest in JDO. Maybe it's time again to see whether the transparent persistence approach that JDO advocates has actually improved in its usefulness in reality.

On a separate note, as I was sitting there listening, I was thinking how much the speaker has to connect with the real needs of the audience to engage their interest. All the good features won't matter if they don't improve my everyday life. Got to try to do well in that respect when I present.

Thursday, December 02, 2004

Extreme Inversion of Control

Brian McCallister talks about intercepting normal method calls. Not really new. This is the power of doing crazying things with runtime weaving which AspectWerkz does the best. Some people (like me) get excited about this while others scared.

The emphasis on no XML is interesting. Yes, if we can do fine without XML, we should just go ahead.

New Release of Thunderbird

Today Mozilla Thunderbird 1.0RC is available. I have been using Mozilla Firefox for over two years (starting when it was still called Phoenix) and Mozilla Thunderbird and have successfully stayed out of the troubles of adware/spyware (BTW, I use Wnidows 2000 and don't have any kind of personal firewall installed). They are both very much recommended.

Interesting Read

The New Age of Amateur is quite interesting. Looks like I have always been an amateur :). Well, I hope the amateurish stuff we build into Cornerstone and its applications will become some useful to all.

Interesting Visual Hibernet Tool

Exedel's ORM Studio Hibernate Edition seems very interesting.

Haven't tried it. If it indeed works well, configuring Hibernate can truely become easy and fun. Then the hbm.xml files can be assumed under the simple Cornerstone Persistence API to make persistence even easier:
IComponentManager componentManager = (IComponentManager)

IPersistentObjectFactory userFactory = (IPersistentObjectFactory)
componentManager.createComponent(IFactory.class, "myUser");
IUser user = userFactory.createInstance(new Integer(101));
user.setName("John Doe");;
It doesn't seem to get easier than this :).

Wednesday, December 01, 2004

Other People Worried about RIAs Also

So I am not alone in advocating sticking to the web for RIAs. Here is a post on today's TheServerSide.
I know I'm just one quiet voice in a storm, but if you are thinking of developing any kind of "rich" web application, please, please, embrace all the aspects of the web experience we all love so much rather than rejecting them for your own preferences and assumptions. Don't make your application an irritating, restricted and unfamiliar alternative to the web browser experience, make it a comfortable extension to the web browser experience. If you don't allow your customers the control they are used to on the web, you will alienate your users and risk being out-evolved by a more compatible product.
Thanks, Frank, for speaking up. No, you are not alone. Let's improve the web while keeping it the web.