Forrest Ye's Blog

Connecting the dots

Seeking Answers

It’s been more than a year since I took a leave from a startup I helped founded.

After my departure, I decided to dedicate my time to seek answers to a lot of questions, the questions which have been haunting me for a long time already.

I want to know more about the world. I want to know more about everything. I want to know more about myself.

What is the meaning of life? What are my purposes of living? What about my future, the future of the people I care about, my parents and my extended family? What is the future of this country?

I don’t have any idea.

Good thing is I know money is not my goal. Although I don’t have a lot, I found that I had enough to sustain myself for a while, so I decided to let it go, and see what would happen.

Since I’ve never really played enough when I grew up, first I found myself diving into video games. Quickly I found the pleasures of them mildly at best.

Then I took a trip into movies and TV shows. At first I learned a lot from them, namely casual English, western culture, different beliefs and different lifestyles.

But soon I realized that they are the products of pop culture and driven by consumerism. The information and knowledge you can find in them are shallow at best. They are designed so that the majority of the people can grasp them. I denounced pure consumerism.

Also, there is a chunk load of nihilism in games, movies and TV shows.

Then I submerged into the information overload, and found Twitter to be the heaven of immediate, fragmented, overflown information. Relentlessly I looked for and followed a lot of wonderful people, some of them become my heroes. I observed them closely. I was obsessed with every bit of information they spit out. I want to learn from them.

Also, there is this site called 9gag, and through 9gag I discovered Reddit. Where pop culture meets information overload.

But later I realized that being a bystander is not fun. And I found patterns emerged from the informations. There is a bigger picture. I moved on.

I smoked and quitted. I tasted weeds. I took risks and experienced a lot of mindless physical pleasures.

I sneak-peeked into religions, and found no peace of mind there.

I bought stuffs, and now I find myself heading back to minimalism.

I realized that this is an age of entertainment. To protest, I enclosed myself with books. Several times I found myself spent consecutive sleepless days and nights reading. Just DEAR (Drop Everything And Read).

I found philosophy. A whole new world.

But still, in the community of book lovers, I found a lot of people retreated into escapism or defeatism.

And now I am so puzzled.

People of the world, I have questions for you:

Working people who are proud of being professional, are you just believing in hedonism, working hard just in order to play harder? Are you an excellent human being or just fighting to become a really, really excellent sheep? Are you self-liberating or just enjoying self annihilation?

Social activists who claim that you are to make China a better place, do you really know what you are doing? Do you know how to build as well as how to pose mass destruction?

Celebrities in China, do you really believe that you are controlling the media, or are you just submitting yourselves to the mass, to this age of entertainment?

Party leaders of the Communist Party of China, have you thought about that you are mortal and just a small chapter in the human history?

Engineers, entrepreneurs and all the producers who are trying to push the human race forward, do you know that you might be doing just the opposite and helping the evil? Are you planning to help the people or just enjoy yourselves?

Everyone else, do you have a purpose of life? Have you given a serious thought about that you are going to die some day, and your time is limited?

Sadly for me, I found that most of my types of people are in the U.S., but my roots remain here in China.

I also found that no matter how wonderful a person was, when he labeled himself as a group member of whatever it is, he often degraded quickly.

Therefore I decided to stand for individualism and fight against any kind of collectivism for as long as I can sustain.

But I still haven’t found what I am looking for.

Ayi Loves You

Recently I read a lot of open source code, some of them are really nice, some of them suck.

Since I have my TextMate 2 set up so trailing whitespace and \t in Ruby files are highlighted, every now and then when I stumble upon those patterns, I find myself fixing them locally, and depending on my mood, I might send them a pull request.

Though I have a keyboard shortcut set up in my TextMate so it’s just a trivial task for each file, but it’s really annoying to see them coming up again and again, right?

When yesterday my pull request to capistrano was rejected and was told by this nice guy called Roy Liu, that rather than fixing them file by file, it’s preferred to do it in batch.

So today I literally went through the entire project, read through the code, trying to understand them while fixing the styles. Oh man it hurts my eyes.

Obviously some tasks are better done using automation. Thus in a hurry I wrote this little ayi gem.

Basically it clean up codes for you, and I intend to make it do this one thing and do it well.

Of course It’s now still very early in development, but let’s hope it will become more and more powerful as time goes by.

Go take a look at it if you are interested.

My Stuffs

I blogged about simplifying my life and mentioned about a list of my stuffs, since I know some of you might be interested, I am now making it public.

Here is the list.

It’s undergoing constant changes of course, I may try, but I make no promises to keep it up-to-date here.


This world is full of thoughtful thinkers who don’t speak out loud enough, talkative hyperactive doers who don’t think enough, passive nihilistic people who hate this world and hate themselves, and mindless lazy people who know nothing but to lamely entertain themselves.

So I say, hey sexy world, I am here to make you a better place.

I intend to think out loud till I feel I’ve satisfied myself.

MBTI Explained

So I blogged about me taking online MBTI tests again and found myself have changed from the ENFP type to INTP type and might become an INTJ without telling you guys what MBTI is and wtf are ENFP and INTP and INTJ.

Okay I know most of you are either too lazy or too busy to look into those jargons yourselves, so I am here to give a brief talk about MBTI.

So basically MBTI is an indicator which reflects your psychological preferences and how you perceive the world and make decisions. It’s based on the work of Carl Jung if you are wondering.

There are many free online MBTI tests in languages of your preferences, just Google it yourself. I took several quick ones in both Chinese and English just to make sure the results are consistent.

The MBTI basically categorize people into 16 groups based on 4 sub-types (2 ^ 4 == 16, hence the 4 character type name ENFP or INTJ).

Those sub-types are:

  • Extraversion (E) – (I) Introversion
  • Sensing (S) – (N) Intuition
  • Thinking (T) – (F) Feeling
  • Judging (J) – (P) Perception

Extraversion (E) – (I) Introversion

Basically extraverts feels more comfortable when spending time with people, while introverts get their energy from spending time alone.

Sensing (S) – (N) Intuition

People who prefer sensing are data oriented, they prefer to look for details and facts, while intuition people tend to seek the meaning in the underlying theory and principles which are manifested in the data.

Thinking (T) – (F) Feeling

Thinking and feeling are the decision-making functions. Those who prefer thinking tend to decide things from a more detached standpoint, measuring the decision by what seems reasonable, logical, causal, consistent, and matching a given set of rules. Those who prefer feeling tend to come to decisions by associating or empathizing with the situation, looking at it ‘from the inside’ and weighing the situation to achieve, on balance, the greatest harmony, consensus and fit, considering the needs of the people involved. - Wikipedia

Therefore thinkers are often perceived to have a bigger ego.

Judging (J) – (P) Perception

Judging and Perception represent the lifestyles you choose. People who prefer perception are generally more passive, seeking to understand the world as it is, while judging people prefer to act, to make a difference.

About My Types

I was an ENFP hence I was more of a product manager / program manager type of guy. Oh, and many passionate revolutionaries are of this type.

Since I realized I was not satisfied with that, therefore I changed myself from E to I and from F to T, and now I am an INTP.

By becoming an INTP I find myself in the same group with most scientists and philosophers, but I don’t like it as of this moment.

Thus I am becoming an INTJ.

Simply put, I prefer to become more like Elon Musk than Larry Page or Sergey Brin or Albert Einstein.

Final Notes

MBTI is just a method to group people into sub-groups. Don’t take it too seriously.

After all, there are only 16 groups, and even if you are in the rarest group, or you may prefer, the most elite group, 1% * 6 billion is still a very large number.

And there are still people like me who are well aware of the system and are willing to hack their own minds, and are capable of taking actions to change their types on demand and have succeeded.

Take that.

Hacker News

Germany has declared war on Russia. Swimming in the afternoon. -Franz Kafka’s diary entry of August 2, 1914

When you are seeking to understand the fundamental logics and reasons of this world, sooner or later you’ll come to realize that daily trivial matters are of no importance at all.

Thus I abandoned a private experimental Hacker News iOS app roughly 5 months ago, because I realized that I don’t want to pay that much attention to news any more.

It’s now open source on GitHub

Mind you, the code sucks. It stinks, it smells. I haven’t touched a single line of Objective-C after that (except spending half an hour to clean it up last night), but I believe I can now easily write at least 5 times better in less than 1/3 of the time.

But still, since I’ve seen a lot of pretentious people pretending that they know how to write iOS code, I think what the hell, opening this shit up to the world might not make it a worse place.

If you go read it and think “LOL, this guy sucks”, then thank you, you motivate me.

I tried to be humble, but this world seems to ignore humble people.

So I say fuck this shit, I’d better be hated or laughed at than be ignored.

Come judge me.

UPDATE: corrections on Kafka’s diary. BTW for a good example of well-written iOS client code, check out Cheddar by Sam Soffes

Sweet Tweets

I hate to break it to you, but your product does not depend on elegance of code. It depends on positioning and marketing. Embrace that. - @holman

Why are engineer founders are on the rise? Businessmen create that which has worked in the past. Engineers create that which has never been. - @kneath

Internet comments would be great if you could filter them by “Has this user accomplished anything? Anything at all?” - @holman

$PATH is dependency injection for Unix. It doesn’t need to be complicated. - @sstephenson

What if you designed a web framework around the error messages displayed to developers? - @kneath

There are reasons why companies like GitHub and 37signals are awesome.


If you need meditation in order to clear your mind, that’s called finding focus / getting into the zone.

If you need meditation because you feel a little bit burnt out, that’s called resting.

If you need meditation because you don’t know what to do, that’s called thinking.

If you have work to do but you think you need to meditate, that’s called procrastination.

If you fell asleep during meditation, that’s called sleeping.

Steve Jobs practiced meditation, Elon Musk may have done drugs, super heroes in Ayn Rand’s books smoke. They might helped, but they are not why those people are successful.

Just stop pretending and start to get things done.


Just took another MBTI test, it seems now I am an INTP.

Apparently I’ve changed a lot since last time (roughly 3~4 years ago) I took the test I was an ENFP. I think it’s likely that I’ve had stayed ENFPish till last year or so (while recently I gradually moved from Extraversion to Introversion and Feeling to Thinking).

But I might want myself to be an INTJ, since INTJs are more on the “doer” side while INTPs are more on the “thinker” side.

So, how can I make myself move towards INTJ?

Maybe keep “thinking” how is not the right answer, right? ;)

Introducing dotjs-pow

I just released a small piece of code called dotjs-pow on GitHub, before I tell you what it is, let me tell you a short story first.

You see, recently, I read a lot of books. I bought most of them on since you know, dead-tree versions of Chinese books are dirt cheap.

And also, there is this Chinese site, which has generally pretty reliable Chinese book ratings and reviews, and you know what, they have some nice APIs too!

Since I find myself constantly switching Safari tabs between pages from and, I started to think that how can I make this easier.