Let’s DreamFebruary 25th, 2008When we think about dream first thought come to our mind is about the dream which we saw last night during the sleep. Isn’t it? Such dream appears during the night and vanishes as we get up in the morning. Title says let’s dream, that doesn’t mean, it’s provoking you to go to bed and start dreaming, it denotes a kind of dream that can change one’s life. This is kind of dream that helps realize one’s successful future. Dream is a first step in visualizing ultimate goal. As you and I know many successful people have dreamt their success prior to its realization. It’s like a magic ball which let you foresee your successful future. American author Napoleon Hill once rightly said, “A goal is a dream with a deadline”. If dream is not seen, goal is not set. If goal is not set, plan is not prepared. If plan is not prepared, it is not executed. And if execution is not taken place, one is indulged into activities which are of non important sort and time wasting and such activities could lead to procrastination in success path. Seeing a dream and setting idle and dead doesn’t help realize it. I have heard saying someone, “Dream is not something which is seen during sleep, it is the one that takes sleep away from the person”. Some people just dreams, while others wake up and work hard to get it. There are few questions associated with seeing dreams and setting goals. Should there be any limits? Does dream help us setting unrealistic goals and achieve it? Is it possible to do that? Famous lecturer Dale Carnegie once quoted, “We all have possibilities we don’t know about. We can do things we don’t even dream we can do.” Everyone is raised with particular background built up by society, parents, and school teachers and friends. Children are conveys messages like “Money doesn’t grow on trees” “Do not try to build Palace in the air” etc… One can develop skills or establish business which is like money growing tree. One can build palace in the Air provided along with the palace a way of reaching palace should also be developed. Remember: the word impossible itself says I M POSSIBLE. So don’t put limit or cap on your dreams. Just dream it. |
Vote for TajJuly 1st, 2007
Because:
If you too want to vote for Taj |
New release of Generics.Net is on the wayJune 29th, 2007After its last release on October 16th 2006, I had received lots of email about library, its strength and its area of improvements, specially, the one prompting to kill the great G. Unfortunately I could only start working on improvements and suggestions some times ago, and fortunately its ready to be delivered anytime during next week :). It contains lots of new improvement, datastructure, algorithms… Great G prefix is no more. By the way, don’t stop sending me suggestions, remember its yours and only yours library. |
Wonderful BlogMarch 15th, 2007I come across a very good blog. Its about an intern worked with Microsoft, Google and yahoo. Have a look… |
Australia (9th Jan : 16th Feb 2007)February 17th, 2007
9th January 2007, I headed my journey to Sydney, business capital of Australia and city of harbor. I spent for 39 days and spent wonderful time. During tour I could manage to visit many places in Sydney and Melbourne and met wonderful people. I noticed Aussie people are humble and friendly. Some of the things in Australia were similar to those of in India. Those are…
I know some of you might be expecting my tour photos. Don’t be worried, I am going to put those snaps in the new section at www.aamirOnline.com called Gallery, which is coming soon, wait for that. |
Understanding InterfaceJanuary 8th, 2007According to definition, an Interface in a system is considered as a contract. Classes that implement the contract must adhere to its terms and conditions. It’s like a legal agreement where contractee (classes) which are bound by the contract and hence must implement each and every aspect of that exactly as it is outlined or defined. From the implementation viewpoint this definition or perspective is good, however so far as designing is concern it doesn’t help much. It’s very difficult for developer from a non object oriented programming background, to understand why has been a particular interface designed that way. They very well understand how to implement it, however can’t think about incorporating ones own interface into application design. To prove that I asked following questions to many of such developers. And got expected answers.
See the answer to question number 3: most of the developer doesn’t even know why an interface can not contain concrete code. If you are among such developer, don’t worry, you will understand it why. Question number 5 reveals that many developers in reality never ever create a single interface in their software development career on their own. In other words it is non-utilization of most important feature of the modern languages. Changing Perspective Let me ask you few questions which will eventually help in understanding of interfaces. You may find them silly and weird! But please try to answer them for a moment.
You very well know the answers to these questions, right? Questions are different but answer is common, that every object questioned here has some characteristics, qualities and properties. They have their way of performing some action. For example: We can not call a car a bike because we know the structure of the bike somewhere in our mind, unlike cars; bikes are motor vehicle with two wheels and instead of driven, it’s ridden. We can not consider a monkey as an elephant because we know that monkey has different qualities and attributes then those of elephant. Same way we know that fish can not fly because fish is an aquatic animal which characteristically having fins, gills, and a streamlined body. Fish can’t have organs to fly. Flying is a quality of birds. I am repeating this again; every object has some quality, attributes and characteristics. They have their own way to operate something, perform actions and they know how to communicate and interact with other objects. Combining all these attitude, attributes, qualities, characteristics, communicating and operating way et cetera defines an object. And definition or classification of object is an interface. Â Please notice, I have used two words to define an interface: Definition and Classification. Â Lets consider following example.
Here Toyota Corolla and Mercedes Benz both implements an interface called ICar. So by considering interface as a definition: I can say Toyota Corolla and Mercedes Benz are ICar and they have all the attribute and qualities which fulfills the requirements to be an ICar. By considering interface as a classification I can say: ICar is a category. Toyota Corolla and Mercedes falls into category of an ICar because they satisfy all the characteristics and operational methods required to be considered as an ICar. Other way round, if any of the ICar, Toyota Corolla or Mercedes Benz would not be considered as ICar if they had not satisfied requirements to become an ICar. Non technically manufacturer of these ICar must put all the attributes and features in their respective cars to be considered or classified as an ICar. Technically developer of class ToyotaCorolla and MercedesBenz must implement an interface ICar to be considered these class as an ICar, failing to do so will result in compile time error. I hope you not have got the basic understanding interface as what exactly it is’ Next article will put some more highlight on interfaces. |
An Interface: From Different Perspectives - Part1December 17th, 2006Introduction There are many developers who design and develop programs using object oriented languages like, C#, Java, VB.Net. These software professionals who might have got very good theoretical knowledge of Object Oriented Programing Elements like Encapsulation, Polymorphism, Inheritance, Abstraction etc. However they fail creating well designed applications or systems. They fail on different aspects. One of such aspect, which is very difficult for to integrate into their designs, is effectively incorporating interfaces into design. This is a multipart series which will help understand the concept of interfaces from the different perspective. Next article will be discussing about envisioning and understanding of interfaces. |
“G” a Matter of ConcernNovember 18th, 2006Thanx a lot folks for giving a good response to Generics.Net. Despite being tagged as a well designed library I have got one common concern about “G” charater, which was prefixed to classes in the library. Putting a “G” prior to class names was considered as non compliant to CLS (Common Language Specification) standards. This concern by the user of library prompted me to find link between CLS compliences and prefix on class names. As a result of that, I made assembly CLS compliant (Pros of concern), executed with FxCope rules… But considered not guilty :). Then I realized that may be “G” is not giving that flexibility to library user. So I decided to clean up class names by stripping off “G” Prefix… And finally Generics.Net got cleaned up… New release will have no “G” attached type names…. |
Recursive call with anonymous functionOctober 29th, 2006Whether you want to generate a dynamic function, write a dynamic algorithm or want to handle delegate inline, anonymous functions have always been at your service. However one area where in anonymous function lacking is, making a recursive call. Since it does not have function signature it’s not possible to make recursive call, at lease not directly. This entry shows you how to achieve that by utilizing some reflection API. Yes reflection, it’s always been there as your lifeguard ;).
   To understand the concept lets first create a simple recursive function to find a triangle.
Code: public int Triangle(int n)
{ return (n==1) ? 1 : n + Triangle(n-1); } Now we will use anonymous function to find a triangle. Please notice the code. It performs following steps to achive recursion.
Code:
public delegate int TriangleDelegate(int n); public static int AnonymousMethodTriangle(int n) { TriangleDelegate triangle = delegate(int n) { //Find Method MethodBase method = new StackTrace().GetFrame(0).GetMethod(); return (n == 1) ? 1 : n + (int)method.Invoke(null,new object[] {n-1});//Invoke Method }; return triangle(n); } Pretty simple huh….
|
Generics.Net 0.2.0 outOctober 16th, 2006Verions 0.2.0 alpha of generics.net is out which contains following new stack oriented stuffs.
|