Saturday, October 31, 2009

Uneducated Education Ministers


The simple way to improve education in the state/country is, putting all the education ministers in coma for 5 years, and repeat the same after every elections.

Recently, A.P. state government introduced relative grading system in 10th Class. Till now, in 10th class, if the percentage is more than 70%, it would be first class with distinction, if it is more than 60%, it would be first class, and so on. Now, the plan is to give relative grading for all the students. The top 12.5% of the students would get A1 grade, next 12.5% of the students would get A2 grade, and so on. They give till D2 grade. With this new scheme, if anybody gets 62% of marks (considering 2009 results), he/she would get C2 grade. Government never understood the effect on the students and parents due to these changes. For corporate schools, this may not make a difference, but, in all the small to medium size schools, this makes a lot of difference. Till now, if anyone gets more than 60%, they would be happy that they got first class. If they get more than 70%, they would be even more happy that, they got distinction. Now, if anybody gets 62% of marks, he/she would get C2 grade, which is 6th grade from top.

This does not look good for many. Parents would be unhappy and force their children to get better marks. Pressure increases for both parents as well as children. Not only that, this grading is relative grading. It depends on other students marks as well. If they know that, if they get 80%, they would minimum get this grading, then they try for that. But, if it is relative grading, and if they don't have any way of knowing, and if there is pressure from parents and teachers to score some minimum grade, it would increase the pressure on the student significantly. Government thinks this increases competition. They do not have minimum common sense that, these will not make sense, when million students are attending for the exam. If Million students are writing the exam, and if they start grading like top 12.5% etc., it will only increase the pressure.

Another absolute contradicting thing that government is doing is, it is trying to stop corporate schools from publishing their top marks. If corporate schools publishes the top marks in their school, government feels that, it creates unhealthy environment and increases the pressure on students as well as parents. This is contradictory to the above. But, they claim that they are improving the education where as they are destroying it.

Tuesday, October 27, 2009

Power of Money, By Adam Khoo (Singapore's youngest millionaire at 26 yrs)


Some of you may already know that I travel around the region pretty frequently, having to visit and conduct seminars at my offices in Malaysia,Indonesia, Thailand and Suzhou (China). I am in the airport almost every other week so I get to bump into many people who have attended my seminars or have read my books.

Recently, someone came up to me on a plane to KL and looked rather shocked. He asked, 'How come a millionaire like you is traveling economy?' My reply was, 'That's why I am a millionaire. ' He still looked pretty confused.

This again confirms that greatest lie ever told about wealth (which I wrote about in my latest book 'Secrets of Self-Made Millionaires'). Many people have been brainwashed to think that millionaires have to wear Gucci, Hugo Boss, Rolex, and sit on first class in air travel. This is why so many people never become rich because the moment that earn more money, they think that it is only natural that they spend more, putting them back to square one.

The truth is that most self-made millionaires are frugal and only spend on what is necessary and of value. That is why they are able to accumulate and multiply their wealth so much faster.

Over the last 7 years, I have saved about 80% of my income while today I save only about 60% (because I have my wife, mother in law, 2 maids, 2 kids, etc. to support). Still, it is way above most people who save 10% of their income (if they are lucky).

I refuse to buy a first class ticket or to buy a $300 shirt because I think that it is a complete waste of money. However, I happily pay $1,300 to send my 2-year old daughter to Julia Gabriel Speech and Drama without thinking twice.

When I joined the YEO (Young Entrepreneur's Orgn)a few years back (YEO) is an exclusive club open to those who are under 40 and make over $1m a year in their own business) I discovered that those who were self-made thought like me. Many of them with net worth well over $5m,travelled economy class and some even drove Toyota's and Nissans,not Audis, Mercs, BMWs.

I noticed that it was only those who never had to work hard to build their own wealth (there were also a few ministers' and tycoons' sons in the club) who spent like there was no tomorrow. Somehow, when you did not have to build everything from scratch, you do not really value money. This is precisely the reason why a family's wealth (no matter how much) rarely lasts past the third generation.

Thank God my rich dad foresaw this terrible possibility and refused to give me a cent to start my business.

Then some people ask me, 'What is the point in making so much money if you don't enjoy it?' The thing is that I don't really find happiness in buying branded clothes, jewellery or sitting first class. Even if buying something makes me happy it is only for a while, it does not last.

Material happiness never lasts, it just give you a quick fix. After a while you feel lousy again and have to buy the next thing which you think will make you happy. I always think that if you need material things to make you happy, then you live a pretty sad and unfulfilled life..

Instead, what makes me happy is when I see my children laughing and playing and learning so fast. What makes me happy is when I see my companies and trainers reaching more and more people every year in so many more countries.

What makes me really happy is when I read all the emails about how my books and seminars have touched and inspired someone's life. What makes me really happy is reading all your wonderful posts about how this blog is inspiring you. This happiness makes me feel really good for a long time, much much more than what a Rolex would do for me.

I think the point I want to put across is that happiness must come from doing your life's work (be it teaching, building homes, designing,trading, winning tournaments etc.) and the money that comes is only a by-product. If you hate what you are doing and rely on the money you earn to make you happy by buying stuff, then I think that you are living a life of meaninglessness.

Courtesy: Funtoosh

Wednesday, October 21, 2009

The Same Color Illusion




The squares A and B are of same color. To prove that they are of same color, few websites show the connection between squares A and B. But, in those images, the color of the squares look differently from the above image. That is also because of illusion. To verify the colors, Open any image editor and check the colors of both the squares.

Thursday, October 15, 2009

The Fast Japanese and the Indian


There was a Japanese who went to India for sightseeing. On the last day, he hired a cab and told the driver to drive to the Airport.

During the journey, a Honda drove past the taxi. Thereupon, the man leaned out of the window excitedly and yelled, "Honda, very fast! Made in Japan!!. After a while, a Toyota sped past the taxi and again the Japanese man leaned out of the window and yelled, "Toyota, very fast! Made in Japan!"

A while later a Mitsubishi sped past the taxi. For the third time, the Japanese leaned out of the window and yelled, "Mitsubishi, very fast! Made in Japan!".

The driver was a little mad, but he kept quiet and this went on for quite a number of cars, finally, the taxi came to the airport. The fare was 900 rupees!!! The Japanese exclaimed, "What?... so expensive!" There upon, the driver yelled back, "Meter Made in India, VERY VERY FAST!"

Source: Funtoosh

Friday, October 09, 2009

Mplayer does not show video

If mplayer does not show video, then try the following command

mplayer -vo x11

But, with this many features like resizing/full screen will not work.

Tuesday, October 06, 2009

Developing Libraries - Give Minimum Privileges


A library should be developed in such a way that, irrespective of who is using it, how they are using it, it should have the same behavior. The consistency of the data/contract should be always maintained.

For example, if a library is developed for reading/writing some data in the given format, then it should not allow any user to do anything more than that. If the main API is calling two public classes one for validation, another one for reading/writing data, then this library can be misused. User can directly use the public class that is used for reading/writing data, and can read/write by escaping all the validations. That can lead to many inconsistencies in the data. For that purpose, all other classes/methods should be given minimum privileges, so that other libraries cannot access those classes/methods.

Let's suppose, if the developer of the library changes one internal method from private to public, then potentially, it could be used by many developers. Writing comments, and clearly mentioning in release notes will not stop the developers from using that public method. If that method is not doing certain validations and doing the processing, then it may lead to an inconsistent state of the application/data. If the code is sufficiently complex, then debugging would become very difficult. Most of the time, developers debug in such a way that, there was some problem in their code, and they don't try to debug the underlying libraries. If the inconsistency was caused by the library, then user would spend significant time for debugging.

Few non-technical people say that, developers should read the documentation and implement accordingly. They should understand that, if a developer wastes significant time because of a problem in a library, which can be avoided in the first place, then they will never support that library again.

If you are supposed to expose an API for certain functionality, and if you decided to develop two libraries, where first one is exposed to the user, and second one is used by the first library, then understand that you are doing wrong (or may be a blunder), unless your requirement is one of the rare scenarios which occurs less than 0.01% of the cases.

If you develop two libraries, and the first library uses second one, then most of the time, the following may happen.

Since, there are two different libraries, both would have few public APIs, and any user can call those, unless some convoluted security restriction is applied. But, if we apply that kind of security restriction, the application would become very unclean and unmaintainable.

If you are doing something in the first library, and then calling the second library to finish it, then it is possible that user can call the second library directly and finish the work without doing the work done in the first library. If the first library contains only validations or similar operations, then the user will not see any problem initially, but later on the entire application would be in inconsistent state.

If you are doing the final thing in the first library, and calling the second library for validations before doing the final operation, then it is possible that, they can replace the second library altogether, and may do everything without the validations. That also causes the application to be in inconsistent state.

If you implement few operations completely in the first library, and for other operations, if you are calling the second library, then, you should think why you need to do like that. Instead, you should separate them completely, and say that, if user wants to do first set of operations, then use first library, otherwise, use second library.

In another case, your first library may be just a wrapper, and it just calls the APIs in the second library. Then, there is no use of the first library, and it can be removed very well.

If first library is used just for business logic, and is not aware of database, and second library is used for db operations, and if the operations are complex, then there may be disadvantage in doing that. If there is an API in the first library, and if it is not aware of the DB, then it may have to do all the handling of synchronization, locking, or atomicity in that layer itself. But, if it is moved to DB layer, then the database can handle all those, and developer does not need to them.

If you are using two libraries for essentially a single purpose, then you should think many times before going ahead with that. Of course, this is not applicable, if both the libraries have different security modules. For example, if you are exposing a webservice, and using another library in that, then you don't need to worry about that library, because user cannot call it directly. It would be applied only to the libraries where the security context is same.

Having said that, I can see one very good advantage with having multiple libraries. We can write extra-ordinary design docs with many flowcharts, components and class diagrams. Those who do not write code full time would be overwhelmed with that, and they appreciate it very much, and you may get a promotion immediately.

Saturday, October 03, 2009

Tips for Bloggers

These are few suggestions for those who write blogs. It would help more people to read your blogs.

  • Setup E-Mail subscription by using feedburner. Not everyone uses feed readers like Google reader. Having email notifications is a good option to reach all your readers.

  • Enable Feeds with full content for posts as well as comments, unless you clearly know what you are doing. Eventhough this is the default, still I am explicitly saying because I know few people, who think that giving least permissions is more secure, and they disable it for that reason.


  • Don't post in bulk, because you had not posted for a while. Use the options of schedule post and post it uniformly. If you are planning to post after a month, and you have 4 posts now, then schedule to post one a week. That would be useful for your regular readers. If I see 4 posts from one person, I would be tempted to read them later. But, if it is single post, then I read it immediately. For more than 90% of my posts, I schedule to post in future.


  • Enclose your text in between <p align="justify"> and </p>. By that, your text is aligned. Unfortunately, blogger does not align the text by default. We can add this in the template to apply to all posts. But, if we change the template to use other theme, and afterwards if you do any template changes, then the previous changes may go away.


  • If your post is a generic one and is a solution for a particular problem, then try to use what users search for that problem, as the title of the post. By that, search engines give more preference to your post for that problem.


  • If you are having tables in your post in blogger, then you may find significant extra space before the table. It is because, for every new line in between <table> and </table>, blogger adds one new line <br>. By that, there would be new lines before the table. Remove all the new lines in the entire html between <table> and </table>. If you keep everything in single line, then there will not be any extra space before the table.


Hide the top navigation bar (banner) by doing the following.
1. Log in to blogger
2. On your Dashboard, select Layout -> Edit Html. Under the Edit Template section you will see you blog's HTML.
3. paste the CSS definition in the top of the template code:


...
<b:skin><![CDATA[/*
-----------------------------------------------
Blogger Template Style
Name: Rounders
Designer: Douglas Bowman
URL: www.stopdesign.com
Date: 27 Feb 2004
Updated by: Blogger Team
----------------------------------------------- */

#navbar-iframe {
display: none !important;
}

/* Variable definitions
====================
<Variable name="mainBgColor" description="Main Background Color"
type="color" default="#fff" value="#ffffff">
<Variable name="mainTextColor" description="Text Color" type="color"
default="#333" value="#333333">
...
Remove the code to show it again.