Saturday, April 08, 2006

The 3 Laws of Robotics applied to Humans.

  1. A robot may not harm a human being, or, through inaction, allow a human being to come to harm.

  2. A robot must obey the orders given to it by human beings, except where such orders would conflict with the First Law.

  3. A robot must protect its own existence, as long as such protection does not conflict with the First or Second Law.

I wonder if humans should have the same kind of laws...

  1. A human may not harm a human being, or, through inaction, allow a human being to come to harm.

  2. A human must obey the orders given to it by its creator (God), except where such orders would conflict with the First Law.

  3. A human must protect its own existence, as long as such protection does not conflict with the First or Second Law.

Actually, humans do have their own laws, its called the Ten Commandments. Unfortunately, its not embedded in our brains. If robots could not function without their robotic laws, what about humans?

  1. Love the Lord your God, with all your heart, with all your mind, with all your strength and with all your soul.

  2. Love your neighbour as you love yourself.

The 3 Laws of Humanity however when applied to humans brings up a lot of questions. Can God ask us to harm other human beings? It seems the 2nd law has a higher precedence than the 1st.

But then again, Isaac Asimov is writing a set of ethical laws. And where did he get these laws from? He got it from a certain truth that was set into his heart by a higher power. We cannot murder. But at times we need to punish and execute.

In other cases, we see in human society that the laws are ignored when "defending God's honour". Killing or beheading other humans for the sake of a Jihad. Does an almighty powerful God really need defending? Or is it the persons belief system?

Lots of philosophical questions to think about...

Friday, April 07, 2006

While My Ukulele Gently Weeps (Repost)

An amazing performance on a 4-String Ukulele by Jake Shimabukuro. Inspires me to take up the guitar again.

It's really not the instrument, its always the performer. No matter how small you think you are, if you let the Master use you, anything is possible.

(Apologies for those who didn't see the video from my first post of this, the link was specific for my PC. It seems Milk & Cookies has some way of preventing deep linking of content. Here's the video link from Google Video. Or you can dowload it from my website here. 9.7Mb)

I remember when my mother wanted me to learn the piano, she forced me to sit at the keyboard with her cane, threatening me to practice it. That's not the way to motivate someone. As such, I never wanted to learn the piano.

However, it was in church, through the companionship of people who cared that I learnt the guitar. No rod, no punishment, no threats.

Show your children videos like these, make them WANT to learn something. A rod at best gets compliance, it does nothing to inspire or create commitment.

Disputing Your Beliefs

If a drunk, reeling in the steet, shouted at you, "You always screw up! You have no talent! Quit your job!" How would you react? You wouldn't take the accusations very seriously. You'd either dismiss them out of hand and go about your business or, if they happened to strike a nerve, you'd dispute them to yourself: "I just wrote a report that turned around our red-ink situation"; "I was just promoted to vice-president"; "Anyway, he doesn't know the first thing about me. He's just a drunk."

What but what happens when you shout equally damning things to yourself? You believe them. You do not dispute them. After all, if you say them about yourself, you reason, they must be indisputably true.

This is a bad mistake.

The things we say to ourselves when trouble strikes can be just as baseless as the ravings of a drunk on the street. Our reflexive explanations are usually not based on reality. They are bad habits that emerge from the mists of the past, from ancient conflicts, from parental strictures, from an influential teacher's unquestioned criticisms, from a lover's jealousy. But because they seem to issue from ourselves--could there be a source with higher credibility?--we treat them like royalty. We let them run our lives without even shouting back at them.

Much of the skill of dealing with setbacks, of getting over the wall, consists of learning how to dispute your own first thoughts in reaction to a setback. So ingrained are these habits of explanation that learning to dispute them effectively takes a good bit of practice. To learn how to dispute automatic thoughts, you first have to learn to listen to your own internal dialogue at work.

Tuesday, April 04, 2006

How To Make A Million Dollars

Anybody can make a million dollars, the only variable is your time-frame and the sales frequency with each customer. (Thanks to some ideas from Jay Abraham).

All figures are just rough guides

Profit Amount ($) CustomersFrequency

Time Frame


1,000,0001LowShortAirplanes, Professional Sportsmen
100,00010LowShortHeavy Equipment, B2B
10,000100LowShortWholesalers, Distributors
10010,000LowShortElectronics, Furniture
10100,000LowShort-MediumIP (Games, Books, etc)
11,000,000LowShortToy Fads, Gadgets
1010,000MediumShortOnline games
1001000MediumShortStock Remisiers, Stationery
10,00010MediumShortHigh-End Equipment
100010Low-MediumMediumReal Estate, Sales
100,00011 times LongSalary, Wages.

However, it's not as easy as choosing which way. Obviously being "rich" is merely a snapshot of your finances at any time.

Next to think about, what about the other variables:

  • "risk factor"

  • "incubation time"

  • "capital incurred"

  • "scalability"

  • "barriers to entry"

  • "growth rate"

  • "potential market"

Monday, April 03, 2006

The Pragmatic Programmer: Tips 1-10

The pragmatic programmer is an excellent book for those who want to become better software engineers. About 320 pages long it's filled with bite sized tips on how to improve yourself. It provides a list of 70 tips for programmers to apply in their software discipline. The first 10 tips are not just excellent tips for software developers but can also be applied to almost any field and endeavour.
  1. Care about your craft. Why spend your life developing software unless you care about doing it well?

  2. Think! About your work. Turn off the autopilot and take control. Constantly critique and appraise your work.

  3. Provide options, don't make lame excuses. Instead of excuses, provide options. Don't say it can't be done; explain what can be done.

  4. Don't live with broken windows. Fix bad designs, wrong decisions, and poor code when you see them.

  5. Be a catalyst for change. You can't force change on people. Instead, show them how the future might be and help them participate in creating it.
    Remember the "soup stone" parable? That's how you get people to give you things.

  6. Remember the big picture. Don't get so engrossed in the details that you forget to check what's happening around you.

  7. Make quality a requirements issue. Involve your users in determining the project's real quality requirements. When you involve your users, it is easier for them to accept the quality because they had to make the choice themselves. Ask them how good the want it to be.

  8. Invest regularly in your knowledge portfolio. Make learning a habit.

  9. Critically analyze what you read and hear. Don't be swayed by vendors, media hype, or dogma. Analyze information in terms of you and your project.

  10. It's both what you say and the way you say it. There's no point in having greadt ideas if you don't communicate them effectively.