Developing For Android Wear: Day 1

Android Wear Hello World

I decided to start development for Android Wear this week after seeing my co-worker Ollie’s watch and him mentioning that it’s a new space to get into while it’s still relatively young niche in the mobile market.

I bought the Moto 360 (2014) model from Amazon for roughly $124 (refurbished). My daughter (14 years old) unboxed it, paired the watch to the my Android Samsung Note 4 last night.

This morning I setup bluetooth debugging but ran into a problem with `localhost:4444 unauthorized` when trying to connect to the watch.   After playing around with restarting the Android Studio tool, restarting the adb sessions, I end up following the tips from this blog, deleting caches, resetting my Moto 360 to factory settings and now the first step of ‘Hello World’ is now on my new Android Wearable.

I also setup some bash aliases here for starting the adb environment

Time Spend : 1h30m

Next Step: Finish up Udacity course on Wear Development

Hello World Moto 360

Dear Yelp, you could be so much more

Yelp for Business

Yelp for Business

Dear Yelp,

I am writing to you as a small business owner as well as a loyal foodie using your app to find great places to eat.  I have rated over 100 small businesses, most restaurants.  I manage the digital infrastructure of 2 restaurants in the Bay Area and the Yelp for Business Owner pages.

Everyone has a favorite restaurant, but the owner of that restaurant does not have a way to engage with their most loyal customers even if the customers really want to hear from the restaurant owner.  (There are ways to do private messaging, but that is one on one).  Let’s say my favorite local French restaurant is celebrating their 5th year anniversary and wanted to offer their loyal customers a special dinner, or the restaurant has some new dishes that they want to let their customers know about.

As a restaurant owner, I am able to see an anonymous view of my customers’ activity.   I see ‘someone’ has viewed a map, made a reservation or looked at some photos.  These are valuable connections for me.  I would love to offer these customers a way to connect with my business, *if* they chose to.  I’m not planning to spam them, I want to engage with them.  The most valuable part of my business is repeat customers.  I want to build up a long term connection with these customers.

Yelp can be so much more. Yelp can be the platform for small businesses to engage with their most loyal customers.  These customers are not just someone who ‘liked’ their page, these are real customers who came to the restaurant.  This is a large missed opportunity for Yelp as a business and a missed opportunity for small businesses who love the Yelp platform.

Tony T.  – Owner of I Privé restaurant in Burlingame

Goodbye, hello

dropbox 2 box

update: is not doing any better either after my switch.  The sync app hung and I had to kill it.

Recently the sync app on my Mac has been chewing up 100% of my CPU causing my machine to heat up. While I am a technologist and I can take the time to try to figure out the problem, the cost of switching to is pretty much zero.

Also I’m taking this time to move only the files that I really care about over to

While I did love when they first started, I feel like they’ve taken their eyes off the ball when they started adding all these extra features like Camera Upload, Screenshot upload that they’ve not done a great job with their core product which is just plain file syncing.

Tech Businesses That Are Unprofitable Need To Ask The Hard Questions

A sashimi plate from I Privé

Even though I work in high tech, I don’t really understand business that loose money during their entire existence.  How can that be a business?   I invest in a restaurant that is luckily profitable after 1 year.   We offer a product people value and are willing to pay for.  We have investors who want to see a return on their money in a few years and not wait for a IPO or buyout opportunity that may or may not come.

I understand that initially a company have to heavily invest in order to build up the customer base, but after 3-4 years, isn’t it time to put a stake in the ground that you have to figure out a way to be profitable?  Or you need to think about whether you are a business or just a gamble that someone will bail you out?

If you are loosing money after 4 years, it’s time to evaluate
1) Am I hiring too many people, expending too much capital compared with the revenue I’m bringing in?

2) Is the product even worth paying for?  Is my product/ services really valued by customers?

3) Is my company really going to get the economy of scale or will the cost of doing business going to overtake any savings I will gain?

4) Is the barrier to entry for my competitors strong enough to keep them away long enough in order for my growth to continue?

I don’t believe in technology companies that do not have a 4 year horizon to profitability.  They are just kidding themselves and not asking the hard questions and making the hard decisions.

Tony Tam

Learning Unconditional Love From My Mother

My mom and I in Zhong Sang, Canton with my Dad's relatives.

We are celebrating my mom’s 74th birthday today.   She is a medical licensed pediatrician in China.  When my family immigrated to the United States in 1980, her medical degree was not recognized here in the states and she lack the basic English to be medical doctor here.  She took on a job as a seamstress and was paid by each piece of clothing she was able to make.  Given her lack of background on the sewing machine, she did not not last very long at that job.  She studied English at night and then she got a lucky break in being hired in an acupuncture office. The owner of the practice did not have a medical degree and wanted someone like my mom with Eastern medicine experience. She later received board certification in California as a licensed accupunturist and have practiced for over 30 years in San Francisco and later a 2nd location in San Jose.

In my early memory of my mom, she is often calm and very deliberate with her words.  My memories of her when I was young was her taking care of my cuts and bruises, wrapping my head in medicine to treat head lice and fanning me to sleep on scorching nights in Hunan.

Later on in middle school and highschool my mom must have worried a lot about me.  I was not sociable.  I didn’t have many friends of the opposite sex.  I had done well in school but socially awkward. The one constant I did feel from my mom was that she had unconditional love for me.  Whether I went to UC Berkeley or not.  Whether I had a high paying job or not.  The word love was not said in our house.  Hugs were not given.  Later on, my mom told  me that for her generation, it was very hard to say those words of affection, it was just awkward to say them.

When I was 35 years old, I learned the greatest trait my mom has shown me.  One evening, I told my parents I was getting divorced.  I don’t know what I expected my parents to say.  But what came next from my mom gave me strength to come out of the divorce a much better person, a better father and a more empathetic son.

My mom sat down next to me and told me that it is best to let everything follow their natural path and don’t force things to happen.  Her natural calm demeanor reminded me that even though the world seems to be crumpling around me, in the grand scheme of life, this too shall pass with time. She made feel that is there is nothing wrong with me.

The greatest trait I learn from my mom that day is that when someone needs you the most, the best gift you can give them is unconditional love and support. No judgement, accept the person in your life for who they are.

Tony Tam

Has Lyft and Uber Disrupted The Restaurant Employment Market?


After owning the I Prive restaurant for over a year and helping run the digital infrastructure  as well as posting job openings on Craigslist, I have a theory that a lot of people who used to work part time at restaurants are now working as drivers for Lyft or Uber.

The hours are probably more flexible,  the pay is much better and there is the freedom of choosing your hours and taking vacations whenever you want.

Restaurants have to start thinking about other incentives such as better hours, better pay, equity sharing and career growth in order to attract loyal employees.

Tony Tam

Performance On The Badminton Court Is 50% Mental Game


I have played badminton for half my life.  Four years in high school, four years  for the UC Berkeley club, then I picked it up again very seriously trained and competed for 3 years and now I play for fun with my co-worker and near my house.

I love playing of course because of the game itself and also because I am really good at it.  I no longer make beginner mistakes playing a competitive sport.  The game itself then rises to another level, not just keeping the shuttlecock in play, but strategy comes into play.  I can turn the racket certain angles to make subtle last minute adjustments.  I can wait to hit the shuttlecock when I want to hit it, not because it’s just there.  These are very deliberate choices I can make on the court because I am no longer chasing after my target, but I’m at the target earlier.

I played today with a team and they were not at the same skill level. So I told my partner to go easier and don’t smash and just practice our drops and high shots.  It was still fun without being too lopsided.

Then we played against another team where they were good singles players, highly skilled and strong smashing.  We lost the first game, and I switched tactics to attack more, do drop shots more to spread out the defense, relax my nerves and focus on defense.  We readily beat this team in the second game.  Physically, nothing changed but my playing improved drastically because of my mine and mental shift.

I can now relate to athletes who talk about having to  work on the mental focus to get to the next level.

Tony Tam

Movie want to see: East Side Sushi


quoted from synopsis

East•Side Sushi introduces us to Juana, a working-class
Latina single mother who strives to become a sushi chef.

Years of working in the food industry have made Juana’s
hands fast—very fast. She can slice and dice anything
you throw at her with great speed and precision. Forced to
give up her fruit-vending cart in order to find a more secure
job, Juana lands a position as a kitchen assistant at a local Japanese restaurant. It is there she discovers a new
friendship and a whole new world of cuisine and culture,
far-removed from everything she has ever known.

While working in the restaurant’s kitchen, Juana secretly
observes the sushi chefs and eventually teaches herself to
make a multitude of sushi. Her creativity sparked, Juana’s
re-ignited passion for food drives her to want more from
her job and her life.

Eventually she attempts to become a sushi chef, but is
unable to because she is the “wrong” race and gender.
Against all odds, she embarks on a journey of self-discovery, determined to not let anyone stop her from achieving
her dream

Tony Tam

The Delightful Support Experience


(dinner at the restaurant that I own in Burlingame, I Privé )

/ stepping up my high horse

I would love to see this in the perfect world for a product support experience.

1) Takes me zero effort to report a problem, make this as easy as possible.  Realtime chats, email.

2) I get an acknowlegement that the right person is looking at the problem.  No black hole.

3) When problem is fixed, I get a bravo or at least a thank you thumbs up, or get mentioned in a ticket  :)

4) I am also put on a list of power user for that product if I report and help the team narrow down problems.

This would trigger my brain to report problems as I see them.  I would also spend the extra effort.

I know this could be unrealistic right now.  But imagine a world where this actually happens. What a wonderful world for the product engineers as well as the users of the product.
To be known as a product that listens and repsonse to your users.

/ getting off my high horse

Tony Tam

A Very Fulfilling Day By Helping Others Remove Frustrations


As a software engineer, I had one of the most rewarding day in recent months.  When I got into the office, a developer from Flickr filed a ticket about UI browser testing into another Jira queue (bug tracking) and I happen to see that it’s related to the SauceLab project I now own as a technical product owner.

There was an error message she was reporting so I asked her to get on HipChat or find me on instant messenger so that I can help her.  She asked if we can meet face to face and I happen to have time at that moment.  We sat down and I told her I was just working on a similar issue last night and was going to document how to get SauceLabs working using an open source testing framework, Protractor.  So I deeply understood how cryptic the error message was but I was confident I could help her.

I open up the source code for Protractor and showed her the code path of why her functional test was not using SauceLabs, but was trying to use local Selenium.  Here is the code for the nerdy reader.  runner.js.  I talked her through how to get her test running, what code needed to be changee.  She ran the test and I could see how happy she was that she could get her functional test finally working.  I create an account for her team and I asked if I can meet up with her team in San Francisco to talk with them as well.  She was very joyful that I was able to helped her in real time and get a meaningful roadblock remove.  For 1.5 hours of work, one person’s pain point was removed and I also saw first hand how difficult it was to get SauceLabs working inside Yahoo.

What I learned: document better for a newbie, have a sample application setup that people can copy from and meet with people 1 on 1 to help them through their roadblocks, have open office hours.

Now the next meeting I had was a 2 hour session with the developer for Yahoo Sports who really really wanted to get functional testing working in the build pipeline for a internal application as well as for running functional tests on her local development machine.  We agreed that we would not leave until this was fixed.   I spent the better part of an hour understanding what I need to fix, working with a co-worker in Yahoo Search who solved this problem with me before and testing the solution.  Once I was certain the problem would be solved with my prototype, I sat down with the Sports engineer and I talked her through what code needs to be changed, how she can best use SauceLabs by structuring her accounts.  When she was finally able to get her functional tests to run locally, she gave me a big hug and thanked me for fixing months of frustration.   She later told me this was the best thing to happen to her in the last 2 quarters.

After I went back to my desk, I really felt really fulfilled in my job. I’m currently doing what I best at: using my interpersonal skills, my experience in software engineering and being able to dig really deep into a problem,  my empathy for engineers’ inefficient workflows and my current deep knowledge of how to get SauceLabs working for developers.

I have not felt this good about my direct contribution to the developers at Yahoo in a long long time. As a software engineer, I spend my time writing documentation, answering questions, writing code and going to meetings.  But for me, the time spent to help another fellow engineer and then figuring out ways for hundreds of other engineers never to encounter the same problem again is the most fulfilling time spent.

Tony Tam

When The Noise Is Too High You End Up With A New Norm Of Mediocrity

cannon balls in Old San Juan, Puerto Rico

My co-workers and I were doing some user studies with an internal developer who was using our tools in order to see how he was using it daily and also asking him how he debugs problems with our tools.

It was amazing to see the developer go to the homepage of the tool, he noticed a giant 302 error page, and he quickly reload.  Then he jump to another page and got a 500 error and quickly reload again.  I let him do this for a few more minutes and then asked him if that is his normal reaction when he sees these error pages.  He said, ‘yeah, a reload usually clears up the problem

I had to stop my self from pulling my hair out!  This is the world our developers live in where they accept that these errors are normal.  This is the quality of service they’ve come to accept of our tools.  Where errors are now the ‘norm’ and not the exception.

And this is just 5 minutes into to the user story interview..  Part 2 to come later.

What I’ve learned after this user story is that if the owners of the service do not personally get offended and treat errors as totally unacceptable, their users will treat the ‘error’ state as the new norm.

cannon balls in Old San Juan, Puerto Rico
cannon balls in Old San Juan, Puerto Rico from 2013

Tony Tam

The hardest part about asking for feedback is listening and changing


2015-09-03 18.53.17 2015-09-03 18.58.45

In the restaurant that I own, I Privé in downtown Burlingame we receive a lot of feedback from our customers.  Yelp, Travelocity and Facebook users send us both positive and negative reviews, all of them public.  We solicit private feedback from our diners via email.  We leave paper forms in the final bill before they pay.

While most of the feedback is positive, there is roughly 20% that is very negative, or areas where the diners tell us things could improve.  The negative feedback could be related to service, the music we play, a particular dish they didn’t like, cramp seating or just a small change like the brightness of the TV’s


I read each feedback every day, our team discuss about each feedback and talk about whether it’s something we should change.  If we agree, then we tell our team leads on the floor, in the kitchen or sushi bar.  While we believe we listen objectively, I think there is a human bias to either brush off some comments as a single person’s point of view.  We have to also keep in mind of our own subjective view.

Truly listening to negative feedback is difficult, realizing our own bias and gut reaction is the first step.


After hearing and listening to feedback, reacting and changing is the hardest.

First we can tell our team leads and they can tell the other team members, but to actually make fundamental change is hard.  It will take repeating the message, noticing when we revert back and reinforcing the message again.

In the restaurant business, the easiest type of changes to make are concrete black or white ones. When customers complaint about being cold, we add heaters.

The next hardest is to respond to complaints about food.  When a customer does like a dish, I go in and try it and tell my chefs if I think something needs improving.  In order for me to know whether something has been fixed, I will need to try the dish again.  I think we are getting better in responding to specific dishes. This is also subjective, so I try to make sure to focus on the quality instead of my personal preference.

Finally, responding to comments about service is the most difficult because we have to figure out which server it was that evening, whether the complaint is legitimate and working with the server over a long period to improve training and their behavior.

As an engineer working in the food industry, most the restaurant work is rewarding and it exercises another part of my brain and let’s me spend some time on my passion for food. Fast iteration based on realtime feedback is a lesson I learned that I can bring to my restaurant.

Tony Tam


podcast: DevOps culture and misconceptions

Really enjoyed this background of DevOps as a movement to remove friction from a product idea to a feature making it to the end user.  Not focus just on continuous delivery, not focused on specific tools.  Worth listening to for anyone who cares about how to increase the velocity and quality of software releases

link: Pandora : Drought Radio Station Will Help You Time Your Showers | Burlingame-Hillsborough, CA Patch


Pandora partner with Southern California water district to create a radio station with 5 minute songs
* good way to have sponsored channels for Pandora
* great cause to save water

Tony Tam

I Privé New Summer Dish: Salmon Fiesta dish is as good as it looks


I am a partner at a modern Japanese restaurant in Burlingame, California

Our new Salmon Fiesta dish is as good as it looks. Enjoy six pieces of wild king salmon sashimi wrapped in cucumber and mango, served with sweet vinaigrette. It’s a refreshing and delightful way to begin your dining experience. And if salmon isn’t your favorite fish, the dish is also available with tuna or yellowtail.
Which fish would you try it with?

Tony Tam

Prediction of 2015 bubble and crash: Stock Market explained to my 14 year old daughter

bubble 2015

On August 08, 2015 my wife and I decided to get out of the stock market 75% into bonds.  Leaving 25% in the market.   We made this decision because my daughter will be going to private high school for 4 years and very shortly she will need money for college.

We asked ourselves 3 questions

  1. If the market crashed, would it come back in 4 years in times for college?
  2. If the market did not crash, would the gain outweigh the risk
  3. If we pull out of the market now, do we have enough for college?

I pull up the chart for S&P 500 over the last 20 years and I feel very uncomfortable with the current bubble in tech and the stock market in general.  You can see the 2000, 2005 bubbles compare with the recent highs made in S&P 500.

bubble 2015

Then a week later, when I was looking at my Yahoo Finance app, the YHOO and AAPL stocks showed YHOO at $34.04 and AAPL at $112.08.  my daughter asked me what does the price mean?   I haven’t taken the time to talk with her about stocks and money in general and thought that it was a good chance to do that.

So I explained the price of stock doesn’t mean anything except for those people who bought the stock at a higher or lower price.  The worth of a stock is in it’s Market Cap, which is the price times the number shares.  Based on AAPL’s value, it’s roughly 18 times more valuable than YHOO.  Google is roughly 10 times more valuable.

She asked why don’t people just buy the stock and sell it again immediately.  I pulled up the charts for GOOGLE, YHOO and told her that it’s not possible to know when it’s a good time to sell or buy in the short term.  It’s just like gambling, you cannot tell the future.

Also I told her that working for a company that is publicly traded, like I am for Yahoo, it’s best not to pay attention to the stock price or you will be up for an emotional roller coaster ride.

For example, for GOOG from AUG 2014 to July 2015 the stock was down or just flat and did nothing.  If you were an employee who paid a lot of attention, then you were basically left with zero gain.  Only the recent euphoria did the stock pop.  If you bought Google stock, would you sell at the low, sell at the high or keep it for future gains?

GOOG stock price

The people who buy the stock are mostly in it to make money and do not really care deeply about the product or the work that is done within the company.  So an employee should have the intrinsic motivation for the great work instead of the stock price.

Look at Twitter as another example.  Great product, great engineers.  But now that they are having a crisis because of the CEO stepping down, no user growth and a sinking stock price.  Does that make the work any less valuable and interesting?  Probably not.  But the morale in the company is sinking.  As a public company, the motivations can become too focused on the outside press and the stock price.

I think told her how much my wife and I have saved up for her tuition for college and since she is only 4 years away from college, I told her that I do not want to risk her college fund and I pull 75% of my S&P 500 stock investments into bonds.  I have a feeling that the stock market is heading for a correction of at least 25% to 50% because the ridiculous tech euphoria that is out there.  There are plenty of privately own tech businesses that are burning cash, loosing money and have no viable business plans.  There are people graduating from 8 weeks of tech training classes and getting offer 6 figure salaries.   This is a sign of an over heated market.

Finally she asked me if I was good at picking stocks.  I said I was horrible at picking stocks.  Because it requires high discipline, removing the common human weakness of not wanting to loose money.   That is why I told her I buy the S&P 500.  I told her, I’m pulling out of market based on my own uneasiness with the stock market and that we have to pay for college.

As for all stock market predictions, this a 50/50 gamble.  I could be right or I could be wrong, but I sleep better.

reading: Infrastructure As Code




Book Preview:

With Early Release ebooks, you get books in their earliest form—the author’s raw and unedited content as he or she writes—so you can take advantage of these technologies long before the official release of these titles. You’ll also receive updates when significant changes are made, new chapters as they’re written, and the final ebook bundle.

This book explains how to take advantage of technologies like cloud, virtualization, and configuration automation to manage IT infrastructure using tools and practices from software development. These technologies have decoupled infrastructure from the underlying hardware, turning it into data and code. “Infrastructure as Code” has emerged alongside the DevOps movement as a label for approaches that merge concepts like source control systems, Test Driven Development (TDD) and Continuous Integration (CI) with infrastructure management.

Virtualization and cloud make it easy to rapidly expand the size of infrastructure, but the habits and practices we used in the past with hardware-based infrastructure don’t keep up. Teams end up with hundreds of servers, all a bit different, and find themselves unable to fully automate their infrastructure.

The book will go through the challenges and problems created by all these wonderful new tools, and the principles and mindset changes that a team needs to make to use them effectively. It describes patterns, practices, and ideas that have been adopted from software development, especially Agile concepts, and brought into the IT Ops world as part of the DevOps movement. These ways of working have been proven in many organizations, including well known names like Netflix, Amazon, and Etsy, and also in more established organizations including publishers, banks, and even the British government.” – from

link: Meet The Operators: Q&A with Christa Quarles, CFO of OpenTable

From conducting Equity Research at Thomas Weisel to entering tech as the CFO of Playdom (which she helped sell to Disney for $760mm), Christa Quarles went on to senior roles at Disney and Nextdoor. She is now the CFO of OpenTable and is in charge of figuring out the strategy for what OpenTable does next after it’s $2.6B sale to Priceline. Christa sat down with Zaw to discuss the ways in which she has shaped the companies that she has been a part of.”

Rosie The Riveter museum in Richmond

“As the U.S. faced a new and daunting challenge of a global war in the 1940s, people on the home front came together as never before. The stories of their struggles, which broke barriers and shaped many of today’s best social innovations, chart a path for new vision today.

Rosie the Riveter is a reminder to all of us to try new things, test our limits, and believe in ourselves and others. These tales of dedication and courage can inspire us!”

image image image – Tony Tam

Living without regrets until our dying days


We will all die one day.  That is the way of life, it’s interesting that even kids realize their parents will die one day and they don’t seem very surprised by that.  It’s an eventual fact all humans accept as part of life.

People often say “live life as if it’s your last”.  I interpret that as live life as you may die any day and you should live your life with no regrets.

– Live life with nothing unsaid to your love ones.  Say “I love you” now.  Say “I am blessed to have you in my life”.  Say “You are good enough as you are”

– Live life with with no regrets.  If you have made mistakes, try as hard as you can to rectify them now or accept that you made mistakes and forgive yourself.  If there is something you have not done yet and you will regret not doing it, tell your love ones that you want to accomplish that before you die and do them together with your love one.

–  Make choices now between what is truly important to you when you are on your death bed.  If you imagine when you are dying, what would you wish to have spent more time on.  Is it work?  Would you want to be leave a legacy of work behind, choose that now.  Is it family and friends?  Would you want to be surrounded by friends and family who all feel like you have spent your best self with them?  Choose them now, don’t tell them when you are dying that you wish you spent more time.  You have the power to make that change, NOW

We are flawed humans, we will make the wrong choices.  Time is also ticking away for all of us. Most of us will likely live until we are 80 years old, some of us unlucky ones will die sooner that others

It’s the choices we make along the way that will define us as the unique individual we all are.

Tony Tam

money makes more money

(repost from 1/9/2007)

I believe I have a healthy relationship with money. I know how to invest my money, I know how to earn money, and most importantly I know how to spend money on the people in my life.

I usually don’t make such bold statements since I’m usually a humble person.

Money in itself is a concept, it’s an enabler. It enables me to support myself and my family. It enables me to show my gratitude to my parents. It enables me help a friend fulfill his dreams of opening a restaurant. It enables my daughter to go to a private school.

It’s painfully obvious to me that many people don’t spend enough energy learning about how to invest their money. What they are missing out is the ability to have money earning more money.

We all work hard for the money, we owe it to ourselves to get educated about how to invest it. Let the money grow by itself.

Next time you hear yourself say: I don’t know how to invest: remember these words: ‘There is no excuse, learn about it. It’s not magic.’

“Pink” College

(old post from 2007)

Kate loves watching Blue’s Clues and especially one episode, “Steve goes to college”. So tonight, instead of reading she wanting me to tell her all about college. I used this perfect timing to tell her about learning and doing well in school.

Kate: “Is there a pink college? I want to go there.”

Me: “Sure I’m sure there are pink colleges. There is a Brown college. If you study really well in school, you can go to any college you want”

Kate: “I hope I study well”

Me: “Yeah, or else you may end up going to a gray and boring college, that won’t be fun”

Kate: “yeah….”

Don’t be that person…

Pencil sketch

Don’t be that person

  • who does not respond to emails
  • who does not respond to feedback
  • who is late to meetings
  • who says he will do something but doesn’t after repeatedly reminded
  • who speaks at a level of detail that is too little or too much in an executive meeting
  • who gets too emotional in a professional setting

(The drawing is a sketch from my daughter for her art class)

Pencil sketch

Making a difference in the large corporate world

While chatting informally with some co-workers, I heard some of them talking about their frustrations about not feeling recognized for their work or working on projects they don’t think makes a difference.

Corporations, which usually mean people in management roles, value those individuals who go beyond doing what they are told to do and look up from their daily work and try to plan for what they want to accomplish in the next 9 months.

As engineers, we are judged on our productivity but more importantly for our potential and influence. For any piece of work we produce, how many other engineers does it influence? Is the engineer helping others to be more productive? Can the engineer take on bigger projects?

When we work on any project, we should ask ourselves what is the BHAG? What is the elevator speech if I happen to be standing next to the CEO and she is asking me what my project is about.

If you are working on a project that you think is not adding a lot of value, finish up the project, document it well and ask to be assign to something else. Better yet, dream up something you are really passionate about, and pitch your idea to as many people as you can.

Cate: Will I hate you when I’m a teenager?

Cate in Paris

The original post was in 2005.

A few days ago, Cate asked “Dad, will I hate you as a teenager?”

I was a bit caught off guard.  I told Cate that it’s possible that when kids grow into their teenage years, their hormones could change, and they are testing the boundaries of being independence. There will be a lot more conflict between the parent and child. However, if we continue to communicate, if I spend quality time with her and we genuinely enjoy each other’s company, I don’t see why it has to be the case that my teenage daughter will hate me.

I did tell her that she might be embarrassed by me since I am very geeky and uncool. This she did laugh at, and agreed.

Life Is.. Work And Love?

Copenhagen train copenhagen.train.2 copenhagen.brompton

(Repost from 2006)

So this film producer and I were chatting on the train back from Copenhagen and we got on the subject of working for Yahoo! and I was telling him about how I got a very unique perspective about the major news events the last 7 years. Almost 100% of the people out there hear about a huge news story and go to the tv or internet and find out more about it.

My job as a news engineer is sort of twisted, when a huge news events happens, my only concern at that moment is not about that news event, how many people died. My concern is about whether we have enough server capacity to handle the news event, what type of news articles are we getting from our wire services, and how to get those stories up to our web servers as soon as possible.

The most memorable time was sept. 11 when David Filo calmly asked me how we could satisfy infinite demand for news? I remember that day well, because I felt my blood was cold, not because of the event but my mind was completely focused, I was in the moment, trying to solve that one particular problem David posed for me.

I’ve often written about how lucky I am to be working for Yahoo! How I am part of a team here at Yahoo! News who touch the lives of more than 30 million users every month. If I infer from our data, over 7 years, what we’ve done here at Yahoo! News has touched the lives of over 100 million users. How many people have that opportunity to work in a job where that little bit of cyber dust gets distributed from your fingers tips to that many users? I count my blessings.

Now back to the film producer: he looked at me and said that he is very happy for me. For finding that peace, able to look back at my career and reflect on what I’ve accomplished.

He said “Life is really just about 2 things. Work and Love” I infer from what he said: work is how you fit into this world and how you define yourself. Love is what’s in your heart and what’s in your soul. I got slightly wet at the corner of my eyes as I think about whether I’ve given my love from my heart and from my soul. Most probably not.. more to work on.

Corporate Efficiency : “Humans Are The Problem”

I sometimes say in jest that in the corporate world the “humans are the problem”. Communication, expectation and difference in perspectives are some of what causes executions of projects to not work.

This is a response to frustrations expressed by people on my team that “other” people are doing things the “wrong” way. I find it fascinating there are such divergent views of the same project. Thus happens often when a project spans across multiple teams and multiple timezones. Also when team members play very well defined roles, it may be difficult to see gaps which don’t fit these roles.

For example, when a customer reports an issue, and he has already done a lot of troubleshooting on his own but has hit a wall. He reports a ticket as a bug, with very cryptic message such as “feature X” is not working. His expectation here is that someone will respond in less than 24 hours and maybe even provide a fix for the problem. The team that is assigned the ticket 1) may not be the right team 2) may be fully committed to other tasks 3) may not be looking at incoming requests on a regular basis. In a scrum environment, the team also is highly incentivized to deliver what they started the sprint with and ignore all incoming request unless it’s a spike item.

The original ticket may not even get looked at for 2 days. Meanwhile the customer is frustrated with lack of confirmation. This is when there may be a start of escalations to various management and eventually the original team will have to spend time looking at the item anyways, but precious time will have been wasted on escalations.

Humans are inherently flawed in the way we perceive the world. We can only see the world in a limited number of perspectives. In the corporate world, that often is the perspective of our well defined role. When we can see more than one perspective and if we do this for a small amount of time everyday, it goes a long way to solving and filling the gaps in expectations, having empathy for the person on the other side of the team boundary and the other side of the world if that person is in another timezone.

A corporation is a mini version of everyday interaction in our personal life. When we think there are problems, it usually means “humans are the problem”. Which to me means: we should look to ourselves to see what we can do personally to change and fix the problem.


Family Portrait From 1975 in Hunan, China

tam family
Tam family 1975

I grew up in communist China from 1970 to 1979 before coming to the United States. This photo is a rare photo of our family together.  This is the time when China just opened their immigration policy to allow people to leave China.

My mom was a pediatrician, my dad was an architect. I have fond memories of a community who worked hard, all paid equal amounts (around $75 a year) and surround by people who were liked minded.

My vivid memories before I was 9 years old were

  • walking to get breakfast with food ration tickets
  • getting up early for a morning run with all my classmates at the crack of dawn
  • doing morning exercise routines and eye exercises to keep our eyes healthy
  • raising silk worms
  • trying my first cigarette and choking and swearing I would never again
  • huddle together with the family to try a rare pot of molasses and twirling it with chopsticks
  • waiting for my dad to come back after a 3 month business trips, he was gone most of the time
  • eating roasted hot peppers that my sister gave me as a prank
  • cheering my sister on as she competed in jump rope competition
  • getting my first red scarf after being induced into the little red army while holding the little red book of Mao
  • making our annual coal blocks to burn in our cooking stove using a metal stamping tool
  • huddle together with others in a dorm to watch the only TV in the whole building
  • bringing empty toothpaste tubes to trade for candy
  • bring a bowl of rice to a cart outside to get pop rice
  • reading Chinese hand written letters in cursive from my relatives
  • watching my dad do Chinese calligraphy
  • looking at the hand drawn architecture plans my father finished that night
  • running away from boarding school and crying until my parents took me out
  • head lice, falling down into a sewer, falling flat on my back from an elephant shaped slide
  • sleeping on bamboo beds and my mom fanning me to sleep

In the backdrop, my parents did struggled with their friends who were re-educated and committed suicide under enormous pressure from cultural revolution.  As a kid, the events of the cultural revolution just seem to be normal events that I hear my parents talk about.  They ultimately made a choice that my sister and I didn’t have a future in China and were able to come to the US through immigration because my grandmother was here since the 1960’s.

Visit With Passionate People


I was visiting this jewelry store in Rome by a very famous jewelry maker Diego Percossi Papi (exibition). The shop is tiny and I was a bit intimidated since the jewelry were all well over $1,000. I looked into the shop for a good 5 minutes until the owner/designer buzzed me in and told me to look around.

We got talking about jewelry and he pulled out his custom jewelry that he was making for his clients. He told me he’s been making jewelry for 40 years. He usually takes a sentimental piece of stone from a client and he’ll design something custom. Each piece takes him about 1 hour to sketch and 18 hours to make. I ended up asking him to take a photo with me.. I was in love with a $1,600 diamond/ruby ring. Maybe next time I go back to Rome, I’ll have something made for me.

Passion plus longevity is such a rare thing. I think it must be such a gift to have passion for something and be able to do it for 40 years. I hope my little fingers and eyes can survive for another 30 years so that I can still type for Y!

Listening to: Public Shaming in the Age of Social Media

In 2013, public relations executive Justine Sacco tweeted an offensive AIDS joke before boarding a flight to South Africa. By the time she landed, she had been denounced around the world, and lost her job soon after. Did Sacco deserve her public humiliation? Or was she yet another victim of social media shaming and a growing “culture of outrage”? Journalist Jon Ronson examines these questions in his new book, “So You’ve Been Publicly Shamed.”

* Duration 51:45, Play Position: 9:39

* Published 4/10/15 12:15:10 PM

* Episode Download Link:

* Show Notes:

* Podcast Feed: KQED FM KQED s Forum Podcast (

Android Development: Troubleshooting Nested Fragment

Screen Shot 2015-03-20 at 9.27.54 AM

Screen Shot 2015-03-20 at 9.27.54 AM

I am working on an Android app which takes the menu data from API display the dinner, drink, dessert menu and allows a customer to add items they are interested in into a ‘cart’ for the wait staff to look at and discuss the item the customers are interested in.

I’m using the project as a learning experience.  In the last week I was struggling with getting Android Fragments to work properly because I have nest Fragments.  The app has a main Activity, with a tab viewer, 3 Fragments and Fragments inside those 3 Fragments.   My app would often crash when I swipe back and forth and it looked to me like the Fragment::onCreateView() was called multiple times which was what the Fragment lifecycle was suppose to do.

I traced this down to the Android core code dealing with Fragments and thought maybe the problem is with the v4 API.

I have tried these 3 routes and I’ve finally found the fix this morning

  1. Replace the default Android Tab layout with PagerSlidingTabStrip ref: Android Guides from CodePath
  2. Use code to create the Fragment instead of using layouts, this didn’t work either
  3. Finally from this stackOverflow article (link), a gem that mentions Nested Fragments are support now at version 4.2+ Android SDK

What I’ve learned

  1. StackOverflow is very useful but there are conflicting answers
  2. The Android SDK is complex because there are so many backward versions, but having the Android source code to step through is invaluable. Also the main documentation did not talk about Nested Fragments being supported.
  3. Having Gradle to manage dependencies is fantastic

When I’ve found things to be useful, I have been adding the to my Android bundle

link: Your kids will not be grateful until they are 30 years old. NYTimes: All Parents Are Cowards

This article reminds me of how I felt as a single parent with Cate.  Scared, protective and constantly worried.  As she is heading to highschool, I wish to teach her to be independent, free thinker, know to fail and recover.  For other parents, this article is a great read amd a reminder that being a parent is a thankless job, but that is circle of life.

NYTimes: All Parents Are Cowards

Return on investment of online marketing for restaurants using Yelp, Yahoo, Google, Facebook

I Privé

Screen Shot 2015-02-13 at 9.34.08 PM

In helping my friend’s modern Japanese I Privé raise awareness, we decided to try to pay for marketing on Facebook, Yelp, Yahoo, Google.  Here is what I’ve learned about the effectiveness of these companies.  Keep in mind that is this my owner personal experience and not based on a large marketing budget and only apply to a small restaurant.

When we think about marketing, it’s not just about driving people to visit the restaurant, it’s also about building a relationship over the long term so that we can communicate with current and potential customers.  The return on investment focused on long term relationship as well as sustained value.


Yelp is the first platform most people think of when they want to find a new restaurant. When we started the restaurant, we agreed that building a good reputation on Yelp is the primary focus.  To do that, we have to focus on awesome food and great service and the Yelp ratings should take care of itself.  We also agreed that we have to be listening and responding to any negative feedback and act on them.

We did pay Yelp for advertising in one of his previous restaurants and noted that the ROI for paying removing competitor ads, hosting a video, pay for view ads for similar restaurants was about $3 / click to our page.   We thought that was not worth paying for.  The main reason was that for a new restaurant, we wanted to build a good reputation on Yelp rather than just driving traffic.  So we decided to pay $0 on Yelp but focused a lot of time responding to customer.

We do love Yelp’s transactional business model.  The integration with Locu for $20/ month.  The integration with online reservation with for $99/month.   These services are well worth the money.  I did an analysis of Opentable, the cost would have been about 8 times the rate of  We had the luxury of too many people wanting to get in, so we didn’t need the exposure of Opentable for immediate term traffic.

Future: We spend 50% our time focused on paying attention to Yelp and responding to our customers.  We would love to integrate with Eat24 as well once the pricing model looks better.

Screen Shot 2015-02-13 at 9.17.36 AM


When we looked at our referral data for our website, Yahoo and Bing combined to have < 1% of referral.  We decided to first focused on improving our SEO and make sure when users looked for ‘i prive’ they would find us.  We worked on this for 3 months, even thought the current search for ‘i prive’ still has a suggestion for ‘in private’, our website appears to be #2 in the search result.

At the 3rd month of opening, we decided to spend buying native ads on Yahoo Gemini.  The Gemini ads appear on mobile, desktop and search on and other * sites.  To my surprise, we saw a 0.07% click through rate.  While that doesn’t sound like a lot, the CPC was $0.48 which is almost 6 times better than Yelp.  (While the CPC on Yelp is higher, I do agree the quality of the acquisition is way better on Yelp because people are looking to each that day or that week)

I also love the Yelp check in deals, because we get to see how many people checked in for the deal and how many redeemed.

Future: We decided to continue to buy ads on Yahoo in order to build brand awareness and expand our reach.  There are some drawbacks in the granularity of the demographics and geolocations we can target to.  It’s at the DMA level and not on the city level.


We bought Google Ad words ads which would show our ads on affiliates and on Google search for certain keywords.  Very surprisingly, the Google Ad Words was not very cost effective.  We had a CPC of almost $1.11.   We were getting 40% of our web traffic from, without paying them anything.  They did a great job of refreshing their index and our SEO worked really well.

Future: For restaurants, Google Ad Words would drive clicks, but I cannot retain a long term relationship with the customers after that first click.  We decided to stop and just pay attention to continue to improve our SEO and also the integration with Google+ into the search results is effective for coupon promotions.

Screen Shot 2015-02-13 at 9.14.43 PM


I am not a personal user of Facebook, but I was surprised at how well Facebook marketing was.  For a CPC of about $0.77, I’m able to get a Facebook like.  From that point on, I’m able to market to about 10% of the audience via free news feed.  Then I can boost my feed post to about 4,000 people for about $50.00.  This is great to keep people engage on a weekly basis as well as do one time promotions of coupons.

Future: The bulk of marketing dollars will go into gaining Facebook likes for the next 6 months as well as posting photos to keep users engaged.  Also it seems like people don’t really mind when we post about 1 photo a day.  It’s not like email spam, because you can ignore the news feed posts.

I Privé Facebook
I Privé Facebook


From the beginning, my vision is to build a relationship with customers.   Customers who subscribed to our email list will only get 1 email per month, never more than that.  We get almost 250% better open rates than the industry norm.  It’s a great way to build a long term communication channel with our customers.  Email coupon campaigns have proven to be hugely effective.

Future: I think we continue to keep up our part of the bargain, never spam our customers and we built the email list.  We are growing about 50% a month here, so it’s worth to keep on investing.

Screen Shot 2015-02-13 at 9.15.37 PM



What surprised me is how ineffective Google campaigns are.   Facebook demographic targeting, the real time feedback about how effective each ad is really has pushed Facebook forward and convinced me to open up most of our marketing budget.  Yelp’s checkin deals are effective as well for restaurants.  Ultimately, we want to own the relationship with our customers, so the most valuable marketing is our email database.  And the surprising dark horse has been Yahoo Gemini ads.

Re: HTML5 Dev Conf: JavaScript Programming Style and Your Brain with Douglas Crockford

Watch his talk on YouTube

  1. Programming is one of the hardest things humans do
  2. Programming uses Head and Gut, we don’t really know how we do it
  3. JavaScript: Good Parts. Bad Parts.  It was done in 10 days and released to the wild
  4. JSLint : defines and professional subset of JavaScript
  5. JSLint will hut your feelings
  6. Example: braces should be consistent.  Javascript forces on the right because there are cases (return statement that forces this)
  7. We are constantly making mistakes, this is why rational people don’t do programming
  8. “That hardly ever happens”, is another way of saying “It happens”
  9. A good style can help produce better programs. Style should not be about personal perference and self expression

link: 12 Books That Every Leader Should Read


01+01(Photo from my restaurant I Privé)

I listened to Bob Sutton’s podcast on Scaling Excellence Successfully podcast fro the Center for Social Innovation podcast at Stanford

I checked out his blog and found a list of books he recommends.  I’ve put To Sell is Human, By Dan Pink. in my SF library queue.  (I removed the referral code from the link)

Check out his blog