ArrayList vs LinkedList

I was really surprised to see this article. I typically have only ever used ArrayList because it fits my needs but I've always reserved the option of inserting another List should the situation change. After reading this, though, it doesn't seem there's much point to using LinkedList ever. I can see why operations in the middle would take a while since you have to scan the list to find element n but I didn't expect it to overshadow the cost of adjusting the array. (Though array copies are reasonably fast for most purposes). What really surprised me was the work on the end. That should be almost instantaneous provide it's a doubly-linked list.

What these numbers point out for me is that perhaps the Collections code should be revisited and vigorously optimized. I've heard too many stories of people writing custom implementations that are faster than the JDK offerings. Granted, the JDK is solving a generic problem and custom lists can be optimized for special cases, but none of the anecdotes I've heard really deal with corner cases. The Collections classes are too heavily used to be as inefficient as they appear to be.

New Website Design

After sitting on the design my web guy gave me for a few weeks, I finally decided to carve out some time and implement the design. You can see the new design on the home page now. I haven't managed to get all of the design done, yet. There are few more eye candy details that I haven't gotten to yet. But what you see is bulk of the design. I'm pretty pleased with it so far. It's pretty minimalist without being drab. I had hoped to do it in pure CSS but had to resort to using tables. Now I need to update my roller template so the color schemes match.