Archive for August, 2007

Tools of The Effective Developer: Personal Logs

When people talk about tools in the context of software development, they usually refer to stuff like Integrated Development Editors, Automatic Build Systems, Testing Frameworks, Documentation Extractors, or other useful applications that makes their lives as developers easier. Those are all great and productive tools, but they are not the most valuable ones. What really [...]

OT: Role-playing Comic Comedy

This is totally off topic, but I can’t help myself, I have to pass this one on. If you, as I did, grew up with role-playing games like AD&D, then you’ll find this comic book version of The Lord of The Rings hilarious. The creator really nailed it with this one.

Is the Contract Programming of D broken?

In my previous post I mentioned that I wasn’t sure of how the D Contract Programming feature works in an override scenario. Wekempf inspired me to delve deeper into the matter. Here is what I found.
Contract Programming states that preconditions may be weakened by a deriving class, but never hardened. For postconditions the reverse is [...]

Contract Programming in D

If you are a defensive programmer like me, you make heavy use of assertions to guard assumption you make in your code. For example, a method for adding an order item to an order object could look something like this:
class Order
{
private List orders;

int addItem(OrderItem item)
{
assert(assigned(item));
[...]

Is IEE 754 too advanced?

In my previous post I’m afraid I exposed my inexperience in the world of floating point programming. As many pointed out it’s the inherited behavior of the IEEE 754 standard, and, in Walter Brights own words, to change it would break legacy usage. In other words I should direct my concerns about the handling of [...]

Is D:s floating point handling too advanced?

The floating point support in the D Programming Language is more advanced than that of standard C and C++. I’m not sure I like every aspect of it though. The thing I’m having problem with is how D handles the special value NAN (Not A Value).
For instance, a simple comparison will always return false if [...]

Agile low level programming in D

Agile software development techniques have long been utopia for low level system developers. The C programming language has been the most reasonable choice for implementing hardware near applications and drivers; But C was not designed with agility in mind. Hence methods like test driven development has been a pain to implement using C.
Now an alternative [...]

Part time project engagement - no thanks!

I am currently employed at a government owned, medium sized company. The company’s IT-division is struggling to satisfy the diverse needs of the other divisions, and is constantly undermanned. One clear indicator of this is multiple project engagement among developers. It has become the default state.
It’s understandable that management give in to the pressure and [...]

Is your team jelled?

Do you work in a team that jell? Then you know the feeling that comes when the team starts to do everything right: solving problems before they even surface, finishing every iteration early, delivering high quality software - while having fun. That feeling is something you will never forget, and you should consider yourself extremely [...]