Atom Atom feed

A Bit Of CVS Mystery

The problem is easily fixed, but I sure would like to know why it happened.

I had to deal with a bit of CVS mystery at work last Friday (or this Friday depending on whether the week starts with a Sunday or a Monday and however the adjectives 'last,' 'this,' and 'next' work with days of the week—I'm still confused—anyway, it was two days ago) whereby messages such as the following is issued for an entire subdirectory structure:

[...]
cvs update: move away lib/asdf/qwer.cpp; it is in the way
C lib/asdf/qwer.cpp
cvs update: move away lib/asdf/qwer.h; it is in the way
C lib/asdf/qwer.h
[...]

This happened whenever I tried to update my workspace with my usual CVS command in the project directory:

[weiqi@gao] $ cvs -q -z9 up -dP

A simplified version of the project directory is as follows:

$project-dir/
  +-module-1/
  +-module-2/
  +-...
  +-module-n/
  +-bin/
  +-lib/

where module-1, ..., module-n contains sources and bin and lib contains compiled executables and dynamic link libraries respectively.

Naturally, the bin and lib directory are not in CVS, and we have a .cvsignore file under $project-dir that lists both directories to prevent CVS from printing out questions about files in these directories when I update.

Everything worked just fine until the CVS directory restructure. Under the new and improved plan, the lib directory and a subdirectory tree underneath it is added to CVS:

$project-dir/
  +-...
  +-lib/
    +-asdf/
    | +-...
    | +-qwer.cpp
    | +-qwer.h
    | +...
    +-zxcv/
    +-...

All of these is done somewhere else. All I have to do is to issue my CVS update command. My first try pulled down the new subdirectories and files. The conflicts happened on subsequent CVS updates.

As it turned out, my problem can be fixed by adding a line

D/lib////

to the $project-dir/CVS/Entries file, or by deleting the entire lib tree and redo CVS update.

But I still don't understand how my workspace got the way it was. Since my problem is solved, I'm not inclined to investigate (i.e., try to reproduce the weird situation) further.

Tags :

Zhicheng Li Blogger

He's all technology!

For those of you who missed this subtle comment 22 days ago:

Jason Li: BTW, my blog is up!

or this announcement 19 days ago:

Jason Zhicheng Li's Blog: My blog is up

here's what you've been missing:

Yes, Zhicheng Li started a blog. Where else do you get the Twelve Best Practices of Spring XML Configuration Files?

BTW, very clever favicon.ico :)

Tags :

GCC To Move To Subversion

It's probably safe to say that it's safe to move to Subversion now.

Another reference point for projects that are comtemplating a move away from CVS to Subversion:

Daniel Berlin, GCC: We will move to subversion starting Wednesday, October 26th.

Seven Reasons To Go With OpenOffice.org 2.0

Most people won't need MS Office anymore.

I still remember the early days of Star Office. It wasn't Free Software back then. It has its own "desktop," left nav tree, and file open dialog box that doesn't work quit the way you expected. But it has one thing going for it—it can open Microsoft Word documents.

Sun bought Star Office, made it Free Software with a new name OpenOffice.org, and kept working on it. Yesterday, they released OpenOffice.org 2.0. I grabbed a copy and installed it on my work machine.

I've been forced to use OpenOffice.org at work for a year and a half (OCI won't buy me a copy of MS Office) and it worked out well. I can read, write and print MS Word, Excel, PowerPoint documents just fine.

The 2.0 release prompted me to reflect on the choice between MS Office and OpenOffice.org. And I see a lot of reasons to go with OpenOffice.org. Here's some of them

  1. OpenOffice.org 2.0 is Free Software. It won't hurt you to just install it, even if you later also install MS Office
  2. OpenOffice.org 2.0 understands more file formats than MS Office. You can open an MS Word document in OpenOffice.org, but you cannot open an OpenOffice.org Writer document in MS Office
  3. OpenOffice.org 2.0 works on many platforms: Windows, Linux, Solaris, Mac OS X, and more while MS Office only works on two: Windows and Mac
  4. OpenOffice.org 2.0 file formats are open and standardized. This ensures the long term viability of documents
  5. OpenOffice.org 2.0 generates PDF files from its documents, spreadsheets and presentations for easier sharing
  6. OpenOffice.org 2.0 contains a new database module, not unlike MS Access, that is based on the pure Java database engine HSQLDB and allows users to create form based applications and reports based on the data
  7. OpenOffice.org 2.0's document format, OpenDocument, itself an industry standard, is being adopted as "standards" by huge organizations, like the U.S. state of Massachusetts. They are already posting *.odt formatted documents on the web

Of course, not everyone can migrate to OpenOffice.org 2.0 right away. Reasons to keep on using MS Office:

  1. You are a heavy MS Office user and just don't feel like learning a new thing all over again
  2. You are in an environment where MS Office is the standard and it would take five years to change that
  3. MS Office formatted document is the end product of your work and the fidelity requirements are high (particular fonts, etc.)
  4. You simply like the feeling of paying Microsoft money (or make your employer pay just to highlight your importance)

Geronimo---Here Comes The Cute Logo

Cute logos win, everything else is secondary

I haven't followed the development of Geronimo, the Apache licensed, J2EE certified application server since I first reported on its formation 805 days ago.

It's been a little more than two years now. A check of the website indicates that they just made a "1.0-M5" release 14 days ago, passed the J2EE TCK 1.4.1a compatibility tests 111 days ago, and a free book is available if you read Spanish.

And today, I read from TheServerSide.com that they have just chosen their official logo.

According to my cute logo theory, this is more significant an event than most of the other technical milestones, for nothing attracts a crowd like a cute logo.

Google 2084

We've all surrendered.

(Via Slashdotcn.org)

Randy Siegel:

Come on! Amazon.com

$10.00 for 2 pages of HTML?

I was ordering some books on Amazon.com when I happened upon the following item:

I know Amazon.com is big and has a lot of leverage and all and they can sell anything they want at any price they want. But selling a two-and-a-half-year old news story at $10.00? It's not even PDF! It's 2 (count them, 2) pages of HTML.

Want to buy a copy of one of my old blog entries for $10.00?

InfoWorld: JBoss adds Drools business rules engine

I'm testing out the "Blog this" bookmarklet in Pebble

Paul Krill (InfoWorld): Previously hosted by Codehaus, Drools—and its developer, Mark Proctoris—is moving over to JBoss. Drools is slated to become a JBoss product called Java Business Rules in early-2006, along with being a part of JEMS.

Slashdotcn.org

I learned it from my referer log.

I've been going over my referer log a few days ago and saw an entry http://slashdotcn.org. For a moment I thought I was slashdotted. But then I noticed the http://slashdotcn.org part.

This is a Chinese technology weblog site that looks very similar to Slashdot. It seems to cover roughly the same areas as the English Slashdot, but with a Chinese spin. If you read Chinese, and I know several of my readers do, slashdotcn.org should be an interesting read.

Here's some of the stories that I enjoyed:

I don't know who are behind the website, but they seem to be doing a good job producing new stories. It feels like the original Slashdot in their early days.

Google Hates Me---Google Reader Doesn't Work!

No matter how I click, nothing happens.

Everybody and their brother are talking about the wonderful new Google toy—The Google Reader.

However, for the life of me, I can't seem to make the darn thing to work. No matter how I click, nothing happens.

Google must hate me. (Either that or I'm stupid.)

Just as well, I can continue using Bloglines.com, which, by the way, has worked for me for a couple of years.

You can too:

Subscribe with Bloglines

Tags :

Fwd: Why I Hate Frameworks

Sad, isn't it?

This article has been making the rounds. I saw it mentioned in OCI's internal Java mailing list (thanks to James McMurry) last week. And I saw it today on del.icio.us/tag/java. Should be fun reading for a cold Friday of refactoring, fixing tests, fixing the build while waiting for the requirements to change.

BenjiSmith: "And this is the way everyone is doing it now? Everyone is using a general-purpose tool-building factory factory factory now, whenever they need a hammer?"

Go Listen To Jim Waldo!

And things did work last time!

(Via Charles Ditzel)

Jim Waldo (audio, slides): If you don't have a failure model, what you do have is a failure model that says any failure will be catastrophic.

Jim Waldo is one of the authors of the classic paper: A Note on Distributed Computing.

Spring Framework Has A Competitor Now

Spring+Hibernate vs. The New JBoss Thing (Seam, is it?)

In the last few years, we've heard a lot about Spring Framework and Hibernate. Lots of job postings with Spring and Hibernate requirements.

With the (beta) release of JBoss Seam 15 days ago, claiming EJB3 and JSF integration, the landscape is set to change.

I understand that there are other quote-and-quote web frameworks around, RIFE, for example. But somehow Seam stands out with its emphasize on standards. It being a product of JBoss lead by Gavin King, the Hibernate guy, also helps.

And it looks like it's going to be a battle between the JBoss guys and the Spring guys. Sparks is already flying in multiple websites and blogs. Here's one that's particularly entertaining. You need to read the comments.

Cast of characters:

  • Gavin (King, JBoss)
  • Bill Burke (JBoss)
  • Rick Hightower (Spring?)
  • Rickard (Oberg, not JBoss, Spring-ish?)
  • Keith Donald (Spring)
  • Andy (Oliver, JBoss)

Not that I don't like Spring. But it being a non-standard library and framework gives me an uneasy feeling. The same feeling that JGL and BWT gave me back in the old days.

Java News Brief (JNB): Building A Complete NetBeans Platform Application

Get it while it's hot.

The second installment of Tom Wheeler's NetBeans Platform tutorial is posted to OCI's Java News Brief (JNB). Get it while it's hot.

Stack Allocated Objects Coming To a JVM Near You

It's in Java 6!

Brian Goetz: Escape analysis is an optimization that has been talked about for a long time, and it is finally here -- the current builds of Mustang (Java SE 6) can do escape analysis and convert heap allocation to stack allocation (or no allocation) where appropriate. The use of escape analysis to eliminate some allocations results in even faster average allocation times, reduced memory footprint, and fewer cache misses. Further, optimizing away some allocations reduces pressure on the garbage collector and allows collection to run less often.

Escape analysis can find opportunities for stack allocation even where it might not be practical to do so in the source code, even if the language provided the option, because whether a particular allocation gets optimized away is determined based on how the result of an object-returning method is actually used in a particular code path.

The lack of the ability to stack allocate objects has been a complaint against Java from C/C++ programmers for as long as I can remember. C#'s introduction of stack allocated structs forces developers to decide if a class of objects should be stack allocated or heap allocated at class design time, which some think is the wrong time.

Will the entire Java code base see a performance boost because of this optimization? I hope so!

Tags :