Living by Coincidence

by Ivan Hamilton 11/29/2007 9:12:00 PM

Something I read a few months ago, and really did rock my world was The Pragmatic Programmer: From Journeyman to Master. Normally, I consume fairly heavy technical material, and this was certainly a change for me. This book examines a number of traits usually present in "master" programmers, and those traits just aren't highly-technical. It has a section called "Programming by Coincidence" which includes this gem:

"Suppose Fred is given a programming assignment. Fred types in some code, tries it, and it seems to work. Fred types in some more code, tries it, and it still seems to work. After several weeks of coding this way, the program suddenly stops working, and after hours of trying to fix it, he still doesn't know why. Fred may well spend a significant amount of time chasing this piece of code around without ever being able to fix it. No matter what he does, it just doesn't ever seem to work right.

Fred doesn't know why the code is failing because he didn't know why it worked in the first place. It seemed to work, given the limited "testing" that Fred did, but that was just a coincidence. Buoyed by false confidence, Fred charged ahead into oblivion."

This described perfectly some developers I'd recently experienced, and I hadn't been able to neatly label the exact pattern. It was great to have it spelled out so simply: "he didn't know why it worked in the first place". Oh, crazy developers...

But, it didn't go away.

I was talking to a friend of mine about some systems engineers at his company. They were unable to determine why IP connectivity was lost when they altered a server's network configuration.  It was the simplest of reasons (multiple NICs & routing) but one they didn't understand because even with a single NIC because they didn't know why it worked in the first place.

This opened my eyes to the reality that there are a lot of people considered professionals (in all fields) that are getting by without understanding why things work. Personally, I think if you're a professional, you should understand why things work.

I'm scared...

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5



Eating lips and arseholes - BlogEngine.NET on Mono

by Ivan Hamilton 11/29/2007 3:41:00 PM

Ok, I'm a big fan of eating one's own dog food, but sometimes you've got to show commitment to base components, not just the final product.

Anyone who knows me, knows I'm a .NET junkie. But strangely I'm also not complete a Microsoft bigot. I'm, a fan of Mono and if you look hard enough I've even contributed a little. So what happens when I think it's time for a blog software update?

There's not a lot of options in the .NET space for blog software, and even less that don't need a SQL Server. One possible is BlogEngine.NET.

So, this is it. After a pile of installation & upgrades of various packages on my Debian box we have an initial "running" instance. I'm sure there'll be more issues, and I'll tackle them as they come. Who knows, in the future, you may even see contributions of mine in BlogEngine.NET.

P.S. It appears someone else is also trying BlogEngine.NET on Mono.

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


.NET | BlogEngine.NET

Powered by BlogEngine.NET
Original theme by Mads Kristensen

About the author

Name of author Ivan Hamilton
"My inner nerd can beat up your inner nerd."

E-mail me Send mail



<<  October 2021  >>

View posts in large calendar

Recent comments





    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2021

    Sign in