How to get people to like you

1. The single most important thing is non-judgmental validation. Seek someone else’s thoughts and opinions without judging them.

You don’t have to agree with everyone. The point is have the curiosity to understand what they mean, want, dream of, etc.

2. Suspend your ego. Focus on them.

Don’t try to correct others. Don’t try to come up with something to show you can do better. You don’t want to create a fight-or-flight response.

3. Really listen, don’t just wait to talk. Ask them questions; don’t try to come up with stories to impress.

If you pretend to listen, you will end up shutting up and doing your own thinking. Instead, try to listen and seek clarification of the parts that interest you. You can repeat (quickly) and summarize from time to time to show that you are following.

4. Ask people about what’s been challenging them.

This has to be done with sincerity and authenticity. No one wants to show their weaknesses to strangers or sometimes even close friends. Do this only when circumstances allow.

5. Establishing a time constraint early in the conversation can put strangers at ease.

No one wants to be trapped and stuck with someone weird. You can appear to be in a hurry or mention you will need to leave in 5 min or so. That could put people around you at ease. If you come up to a stranger and ask if he/she has time to talk, that may give the impression that you are trying to sell something or you want something from them, that may turn people off.

6. Smile, chin down, blade your body, palms up, open and upward non-verbals.

Pretty much non-verbal communication to show acceptance.

7. If you think someone is trying to manipulate you, clarify goals. Don’t be hostile or aggressive, but ask them to be straight about what they want.

No need to get mad. Ask for what they want from the conversation. What is their agenda. Perhaps there are common grounds both of us can agree on. It’s ok if there are things we disagree on. Maybe it’s just that we look from different angles, or we have different roles to play.


ssh: connect to host port 22: Operation timed out

This happened to me when doing a git pull from a coffee shop.

ssh: connect to host port 22: Operation timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

The reason is because port 22 is blocked at the coffee shop wifi router. Turns out github allows https to do git operations.

git config --local -e

Change (or comment it out using #)

url =


url =

Then the git operations once stuck would work.


Understanding the Stages of Team Formation

Forming, Storming, Norming, and Performing


Generate image classifier without code

Finally, we are onto something useful now. This service creates image classifier without writing any code. That’s the right direction. Next step is to combine these classifiers to form a final classifier.

Open video editor


Switch python version in osx

I have python 3.7 installed but will need to run something with python 3.6. Here are the steps to do so.

brew unlink python
brew install --ignore-dependencies
brew switch python 3.6.5

To switch it back to python 3.7

brew switch python 3.7.0

Now with two versions installed, we can use virtualenv for projects.

Notice that when you issue virtualenv –python=$(which python3) env, virtualenv may throw an error -bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python3.7: bad interpreter: No such file or directory. That’s because the virtualenv script has a shebang line referencing python 3.7. To fix that error, edit that file /usr/local/bin/virtualenv and change the version to 3.6. Then virtualenv will work fine.


Remove local changes from a git branch

When you just want to start fresh, you can always re-clone the repo. However, if you have local feature branches hanging around, then you may just want to clean up a particular branch.

If you do a git status, you will see two sections. One is unstaged local changes (before commit), the other is local untracked files.

For unstaged local changes (changes to files already checked in before)

# discard and save changes for possible re-use
git stash

# discard changes of a file
git checkout <filename>

# discard all changes to all unstaged local files
git reset --hard

After you run the above commands, the untracked files will still stay put. It’s annoying if you have a long list of files/directories.

# to see what would be removed (just preview)
git clean -n

# to remove them
git clean -f

# or do the usual
rm -rf <file | dir>