Failure To Grasp Polymorphism

I've cataloged a third specific case of fundamental failures to understand polymorphism. The first two I've seen a fair number of times. The third seems to be more rare.

1. "How do I determine which subclass an object has?" The Identification problem.

2. "How do I morph an object to …

more ...

The First Number Sticks Forever

Two months ago, we looked at some Data Warehouse design information.

It looked like 8 months of work. It might be finished by year-end. Fatal mistake: we gave a "number". Year-end.

We did due diligence, investigating source applications, data marts, subject areas, etc. And, the client delayed their decision-making process …

more ...

How to Derail Use Case Analysis: Focus on the Processes

It's easy to prevent successful use case analysis: make it into an exercise of defining lots of "processes" in excruciating detail.

First, ignore all "objects" definition. All business domain entities -- and actors -- must be treating as second class artifacts.

Second, define everything as a process. A domain entity is just …

more ...

Agile Methods, Inversion of Control, Emergent Behavior

Date Tags agile

I've run in to some Agility questions recently. Questions that indicate that some people just don't like the Inversion of Control aspect of Agile methods.

We used to call IoC "Emergent Behavior". The system isn't designed from top-down to fill specific use cases. Instead, the system is designed so that …

more ...



Think Once -- Code Twice

Some thoughts for the day

  • "Quick And Dirty == Guaranteed Rework"
  • "He Who Codes First Loses"
  • "Think Once -- Code Twice"
  • "Admin's Law: It's Always Permissions"
  • "Programmer's Law: If it's not permissions, it's the path"
  • "If it seems hard, you're doing it wrong"
  • "One-Off == The First of Many"
  • "Requirements Translation: Never == Rarely …
more ...


That's odd -- Python faster than Java

Here's an amazing Stack Overflow question.

The follow-up conversation is great stuff.

The question shows two versions of approximately the same processing. Python is faster than Java. That's unexpected.

Java has static compilation and the hot-spot translation to machine code. Apparently, Python has some optimizations that are just as valuable …

more ...

Semantic Markup with Docutils Interpreted Text Roles

A resume is a slippery thing -- a package of semi-structured data.

It has a kind of database-like feel to it, but there are so many exceptions and special cases that the database never works out quite the way you wanted.

For example, I've got -- essentially -- one employer over the past …

more ...