# There are no shortcuts

Successful people. Senior programmers who can debug without looking at code. Children who can beat the whammy out of you in chess. Secretaries who can spot the missing L in “pubic announcement”.

All of them have shortcuts. All of them use shortcuts. But they’re not successful because of using the shortcuts. They’re successful because of the knowledge gained through hard work, and as a result of that hard work, they created shortcuts.

There’s a difference between using a shortcut and understanding a shortcut.

### The ternary operator

This is how the ternary operator looks like

condition ? value-if-true : value-if-false

In code, this will look like

```int i = (100 > 90) ? 23 : 57;
```

and the variable `i` holds the value 23, because (100 > 90) is true.

Do you know its longer equivalent?

```int i;
if (100 > 90)
{
i = 23;
}
else
{
i = 57;
}
```

Quite a bit to type isn’t it? My point isn’t about which is better, since both are useful and more readable depending on the programming context. My point is, do you know how they’re equivalent, that they work in the same way?

Using the ternary operator without understanding how the `if-else` construct work can be disastrous, particularly for new programmers. Debugging can take on a whole new level of slap-your-hand-on-forehead-why-me’s. Knowledge without understanding can be dangerous…

### Most make-money-online people don’t make it

After you get over your retort impulse, let me say that the successful online entrepreneurs, businessmen and Internet marketers are great at what they do. The techniques they teach will make you money. It made them money didn’t it?

I’ve read a fair bit on these techniques. I’ve been to their seminars. Hey I’ve even bought some of their products. I came to a stunning conclusion. For all the tips, techniques and shortcuts they gave, it’s still hard work.

The usual situation is that they’ve found the simple solution to solving your problem (making money). They’ve identified the {insert your favourite number below 15} easy steps to making your dreams come true. You buy their product or service. You get zero to dismal results. They tell you that you just have to follow their method a little bit more, a little bit longer. In the meantime, how about some personal coaching to help you in whichever area you’re stuck in. You buy more. Ad infinitum.

That situation may not be true for you. I’m not condemning this process. All teachers do this. I’m sure their product works fine. The problem isn’t with them, it’s with you. Following their shortcuts isn’t enough. You must also understand why and how they used those shortcuts. There’s a lot of hard work behind those shortcuts.

Think about why some lottery millionaires go back to the way they were very quickly. They took the shortcut of lotteries and gained a million dollars. They didn’t understand how hard it was to make a million dollars, and so they lost the million dollars.

Taking shortcuts is easy. Understanding shortcuts is hard.

### Ctrl-A, Ctrl-C, Ctrl-V

Can you guess what they are? In the Windows environment, they are the “select all”, “copy” and “paste” shortcuts respectively. Did you know that there are still people who don’t know the shortcut to copying?

There was this one time where I had to walk a user through some setting up of stuff. One of the steps required him to copy everything from one folder to another. And that’s what I told him over the phone, “copy everything from this folder to that folder”. Apparently I should have been clearer in my communication to him, because he didn’t know what to do.

So I told him to click somewhere empty in the source folder without clicking on any of the files and folders, do a Ctrl-A, do a Ctrl-C, then go the destination folder, and do a Ctrl-V. Otherwise he could still be searching under the  menu, and using the mouse to click on *shock* the “Copy” menu item.

That user might not have to understand the hard work that went into programming that shortcut. He only had to appreciate how that shortcut could make his life easier. Then use it!

### Shaving off 20 years

I remember watching this movie where this young man of 14 years old committed some crime. It was quite petty (and I think a misunderstanding’s involved), yet the law in the movie dictated that he be sent to jail. For 20 years.

And it’s not just any 20 years. The technology in the movie was such that a human body could be placed in stasis indefinitely. Here’s the terrible part. The body itself would continue to grow, yet the mind was locked in time.

So this young man emerged from his time prison, 34 years of age, yet 14 years of mind. The time prison was created explicitly to take away prisoners’ life, in terms of memories that could never be formed, and the time that could never be gained.

The law in the movie took away a prisoner’s time, but never gave the prisoner time to repent. There’s no time to learn, to grow and to understand. Only the shortcut of time fled past.

I’ve also watched this drama series called “Earth: Final Conflict” where Taelons, an alien race, came to Earth. One of the coolest things in the show was this near-instantaneous transportation device. With a device in the North Pole and another one in the south, you could move between the two poles in the blink of an eye (though I couldn’t fathom why you’re in the poles in the first place…).

We used to have to walk five kilometres. It was hard work. We sweat, our legs tired, our lungs out of breath, and a whole lot of time was gone.

Then came wheels. Shortcut. Man-powered wheels advanced to wheels powered by fossil fuels. Shortcut. It came to the point where you could stand in place waiting for a bus, get up that air-conditioned bus, sit down, not having to do anything, and you still travelled five kilometres. No sweat, no muscle cramps, easy breathing and lots of time saved. Shortcut.

Do you even know how hard it is to walk five kilometres? Can you appreciate the shortcuts our modern transportation have provided?

When we have understood, appreciated and used the shortcuts, maybe, just maybe, we could understand how to take it to the next level and realise that Taelon technology. Where we could move from here to there, in the blink of an eye.

### In closing

It’s ok to take shortcuts. You should also understand the hard work that went into those shortcuts. Only then do you not just stand on the shoulders of giants, but be the shoulder for the next giant to stand on.

Otherwise you’d be stuck at the level of using Ctrl-C, and never progressing to implementing a better way of copying stuff.

The people who succeed in using shortcuts, are people who understand the journey and the hard work behind those shortcuts. And if you know a shortcut to understanding shortcuts, let me know.

1. val

ooh! super complexed if and else!
i have tried that.. really! but I don’t use it as often as I should.. I just find it sooo difficult. any techniques to remember how to use that?

2. Vincent Tan

Hi val, if you’re referring to the ternary operator, I’d say just use the normal if-else. It works just fine. The ternary operator has a specific use, whereas the if-else can include other kinds of code. It’s just that in the special case I gave, both give the same results.

And thanks for visiting!

3. val

oh.. nice! I’ll continue with my if-else life then.. 😉

4. Michael Aulia

I don’t usually use the shortcut. Sure it’s shorter and more concise, but go away for a month and look back at your own code. You’ll waste some time trying to understand what you have written 😀

So shorter doesn’t necessarily better heh heh

5. Vincent Tan

@val: somehow, I feel your if-else life is much happier than my if-else life… good for you.

@Michael: I agree, shortness without clarity makes the code even harder to read.

6. Kalen Jordan

Hey Vincent, interesting take on the connection between ternary operator, internet marketing, and “pubic announcements”! 🙂 I agree that incorporating these “short cuts” into your arsenal is really the hard work in any subject area, and good teachers show you how to learn those shortcuts the easy way instead of the hard way. 😉

7. Vincent Tan

Hi Kalen, good teachers not only show you the how of shortcuts, but also the why. Then you will like totally own those shortcuts.

8. val

I am so glad you wrote the article on ternary operators. It was a good reminder and just what I needed the next day. I kind-of needed a lot of one-lined variable declarations and needed them as soon as possible. But I completely agree with Michael, I mean, if I look at it again next week, I’m sure (if I have the time.. ) I will change it to the better looking if and else because I’ll surely get lost with my own code.

9. Aaron

Great post Vincent! I really wish people would understand that it requires had work to make money online. You’ve got to have the patience to keep working at it.

I tried for years to make money online before my blog, and I always tried to do it an easy way. Now I’m actually putting hard work into a project and it’s starting to payoff.

10. Vincent Tan

@val: Sometimes, it’s better to stick to the if-else first. Then when you’ve mastered the if-else, you might find situations where the ternary operator makes more sense. When that happens, you’ll have mastered both the long and the short versions.

@Aaron: Maybe someday, people would realise that it still requires hard work. A successful newcomer creates the illusion that shortcuts work, when in fact, the newcomer simply understood the shortcut faster than the other people. Same shortcut, better understanding. And good for you that you’re getting results!

11. val

ah! it’s safe to say that i am now on the level where ternary operators sometimes makes sense. 🙂 But by sometimes, I mean once in a blue moon.. nyahehehe! I will have to master that part ..

12. Vincent Tan

It’s ok. I seldom use ternary operators anyway… 🙂