Thoai Nguyen

Nice guy, Bookworm, Hacker, Bootstrapper

Read this first

Initiation

I am admitted!

I’ve got the job!

My business just broke even!

Times and times again, we think of the events as great successes. Looking back, however, we see them as mere beginnings for the next chapters in our books, as initiations.

When was your last one?

Continue reading →


Don’t (just) follow your passion

Nowadays, follow your passion has become a motto.

I believe it is overrated.

Passion can come and go in the blink of an eye. Because of its intensity, people sometimes mistake it as the substance although it is, in truth, nothing more than the heat of a moment.

I do not deny the importance of a spark. We all need to start somewhere, and passion can be a signal that this may be a Path worth travelling. However, as we progress further, obstacles reveal, the initial feeling is buried under layers of doubts. “Am I going to make it?” “Is this for me?”

Eventually, the flame wears out, completely shut.

We celebrate victors, those with the will and courage to carry on until the end. We look up in admiration without realising all the dark time that forged their spirits. It is less known that winners care little for the fame at the end. After all the trials, pain, sweats and tears, to be

Continue reading →


Human Interaction, The Next Scarcity

Every abundance creates a new scarcity1.

In high school, I used to write notes and letters to a girl who shared the same desk. That was a sweet piece of memory, maybe not at the time, but now.

Then the Internet came, and we all got excited.

This domain name was bought over a decade ago, marking the birth of my digital self. It has been a long journey ever since.

With the passage of time, I found that the Grid not only brought us closer physically, it also pushed us further emotionally.

One day, mankind will realise how the machines have separated us, and once again long for that human touch.

I hope.

References:

[1] Anderson, Chris. Free. New York: Hyperion, 2009. Print.

Continue reading →


Show, not tell

I have a special skill sets that could be very valuable to your business. I think we could work together. Though we have never worked together before, I am confident that we would be a good match and my service will bring value to your business…

Sounds familiar?

One of the flaws of human (ir)rationality is our tendency to judge others by their actions and ourselves by our intentions.

If you want to prove your worth, take small, iterative steps. However, also remember that to grow, you need to be on the edge.

First, show it to yourself.

Continue reading →


Don’t follow the crowd

It is always easy to follow the crowd. Almost everyone wants a better job, house, car, partner.

Yet in the crowd, you can also find the most foolish spirits of all. Because the collective wisdom can not go beyond the average.

To be extraordinary, you need to listen to your heart. If you want to build businesses and change the world, a bigger paycheck is almost irrelevant without the learning.

Ignore the crowd. Have faith. Make plan. Take action.

Continue reading →


I’m getting a dish washer

Ok, really, this is not just about getting a dish washer.

Hey Laura,

I am just writing to let you know that I am going to buy a dish washer when we move to the new place. This is by no means my excuse to slack off. Let me explain to you why.

A dishwasher costs between AU$400-700. Let’s buy one for $500.

I spend 15 to 30 minutes each day, after dinner, to wash the dishes. For the sake of simplicity, let’s say I spend 20 minutes a day on average. That’s about 2 hours and 20 minutes per week, or 121 hours a year.

A dish washer will last for a very long time, but let’s use the 2-year warranty period as a base line (Imagine the machine breaks down after 2 year, we can just throw it away). That will be the equivalent of trading AU$500 of investment for 243 hours of my labour. Basically, the machine will work at an hourly rate of approximately $2/hour!!!

In other words, by not using a

Continue reading →


The always-up-to-date list of courses that I am taking

Main courses:

  • NLP At Work
  • The complete iOS 8 course with Swift
  • Get rich slowly: The unconventional guide

In spare time/Upcoming courses:

  • Haskell
  • Shaping up with Angular.js

Wait list: (courses that are currently unavailable)

  • Algorithms 1

Completed:

  • The Ultimate Sales Machine (Book)
  • Free: The Future of a Radical Price (Book)

Continue reading →


Simple rsync

One-liner for rsync

rsync -aviuzP src/ dest/

Adapted from this link without the b flag.

Continue reading →


The dark side of intelligence

The following article makes a very good point about how being intelligent, or rather being overconfident about it, is a certain path to self-destruction. The principle applies not only to startup and business but also to almost everything in life, including relationships.

  • Your high IQ will kill your startup (Jamie’s copy)
  • Backup link (PDF, from my dropbox)

Links are only visible in full post view.

@Max: I am keeping a copy for my personal use. However if you want this article off-the-grid, please let me know and I will gladly comply.

Continue reading →


Pre-filling a silex form

Let’s say you want to populate another form with some data (on a GET request). This is a single-page Silex app and not a full Symfony2 stack with object based forms. We are talking about a form that uses simple array as its data model here.

The form is generated with the following piece of code:

$app->register(new \Silex\Provider\FormServiceProvider());
$app->register(new Silex\Provider\ValidatorServiceProvider());
$app->register(new \Silex\Provider\SessionServiceProvider());
$app->register(
    new Silex\Provider\TranslationServiceProvider(),
    array(
        'translator.domains' => array(),
    )
);

$form = $app['form.factory']->createBuilder('form')
    ->add('name','text',['label'=>'Full name'])
    // Add other forms fields here.
    ->getForm();

Assuming the pre-fill data is stored in the key-value array $data. My first attempt to fill the form was:

$form->submit($data);

Continue reading →

no