Being an Architect

There are a number of necessary skills for being an architect. Here's a list of four that occurred to me as I tried to piece together a coherent thought from a flurry of emails.

  • Summarize.
  • State A Goal.
  • Know The Technology.
  • Manage Your Investment In Learning.

These aren't sufficient skills …

more ...


Advanced Programming

First, I'm really pleased to see a focus on end-user applications of Python. It seems like most of the Open Source Community likes to build infrastructure, operating systems, servers, frameworks and components. Maybe I'm looking in all the wrong places, but I have a soft spot in my heart for …

more ...

What a Data Warehouse Can Never Do

In one form, the question is "How do we handle the [X] transaction in the warehouse?" Another form of the question is "What do we do when [Y] changes?" The third form is less clear, but essentially the same: "How do we maintain [Z] in the warehouse?"

All of these …

more ...


Refactoring and Unit Testing

I do a fair amount of manual refactoring. I've used WebSphere Studio (Eclipse) to do some automated refactoring, so I have some experience in using IDE's which exploit Java's static type-checking.

However, the question of type checking in a dynamic language is interesting. I don't use a sophisticated IDE for …

more ...


Ways in which learning can be A Bad Thing™

Once I learned C++, all my C programming became poor-man's OO.

  • Every "class" became a C structure type.
  • Every class structure was implemented as a header file that defined the structure and a bunch of method functions.
  • Each method function would have a "self" argument, which was a pointer to …
more ...

Comments

In a recent code review, I saw a bizarre habit. The author defended it so vehemently, I gave up on trying to explain the needless confusion it caused. The author was one of those "I always do it this way, and I'm always right." people, so nothing was gained by …

more ...