Tuesday, 20 June 2006

Developing software is not the same as selling carpets

Again something interesting from Joel. And my two cents. I would like to emphasize a thought that he presents at the end of the post. In short you have to know the field you run your company in. It’s obvious that developing software is different then selling carpets. I’m not saying one is more difficult then the other I’m saying they are different.

Sunday, 11 June 2006

Assess yourself and find out what can be improved.

Just go to John Skeet’s blog and assess yourself. In short, are you really able to work in a team?

#1 - Overengineering (in complexity and/or performance)

I agree. It’s important that your algorithm/method has time complexity O(n) instead of O(en) but it’s not very often really important whether you use foreach or for loop. Mind that the first one makes code much more readable. But I have to emphasize that casting to String and calling ToString method is a different kettle of fish because if you call ToString it means you are not sure what kind of object you handle and I call it “text based programming” which I hate :).
Personal guilt rating: 5(but I’m aware of it and I’m working on it)

#2 - Not considering the code's readership

I agree. I think that there should be even a subject during everyone’s studies that deals with code maintability.
Personal guilt rating: 2(Yes, I’m really mad about it)

#3 - Assuming your code works

According to the quantum physics theory everything is possible to some extent – just probability. Therefore I don’t assume anything :).
Personal guilt rating: 4

#4 - Using the wrong tool for the job

I’ve noticed that if a company is Microsoft oriented then it doesn’t even consider using Open Source software and the other way around if a company comes from the Linux world it hates Microsoft solutions just because it comes from Microsoft. It’s strange but true.
 Personal guilt rating: 2 (Yes, I’m big fan of Mono project)

#5 - Excessive code pride

I have to be proud of my code but from time to time I probably should just keep saying: It’s not my baby, it’s not my baby…
Personal guilt rating: 4

#6 - Failing to acknowledge weaknesses

I think that it’s a good habit to mention to people (at the end of the conversation) that I am not sure about this and that and they should check it on their own.
Personal guilt rating: 3

#7 - Speaking with an accent

I don’t like using any technology/tool/approach I don’t know/understand and I think that a coping of some patterns it’s really possible only if someone doesn’t know the technology/tool/approach he/she uses.
Personal guilt rating: 3

Thursday, 1 June 2006

C# via CLR - looks good :)

I've just come across C# via CLR by Jeffrey Richter. It must be interesting and worth reading. Just how to get it very quickly :)?

Monday, 15 May 2006

Orcas CTP drops starting from this summer - sweet :)

In one of the comments to Using LINQ with ASP.NET Scott said that the final version of Orcas should be available the second half of 2007 and what is even more important we can start playing with its CTP drops this summer :). I know it’s Microsoft and they can postpone it but for some reason I trust Scott.

ASP.NET pages not spider and search engine friendly by default

This article shows some pitfalls when it comes to indexing asp.net pages. I would add one more – AJAX.

Sunday, 14 May 2006

Visual introduction to (managed) C++ 2005

I’m sick but I can still watch videos from Channel 9 :). If you need a general overview of C++ 2005 and its relation to CLR then I recommend this video with Brandon Bray. It looks like C++ 2005 is big improvement in terms of usability since C++ 2003. I was using managed C++ 2003 about two years ago and it was nightmare. In one solution I had C, C++, managed C++ and C# code. Even if it compiled it very often threw strange exceptions during runtime because of mixed nature of almost all my assemblies. A few things Brandon mentioned:
  • for each statement in C++(for .NET and STL collections)
  • difference between generics and templates
  • why C++ managed compiler can produce best MSIL ever
Of course I’ve added his blog to my list.