Hwa Chong College Anthem

Love how one discovers an old work being performed and published from the age before YouTube.

For the record, the piece was first drafted in 1999 for sports day (after dreading for one year that the piano version had no kick). I understand that Darence had made attempts to recover lost parts over the years too. After the merger I’m not even sure if it’s sung much any more.

Print Friendly

Deep Breath

I just came back from an 8-days break in Melbourne, a postponed trip in itself. I had to take a deep breath, besides fulfilling our wish for an overseas family trip before our girl turns 2.

After we came back, we basically spent the first day sleeping, and the other day putting our lives back together. I had to disregard all my originally planned work items. Something did not feel right.

It was as if the breath was not deep enough.

Since our last long overseas trip in 2013 to the North American continent, we have not had a long trip, as we were waiting for our little girl to grow up a bit more. Towards the end of that period (earlier this year), our work life started to feel like a blur. I was shouldering too much responsibility while my wife is battling her own challenge with increased work load.

We kept ourselves sane by taking short breaks to pop out of the water and catch a breath, taking turns in cleaning and parenting. I was furiously trying to recruit to help out for all work fronts. We relented on doing everything ourselves and started paying for a part time cleaner. Our evening pick up time for our girl gets later and later.

And we thought we need to Stop and take a much deeper breathe. Something long enough to cleanse.

You all know how this story would end: With connectivity the break is really just escaping physically. There was a bunch of work that had to be brought along, but fortunately we managed to find time to complete it in between our itinerary. We dramatically reshuffled our tour path to adjust to the unanticipated cold front and our girl’s unstable temperature – and I had to adjust my total output too. There’s no escaping of “life” as we know it even when we’re having a “break”.

I thought about this on the flight back and last 2 days, until I attended a wedding reception which I thought would be over after snapping a few pictures, to end my “long” 10 day break. And reality struck me – I had to “work” at the snap of a finger as I was suddenly surrounded by well meaning government officials bombarding my questions and opinions about the startup.

There’s no break really 🙂

The moral of the story for myself is to learn to take that deep breathe no matter where I am. I’m fortunate to be able to function as an entrepreneur or a musician with my medulla oblongata, so I’d use that to my full advantage. Some days you might see me there fully present with you, but deep inside I might be resting, taking that deep long breathe to recuperate from my last product building marathon.

Breathe in.

Breathe out.

Tomorrow is the start of internship season! Catch another breath in September.

Print Friendly

Boathouse Residences Shuttle Bus Service

Monday to Friday
BH->MRT: 6:30, 7:00, 7:30, 8:00, 8:30, 9:00
MRT->BH: 6:40, 7:10, 7:40, 8:10, 8:40, 9:10

BH->MRT: 11:30, 12:00, 12:30, 13:00, 13:30, 14:00
MRT->BH: 11:40, 12:10, 12:40, 13:10, 13:40, 14:10

BH->MRT: 17:00, 17:30, 18:00, 18:30, 19:00, 19:30
MRT->BH: 17:10, 17:40, 18:10, 18:40, 19:10, 19:40

Saturday, Sundays and Public Holidays
BH->MRT: 9:00, 9:30, 10:00, 10:30
MRT->BH: 9:10, 9:40, 10:10, 10:40

BH->MRT: 12:30, 13:00, 13:30
MRT->BH: 12:40, 13:10, 13:40

Accurate as of today.

Print Friendly

React Page Lifecycle Summary

Here, the no bullshit summary of React Page Lifecycle

Start (Once)
object getDefaultProps      complex objects are shared not copied
object getInitialState
void componentWillMount
      both client and server
      can setState still, and render will happen only once.
ReactElement render
      examines this.props and this.state
      returns a single child (virtual DOM or react class)
      must be PURE (does not modify state or setTimeout)
void componentDidMount
      only on the client
      can access any refs, setTimeout, send AJAX requests

      void componentWillReceiveProps( object nextProps )
            can setState to trigger render later
            don’t assume props has changed
      boolean shouldComponentUpdate
            return false if possible
      void componentWillUpdate( object nextProps, object nextState )
      render! => see above
      void componentDidUpdate( object prevProps, object prevState )

Finish (Once)
void componentWillUnmount
      cleanup: invalidating timers, clean up DOM elements

Print Friendly

无人机的美 TEDxPetalingStreet

The TEDxPS video is finally published! Thanks again to the organisers. The production is wonderful 🙂

As shared in earlier posts, this was our first attempt to reach non-English speaking audience. If you’re looking for English based material, we have plenty on our Garuda Robotics website, or if you’re looking to spend only 18 min, do check out Mark’s excellent presentation on TEDxINSEAD: Drones as infrastructure.

Some additional context for international readers:

The survival of the agriculture industry, especially the palm oil business in South East Asia, is collectively a national security issue. Whether it’s producing food or biofuel, it still forms a large percentage of income in many countries. This includes Singapore, where many such regional agri business choose to setup HQ in.

At the same time, this is an industry that’s very localised and run primarily on human labour (and some buffalos hehe). Bringing technology adoption is not only just about laws, grants and technology transfers, it’s also about winning the hearts and minds of the people, creating jobs for engineers and arborists rather than low skilled labour, and sticking it out with them over the long term to see the results.

Some of the plantation managers I spoke to don’t speak anything else fluently other than their mother tongue (which varies from some dialect to mainstream Chinese or Malay for Malaysia’s case, and just downright impossible for me for Bahasa Indonesia and their variants). The good news is that all the plantations I’ve visited have at least one corner (usually the local HQ / township) where there’s Internet access (maybe GPRS, but still reachable).

One project that I admire a lot is led by an ex-college mate / ex-colleague of mine in Amazon.com, Rikin Gandhi, who after making spaceships and software for a while decided to head to India to spread good practices of agriculture in local language. His non-profit, Digital Green, has a very simple idea: that the best practises for their respective crop is best told by their next door farmer. Their video production (done in local language) has reached more than half a million people so far.

Another respectable leader in the UAV industry is Koh Lian Pin – you can see his TED talk to get a quick idea of what Conservation Drones did with Orang Utans. One has to bring the technology to the locals and make it possible for them to take on their problem themselves.

I believe that somewhere along these similar lines, we will be able to find a way to uplift an entire industry to leverage drones to better manage their plantations, and not just providing UAV services to the conglomerates. Let me know if you have any ideas you’d like to figure out together.

Print Friendly

What a girl wanted, what a dad gave

She’s coming 20 months soon, with all the signs of a terrible two but still the sweetness of a baby. It hurts to discipline her, but parents do what they gotta do.

Last weekend something struck me. It took 3 days to completely sink in, and will probably be a recurring thought in the next 20 years at least.

It was in a pool. A children’s pool with a giant playground-like structure in the middle, capable of holding adults, in a neighbourhood country club that we occasionally swim and have dinner at together with our college friends.

Since my wife didn’t swim that day, I was shadowing miss adventure on her quest to do what every 5 year-old was doing in the pool, climbing up and down, playing with every water sprout and every wheel that turns.

And there was this slide in the middle of the huge contraption. A very popular, spiralling slide, with children (and occasional adults) streaming through over and over. The pool was only 1 foot deep, which provides for pretty lousy landing at the end. But it did not hinder these 5-8 year olds from mastering the technique of straightening their bodies and trying to land with their feet down first.

We watched in awe for a while, and before I could interest her in the tyre swing, she was climbing up the structure and joining the queue. You see, in the last month she had been trying to slide down every slide in sight, after figuring out how to slide properly thanks to great guidance from her grandparents.

I was very concerned. It was clear that she could not handle this slide and she might hurt herself by slamming herself into the shallow pool.

But her determination (and the politeness of the other children who waited for her to settle) encouraged me. Once seated, I flee to the bottom of the slide to position myself to catch her. When she saw me, she was still reluctant, but eventually, she came down.

At what seemed like 100mph.

Body spinning as the slide spirals.

And came head down first towards the end.

I dived to catch her. I did. She had a mild splash and I could quickly restore her balance upright, hugged her and quickly carried her away from the dangerous landing zone where other kids came.

And then my heart sank.

She was in total shock. Her eyes were wide open and her face was pale. She didn’t move when I held her and soothe her.

She wasn’t ready but her ambition and my carelessness had shaken her so much that for the rest of the evening she hardly smiled and simply looked dazed.

Still, that wasn’t the main story I wanted to tell you. It’s what happened next.

After that we went to the swing – and she was too afraid to even swing mildly, so we continued to wander around the pool as she recomposed herself.

She went up the structure again, I joined her.

I discouraged her from the slide, and I brought her down.

She went up the structure again, climbing to higher ground, looked afar for mum, and then followed my lead to climb down again.

It was clear – she’s not giving up.

She was reassessing the situation.

She went up again, and this time… she stood firm at the entrance of the slide. The other kids had went away and she stared at the slide for a long time.

I asked her, “Do you want to take the slide?”

She mumbled carefully, “slide…”, by that she means affirmative but still concerned.

And it was at that point the epiphany hit me.

I’m her god damn dad. Slide down with her.

I must first clarify that I have had my fair share of bad roller coaster rides and phobia for fast uncontrollable means of transportation, something my wife still chides me for. Heights, water etc had been lifelong challenges I try to overcome but it doesn’t just go away. I have successfully stayed away from most activities I deem “harmful to health” or “risk of death” like sky-diving or scuba-diving. Officially I cherish my life and my safety over adrenaline rush, privately I just deal with the ghost in me.

And I have a daughter with more determination than her mum.

“I’m her god damn dad, if I don’t bring her down am I going to let her do the 180 degrees upside down ride again?”

But there was no time to lose. She already sat down at the tipping point, ready to make that journey again. I almost cried, sat down and grabbed her, and went down the double spiral.


And a painful *THUD*.

My ass hurt with joy. So did some other joints.

The mum was standing by, giving her approval. I was more concerned about the little one at that point – Did she enjoy it? Was it scary? Was she satisfied with a joint ride?

And she emerged looking so proud at me, but without the cheerfulness or silliness when we were playing. To her, that slide had just became the pinnacle of her life, her greatest achievement, the mountain she must conquer.

She pondered around the pool for a while, regained her footing, and went up the structure again.

I’m her god damn dad.


I guess it got easier after the first time, but old bones hurt real bad and I had to curl to protect her towards the end. Sorry, ass.

And then a 3rd time.

By then it was late and I happily accepted my wife’s suggestion that we clean up and bath.

* * *

On my own, I would never go down that slide. After this episode, I would still not go down that slide. That’s me, and people around me respect that, to which I appreciate greatly.

And I accepted this challenge to raise our girl into a fearless lady in this brave new world.

And thus, before I even know it, I just had my first taste of being push way, way out of my comfort zone by my 19 month old.

Love you, Yenn <3

Print Friendly

Preparing for a TEDx talk

I’ll be speaking at a TEDx event in KL in a few weeks time. The event is unique as it’s one of the rare TEDx that’s in Mandarin. Needless to say it’s a very challenging talk as the last time I did public speaking in Mandarin is probably 讲故事比赛 in primary school.


I’ve learned a few things so far:

  • Radio DJs do read your blog because they need to create relevant questions to ask you, so no matter how abandoned it seems, there’s always gonna be someone reading it
  • Being interviewed on a phone is not as bad as it seems. Before a camera one has to sit and look proper, which is totally my weakness. On a phone however, I could be dancing around the house to get the mind to expand my vocabulary (especially in Mandarin!!) at an instant
  • I didn’t know preparing for public speaking consumes me emotionally, and bleeds into my working environment. Need to find a way around it. So far one trick has worked, that is to repeat the same speech rather than always updating it to the latest and greatest content available.
  • Last but not least, never credit your photographer for every picture he took for you. Just like if you were to rearrange my music for your group’s specific need, just say you’re the arranger, it’s ok. Every artist I know makes deliberate decisions on their art. If you change it (crop, recolour, touch up etc.) it’s no longer the original work, and artists might not always want to be associated with it for professional integrity reasons primarily.

3 weeks to go! *back to slides*

Print Friendly

Home @ 35

AirstreamThis post is inspired by reading many accounts of Home (A Sense of Place) on the current issue of Stanford’s Alumni Magazine (if you’re interested).

Yes. Turned 35. Started a family, started a company. Own a home, drive a car. Materially, other than the fact that I’m still gambling a little by surviving on a pittance from weekend music arrangement work and some morning assembly shows, throwing everything else into growing the next unicorn, I have little doubt that I live an enviable quality of living. It affords me a psychological stability to take on risk that involves quantum leaps for the next phase of my life. And today (yesterday) would be a good checkpoint.

And that stability is crucial in playing the role of a dad, co-founder, husband, service provider etc. An article passed around in social media alleged that only the rich can take high risk for being an entrepreneur. Perhaps they are right – even if I don’t see that kind of money in my pocket, I must be at peace with what I already have in order to take longer term bets.

What I’m not fully at peace, at 35, is indeed this sense of place. Being very comfortable in Ang Mo Kio for the past decade, I’m firstly facing the challenge of having to uproot and move to the condo over in Hougang, which we got our keys a few weeks ago, once the renovation is done later this year. Settling in, including settling the 1-year-old in, will not only sap up time, money and energy, but also rock the very sense of place (basically this central region of AMK, Bishan, TPY) that has become so familiar to me.

Moreover, what one considers Home varies. One Portuguese novelist in the alumni mag explored the possibility that some feel at home when they are speaking a particular language. Or when they are in a constructed sense of place (e.g. in a novel). Or simply a loving friendship. Some I spoke to about this move countered that I should take solace in that I’m moving with my wife and daughter. Apart from the obvious physical relocation, I started wandering whether our family in AMK would be the same as our family in Hougang?

But it doesn’t end there. I want to have a clear sense of place, for myself, that can be logically projected into every facade of my life. For example, in the music world, it’s clear as day to me that my Home is with the wind band scene. I perform in orchestras since 13, I love taking up gigs with the brass quintet, but they are often me projecting out from a core sense of place – a tenor trombonist in approx 60 person wind group, playing every possible genre of music. Wind band is home.

In another example in the technology world, most people would know me as a connector stemming from many years of startup relations, business development and civil servant roles. But each of them are also projected out from a common base, which is one widely exposed generalist software developer wearing a computer science degree on one sleeve, and a fierce hustler attitude on the other. This sense of place translated well when I reprojected myself back into robotics. Comp Science is home.

All seemed clear except one small corner, when I hold my passport in my hands. In the past months, various events has brought me to rethink this concept of Home in the dimension of national identity. Here’re a few short stories:

1. Thanks and no thanks to SG50, I’ve arranged Home (Kit Chan) 4 times this year alone, and rejected 2 other request for arranging Home, and we’re still 2 weeks to NDP. Also, one of the projects that I ran for SG50 for the past year didn’t take off, but I was happy even though I spent countless hours interacting with arrangers on writing national songs, managing stakeholders and rights owners. People still download and perform the music – that’s most important to me.

2. In my constant interaction with Singaporeans about SAF (and this is with reference to the officer type, coz the band type I don’t get much of it), I always feel like people have to actively censor information, only for the reason that I haven’t served in the army, despite being a permanent resident here for the past decade. I am still considering whether they would stop doing that if I take another few weeks of my life before 37 to serve in the volunteer corp.

3. Between me and my wife, we have often talked about at least one of us becoming a citizen, primarily for the kid. It would be an unnecessary financial strain otherwise, contingent on the extended stay here. Who should relinquish the citizenship of their birth since there’s no way to hold both? The indirect question here is, what are the chances we would be forced to relocate again, such as overseas career move?

4. Professionally, as we’re aiming to build a regional business, we often need to rethink out branding and outlook. Do we introduce ourselves as a Singapore-based startup when pitching to Indonesians clients? Many Malaysian clients we pitch to dig through my personal background to verify my citizenship, despite me telling them I only come home for parents or for work – is my national identity critical to you hiring my company, or my locale?

Here are the hard questions put together in 1 breath: Does giving back to a Singaporean society make me less at home as a Malaysian? Would I ever consider Singapore home when Singaporeans build a wall around my inquisitive learning? Does changing the passport make any difference psychologically in recognising your home nationality? Does your nationality have to be public for the sake of work or simply feeling more at home?

For my birthday this year, I dropped out of attending some tech gatherings to spend the entire day with my family and in the evening 2 friends. We staked out at Satay by the Bay so that we can catch the aerial fly by and the fireworks for the NDP preview show. I ate so much siham and drank so much beer I became worried that this isn’t the cheapest place to binge. When the planes flew past our heads, I was thinking of the 4 summers I spent in Seattle, never missing a single show by the Blue Angels when they toured to Lake Washington.

It almost felt like Home could be in the skies…

Print Friendly

How To Use Dropbox – for Scores


Here’s what they call an “Idiot’s Guide” to using Dropbox, or I usually call “Cook Book”, written specially for my musician friends who after collaborating with me for years still find Dropbox hard to use.

Step 1: Prepare to use Dropbox

If anyone, whether it is me or your band leader tells you that you will be receiving scores via Dropbox, do yourself a favour and setup Dropbox on your devices for convenience. It includes:

  1. Get a Dropbox Account (my referral link here)
  2. Download to your computer, or install the App onto your mobile devices.

This step is actually optional for the lightest users, i.e. you will only receive scores.

Step 2: Receive a Link

Normally you will receive scores as a “Link“, not a Shared Folder. Why? Because scores are organised for you for read only. If you receive a shared folder, you might inadvertently edit or delete the scores.

Whether or not you have a Dropbox account, you can open a link.

When you receive the Link, do the following:

  1. Open the Link and verify that it’s correct
  2. Optionally, download or save the relevant file (e.g. your part or the conductor score or the MP3 etc.) so that you have a copy of the file on your computer. You can then print it.
  3. Or, you can save it to your Dropbox. This means duplicate it but in the cloud.

It’s important to know that when you receive a Link, you will not see it in your Dropbox. You only see Links you send others from your Dropbox.

Step 3: Advanced things to do with the Link

If you receive a link on your phone or tablet, you can open the link in the app.

When you see your part, select the Favourite (star) icon so that it’s cached in the app. Some band rooms have bad connectivity and you don’t want the score to be downloaded over and over again.

Unfortunately Dropbox still don’t have a basic annotation tool, because this happens usually when some score wasn’t printed or you forgot to bring the printed score. Tentative measure is to use the Comment tool and type in English. Alternative is to open the PDF in another app that has annotation.

Step 4: Collaborating to put the library together

At some point you will be asked to the provider. Maybe you’re the librarian, maybe you’re the music arranger or composer. In this case, you will be given access to the “Shared Folder“.

Few important things to know about participating in a Shared Folder:

  • If your local Dropbox is turned on (which it is if you did step 1 and didn’t set it to not autostart), whatever you change in the Share Folder will immediately change on everyone’s computer as well. This is Dropbox black magic 101 and it is irritating as hell if you use the Dropbox folder as your working folder and save your file every few seconds. Please – work somewhere else and only move the file to the Dropbox folder when you’re done.
  • Your quota will be used. Dropbox has some sophisticated math behind their Shared Folder, which counts the total size of the Shared Folder against every participant. Something like, if 3 persons share a folder that’s 30MB in size, Dropbox will count 10MB against everyone’s quota.
  • Because often the Shared Folder is also the same folder where a Link a generated to be shared with the whole band, you don’t want to keep changing the files in the Shared Folder, as different people in the band will end up getting versions of your score!! The simplest remedy for edits done after the Link has been sent out, is to version your score, both in the file name and the title of the score, so that musicians can verify for themselves if they downloaded too early.

Conclusion, “Learn More” is your friend. Click and read it anywhere you see it. Don’t just use, use with understanding.

Any other tips you want me to add to this list? Let me know!

Print Friendly