Sunday, December 12, 2010

Modeling software systems: data centric, and then what?

For many years I favored a declarative data centric view to software architecture: Graphs with a compositional hierarchy were my mantra. I once explained that these design were like the one ring in the lord of the ring: “One pattern to rule them all and in the design simply them”.

Yet in the end I have changed my beliefs. I now favor a more “equation solving” view to modeling. I find more and more, and especially in the context of real time automation that the models are inherently “sustained” between a data centric model and what I call a dynamic model, which is easier to describe differently. I find easiest to describe dynamic properties as domain specific type theories in a functional framework. These are expressed as DSL with ad hoc types and type inference solvers.

Tuesday, November 02, 2010

my Dell Latitude X1

I need to praise my sturdy little Dell Latitude X1 laptop that I've had for the last five years and that has always stood up to its expectations. it's a Pentium M 1.1 GHz, and it only has 60G of hard disk memory and 1G of RAM. Yet I happily run Visual Studio 2010 on it, even in cramped airplane seats. Also I can carry it in a small bag.I recently scanned the market for a new small laptop. I looked at all the brands and Dell's M 101z came up as a potential favorite. But even with its dual core and its 4G, there was not enough new value to make the change.

Thursday, August 05, 2010

Do not copy paste, do not use autocompletion

I do not believe in auto-completion help in an IDE. Nor do I believe that you should copy-past code snippet to "be faster".

I believe that your brain must have the purest form of the source code in its memory: the sequence of statement or a visual image of the functions. The last thing you want to do is to "corrupt" this mental image with "grey areas" that you brain has not learned in a compatible manner. Everytime you use auto-complete you push aside your brains and take a short cut. Same for copy past. Copy past may be in your mind because there exists a pattern that maps the orginal understanding of the source to the copied version.. But in such a case, you are introducing redundency, so better not do that.