Sunday, February 27, 2005


My favorite new "Why Didn't I Think of That?" site is Woot! ( It is a shopping site that only features 1 item a day. They have a limited number of that 1 item, and when they are sold out, nothing happens for the rest of the day. Generally, it's something that is very deeply discounted. The next new item appears at midnight (central time) for the next day. How cool is that? The items vary widely, from robots to blenders (and that was just this week). Check it out. If you really get caught up, you'll end up staying up until midnight to see what the next item is going to be. The really good ones sell out fast (I'm not quite at that level yet -- I wait until the next morning...and end up missing out a bunch of times).

Wednesday, February 16, 2005

Instant Wiki

One of the best collaborative tools I've found in a long time for development projects is a Wiki because it is lightweight and free-form enough that everyone will use it. We've had one for a while at DSW and I'm stunned at how useful it is. There are lots of overblown document sharing systems out in the world (recently, I had the displeasure of using Microsoft's SharePoint -- ugh!), but the simple Wikis Just Work.

The one we've used for a while at DSW is Very Quick Wiki from SourceForge, a quick, simple, J2EE based Wiki. It took all of 15 minutes to setup and has run flawlessly for months.

I recently discovered an even easier one to set up -- Instiki. The instructions are so complex I'm going to reproduce them here:

Step 1. Download
Step 2. Run "instiki"
Step 3. Chuckle… "There’s no step three!" (TM)

OK, it's slightly more complex (you have to have Ruby installed), but not much. It stores everything in the filesystem (in a single portable directory if you have to move it, back it up, etc.), includes its own web server, and it Just Works. It is now officially my new favorite ultra-lightweight Wiki. And, it's Ruby based, which makes it even dearer to my heart!

Tuesday, February 15, 2005

Environmental Overcompensation

I travel a lot, and I've noticed a universal trend in places with inclement weather -- they always try to overcompensate for the temperature. For example, if you are in Houston in August and walk into a store, the air conditioning will have the temperature at 60 degrees. At first I thought what you are thinking now -- it just seems cooler because it is so hot outside. But, that's not the case -- I've looked at thermostats. Conversely, if you are in Grand Rapids in January and walk into a restaurant, it will be 90 degrees.

In each case, it seems that the people who live in weather-challenged places are trying to overcompensate. Almost like they are ashamed of the weather and they're trying to make it up by showing that they don't really like the ridiculous heat, they would rather shiver in July...

Thursday, February 10, 2005

Aspects of Aspects

When I learned about Object-oriented programming, I thought it was about the coolest thing I had ever seen. The canonical example back in 1989 was shapes, so that you could create a polymorphic draw() method (this example still pops up a lot). So, I learned about OOP as a way to model problem domains. However, the only examples I saw for years out in the real world were all frameworks, like GUI frameworks or persistence stuff -- it was generally in the form of components to make constructing applications easier. Gradually, people started using OOP the way that I thought it should have been all along -- to model problem domains.

I think the same thing is happening right now with Aspects. While not as revolutionary as OOP, aspects still represent a key shift in thinking. But most of the examples you see these days are all in the boundary layers again -- logging, persistence, dependency injection, security, etc. Like OOP, once developers really grok what's going on with aspects, we'll start seeing it show up in the problem domain layer in places where it makes sense. Just like the really advanced OOP practitioners were doing it right early on, the aspect guys who are pushing the state of the art are pushing aspects into the problem domain right now. In 15 years, it will be as natural as polymorphism.

Wednesday, February 09, 2005

TV is the New Campfire?

Speaking of cavemen (as in my last blog entry), a friend of mine made an interesting observation. This is while we were camping (and those of you who know me and my policy on camping will understand what a rare occurrence that was), sitting beside the campfire. As you know, there is a hypnotic effect when you sit and watch a fire, either of the camp variety or in a fire place. Wright's observation was that the hypnotic effect may be genetic. Back when we lived in caves, it benefited those that sat around the fire at night -- more warmth, more personal interaction with the other fire-likers, and less likely to get eaten. And that TV is the modern campfire.

When you think about it, there are definite similarities. Both are flickering lights that encourage you to sit and stare. Maybe that explains the ease that some people have sitting and watching TV for hours on end. And, that may explain the default behavior of many people I know when they watch TV. They don't find a good show to watch (because there aren't any), they find the least worst thing and watch it. When a commercial or some other distraction comes along, they find the next least worst thing and watch it. I propose that most of the TV being watched isn't because it's really good, it's because it's there. A lot of TV isn't much more entertaining than a fireplace. Both seem to encourage that passive, vacant stare.

Maybe you could get the best of both worlds by setting fire to your TV?

Monday, February 07, 2005

Team Sports and Tribes

'Tis the season...

What with the SuperBowl just having passed like a storm, I started thinking about why people are so zealous about sports. Like the comedian said (I'm paraphrasing and sanitizing), oppressed people riot about the condition of their lives, while civilized people riot when their sports team wins!

I think this is a perfect example of deep-seated primate behavior leaking through the facade of civilized society. When we were in tribes on the African plains, it was a Good Thing to support your tribe, and behaviors evolved to reinforce that activity. The guys that didn't care for the tribe were off in the woods, acting as appetizers for saber-toothed tigers.

Today, this tribal tendency leaks out in the more or less harmless outlet of team sports. We've decided that countries as tribes is a bad idea (it took several wars, and some still aren't convinced). So, now we have our teams where we can attach our savanna baggage.