Posts

Showing posts from August, 2011

Understanding Silverlight

Image
An Overview of Silverlight Silverlight enables development of the next generation of Microsoft .NET-based media experiences and rich interactive applications (RIAs) for the Web. Silverlight is delivered as a cross-platform and cross-browser plug-in that exposes a programming framework and features that are a subset of the .NET Framework and Windows Presentation Foundation (WPF). Support The industry has been abuzz about Silverlight since the beginning of 2007 when Microsoft began demonstrating its power at developer conferences. In fact, no other development technology has been so highly anticipated since the arrival of the .NET Framework and Silverlight resources and examples abound on the Web. To spark developer interest in Silverlight, Microsoft launched several community Web sites dedicated to Silverlight development including the Silverlight home page (http://www.microsoft.com/silverlight) and the Silverlight.net community Web site (http://silverlight.net). Early Adopters In respo...

Multy-tenancy Model in Software Engineering

Recently, I had come across a topic called Multy-tenancy Model in Software Engineering. I decided to explain multi-tenancy using a non-technical example. As I have noticed many people do not understand exactly what multi-tenancy and its benefits are, I’ll elaborate it in this blog post. Imagine you are required to provide housing for a number of people, e.g. because you have a number of foreign employees currently working in your country. The first option to provide housing is to rent a complete house to everyone: Although this works, there are some disadvantages to this situation: 1. Costs : As every employee is required to rent a complete house, the costs are very high. 2. Resource utilization : For most clients, a complete house is too large to use entirely, which results in many spare rooms. 3. Maintenance : In order to do maintenance, e.g. replace the alarm system due to a bug, a maintenance guy (or girl) must visit all houses and replace the system in ...

Test-Driven Development with ASP.NET MVC

One of my friends wanted to fwd my profile for a Singapore oppertunity. So, I thought of adding it here so that I can refresh whenever I want. We are working in Test-Driven Development here. One of the greatest advantages of ASP.NET MVC is the support of testability, which enables to Test-Driven Development (TDD) in an easy manner. A testable application should be developed in a loosely coupled manner so that you can test the independent parts of the application. For developing testable applications, the support of developer frameworks is very important and the frameworks should be designed to facilitate building testable applications. One of the design goals of ASP.NET MVC was testability so that you can easily develop testable application with the ASP.NET MVC framework. In this post, I will give an introduction to Test-Driven Development (TDD) with ASP.NET MVC using NUnit unit test framework. Introduction to Test-Driven Development TDD is a design approach that follows a Test First d...

Project Management

Manage personal time is more important for Project Management as a Lead. Personal Time Management is about controlling the use of your most valuable (and undervalued) resource. Consider these two questions: what would happen if you spent company money with as few safeguards as you spend company time, when was the last time you scheduled a review of your time allocation? The absence of Personal Time Management is characterized by last minute rushes to meet dead-lines, meetings which are either double booked or achieve nothing, days which seem somehow to slip unproductively by, crises which loom unexpected from nowhere. This sort of environment leads to inordinate stress and degradation of performance: it must be stopped. Poor time management is often a symptom of over confidence: techniques which used to work with small projects and workloads are simply reused with large ones. But inefficiencies which were insignificant in the small role are ludicrous in the large. You can not ...

A Simple Way of Describing Cloud Computing

I just found a simple way of describing Cloud Computing. Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS). The name cloud computing was inspired by the cloud symbol that's often used to represent the Internet in flowcharts and diagrams. A cloud service has three distinct characteristics that differentiate it from traditional hosting. It is sold on demand, typically by the minute or the hour; it is elastic -- a user can have as much or as little of a service as they want at any given time; and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access). Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest ...