Archive for June, 2006

ORM: The Vietnam of Computer Science?

Friday, June 30th, 2006

Though I have a different focus at the moment, something I keep in the back of my head is DAO and ORM material as I’ll eventually be embarking on a very data heavy project. Without getting into specifics, it would seem logical that an ORM implementation to access the data in the aforementioned project would be somewhat beneficial because the data involved seems to be pretty easy to model and seem to be simple is-a nouns such as “Address”, “Person”, etc. However, I find myself fairly resistant to try and represent said data as objects because of the complexity involved, the lack of control over the underlying structure of the data, trying to combine many disparate sources, etc.

Along the same vein, I just happened to come across a blog post from Ted Neward describing ORM as the Vietnam of Computer Science while trying to research Java performance on dual-core processors:

In the case of Vietnam, the United States political and military apparatus was faced with a deadly form of the Law of Diminishing Returns. In the case of automated Object/Relational Mapping, it’s the same concern–that early successes yield a commitment to use O/R-M in places where success becomes more elusive, and over time, isn’t a success at all due to the overhead of time and energy required to support it through all possible use-cases. In essence, the biggest lesson of Vietnam–for any group, political or otherwise–is to know when to “cut bait and run”, as fishermen say.

It’s a pretty lengthly read, but very well explained.

Like any technology, everything looks like a nail when you have a hammer, and I think ORM is one of those tools that people smash bananas with from time to time. The majority of the time I think it’s a good way to go with your data model, but there are plenty of exceptions.

On a related note, a couple of my current favorite data frameworks include iBatis for Java, and Reactor for ColdFusion.

How To Use Control Alt Delete in Remote Desktop

Thursday, June 29th, 2006

I finally figured one of lifes paradoxes– how to use CTRL + ALT + DELETE while using Windows Remote Desktop / Terminal Services in windowed mode (not full-screen). Instead, use CTRL + ALT + END. That is all.

Django Featured on IBM developerWorks

Tuesday, June 6th, 2006

I’ve been playing around with Django quite a bit at home over the past couple of weeks and saw that IBM developerWorks just published the first in a series of articles about Python web frameworks titled “Develop for the Web with Django and Python“. I’ve actually started a pretty lengthy post on the same subject from a long time ColdFusion developer’s perspective (on a side note, I also do work with Python and Java, and can twiddle ineffectively in C and Assembly Language at gun point) based on my experience with Django thus far and hope to have it finished in another week or two.