About Big-O Notation – The good, the bad, and the confusing

Often, prior to using a specific algorithm, it helps to understand information about how the algorithm scales.  In order to document this, computer science has borrowed a notation from mathematics called Big-O notation.

Understanding Big-O notation is critical in making good decisions about algorithms or libraries used to implement routines.  However, there is often a lot of misunderstanding about what it means, and I frequently see this used as justifications for poor decisions.

Read more

ASP.NET MVC

A couple of days ago I went to the Bellingham .NET Users Group event for April.  Jonathan Carter, the technical evangelist for ASP.NET MVC did the talk for the evening, and I must say, it was quite interesting.

Now, personally, I am not a “web guy.”  I do nearly all of my development on the desktop, and most of my experience with web development has been using the LAMP stack, mostly via PHP.  I do try to keep current on what’s out there, and play with a few technologies as they become commonplace, but my day to day programming is still C++ and C# on the desktop.

That being said, I was pleasantly surprised with ASP.NET MVC.  The routing mechanism that’s core to the framework is very elegant.  It does seem obvious to me that Microsoft is borrowing ideas from the Ruby on Rails folks with this – it’s a pretty far departure from the previous means of developing using ASP.NET.

In particular, I love the separation of concerns and the testability.  I definitely think it’s worth checking out…