30 May 2009

Microsoft's Bing search engine comming soon



Did you heard the news ? What news ? Hey don't worry its not new development in Swine Flue pandemic ! Microsoft is launching its new search engine. You will say don't they have one called "Live". "May be its time for Live to be dead and get reincarnation as a Bing." The reason they are coming up with new search engine is the Live search is not giving them revenue they are expecting and Google is dominating the search engine market and certainly making its more than 90% revenue out of it. So the big guy (Microsoft) want big chunk of the pie rather then just a piece.

Microsoft CEO Steve Ballmer in San Diego during D7 Conference officially launched its new search engine called Bing that previously code named as "Kumo". Microsoft is calling it a decision engine rather than a search engine. Hey don't worry it gives you the search result only not the decision on what to eat today !!!

I have a look at its video and first impression was really awesome.I am not exaggerating.Check out its video Here . You can get more information on Bing Here.


It may be the time for Google to worry a bit. Well it takes a really big effort to get people to use new search engine. "Google become more of a verb than a noun in last decade." Google will certainly reply back to Bing with whatever it takes to sustain its position. Microsoft is also launching $80 to $100 million advertising campaign to promote Bing. By the time, lets enjoy this new battle as it progress and get the most out of it.

17 May 2009

Google's new features : Wonder wheel


Hey, Did anyone noticed Google's new feature when you search something. It gives you more control over your search query. You can see the hyperlink came up when you search something called Show options.... You click on it and magic happens.... well you will say what is new with that options panel. But as you can notice it allows you to filter your result with regards to the time articles published, if you want to see only videos or forums or reviews and there is something very special called wonder wheel. You click on it and it gives you the options to further refine your result. It is really cool.!!!



For example you search for car dealers in sydney and click on the wonder wheel and it automatically refine your search result and allow you to pick up options to go for particular area in sydney and when you choose something it further gives you the options to choose type of car you want. I find it really cool and I am sure you will also enjoy it. Though it is a good option for end users it is a pain in ass for Search Engine Optimization (SEO) guys as they have to take into account this new feature and try to rank their websites for all possible keywords. It will certainly take time for people to get used to with this new feature and use it more frequently and by that time SEO guys needs to come up with solutions to fool this wonder wheel. I hope they will find out something very soon otherwise they are in trouble.
By the time enjoy coffee... and think of ideas.....

10 May 2009

Serialization in .NET

This article is about serialization facility in .NET framework and particularly Object Serialization. So lets start from scratch and define first what is serialization ?

Serialization is the process of storing objects to the file or isolated file and later use it in the same application or same process or in another application on remote machine. It is just like you store data to a file and later use it in another application or same application. The difference here is you are storing objects not some random data and later recreate same object via deserialization.

This process is made simple via .NET frameworks serialization classes. The namespace we are looking here is System.Runtime.Serialization. Serialization save a lot of development time. There are three different kind of serialization provided by .NET framework.

1. Object Serialization
2. XML Serialization
3. Custom Serialization

In this article we will look at Object Serialization.

To serialize an object is very simple process.
1. Create a stream object that can hold the serialized object.
2. Create a BinaryFormatter object (namespace System.Runtime.Serialization.Formatters.Binary).
3. Call BinaryFormatter.Serialize method to serialize the object and output it to a stream.

Lets see it in example. I use C# as a programming language here.

// string object data that is to be serialized.
string data = "This data is to be serialized";

// Create a file stream to save data.
FileStream fs = new FileStream("mySerialiedData.dat",FileMode.Create);

//Create BinaryFormatter object
BinaryFormatter bf = new BinaryFormatter();

// use bf object to serialize data.
bf.Serialize(fs,data);

//close file stream
fs.Close();


That's it the data object is serialized and stored in file mySerializedData.dat.

You can deserialize it using BinaryFormatter's Deserialize method. You need to cast the object back to proper data type.

FileStream fs = new FileStream("mySerializedData.dat",FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
string data = (string) bf.Deserialize(fs); // cast it back to string object
fs.close();

You can serialize and deserialize any object using same technique.

You can make the custom class Serializable and Deserializable by using [Serializable] attribute.

For example:

[serializable]
class Product
{
public int id;
public string name;
public float price;
public double tax;
}

If tax is calculated using value of price than there is no need to serialize it to reduce the size of serialized object. To do this declare it as a [NonSerialized] attribute and implement IDeserializationCallback interface to calculate it when deserializing the object.


For example:

[serializable]
class Product : IDeSerializationCallback
{
public int id;
public string name;
public float price;
[NonSerialized]public double tax;

void IDeserializationCallback.OnDeserialization(object sender)
{
tax = price*0.1;
}
}

Now the value of tax will be available to the application that deserialize the object of Product class via OnDeserializing callback method.

This is how the serialization works in .NET environment. Isn't it really simple? So enjoy serializing. And by the way the closest resemblance to serialization is the teleportation in science fiction !

06 May 2009

Windows 7 Release Candidate

Hi All,

Watch out !!! Windows 7 is on its way. Release Candidate is available for download now. Though its not final version yet RC is more close to the final version. Those who may have used beta or wants to check whats new can download it from Microsoft Windows 7 official website. Have a look at the systems requirements.


A PC for testing that meets these minimum system requirements (specific to Windows 7 RC and subject to change in the final version of Windows 7):

*1 GHz or faster 32-bit (x86) or 64-bit (x64) processor
*1 GB RAM (32-bit) / 2 GB RAM (64-bit)
*16 GB available disk space (32-bit) / 20 GB (64-bit)
*DirectX 9 graphics processor with WDDM 1.0 or higher driver

One thing is sure it is going to be the big installation. So those who are using XP on old systems might be disappointed. And one advise those who are buying PC or Notebook at the moment. Wait for a while or ask your dealer if you can get the free upgrade to Windows 7 in future.