Monday, May 26, 2014

Uncertainty


When one person is starting out with an idea, the primary risk is he'd drown himself into the implementation of it and forgot to reflect on how sensible it is, and whether he'd chosen the most effective way to implement it.

When a group of people are starting out with an idea, the primary risk is they'd become unable to arrive at a consensus. Even if one of the group members had premonition ability and predicts accurately what'd happen in the next 5 years - he'd have a hard time to convince his cofounders that things would happen as he predicted.

Yet in a group setting, having consensus is always needed to make effective decisions. Otherwise you'd be just wasting your time delaying the day of reckoning - the day you realize you don't really have a coherent group, and thus it's meaningless to work together.

Thus, at the idea level, for a startup - there're two major risks:
  1. You have perfect consensus (e.g. only 1 founder), but you don't verify if that's the right thing to do
  2. You have no consensus (e.g. 3 cofounders, each believing in different things), and instead of facing this problem head-on - you delay the day of reckoning to keep the peace
Once explained to this point, the derivation of next steps should look so trivial to look almost like I'm speaking in tautologies. Before an idea has taken off in the market (e.g. making yet another convenience camera app before Instagram took off), if I explain it to you - it should normally sound like a bad idea. You would tell me it's a bad idea. And if I'm inexperienced, I might be led to believe that it's a bad idea. When you tell any investors about it, they're almost guaranteed to tell you it's a bad idea. And now you'd feel really right that anything like Instagram is a fucking bad idea - except that it makes a billion dollars a few years later.

And that's already ignoring the needed discussions about how to implement the thing. I'm already assuming perfect execution afterwards. Idea, is just one of the moving parts. More moving parts, more chance of failure.

So then, the reasonable expectation for a startup, is to start from a bad idea which you still have some suspicion to work - and then produce a logical and consensual process to refine it into a good idea via market response. Before you have a correct answer, the focus should be to arrive at consensus that you don't have the right answer yet, but that you have a good process to find out.

As I said... this should be so trivial among members of startup circles now the derivation should sound like a tautology. It's just the party line of any startup conference, basically. So why am I still typing this?



Because a friend of mine asked about this something like a month earlier. Everyone in the Valley should know the rule above, yet knowing the rule (from books, talks, advice from advisers, etc.) doesn't mean you know how it applies to reality.

"If I tell you of my ideas right now, you won't really believe in them."
"I think I believe in you, Martin. You're more experienced."

Well, no. First, you won't believe me if I laid it out to you. Second, I already know my predictions won't be perfect. Third, convincing you is not the point. The ideal case is you help me find the flaws in my ideas and we work out how to arrive at the correct answer.

But that, really, is still not the point.

You're a human, the really important thing for you to know - is how you'd feel while you're trying to do that.

You'll feel uncertain.

And you simply need to accept it, and be brave.

(But always hedge your risks - that's why you can be brave in the first place :P )

Saturday, March 1, 2014

Good vs. Evil

A wise man once said, "The only thing necessary for the triumph of evil is that good men do nothing."

We hear huge sums of money, hundreds of millions, billions, in financial news every day - while the kind of research important to the continued survival of humanity - e.g. space habitats, nuclear rockets, fast breeder nuclear reactors, controlled nuclear fusion, controlling aging, etc., are getting a pittance in resources.

Many people would say it's because the financial industry is greedy. But there's another perspective to look at this...

Who allowed the uninteresting people - the kind of people who cannot change the world for the better even if they want to - to run amok with our society's precious resources?

It is us. We ended up like this because we did nothing.


Saying "Y is fucked up because X is greedy" is just a way to push the blame to other people while riding on a moral high horse.

The fact is, everyone is greedy. The important difference is, whether the stuff you're going for is interesting or not.

Are you just looking forward to owning your house?

Or, are you looking for a 3D printer that can print carbon fiber or other high strength materials?

How about an automated aeroponics system? Can we automate food production?

Could somebody solve the email problem?

Could the entertainment industry and the financial industry be decentralized?

How is it possible that people still get sick and die from flu after hundreds of years of medical research?

Why can't I live forever? Why shouldn't I?

There's "greed", and then there's Greed. Same word, yet they live in entirely different dimensions.

The question is, how did the uninteresting kind of greed permeate our society? Thousands of years of intellectuals, philosophers, scientists, artists, musicians ... and we ended up with people wanting just a house? Who the fuck allowed this to happen?



A lot of interesting things happened back in the 1950s to 1970s. We've had plans to build spaceships that would travel to Alpha Centauri within a human's lifetime. It could also travel to Mars in a month. We've had designs for space habitats that could house hundreds of thousands of people.

None of that happened. It all stopped. Not even small scale experiments ever since we came to the 90s. We didn't even try.

How did that happen?

While the interesting people were doing their research, the kind of people who cannot make sense of changes... took control of our economic resources and public opinion.

And so we ended up with a world that's immensely boring. A Ferrari appearing in the streets of Bay Area isn't a triumph - part of the rich geek's mind is asking, "0 to 60 in 3 secs, a marvel of modern engineering - press on the pedal for 3 seconds often enough and a cop pulls me over - that's it?"



A few years ago, people were mostly complaining about Wall Street being too rich and dangerous.

Now, because Silicon Valley seems to be getting a small share of that power - people are beginning to complain about Silicon Valley too.

To a lot of people, the two don't seem very different - overpowered villains coming to destroy your livelihood. However, there is one very important difference.

In the modern Silicon Valley, it is the interesting people who take control of economic resources.

There is always someone who'd be in control of a larger share of economic resources. There're people who'd ask whether it should happen or not - and they became communists - the kind of people who'd like to pretend gravity doesn't exist. The correct question to ask, is who should end up with the control.

If Silicon Valley entrepreneurs don't take up that responsibility, it could very well fall into worse hands. The uninteresting people from Wall Street is one alternative (e.g. a certain think tank who just asked a certain tech CEO why he's doing new things rather than focusing on ROI, yesterday) - but there're other options far worse than these two.

Thus, the way things are going in the 2010s - young men taking control of economic resources because they're interesting - is arguably the best thing that could happen. The way I see it, if you want a Stanford Torus to happen within your lifetime - this is how it should be done.

Monday, February 24, 2014

Rigor vs. plumbing

A lot of modern programmers are stuck at the same types of dumb problems over and over because library / app designers (even the famous ones) often don't have a well defined standard of what should be considered "good".

e.g. someone wrote an event / invalidation loop in his JavaScript toolkit. The usual claim is "it improves performance".

But, as it often happens, he forgot to design it in a way that errors happening in the event part of the loop be traceable in the invalidation part of it. Thus, his toolkit made everything built with it very hard to debug.

And oh, on the performance claim? The fact that often happens with these toolkits... is that their built-in event / invalidation loop made performance better for their demo use cases - but it also made everything else mysteriously slower.

This, indicates a general lack of rigor in modern framework designs.

When the foundations of your apps are already shaky, the stuff you do would of course have to be mundane - because you're spending a lot of time debugging or working around the toolkit itself.

This is why programming, at this moment of time, feels like plumbing. We're being paid top salary to do stupid things over and over.

Ideally, each toolkit designer should have written in a concise language what improvement their tools have brought and how general these improvements are. Kind of like proving the closure property in group theory. i.e. if you do this and that from this state, you'll still end up with a state with the same desirable properties. The desirable property could be e.g. you can still trace back to the error in the stack trace; or, our toolkit have not made performance worse by a small constant factor in the worst case (right now, we can easily be seeing O(n^2) surprises in places we do not expect).

The recent distributed systems tools are moving in the right direction, I think - because by requirement, screwing things up in a large scale system is very costly. So when people are making distributed system tools (e.g. ZooKeeper), they tend to be a lot more careful. There are usually a standard set of desirable and undesirable properties of the system, and easy-to-use proofs on whether an operation you perform on the system would retain the desirable ones.

That, is math. It doesn't involve partial differentiation, but the point is - it's rigorous and reliable.

Sunday, December 8, 2013

Education

I've often wondered, if I have a child some day, how do I bring him/her up to speed with this crazy world?

"Math is supposed to be fun, it's supposed to be a tool to guide your imagination. Your teacher has most likely made it boring and removed its soul by sticking to a fixed syllabus."

"The popular image that Asians are smarter because Asians score higher in schools is misleading. A person who willingly constrains him/herself by something he/she doesn't control is really a fool - no matter what kind of degree he/she has."

"The real evil of politics happens when people make you hate someone - it doesn't matter which side the hate comes from - liberals, libertarians, capitalists, communists, greens, technocrats, conservatives, fascists, religious, etc. If you're hating someone, it means you don't want to listen to their side of the story - you're really just fucking lazy."

"Modern money are man-made numbers. There may be many laws regulating them, but they're really arbitrary quantities."

"A comfy and stable job... doesn't really exist any more."

"If everyone is trying to do the same thing.. it's most often the wrong thing to do."

Of course I wouldn't be telling the above things to a young person - but the problem here is... if you cared to think a little, all the things that a young person sees and hears as "correct" these days - from teachers, from mass media, from politicians, etc. are often very rotten. The concepts taught in math books are not wrong, but the way it's treated is really bad. I fear for the day when modern educators get their bloody hands on Computer Science and make it mandatory in junior schools.

It took me quite a long time to realize the popular concepts thrown around me are most often not quite wrong - but highly misleading. The reason for that to have happened to me though... was because my family was poor, my parents are not very smart, and I had to figure things out for myself since I was small. It was a survival instinct, or else I'd be stuck in absolute poverty. But if I have a child, he/she would most probably have parents with above average means and intelligence. He'd have what most psychologists regard as a healthy family, a healthy childhood, a healthy emotional development, and whatnot.

But you know what? That sounds like to me the perfect way... to make a mediocre person. Someone who thinks the concepts familiar to him are right, and proceeds to hate everything he's not familiar with. The kind of "healthy" person perfectly suited... to start World War III, all the while thinking he's right.

"Because a free market is the perfect way to run the economy!"
"Because democracy is the perfect way to run every government!"
"Because consumption that aren't familiar to me are overconsumption!"
"Because it looks like the animals are in pain!"
"Because those children are suffering!"
"Because anyone smart should always be doing a startup, all the time!"
etc. etc.

When would there be a day, when educators would tell the children, to believe in themselves, and be brave? And instead of always trying to look for an answer, a feeling of safety from some authority - accept "we don't really know" as an acceptable answer?

Procrastination

Procrastination doesn't happen because the person is lazy - it happens because the person does not see an achievable and rewarding goal in the short term. So, the person goes off to find other rewarding things to do instead.

The stupid person throws up his hand at big problems and resigns to the illusion that he's a lazy bum. The smart person understands this, and plans things ahead such that he'd always have a few small things he can accomplish each day towards the overall goal.

The flip side of thinking ahead and executing things in a divide-and-conquer manner though.. is you'd finally realize your seemingly easy goals really do take a lot of efforts to accomplish. As days go on.. you'd accomplish things little-by-little, but you'd also realize the fact that.. they're little.

Thus comes the biggest realization of all...

Money is man-made and arbitrary, but time is very limited. You can't hijack a central bank or invent a new virtual currency and make it print more time for you.

I've probably already burnt through 1/4 or even 1/3 of my life by now - most of it spent in a trap called "education" that wasn't very productive. There's not much time left before I'd have grown old and my mind no longer being able to cut through new things like a hot knife through butter... This is not ideal.

Sunday, August 25, 2013

Growth

When people point their fingers at political fights, they often focus on the abstract - what's right and what's wrong; what's good, what's evil; what is fair, what is unfair.

They almost always forget about one thing - that as living things, everybody is really looking for some kind of growth.

It could be wealth, it could be a sense of security; it could be knowledge, or maybe a thrill. Very often, it could be children.

This is why, when the mediocre talks about "save the planet"; the elite would talk about "change the world".

The latter message, is simply closer to what most people really want.

Care

There was a time when I recklessly walked to the front with a bunch of awardees (which I was one) in university.

I found I ended up sitting next to President Chu. I didn't know if I should sit down.

"If you don't sit, nobody would"

And I thought I was just going there for a lunch and then I'd go back to sleep.



There was a time when I wrote emails titled "strategic review" for my startup, because I couldn't think of a more concrete email title for the reasoning process. As cliche as that title is, everybody knows what it means.

And then I dropped the ball, because I thought I was called the CTO and I should make things.

And then the startup lost its direction.

For quite some time, I thought the problem was some other dude with the more appropriate responsibilities didn't take it, or keep doing it in a similarly open format.

But the actual thing that happened was..

If I didn't care, then nobody would care.

It could only start with me.