Showing posts with label general. Show all posts
Showing posts with label general. Show all posts

Sunday, November 29, 2009

Introduction to .Net Framework

In his latest blog post about five rules for writing good code, Yan Pritzker states Rule 5 as Really learn the language and the framework. He says “No need to be a walking encyclopedia, but remember to occasionally open up that encyclopedia and read through it so that you know at least what’s out there.” So, I decided to revisit some .NET fundamentals  and jot down my notes here.

The following is a short introduction to .Net framework and its components.

The .Net architecture consists of the Common Language Runtime (CLR), .Net Framework Class library, and language support components.

.Net Framework

The Common Language Runtime (a.k.a. CLR) simplifies provides a robust and secure execution environment for .NET applications. It is also referred to as a managed environment, in which common services, such as garbage collection and security, are automatically provided.

Common Language Runtime Components

A short description of some of the components is below:

Component Description
Class Loader Manages metadata, loading and layout of classes
MSIL to Native Compiler JIT compiler for converting MSIL to Native code
Code Manager Manages code execution
Garbage collection --
Security Engine Provides security based on user identity and code origin
Debugger --
Type Checker --
Exception Manager Provides structured Exception handling, integrates with Windows Structured Error Handling (SEH)
Thread Support --
COM marshaler --
.NET Class Library support Integrates code with the runtime that supports the .NET Framework class library

The .NET Framework class library exposes features of the runtime and provides other high-level services.

ADO.NET, the next generation of ADO technology provides improved support for disconnected programming. It also provides rich XML support in the System.Xml namespace.

ADO.NETASP.NET is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications

ASP.NET

References:

1.  http://skwpspace.com/2009/09/29/five-rules-for-writing-good-code/

2. http://msdn.microsoft.com/en-us/netframework/default.aspx

3. http://msdn.microsoft.com/en-us/library/aa139615.aspx

Tuesday, September 29, 2009

Why every other playoff system sucks

Many times we’ve seen a underdog team defeating a top-ranked team in the 1st round of a major tournament. Most people rejoice (except the fans of the losing team) since everybody loves a fairy tale  victory, The organizer’s are happy since it creates a lot of buzz and everybody’s happy that the sports is still not dead since anything can happen.

Let’s take a deeper look. Team A wins 63 games out of 80 games in the regular season plays Team B which won around 40 games. Team A loses the match and bows out of the tournament. Everybody is surprised for a moment, Team B probably loses in the next round since they again play a better team and are already happy with the results they have in hand [there was a reason it only won 40 games out of 80].

The above is a common format used across many competitions in the world (NBA, Cricket Tournaments, NCAA Tournament, Champions league). But, I think such upsets does more harm to the game than benefits it. Since the team who was definitely one of the better teams in the tournament is out due to having a bad day or couple of major players being out/suspended for the game.

ncaa_mens

Some organizers e.g. the NBA, try to avoid the above scenario by either keeping N (=3,5,7) no. of matches or sometimes  giving the top ranked team a home advantage or sometimes both. Playing multiple matches definitely lowers the odds of the better team losing, however, this usually leads to some boring matches in the initial part of the tournament.

Nba_format Here comes the format used by the Australian Football league, which looks like this:

800px-AFL_finals_v2 Clearly, this system has numerous advantages than the knockout system usually followed. To quote Wikipedia “Under this finals system, the final eight teams are broken up into four groups of two. Each group of two earns one extra benefit over the teams beneath it. These benefits are home ground finals and the double-chance, whereby a first-week loss will not eliminate the team from the finals.”

I think atleast some tournaments should explore this format like the NCAA basketball tournament and the Cricket world cup which have the worst structure since there is only a single match between the teams and there’s no clear home-court advantage.

References:

http://en.wikipedia.org/wiki/AFL_finals_system

Saturday, August 2, 2008

First Post

This is the blog which I have started to keep track my efforts to become a better programmer. The focus of the blog would vary from learning new languages, algorithms, design patterns etc.
Related Posts with Thumbnails