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 ...

Tying your automobile to a hitching post.

The points are serious issues. However, the best summary comes from Karl Guertin: "My explanation is that Duck Typing is like Ethernet, in theory it will break, but in practice it works pretty well."

There were three questions which raised four issues. The questions included the seemingly incomplete OO implementation …

more ...

PyCon Presentation

I'm very excited to be giving a presentation at PyCon '07. A 30-minute slot is tough because the Star Schema can be confusing. The coding is pretty transparent (IMO), but the background for why I had to do this and places where it can be used are more interesting than …

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 ...