Add to Technorati Favorites Add to Technorati Favorites
Loading...

Wednesday, November 04, 2009

Fora TV

Found this lately, fora.tv. Good source for videos that you may be interested.

Friday, October 30, 2009

saas, iaas, paas

The three different layers of cloud stack

SAAS - Software As A Service

IAAS - Infrastructure As A Service

PAAS - Platform As A Service

Some interesting reads

http://oakleafblog.blogspot.com/2009/10/windows-azure-and-cloud-computing-posts.html

http://www.youtube.com/watch?v=Ahx4ejy-GjM

http://www.informationweek.com/news/services/saas/showArticle.jhtml?articleID=220300686

Thursday, October 22, 2009

Seems like Nokia wants to take on Iphone - not unusual

http://www.businessinsider.com/nokia-sues-apple-over-iphone-patent-infringement-2009-10

Sunday, October 18, 2009

Clash of the clouds

http://www.economist.com/displaystory.cfm?story_id=14637206&fsrc=rss

The article explains to an extent the overall perspective on preparations for the cloud efforts, but does not detail out the aspects of approaches in money making or long run solutions that each party is planning. However this is a good start for underlining what each one has in mind on one facet of cloud computing.

It is surprising to me that they mention Nokia and Facebook here but not Amazon.com? Infact Amazon.com built the first successfull cloud computing model, which they wish to call as Elastic computing.

Saturday, October 03, 2009

The green factor!

Green has become a fancy and a trendy term, the humankind is not kind enough to accept; that being green is an essential thing. If it wasn't the case, then it wouldn't be hard for a car manufacturer to push his green car, a computer system manufacturer need not push his green products. It is quite evident that we as a human race for the most part have not understood our responsibilities completely. Well said in the movie Spiderman "With great powers comes great responsibilities". So what have we missed here? We missed to realize that, being green and embracing green is not just about being trendy but it is about being supportive to mother nature.

To me striving towards green is something everyone needs to think about and embrace any such efforts. I feel it silly when companies fight for the green ranking - greenrankings.
These companies have to advertise people encouraging the move towards green products. When I say this, I understand that any producer should advertise the greenness of a product for people to choose the right one. But it is almost that the producers are taking these efforts to pursue their customers to move towards green, that's bothering; because we are in a situation of explaining what can green do to us and we do not get it unless otherwise told. I am also forced to think that we failed to think about this for a very long time and now we realize the impacts after reaching the tipping point. This is also not just true from the consumer standpoint, but from the producers as well. It makes sense, if the green rankings are helping the companies now; to think about making greener products.

On the other front, being green is not just about making and buying green products, but it is also about reducing the day today waste we generate. I could not stop to quote an incident that happened today, just while I was writing this blog.

I raised a maintenance request to change the toilet seat cover, to my apartment office, as the seat cover was broken. The maintenance guy brought a brand new seat cover and replaced it. I was wondering why didn't he just replace the bolt, which was causing the issue. I could not stop but ask him, wouldn't fixing the bolt put the seat in it's position and why do you have to change the seat cover completely? For which he answered it is easy for him to find a brand new seat cover instead of the appropriate bolt and also the seat cover costs less, like $7 and it is not a big deal. I was telling him that, so the old seat cover would just end up being in trash and not re-usable anymore. The maintenance guy also made a point, that his employer values his time more than worrying about the waste that his job generates. He was right, we do not value other things as much as we value time. We underestimate the impact, we are causing to the environment by blaming the loss of time. We failed to value that we must be responsible in our actions for the things; that does matter not just to us but to the environment as well. We must realize that there are other critical things that are as much valuable as time, if not for more.

So it is time for us to think of our responsibilities. For those who are already embracing green and feeling proud and trendy about it, I have one thing to say, folks I appreciate that you are doing good, but there is nothing here in feeling proud or trendy, it is simply your responsibility. If you want to feel proud then do spread the green awareness and our responsibilities for nature.

Let's make the blue planet more greener!

Friday, September 04, 2009

Correct usage of the .NET dispose pattern.

This wiki is to help with the correct usage of the dispose pattern.

Useful excerpt below; from http://blogs.msdn.com/bclteam/archive/2007/10/30/dispose-pattern-and-object-lifetime-brian-grunkemeyer.aspx“A disposable type needs to implement IDisposable & provide a public Dispose(void) method that ends the object’s lifetime. If the type is not sealed, it should provide a protected Dispose(bool disposing) method where the actual cleanup logic lives. Dispose(void) then calls Dispose(true) followed by GC.SuppressFinalize(this). If your object needs a finalizer, then the finalizer calls Dispose(false). The cleanup logic in Dispose(bool) needs to be written to run correctly when called explicitly from Dispose(void), as well as from a finalizer thread. Dispose(void) and Dispose(bool) should be safely runnable multiple times, with no ill effects.“

Example:
// A base class that implements IDisposable.
// By implementing IDisposable, you are announcing that
// instances of this type allocate scarce resources.
public class MyClass : IDisposable
{
private ManagedResource managedResource = new ManagedResource();
private bool disposed = false;

public void Dispose()
{
this.Dispose(true);
// This object will be cleaned up by the Dispose method.
// Therefore, you should call GC.SupressFinalize to
// take this object off the finalization queue
// and prevent finalization code for this object
// from executing a second time.
GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
// Dispose managed resources.
this.managedResource.Dispose();
}
// Call the appropriate methods to clean up
// unmanaged resources here.
// If disposing is false,
// only the following code is executed.


this.disposed = true;
}
}

// NOTE: Leave out the finalizer altogether if this class doesn't
// own unmanaged resources itself, but leave the other methods
// exactly as they are.
~MyClass()
{
// Finalizer calls Dispose(false)
Dispose(false);
}

}

Over-riding the dispose method in a derived class:

private System.ComponentModel.IContainer components = null;

///


/// Clean up any resources being used.
///

/// true if managed resources should be disposed;
otherwise, false.
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

Is it mandatory to have GC.SuppressFinalize(this) in the Dispose(void) block?

It is not mandatory to have GC.SuppressFinalize(this); unless you have a finalizer method. However it is recommended to have GC.SuppressFinalize(this); for the cases even without finalizer simply for the consistency sake. Having a “GC.SuppressFinalize(this);” in the latter case would be just like calling an empty method.

References:
http://msdn.microsoft.com/en-us/library/ms244737(VS.80).aspx
http://www.bluebytesoftware.com/blog/PermaLink.aspx?guid=88e62cdf-5919-4ac7-bc33-20c06ae539ae

Tuesday, July 28, 2009

Some useful tips on Design patterns

Courtesy: Scott Bain.

Often it is thought that Design patterns are a set of tools that helps to solve a problem. If one pattern does not provide the solution then it would be another, and so on until we keep finding the right pattern. But that is a wrong interpretation for how the design pattern needs to be identified for use. The right way of identification would be to carefully observe the problem in hand, which would reveal the pattern in itself. And this would be the best way to identify the pattern to use for solving the problem.

But how exactly are Design patterns helpful in the design of software?
Design patterns are a high level thought process for solving the problem, abstracting the implementation details which make the problem at hand more approachable thereby depriving the right design.

So what does Design pattern exactly help with?
The Design patterns are helpful to bring the risks salient enough for one to decide on how to approach a solution.