Archive for the ‘Coding’ Category

Yeahhh! Silverlight 5 is in RC!

September 2, 2011 Leave a comment

For those who tought that Silverlight was dead and that the announcements made last year were just a hoax.

There you go:’s-new-in-silverlight-5

Keep in-touch I feel that there will be some nice announcements during the month of September!

UPDATE Sept. 3th, 2011:

I have got the confirmation that Silverlight 5 will be released with a go-live license be for the end of this year!


Good organizations + good practices == far better code??

August 29, 2011 2 comments

I was reading an article about the result of a research that Microsoft and IBM about team an organizations in software. This research was pointed to me by Phil Haack.

The results are sometimes stunning!

Higher Code coverage

Higher Code coverage by tests does not necessary mean better product quality. This is right because if 95% of an application code is tested and the 5% that was left out contains code that is very often use then we will most likely end up with a lot of defects.

Test driven development

Write Test before code takes 35% longer to deliver but 60% to 90% better in terms of defect density. I see a lot of managers, leaders, project managers saying: Ouch! that’s a lot more.

Of course! The performance of those people are measured by their ability to make money, deliver a project on time etc. while the performance of a developer is mostly measured by is ability to build a highly scalable, fun to use, bug free piece of code. Many times in my carreer I’ve encountered projects that were pushed back at the end because the end result was not stable enough! Imagine if the company that hires you had to pay back to their customers for every bug they had found in production. May be then they wouldn’t mind adding 35% more time to ensure quality!

Remember this: Making a good  software is like making a good wine and neither happen within a couple of hours!

The people factor

Looks like Bigger is not better in term of project teams size. That I totally agree! As a developer, have you ever been part of large team? The work is not clearly cut out by team members. One project owner contradicts the other one etc. Apparently bigger teams a moving slower and the project they work on are more complex then required and more failure-prone. Personaly, some of my best carreer sucesses as a developer were acheived while I was part of a smaller team or alone! Earlier this year I was studying on Agile and SCRUM methodologies. I asked a SCRUM group what size were recommended for the project team. The most frequent answers I received was a max of 5 devs for a total of 15 persons including pigs and chicken. The research results are also saying that larger teams will larger code base by a factor of 8%.!


Ensure Code coverage is at 100% or else run a profiler an make sure that the code that runs the most is covered!

35% more time for testing…Have a discussion with the projects managers to find out if they want to have a hit before or after the release.

Last words…

The conclusion of the studies is: “…yes, the design of the organization building the software system is as crucial as the system itself.”

Read the original study here.

All MIX 11 Session Video via RSS, iTunes, Powershell or Juice!

Thanks to Scott Hanselman, who brought this up!

Like Scott said, If you really want iTunes in your life…you can subscribe in iTunes from Advanced|Subscribe to Podcast (look for MIX11 Sessions)

But I find it cooler with Zune! The video is super crisp in MP4 High! 🙂

Tell me the ones you liked the most! There is soooo much information. Almost everything applies on technologies available today!

My best (in descending order) are :

  1. An Overview of the MS Web Stack of Love,
  2. NuGet In Depth: Empowering Open Source on the .NET Platform
  3. ASP.NET MVC 3 @:The Time is Now
  4. Fun with ASP.NET MVC 3 and MEF
  5. Deconstructing Orchard: Build, Customize, Extend, Ship
  6. Good JavaScript Habits for C# Developers

My worse is:

  1. Application Design for Windows Phone (She is so nervous and thirsty…)

Windows Identity Foundation made easy.

November 30, 2010 Leave a comment

 This is a very helpful and simple explaination of WIF!

Vittorio is making it so simple, that he doesn’t even uses PowerPoint animations in his presentaion. 😉  

Windows Identity Foundation – Vittorio Bertocci from Øredev on Vimeo.

Hear how Windows Identity Foundation makes advanced identity capabilities and open standards first class citizens in the .NET Framework. Learn how the Claims Based access model integrates seamlessly with the traditional .NET identity object model while also giving developers complete control over every aspect of authentication, authorization, and identity-driven app. behavior. See examples of the point and click tooling with tight VS integration, advanced STS capabilities, and much more.

Recorded 2010-11-12 at Øredev –

19 1/2 Things to Make You a Better Object Oriented Programmer

November 26, 2010 Leave a comment

Sometimes It’s nice to get a refresher on OOP and learn about good and bad practices!

19 1/2 Things to Make You a Better Object Oriented Programmer – Greg Young from Øredev.

This session will introduce a series of things that will make you a better object oriented programmer and more importantly give you explanations on the thought processes behind the ideas.

Recorded 2010-11-12 at Øredev –

Categories: Coding, OOP Tags: , ,

Book Review: Refactoring: Improving the Design of Existing Code

In my career, a very little portion of the projects I was involved with were based on new code. Most of them were based on existing code.

Facing an existing project, you sometimes get confronted with “code  that smells”.

If you are facing the problem, you’ll probably ask yourself: How can we fix it?

This weekend, I read a book about refactoring. Although I did not read many books on the subject, I found this books very straightforward to read and well organized. The book can be found on

What stunted me the most about this book is that it made me discover refactoring “methodologies”. I had applied some of those methods many times in the past but never tough on giving them an actual name. 😉

What stunted me even more, is that some of the method names being used are the same that can be found under many “action” command of the most popular refactoring tools like (JetBrains R#, CodeRush and even some are in Visual Studio)!

This should be a MUST read to many developers as they will most likely be facing refactoring in their career. And if they do not do it well they may be facing more refactoring down the road or a project that is dropped because of many issues and poor ROI.

After you’ve read this book, you’ll probably find some commonalities with some of the newest languages out there (namely C# 4.0, F#, Ruby, ASP.Net MVC)!

Isn’t that cool? People are finally learning from their mistakes and improving…

Have a nice reading session! And let me know if you’ve heard about refactoring methodologies before…

Categories: Coding

Clean Code: Inheritance & Polymorphism or.. How to remove all those ifs!

April 21, 2009 Leave a comment


After a while coding i an application you have to step back and look at your code. And this is where it sometimes gets scary!

It usually gets scary because there are a lot of twist and turns in the code!

{You know the typical: “If a user is active do this but if he or she is blond do that …” etc}

This code will not improve by itself. And it will get scarier once you’ve put that 9th or 10th change request in it!

It turns out that the conditions you have in a body of code … the more chances are that something will not get caught (unexpected at the time of writing the code).

So I think that at one point you have to start using the real power of OO!,

Time to introduce Inheritance and polymorphism!



For the folks I am working with… look at how many times the code is referencing the role and privileges of a user!

Instead of having a generic “User” and checking 100’s of times elsewhere in the code  “if user is an employee…”, Perhaps it would be better to have “EmployeeUser”!

Categories: Coding