Let’s start by asking ourselves this question: How much do we want to do with our life? Or how much are you eager to achieve in a single life time?
The disparity of magnitudes of achievement is tremendous among different people. While a few may create billions worth of wealth, majority may or may not enjoy a substantially good balance between input and output – producing nothing major at all.
Why? Is Gates or Buffet’s millions times of your wisdom? Never. Are they millions times more capable than you? Not a chance.
Because they keep things simple. They go around all dispensable bells and whistles that provide little value, that barely contribute to your final goal, and yet that mediocrities stupidly love, get proud of and show off with. Instead, they do simple things that are just to the pragmatic point.
So is this blog post.
You are a php mysql programmer. You are planning to make a simple CMS for yourself to publish some content conveniently and efficiently to your website so that you may make some cash.
You have swiftly coded a simple login system. Useful, but not that necessary as there’s not many who know where your custom CMS is located. Gates may or may not skip this step – I don’t know. It’s security for God’s sake! Yes but you could also just resort to the Apache authentication instead of doing it yourself. Bells and whistles just come by seemingly undeniable reasons such as security which is actually not that *first priority* compared to your FINAL GOAL. It’s almost always an illusion that you need something instead of that you actually want it.
blah blah blah…
Now you’ve got everything ready in place to post content safely and quickly to your website. But instead of starting writing content right away, you are pondering about whether or not to add commenting for the visitors. Not that hard anyway and it’s absolutely a fancy feature as you were in 1995! So you got down to coding once again.
Now that visitors can comment, you will need one more database table for all of that. Thinking about what data fields it’s gonna house. That’s just routinely necessary, though not quite expected in the first place with an mere idea that have excited you, nothing outrageous to scratch the head about.
While you could simply fulfill the same task with just 2 fields, namely commentator name and the comment itself, you have gone too far by complicating the situation and adding a few more: email, URL, beautiful 5-star rating system and a threading mechanism. Yeah, well, they are all so edgy and perfect to fit in with each other that you can’t help but starting to compliment yourself. How sharp and creative you are! Only if the world knows your creation! Until of course, half a year later, you sadly discover that only 1 or 2 visiting guests left no more than 3 messages. And one of them is a complaint that you may consider attending a grammatical class in writing.
blah blah blah…
In the same time, you suddenly realized this is obviously presenting one more loopholes which malicious crackers may utilize to perform injections. Thus goes the anti-injection function to filter the input for malicious code.
It’s not long before you start to receive spams so you need to implement a spam protector mechanism. You spent an additional few days to code an image captcha but soon they are broken by OCR softwares and your system is vulnerable to spam attacks again.
So you have to code yet another module for you to approve comments manually.
Then you are tired of spending time in discriminating spams from legitimate comments therefore you decide to code yet another module to inspect and filter out the unwanted messages.
There you go…
It rarely adds up to the final results. Maybe a little bit, but unexpectedly limited.
Every extra functionality you append to the system, the complexity and possible future maintenance cost would soar exponentially. It’s the same with your life.
Everything takes time and that is the single most valuable asset in everybody’s life. Everything you are doing right now, you are paying time to do it and the opportunity cost to do something else that’s potentially a lot more constructive for fulfilling your goal and dream!
Keeping things simple will be the only solution.