Monday, July 16, 2012

StringBuilder or not StringBuilder that is the question...

Ten years ago, I achieved competence in my first programming language, Java. Now, a decade later, I found myself back in Java-land programming apps on Android. Even though Java is verbose like a bad russian novel, I found myself enjoying it in a homecoming sort of way. I've decided to periodically share some nitty gritty of Java with the world with the hope that folks will find it useful. Today I want to talk about string concatenations.

String concatenations happens all the time in our code. Most of the time, we need to generate a short message to display to the user or send some snippet of text to the log.

The problem with strings in Java is that they're immutable. Every time we concat two strings we are creating a third string. So the above code has the same effect as:

The intermediate strings from the concat operations become garbage immediately. And since strings are objects, all the overhead of object allocation and instantiation applies, as well as garbage collection at some time in the future.

To solve this problem Java designers came up with StringBuffer, and much later, StringBuilder. These classes are supposed to give programmers a more efficient way to concat strings. The biggest difference between StringBuffer and StringBuilder is that StringBuffer is thread-safe. It turns out 99.9% of the string concatenations are not done across multiple threads so synchronization is an overkill. Since synchronization is not free, it is expected that StringBuilder will outperform StringBuffer.

The previous example, using StringBuilder, becomes:

But the $100 question is: does it actually perform better?

I created a micro benchmark (code here) using caliper to compare the three different ways of concatenating strings. The first using the + operator, another using StringBuilder, and the last using StringBuffer. Since phones have limited memory, I ran the benchmark using 3 VM configurations: 16 MB, 32 MB and 512 MB. The results are surprising:

memoryMax      benchmark  ns linear runtime

  -Xmx16M StringAddition 226 =========================

  -Xmx16M  StringBuilder 246 ===========================

  -Xmx16M   StringBuffer 269 ==============================

  -Xmx32M StringAddition 143 ===============

  -Xmx32M  StringBuilder 155 =================

  -Xmx32M   StringBuffer 166 ==================

 -Xmx512M StringAddition 135 ===============

 -Xmx512M  StringBuilder 152 ================

 -Xmx512M   StringBuffer 166 ==================

As expected StringBuilder outperforms StringBuffer, but StringBuilder is about 10% worse than the + operator.

 

It turns out StringBuilder (and StringBuffer) uses an intermediate structure to store the result (most likely an array of some sort). And the underlying array have to expand if more strings are appended to it than its capacity. The default constructor creates an array of size 16. It would appear that expanding the underlying array is more expensive than creating and throwing away a few strings.

 

To prove this, I created a second benchmark (code here) that instead of using the default constructor, gave it the initial capacity of 100 (which is more than enough to fit the test result). And voila!

memoryMax      benchmark  ns linear runtime

  -Xmx16M StringAddition 217 =============================

  -Xmx16M  StringBuilder 202 ===========================

  -Xmx16M   StringBuffer 221 ==============================

  -Xmx32M StringAddition 143 ===================

  -Xmx32M  StringBuilder 126 =================

  -Xmx32M   StringBuffer 138 ==================

 -Xmx512M StringAddition 143 ===================

 -Xmx512M  StringBuilder 125 ================

 -Xmx512M   StringBuffer 137 ==================

Without array expansion, it appears that StringBuilder is around 10% better than the + operator. 
 
With the evidence in hand, I come to 3 conclusions.
  1. You almost never want to use StringBuffer
  2. StringBuilder may be more efficient, but it's tricky to use properly. If you initialize it with too small a capacity, it will be slower (due to array expansion costs) and if you give it too big a capacity, you're wasting memory.
  3. I'm going to stick to using + to concat my strings. For small number of concatenations the performance boost with StringBuilder is not worth the extra typing and I don't have to think as hard.

Wednesday, June 27, 2012

Reliving the childhood game

I only played one computer game when I was a kid. It was an old DOS flight simulator called F-19 Stealth Fighter with 16-bit graphics and horrendous sound. But I remember it fondly. Firing maverick missiles and getting Distinguished Flying Crosses consumed quite a few hours of my childhood.

This past weekend I decided to relive the nostalgia and play it again. I installed a DOS emulator for my macbook pro caller Boxer and it wasn't too hard to find a copy of F-19 floating around in the abaondonware universe.

The game is still fun. Even more than before.

For one thing, I'm a lot better. I decided to glance at the manual this time around and figured out how to play the most difficult levels. When I was a kid I could never advance far enough, because to play this game properly required a lot of patience. Flying a stealth fighter, after all, is not about blowing everything up. This time around, it was quite easy to win the Congressional Medal of Honor (the highest achievement in the game), where as before it seemed impossible.

Screen Shot 2012 06 26 at 11 37 19 PM

Another added fun factor is that I've actually visited some of the places in the maps. This game was made during the end of the Cold War. So one of the maps was Eastern Europe and I had to fly missions into Czechoslovakia and Poland. It was quite amusing to fly across cities like Prague, Brno, and Krakow and see the low res renderings of them that looks nothing like the real thing. Even more fun to attack targets in those cities and imaging what those parts of the world was like frozen in time.

In the end, this was just a well made game. No wonder, because Sid Meier made this before he became famous for making strategy games. It is amazing after more than 20 years, this game is not only still playable, but still amazingly fun. Sid said of F-19:
Everything I thought was cool about a flight simulator had gone into that game.
So there you have it… a bit of my childhood that is still accessible. No matter how much two decades have changed me and the world, some things remain preserved forever.

Thursday, May 24, 2012

How to Bet Your Life

I'm standing on an abandoned bridge one hundred feet above a stream in the lush rainforest of Costa Rica. Suddenly, I had doubts. It was a great idea when we plan it in the serenity of the hostel. But up there, with the bungee cord tied up around my ankles, the view is a bit wobbly. The theoretical has just become the very real.

That exact feeling is what most people encounter when they're contemplating quitting their corporate job to join an early stage startup.

Startups are hot and everyone wants a piece. A 13-person startup can be sold for a billion dollars. Even hollywood is getting in on the action. Bono is a VC and Ashton is an angel. That's enough to make dreamers out of everyone. But what if suddenly you're offered a chance to join an early stage startup? Are you willing to give up your position in a nice, stable, established corporation for one in a hectic, never-enough-sleep, constantly-dying startup? 

Corporate jobs, especially in high-tech, is nice and cushy. If you're good, you're likely making six-figures in your mid-20s. Not a lot of responsibilities as long as you get your shit done. There will be a smattering of trips, lots of weekend parties, and plenty of time to socialize, get a hobby, or start a family. Now imagine throwing away (or I call it, de-prioritizing) all that for least for a few years. Work-life balance is a nice concept and I try to achieve it when I can, but often reality gets in the way. If you think that sounds bad, then you're not ready.

You're not ready because you're not ready to bet your life. That's what it's like living inside a startup. That's right. You don't work at a startup. You live in it. In poker, you won't double up unless you go all-in; bet all your chips on one hand. This is same in a startup. You go all-in, but you bet with your life. Everything else in your life will take second priority. And just like poker, you shouldn't go all-in unless you're sure that you have the best cards. You should only join a startup if you truly believe in its potential. And as in poker, even with pocket aces, you can still lose. That's why it's called a bet.

A line from the hip-hop preacher that I love:

To achieve success, you have to be ready, at any time, to sacrifice who you are for who you want to be.

There are only two ways to make this kind of bet. The ballsy way and the poor way.

Jeff Bezos did it the ballsy way. He asked himself what he would regret more, doing it or not doing it. And it helps that he's a crazy bastard, intensely driven and cooly logical. I did it the poor way. I bet everything when I had very little to bet with (I was poor). I had no lifestyle to lose, no debt to pay back and no savings to miss. With nothing to lose, I had everything to gain.

I jumped from that bridge in Costa Rica. That was months after I had already gone all-in with my life and sold my first company. After that, bungee jumping seemed too trivial for any second thoughts.

Sunday, April 8, 2012

The way we do product development

Our app, Skyvi, released a few months ago, has over 1.5 million downloads and our user base is growing strongly with every update. Skyvi is far from the first product we built. In fact, in the past 4+ years, my partner and I built over 20 products, and most were flops and some are too embarrassing to even list by name. But through those experiences, we developed a methodology to do product development that we believe is correct. And today, I'm sharing it.

The first step, also the hardest to get right, is knowing what to build. This one took us forever to learn because we are engineers. In the beginning, we just built stuff, all kinds of stuff, and it was easy for us. We didn't know if it was going to work, but since it only takes a week for us to build it, it didn't seem like it was going to hurt to try. But it does hurt. Experimentation is sometimes necessary, but it's never an excuse for not thinking. In the beginning we were building very simple products and it can take a week or so. But as things got more complicated, it started to take longer. Our last flop, cost us almost six months! Six months! How many six months do you have in your life? Tell me that's not expensive! So, everything we build now, we think hard about what we're going to build first. An engineer's habit of just going out and build things is very difficult to break. But I believe breaking that habit is absolutely necessary.

The next step we do is to try and estimate feature effectiveness. I think this is quite unique to the way we do things. Suppose a feature is going to say, increase revenues, we explicitly state the amount that the revenue is going to increase by this feature. This may sound impossible to anyone who hasn't tried it, but I assure you, it's very possible. This step forces us to break down the feature from the user's perspective. If we don't know something, we reduce it to something we do know. For example, if we have no idea how many people are going to pay to remove ads, we can break it down into steps based on the feature. How many people are going to see the "remove ads" button? How many are going to click on it? How many are going to click through to the in-app purchase link? How many are going to have a google checkout account? How many are going to finish purchase? We try to find comparable data from our current product, other similar products, and our best guesses at each of these questions. Plug it all in and multiply, out comes your estimate. The more we do this, the better we are at answering these types of questions.

Building the product is what we do best, but it is still not easy. Sometimes a feature is actually several smaller features. They need to be thought through, individually and in aggregate. In a team environment we have used scrum to manage the actual development, but when it's just my partner and I on the project, we use a much lighter weight solution. We cut aggressively. If there's a feature that we think only marginally help with our business objective, and it takes disproportionate time, it won't make it. Proper prioritization is key and everyone agrees on and sticks to the prioritized list. Hitting deadline is absolutely essential, and we don't miss. There's nothing worse than having a great idea, and get usurped in the market because you blew your dev schedule. This is also the step that is the most parallelizable with a team.

After the product or feature is built, it's not quite ready to go out yet. It needs to be tweaked. Product tweaking is a black art and is a specialty of my partner's. He has a very keen nose to sniff out which part of the product needs minor touch ups. Maybe the error messages should to be re-worded, or the activated version of the mic button needs a textured background. I hate this step, because I have no patience for it and the engineering is neither interesting nor particularly challenging. But it's absolutely necessary to take the product from good to great. It's awesome if there's someone on the product team that's especially good at this. All you have to do is give them a few days to do it and don't get in their way. But if you don't have a tweaker on board, time box this step and do as much tweaking as you can.

Lastly, after the product launches, we must measure feature effectiveness. You are collecting data, aren't you? If you don't know if your bullet struck the target, why the hell do you even bother to aim? So, in step two we made estimates, and now we check how close reality is to our estimates. From this, we can see either the feature did exactly what we set it out to do, or a faulty assumption exists somewhere in the chain. And we would know exactly which link of the chain to blame and do better next time. For the last few months, we've found ourselves being able to confirm our prior estimates. To us, it implies that we're getting better.

Not every product you build is going to work in reality. The challenge in product development is to make sure that when a product doesn't work, the fault should be in an assumption that lead up to the product, and not in the product itself. In other words, the product does exactly what it is supposed to do, well made, minimally viable, and released on time. The product failed because people just didn't care for the problem it solved for them. That my friends, is a separate problem all to itself...

Sunday, February 12, 2012

What Jeremy Lin should teach Asian-Americans

We can safely assume the feel-good story of the year is the meteoric rise of Jeremy Lin from bench warming D-leaguer to the NBA record books in the span of a week. His story is indeed inspirational. A talent that is so long ignored, suddenly blossoms in the prototypical american dream fashion, and captivates a nation and the world in the process. What's there not to love?

But deeper down there's a much more interesting issue, one that is not so comfortably talked about in a sports bar. Jeremy's rise is all the more surprising because he is Asian. He had to deal with stereotypes and discriminations both overt and otherwise during his entire career. It probably contributed a large part to him being ignored for so long.

Today, I read an article about how Asian-Americans are all cheering for him because they finally found a star that they could relate. The final sentence struck me as profoundly telling:

There was a pause in the conversation. Daniel Chao spoke up. "I mean," he said, in a slightly stunned voice, "an Asian-American dunked."

Why is Daniel Chao surprised? Of course, I don't mean to single out Mr. Chao, but the question remains. In other words, why are Asian-Americans surprised that one of us can dunk?

Stereotypes such as Asian-Americans are bad at sports, or that we are all nerdy or that we can't sing are already fait accompli. We cannot do anything about the fact that stereotypes exist. What we can do is choose to break these stereotypes. It always takes a few pioneers to show us the way. Jeremy Lin certainly never doubted that he could dunk, otherwise he couldn't have gotten so good at basketball. Sure there's natural talent in him, but talent is nothing if not molded by endless hours of practice.

Stereotypes are dangerous, but doubly more so when we, the people stereotyped, start to believe in it ourselves. Should we be surprised if tomorrow a Korean-American R&B songtress wins a grammy, or a Japanese-American quarterback leads his team to the NCAA championships? They would be the firsts, the pioneers, the change makers, just like Jeremy Lin became this week. But whatever we do, we should not believe it is not possible just because it has not happened yet.

It is only a matter of time before Asian-Americans break out in sports, music, movies and business. Let's not be surprised anymore. We are individuals with individual talents. We just need to believe in ourselves more and pursue our dreams with guts and heart. The operating mentality should be: if it hasn't been done before, then I'll be the first. It's working out pretty well for Jeremy.

Wednesday, November 9, 2011

Voting for the very first time

Two nights ago, I voted for the first time in my life.

I left Canada when I was 17, before I could legally vote. For the next eleven years, I could not vote in American elections, so I watched helplessly as George W. won against Al, then hopefully as Barack cruised to the Oval Office. I became an American citizen almost 18 months ago, and missed last year's elections because I was traveling in Southeast Asia.

This year, I have no more excuses. As elections go, the San Francisco mayoral election is rather small and insignificant. The mayor can't do much to fix the economy, can't order men to bomb foreign lands, and only tangentially affect the lives of half a million or so people. I don't know much about the candidates, and have even less knowledge about the ballot measures. So I wondered, how much is my vote really going to matter? And if I vote without knowing about what I'm voting for, is it better than not voting at all?

So the night before election day, I sat in front of my computer with my mail-in ballot and downloaded the voters pamphlet from the city's election website. Pamphlet is a misnomer, since it is 187 pages long, but I gave myself an hour to figure out the personalities and issues.

I was pleasantly surprised at the quality of the voters pamphlet. The first section outlined the format of the elections and how to fill out the multiple choice ballot. The second section introduced the candidates for the three posts up for election (Mayor, District Attorney and Sheriff). There were many candidates for mayor, some with more experience than others, a few are just plain crazy (it is San Francisco after all). The next part, also the most helpful section, detailed the ballot measures. For each measure, the election committee gave a non-opinionated background on what the issue is about, then the controller gave a statement on how much the measure would impact city finances and taxation. Then the proponents and opponents gave written arguments and rebuttals, followed by paid endorsements either for or against the measure by various groups ranging from concerned citizens to the Sierra club and Republican party. Reading through these arguments actually gave me much clarity on the issues and allowed me to form my own opinions. The last section of the pamphlet consisted of actual legal wording of the ballot measures, which I didn't bother reading.

I was done within an hour. I believe I had at least 80% understanding of the issues and problems. Sometimes it was difficult to decide, and I wish I had more time to research the issue. For example, I had to weigh the ballot measure on increasing sales tax 0.5% to pay for some city services against a bond measure to do maintenance on our streets. I ended up voting for one and not the other, but it wasn't an easy decision.

And this was the interesting part. Because I took time to read through the pamphlet, I actually cared. This is why the decisions weren't easy. I felt responsible. My vote may not have mattered much among the hundreds of thousands of votes casted, and I may not have made the best decision possible, but through the act of voting, I better understood the complexities of the issues facing my city today. Thus, participation is the most important part of democracy.

I'm a believer now. It only take an hour to be informed enough to vote. The difference is between ignorance and responsibility. The trade-off is well worth it.

Monday, October 24, 2011

I am the egg

Today, flying across my Facebook feed, someone I barely knew, that I met ever briefly, so long ago, posted a link. And it spoke to me in a very meaningful way.

The post was Haruki Murakami's acceptance speech when he won the Jerusalem Prize back in 2009. He delivered a simple personal message, the one thing that he keeps in his mind when he writes fiction. He said,

Between a high, solid wall and an egg that breaks against it, I will always stand on the side of the egg.

In the metaphor, the "high, solid wall" is the System, and the "egg that breaks against it" is the individual. There are many ways the System manifest itself. This takes on meaning both on the greater world stage and in my own humble existence.

In Libya, the system was an authoritarian dictator who for 42 years ruled by violence, persecution and fear. The eggs are the thousands of people, students, farmers and tradesmen that rose against it.

In Zuccotti Park, the system is the impersonal financial and political hegemony maintained by the rich and powerful. The eggs are the laid off workers who have no more to lose, the middle class that watched their dreams squashed, and the retirees whose pension is worth less by the day.

And in my life, as an entrepreneur, the system represents big corporations, other startups with a lot more funding and clout, and users with their established habits and resistance. Up against all that, is me. I am the egg.

I've been smashed against this wall before. But there is hope, there's always hope. If the events in Libya is any indication, sometimes the egg can be stronger than the wall.

Tuesday, September 13, 2011

Reflections on Humbert Humbert

Recently, I finished Lolita, Nabokov's masterpiece, his quiet yet disturbing demonstration to the world of his power as a prose writer and mastery as a story teller. Had I read it just a few years earlier, the full force and majesty of the novel would have totally escaped me. Not to say that I am either, but I believe the enjoyment of Lolita increases exponentially with the reader's emotional and philosophical maturity.

Most people are familiar with the subject matter of this novel. A 40-something hebephile Humbert Humbert has a carnal relationship with a 12 year-old Dolores Haze, his Lolita, Lola, Lo. In sexually conservative America, this book stabs through the fabric of societal mores and became famous and infamous because of it. But there's something more to this novel than just the shocking, lewd, and obscene subject matter. It is an illuminating examination of a shadowy recess of the human condition.

The story told in the first person does not make Humbert a sympathetic antihero, rather it makes him understandable. We understand why he does what he does, but there is nothing to mask his ugliness as a human being. He is contemptuous of everyone except himself and Lo. This contempt is spread all around to his ex-wife Valeria ("brainless baba"), to his landlady Charlotte ("big Haze"), and even to his friend and chess buddy Gaston ("glum repulsive fat old invert"). No one is spared his venom, yet no one knows its sting, because what he thinks he does not say. Humbert is a coward who fancies himself otherwise. When his ex-wife left him, he thought of "hurting her very horribly", but found that "impossible to put into execution with the cursed colonel hovering around all the time". In short, Humbert will strike a woman, but will not risk a confrontation with another man.

The most revealing aspect of Humbert is, without a doubt, his dysfunctional relationship with Lolita. It cannot be accurately described as a love. Humbert paints to great length of how he ached for her, longed for her, and desired to possess her. What troubled me was that his love was all physical.

There my beauty lay down on her stomach, showing me, showing the thousand eyes wide open in my eyed blood, her slightly raised shoulder blades, and the bloom along the incurvation of her spine, and the swelling of her tense narrow nates clothed in black, and the seaside of her schoolgirl thighs.

Humbert loves Lo not as a man loves a woman, but as a man who loves his own lust. His love is the pinnacle of selfishness. He tries to fill two roles for Lo, that of the guardian (Lo calls him "dad") and that of the lover. He utterly fails at both. When he tries to be a good step father, he invariably becomes consumed and succumbs to his desires. His inability to make Lolita fall in love with him also makes him a failed lover. He admits that Lo has never "convulsed" during their intercourse and yet he has had "two years of monstrous indulgence". It took a long time, years after his relationship with Lo had ended, before Humbert found clarity in the most beautifully written (and longest) sentence of the entire novel.

... I simply did not know a thing about my darling's mind and that quite possibly, behind the awful juvenile cliches, there was a garden and a twilight, and a palace gate -- dim and adorable regions which happened to be lucidly and absolutely forbidden to me, in my polluted rags and miserable convulsions; for I often noticed that living as we did, she and I, in a world of total evil, we would become strangely embarrassed whenever I tried to discuss something she and an older friend, she and a parent, she and a real healthy sweetheart... might have discussed -- an abstract idea, a painting, stippled Hopkins or shorn Baudelaire, God or Shakespeare, anything of a genuine kind.

That was the only redeeming quality of Humbert: the flashes of honesty he often writes of himself. It is only through these tiny viewports that we shine the light on his and Lola's inner condition.

I don't blame Humbert for his predilection towards his nymphets, because it is a preference. Just as some are attracted to buxom blondes and others to skinny red-heads, Humbert has his peculiar preference. This brings me to an interesting philosophical thought experiment. If my preferences were a little different, would I become a hebephile too? Is the difference between me and Humbert merely a difference of taste? I admit, this question bothered me as I read the novel, but at the end I reached my conclusion. The key difference of Humbert and the rest of us is not a matter of preference, but a matter of control. Humbert is a slave to his desire, to his lust. The rest of us, too, full of desire and lust, are, for the most part, able to control them and harness them towards love and self-improvement instead of having them control us and destroy us and all those around us in the process.

Monday, August 22, 2011

Second Thoughts about Obama

I, like many people of my age, was caught up by Obamania three years ago. But lately, I have seen enough. My opinion has turned decidedly negative, and I know I'm not the only one.

As a progressive, I have read Obama's books and listened to his speeches, and know that deep down, he is intelligent and true to his beliefs. But if only that were enough to be an effective leader! Now it seems to me that he's better suited to be a college professor, inspiring young men and women to change the world, than to be the leader of the most powerful country on earth and lead the change himself.

We have made enough excuses on his behalf already. Yes, he inherited the worst economic recession in two generations and two unpopular wars on the far side of the world. Yes, the republicans hate him, for his ideas, for his care, for his name, and for his birth certificate. Yes, there are disasters economic, natural, and man-made around every corner. I don't blame him for the things he can't control, but he must take responsibility for the things that he can control and failed to do so.

Obama's high minded ideals are no match for the mud wrestling nature of realpolitik. I while applaud his initial efforts at bipartisanship, it is obviously not going to fly. The Republicans has not, is not, and will never, play ball with him. But Obama's refusal to swing the shovel is damaging not only the standing of the administration, but also the entire progressive agenda. I don't blame the Republicans for acting like IQ-challenged douche bags; they have been consistently that way for years. They spew the same vitriol and espouse the same inane policies as they always have. But instead of forcing the Republicans into a corner and effectively ending them as a viable political force, Obama's conciliatory approach has only lengthened the pain period for everyone.

I do believe that the Republican's shelf life is limited. Lincoln (ironically, a Republican) famously said that "you can fool some of the people all the time, all the people some of the time, but never all the people all the time." Eventually America will realize that living standards have not increased in more than a decade, unemployment will never fall below 7% again, and science doesn't care if you believe in it or not. A party that is against change is against the universe. A party for the top 5% will be surrounded by 95% enemies. The demise of the Republican party will not mean the demise of dissent and differing opinions. It just means the demise of stupid opinions.

If Clausewitz is to be believed, that "war is an extension of politics", then we must also conclude that politics is a lot like war. And this war is best fought if the enemy is defeated quickly. This way, we can stop slugging at each other and contemplating hari-kiri with our debt ceiling, and get back to solving problems that matter. Unfortunately, Obama has shown time and again that he is unwilling or unable to do the dirty deeds. In war, this means killing. In politics, it means using leverage until it hurts. Yes, he may gain a few more enemies by doing that, but considering he has plenty already, it shouldn't matter at all. On the other hand, he will inspire and motivate millions to fight on his side.

Unfortunately, I don't believe Obama is the man for the job. If Hilary had won the primary instead, we may have a chance. She seems to have the political experience and the balls for this kind of task.

Come election day, unless Huntsman gets nominated via Devine intervention, I think I'm just going to sit this one out.

Monday, August 1, 2011

Smart woman and wise words from 320 years ago

In 1691, a nun living in Mexico City (then under the Spanish Crown), wrote a long letter. Her words echoed for 320 years, and finally found their way to me this weekend, proving once again that S/he who writes well, lives forever.

Sister Juana Ines de la Cruz was a prodigy, but born of the wrong sex (or the right one from my perspective). At a time where educated women were practically nonexistant, a woman with curiosity and intellect is frowned upon, discouraged, and ridiculed. Sister Juana is one of the first feminist, a feminist by example. Although three centuries later, women's rights have advanced light years since her time, we still find that men feel more threatened by a smart woman than by a pretty one.

The letter Reply to Sister Filotea, is one part apology, one part autobiography, and one part argument against the status quo. Her writing rivals and even surpasses the best writers of her day. Her shewed arguments quoting everything from the Bible to classical texts from Greek and Latin, demonstrates the depth of her learning while her use of both logical arguments and rhetoric skills demonstrates the quickness of her wit.

In the letter she detailed how in her childhood she secretly learned to read at the age of 3, and her insatiable appetite for knowledge drives her inexorably towards learning. Apart from the woman who taught her how to read and write, she had no formal schooling since her parents rejected her idea of dressing up as a boy to attend school. Instead, she learned by herself, from books.

But what may be offered as an exoneration is that I undertook this great task without benefit of teacher, or fellow students with whom to confer and discuss, having for a master no other than a mute book, and for a colleague, an insentient inkwell...

The desire to learn is so strong within her, she thought of nothing else. At her time, the only path available to her is to become a nun, so that she can devote the most amount of time to learning and reading.

Her intelligence is such that she did achieve quite a bit of fame in her time. However it was not, in her words, [sailing] before the wind across calm seas for her as there were a number of aroused vipers, hissing their emulations and their persecutions. Of these persecutions she writes:

Whatever eminence, whether that of dignity, nobility, riches, beauty, or science, must suffer this burden; but the eminence that undergoes the most severe attack is that of reason... because it is the most defenseless, for riches and power strikes out against those who dare attack them; but not so reason, for while it is the greater it is more modest and long-suffering, and defends itself less...

And of those who attacks her, she writes:

One will abide, and will confess that another is nobler than he, that another is richer, more handsome, and even that he is more learned, but that another is richer in reason scarecely any will confess: Rare is he who will concede genius. That is why the assault against this virtue works to such profit.

A large part of the letter was devoted to arguing for the education of women. She argues that to properly understand the Bible, women will have to be taught languages, music, geometry, history, architecture, etc. And retorts, from a theological point of view, the words of the Apostle: Let women keep silence in the churches, does not prohibit women from learning and being taught in private. Furthermore, she shrewedly expounds:

... not only women, who are held to be so inept, but also men, who merely for being men believe they are wise, should be prohibited from interpreting the Sacred Word if they are not learned and virtuous and of gentle and well-inclined natures... For there are many who study but are ignorant, especially those who are in spirit arrogant, troubled and proud...

She also cites numerous examples of learned women in bibliocal, mythological, and historical examples, and these women of intelligence are both revered and respected. Afterwards she presents a very logical argument (given her time and values), for the education of women:

... because of the considerable idleness to which our poor women have been relegated, if a father desires to provide his daughters with more than ordinary learning, he is forced by necessity, and by the absence of wise elder women, to bring men to teach the skills... from which no little harm results, as is experienced every day in doleful example of perilous association... as that of familiarity with men, which quandary could be prevented if there were learned elder women...

Finally Sister Juana concludes that in the end, all her struggles have made her better instead of worse. She writes:

... I fear applause more than calumny, because the latter, with but the simple act of patience becomes gain, while the former requires many acts of reflection and humility and proper recognition so that it not become harm.

It never ceases to amaze me that her wisdom is as valid today as the day it was written. And her style of writing, is as fluid and graceful now as it was 320 years ago. In a single letter three centuries past Sister Juana proved that progress of humanity starts with the equality of the sexes.

Thursday, June 23, 2011

Bravo Mr. Vargas, Bravo.

An unjust law is no law at all

- St. Augustine

I, like many people in America, woke up to the Essay by the Pulitzer Prize winning journalist Jose Antonio Vargas. In it, he confessed to the world a secret he kept for almost two decades: that he is an illegal alien. Even more illuminating was his detailed description of what life is like being an illegal in this country. Among them, not having a drivers license, unable to travel abroad, constant fear of being caught, and the support he found in friends and colleagues.

What I found most admiring, is although he lacked the proper documentation, his spirit is nonetheless completely American. Being an illegal did not stop this spirit in the pursuit of his dreams, his American Dream. With this indomitable spirit, he won an 8th grade spelling bee without even speaking the language properly. With the same spirit, he inspired his teachers, his bosses, and his friends to help him hide the secret. And it is also this spirit that led him from college to internships and finally to his dream of being a journalist. Finally, there's a Pulitzer Prize to attest that this spirit also had talent.

What I found most disheartening, is reading some of the bigoted, xenophobic, and idiotic statements this news prompted from average Americans. Not only did most of these people didn't bother to read the original essay, the pure vitriol spilled forth from their keyboards can only be attributed to a combination of ignorance and racism.

Notwithstanding the most bigoted arguments, the one I see most often is that no matter what Vargas' accomplishments are, he broke the law and should be punished for it. But those who espouse the legality argument forget that both George Washington and Rosa Parks broke the law. One we now call Founding Father and the other, First Lady of Civil Rights. If we go by the letter of the law, Washington should be executed and Parks jailed. This issue has crossed the boundary from a legal issue to a moral issue.

There's a strange belief among a subset of Americans, that by the accident of their birth, they are somehow entitled to an Americanness not afforded to others without this happy accident. No matter how good, smart, and hardworking someone is, as long as it is not accompanied by the proper paperwork, this person can never truly be American. But I aspire for a better America. An America where people earn the right to be called citizens. An American where people are judged, not by the place of their birth, but by the content of their character.

Saturday, June 11, 2011

One Thought at 29

I'm 29 today, and I'm overwhelmed by one thought and one thought alone. That to do anything worthwhile it takes an inordinate amount of time.

I've spent the past 6 months, working on a single iphone app. And it's still not finished. Even after it launches, to fulfill our vision for the product and the company it will take at least 5 years. A VC can invest in dozens of companies in one year. An entrepreneur can only work on one (great) idea every five years.

Putting things in perspective. It took Steve Jobs 14 years to turn Apple into the world-dominating force it is today. My dad spent 6 years to get his PhD in computer science. James Cameron took 4 years to make Avatar and Christopher Nolan needed almost 2 years to make Inception, and this is not counting the years they spent learning the craft of moviemaking.

To a single mortal human being, these numbers are oppressively large. Unlike money, time does not scale. And unlike money, there's no place from which to obtain more. Time is a hard limit. Harder than the principles of economics, the rules of psychology, even the laws of physics.

I'm a dreamer. I have a lot of dreams and all need time to realize. There's really only one thing to do: pick the most worthwhile ones and execute with greater urgency and efficiency.

That is the best I can do.

Thursday, February 10, 2011

Start With Why

Every year I read a book that changes my life. I'm lucky this year because I found the book in February. Start With Why, written by a business consultant named Simon Sinek comes at the exact juncture in my life that I needed its message the most.

4110yNR2zSL._SL500_AA300_.jpg

I was tuned into Simon after I saw the video of a TED talk that he did (embedded at the end). Normally I don't read books by consultants, but his talk made a lot of sense and became one of my favorite TED talks of all time. If you don't have time to read the book, at least watch the video, and if you're like me, you will probably buy the book afterwards.

The basic premise is very simple: great leaders (and companies) communicate with the outside world in the opposite way that everyone else communicates. Great leaders start with why, whereas everyone else starts with what.

This is best illustrated with a concrete example (my own).  I've always been a fan of BMW. I consider myself a loyal customer of BMW, despite the fact that I've never owned a BMW. BMW is a great company, and they communicate with why first. If BMW started with what, like everyone else, their marketing message will be something like:

Our cars are luxurious, well engineered, beautifully designed... buy our car.

But that's not how they actually communicate. This is the message that I actually hear:

If you're someone that strives for perfection, boy do we have a car for you.  It has 50/50 weight distribution, meticulously designed, and luxurious.  Want to buy one?

Sure, they don't actually say this word for word, but the message is consistent, and it's actually what I hear. Since I am someone who strives for perfection, BMW is my car company. The funny thing was, until I read this book, I couldn't tell you why I liked BMW so much. Now I can. I want a BMW orders of magnitudes more than I want a Mercedes, and what is the real difference between the two?

The real difference is that, in the words of Simon, people don't buy what you do, they buy why you do it. Sure, you can manipulate people to buy your stuff by cutting prices, use peer pressure, or fear mongering. But those tactics don't generate loyalty. And loyalty is ultimately what you want.

This is a profound realization for me. Since I am in the process of powering up my 4th start-up, I've been struggling over the why before I even realized it. On Sunday, I finally answered the question, and suddenly everything, past, present and future became crystal clear. This is one of those head-out-of-the-cloud moment for me. Even more so, I'm trying to distill the why for me personally. Why do I wake up in the morning? Why do I do the things I do, and care about the things I care? This is a bit harder because I'm driven by many different feelings and they occur in parts of the brain with no capacity for language. But knowing what this did to my professional life, it also has the ability to profoundly influence my personal life.

Philosophical questions aside, Simon also presents very real and very practical things. For example, how does knowing why actually help you and your company? Or how do you go about finding your why?

If you don't believe me, check out the video first:

Monday, October 25, 2010

Cockfighting in Xishuanbanna

Cockfighting might as well be synonymous with animal abuse in the western world. But what I didn't know was that it is also exciting, fun and much less cruel than I had expected. What started as an off-the-beaten track travel curiosity turned into a full on culture experience.

Xishuanbanna is a prefecture in Yunnan province in southern China, a stone's throw away from Myanmar. Primarily populated with the Dai people, a close ethnic relative of Thais, in fact Xishanbanna can be considered China's little Thailand. Cockfighting seems to be an integral part of life. Farmers in the villages raises skinny fighting roosters and sells them for lots of cash. In the biggest city, JingHong, there is a cockfighting association where matches occurs daily until late in the evening.

Our travels took us in to the heart of the Xishuanbanna Cockfighting Association.

The association is located in a two story building with a courtyard. The lower level is open on three sides, and in the center of the floor, on a slightly raised platform, is a miniature boxing ring. Surrounded on three sides by plastic chairs, the remaining side of the ring is occupied by the referee and members of the house.  On the far side, opposite the referee and behind all the chairs, are series of long tables. That is the betting desk.

Cockfighting Ring

It took us a few minutes to understand how the system works. From a small room tucked away in a corner of the building we exchanged cash into plastic cards, akin to casino chips. It is interesting to note that gambling is illegal in China and a sign in the courtyard states that the maximum entertainment amount that can be played for is ¥10. Of course everyone ignores that advice. This is China after all.

There are two corners in the miniature boxing ring. The yellow (gold) corner, has a cage with one rooster and in the opposite white (silver) corner, there is a white box with the challenger rooster. It is designed so that we can see which rooster is in the yellow corner, but the identity of the rooster in the white corner is kept hidden until all bets are placed. After every match, the white box is taken to a hole in the back wall, and some unknown entity behind it switches the challenge rooster and pushes the box back out of the hole. Every now and then the yellow rooster is also swapped out. And as far as we can tell, the switching algorithm is completely random.

Bets are placed at the betting desk, staffed entirely by women. The bettors are, without exception, all men. Bets are accepted only in ¥10 increments. You can bet either on yellow or white. Upon winning, we get a payout of 190%. So for a ¥10 bet, we can win ¥19. The staff at the betting desk hands out either a yellow slip of paper or a white slip of paper, with the amount written on the slip. As we will see later, this is a major loophole that I exploited much to my amusement.

Once the head honcho at the betting desk signals bets are finished, the referee blows the whistle and the match begins. Two handlers go and fetch the two roosters out of their respective corners. That is when we get to see the white rooster for the first time. These roosters are made to face each other across a line painted in the ring. Once both of them have both of their feet firmly planted on the mat, the referee blows the whistle again and the handlers release the roosters. And the fight is on.

The fight is won by the rooster that knocks the other out of the ring. Sometimes this happens really fast. A rooster will fly over the head of the other one in an attack and in the process flings himself out of the ring and loses the fight. Other times this is a long and tedious process, with each rooster pecking and scratching the hell out of the other until one is thrown out of the ring. And then there are times that it doesn't happen at all. We've seen roosters engaging in staring contests and not making a single move until the referee blows the whistle marking a draw. In the case of a draw, another round is initiated between the same two roosters until one rises in triumph. Draws can also happen when both roosters fall out of the ring at nearly the same time. Of course the more rounds the fight goes, the more more exiting the match becomes. Although in 90% of the case, the fight is done in one round.

I had expected the fight to be bloody and ruthless. But it is neither of those things. Of course the rooster does not get a say whether it wants to fight or not. There is no choice. Some of the roosters seem to have been through quite a few fights and feathers on their necks have been long plucked out by rivals. But all the roosters gets to live and fight another day.

Now about the loophole. Since everyone is given either a yellow or white slip based on which rooster they bet on, it is immediately obvious who bet on what. We noticed that one guy seems to be betting for the house and putting down quite high amounts for each bet. So we just followed his bets. He didn't win every time, because that would be a blatant indication of cheating by the house, but he won more than he lost. And so I was able to turn a ¥10 investment into ¥76 at one point just by exploiting this information leak.

I know it's probably wrong to admit this, but cockfighting is a lot of fun. I was entertained for more than 2 hours with only ¥10, which is about $1.50 converted to US dollars. Given how there are not many places in the modern world left where this can be enjoyed, I certainly relish this unique travel experience.

Sunday, July 18, 2010

Swimming in Iceland

At the foot of the volcano, the hills are covered in blackish gray ash. Rivers of mud left streaks like veins on the side of the mountain. Only 3 months ago, the eruption sent ash 9 kilometers into the air and shut down air traffic in most of europe. Walking at the bottom of the mighty beast today, I thought to myself, this is like taking a stroll on an alien planet.

IMG_4012.jpg

My friends are walking ahead of me in a rapid clip. Why did they tell me to bring my swim trunks and towel? I could not fathom there is anything left in this mountain but death and destruction. Someone must have made a colossal mistake.

After a half hour hike that crossed a stream and some broken trails, suddenly, we come to an outdoor swimming pool. Amazing! Volcanic ash has covered portions of it, and the dressing room looks like a wreak.  But incredibly, the water is still clean and warm!

There is only one thing to do now. Go swimming!

IMG_4019.JPG

I would not have thought about doing this in a million years! I've got awesome friends and this is a delightful surprise they set up for me. This has got to be the best experience in Iceland!

Wednesday, July 7, 2010

Mugging at Gun Point

This past Saturday night I had the interesting but unfortunate experience of getting mugged at gun point. Here's how it went down.

I was walking home from a comedy show in downtown. I've done this walk a hundred times, and usually I would walk on Geary until Polk, and then walk up Polk to get home. This route is filled with pedestrians since both Geary and Polk are both full of bars. However, this night, I was walking a friend home and she lives on Leavenworth which is much less frequented by pedestrians.

I made two mistakes that night. I left her place at around 11:40 pm, and walked north on Leavenworth. I could have cut across to Polk but being lazy, I didn't feel like climbing the hills. The second mistake, I was texting on my phone. I figured Nob Hill is probably one of the safest neighborhoods in the city, so I thought nothing of it.

I remember crossing the cable car tracks on Washington, when suddenly an African-American male (5'6" to 5'8", heavy build, 180 lb to 200 lb) appeared in front of me. It took me a second to register, and I heard a click sound and saw that he had what looked like a gun at his hip (I wasn't too curious to find out if it was a real gun or not). Another split second before I realized that a car pulled up along the sidewalk and he jumped out of the car. This is how he pulled the magic materialize-out-of-nowhere routine.

Now my first thought is, "shit, I'm gonna get shot in the stomach". And yes, I was afraid and felt it in my guts.  He said something like "hand it over", which I immediately understood to mean my phone. So this is what a mugging looks like, I thought to myself.

For the past two years, I've been training in Krav Maga, which in retrospect has prepared me well in this situation. For a fraction of a second, I thought about doing a gun defense, and fight the guy off. Then the next fraction of a second, I decided it wasn't the best idea. I had only done gun defense in one class, and I'm not comfortable enough with the technique. Also, the gunman was holding the gun in a bladed stance, with the gun at the hip. I really don't know how to takeaway the gun from this position. It was dark, and he has an accomplice driving the car. The last thing I need is a struggle for the gun on a dark sidewalk.

I threw my iphone on the ground, and it landed on the sidewalk behind him. Then he motioned to his back pocket, he may have said something, but I understood immediately he wanted my wallet. I was also mentally prepared for this. I ran through scenarios like this in my head many times before. I took my wallet out, opened it, withdrew the cash and handed him the cash. He immediately took the cash and told me to turn around and walk away. I got to keep my wallet with my drivers license and credit cards.

It was over in less than 10 seconds. He picked up my phone from the ground, and jumped in the car and the car sped off. I caught a glimpse of the license plate, thanks to my awesome lasik corrected vision, and memorized the first few letters.

I walked over to a corner store that I knew would still be open, and used the pay phone just outside of it to call 911. Multiple police cars showed up in less than a minute. I made my police report, and tried to be as helpful as I could. At the end of it, I got a ride home in the police car. And being the first time in the back of a police cruiser, I can tell you it's extremely uncomfortable.

Only when I got home, I finally felt exhausted. The adrenaline rush was over. I felt a little shaky. But all things considered, I was not hurt, and only lost an old iphone with some cash. It was, in the words of my roommate, the best outcome in the worst situation.

I must say, the martial arts training did help a lot. I didn't feel like a victim. Yes, I was mugged, but I felt I was under control for the most part. Shit happens, the rest is how you react to it.

Wednesday, June 30, 2010

The Secret to Retiring at 28

Two things happened this month. I turned 28 and I retired for the first time. Napoleon conquered Italy when he was 28 and Beethoven finished his first symphony around the same age. So I think I might be on the right train here. But where did this journey originate? And how did I find this train? I've been thinking more and more lately about what brought me here.

I was an intelligent but socially awkward kid in high school during the dot com boom. I read, with wide eyes filled with wonder, about the exploits of entrepreneurs, not much older than me at the time, striking millions overnight. It was then, when I first heard the term post-economic.  I thought it was a great concept. Why work as Camus' absurd hero, Sisyphus, when I can break out of the day-to-day cycle of everyman? I could buy a fast car, maybe even an aircraft carrier, or get my own island. And more importantly, the girl I had a crush on at the time, but was too shy to talk to, would fall madly in love with me.

And like that, the seed for the dream was planted.

Reality turned out a little differently. I don't own a car (anymore). I've only visited aircraft carrier museums (twice). I found out I'm not a fan of beaches (so island is out). And that particular girl just recently married a dashing Stanford graduate (and I'm very happy for her). But the one thing I really really wanted, to be post-economic and to shed my shackles, I got.

Looking back, I can't pin-point the exact starting point of this journey. Was it three years ago, when I dropped out of grad school? Or maybe it was ten years ago, when I went to college and was inspired by a friend who had a little taste of the dot com roller coaster. Maybe it went back even further. High school? Junior High? Maybe it was my entire life. Do I believe in destiny? (I do). Is it just dumb luck? (I don't think so).

Even if I don't know when the journey started, I do know a little about what it takes. A lot of hard work, that's a given. I kind of knew that before I went in, but I grossly underestimated how much was really required. But beyond hard work, I had the right partner. I could've worked myself to death and still got nowhere, if it wasn't for my partner, working equally as hard, if not harder, beside me, day in and day out. This has taught me everything I know today about relationships, trust, and my own failings as a human being. And then, there was luck or fate or destiny or whatever you call it. That invisible hand of god or gods that guided us every now and then. In short, I made it here because I wasn't alone, we worked hard, and we avoided enough landmines on the way.

Of course, my life isn't perfect. The past 10 years, as far as love and relationships are concerned, is one big write off. I guess I'm just not very good with people, but I'm changing that. Out of everything I've learned so far, the most important may be how to make dreams come true. As long as I follow my process, I know I can make anything in my life that is imperfect or deficient, better. I may never have the perfect life, but I do live a charmed life.

So now, I'm going to take a little break, hence the retirement. I want to use up a little of that freedom I saved up in my piggy bank and travel to far away places. When I come back, that's when the real fun begins. I've officially crossed over from working because I have to, to working because I want to. It would be a waste, for me and for humanity, if I never get to use my secret formula to change the world.

And someday, I will even share that secret formula.

Wednesday, March 24, 2010

On Failure

Last week, I failed.

There are two types of failures. In one case, you fail and haven't a clue why. In the other case, after the failure, you knew exactly why you failed. Last week's failure was of the latter type, which makes it more interesting to talk about.

The first reason for my failure is because I lost sight of the goal. I knew what I wanted before it happened and I remembered what I wanted after it ended. But while it was happening, I completely lost sight of my goal. In fact, I found exactly what I wanted; so perfect, so right. But not conscious of my goal at the time, I didn't work hard enough, I didn't push far enough, and I didn't value what I had enough. When the dust settled last week, all I was left was the feeling of stupidity and regret. That made me sick to my stomach.

The second reason for my failure is because until last week, I didn't realize that time is my enemy. I used to be cavalier about time, so much so that I could be considered lazy. For some reason, I thought that I had all the time in the world and with enough time, I will find clarity and solve my problems. But time never makes anything better. Time reduced the Roman Empire to rubbles and brought the mighty Qing dynasty to its knees. The clock started the moment it happened and I let the clock run out on me.

The last reason for my failure is because I ignored the problems. It's not that I didn't see the problems; I had ample warning ahead of time. I simply swept them under the rug. This is a particular nasty character flaw of mine that has manifested itself many times in my life. There are problems that scare me, because I don't know how to tackle them. So I ignore them in the hopes that they'll go away or become easier. That never happens. In fact the opposite is true. The more I ignore a problem the bigger it gets, until one day it explodes in my face.

The frustrating part is that I had all the tools to prevent the failure from happening. This makes the failure all the more difficult to swallow. Had I honestly tried my best and if then, I still failed, then it just wasn't meant to be. But I didn't do my best. Hence the regret.

On a higher level, a large part of my failure must be attributed to my mental state. When I'm having a good day, I'm an unstoppable genius. But when I'm having a bad day, I'm a pathetic shadow. In the past few months, I had more bad days than good, was more shadow than genius. And fortunately, this is something I have a lot of control over. So from henceforth, I will be having a lot more good days.

Look forward to seeing me on one of those days.

Sunday, February 14, 2010

Love is a Battlefield

Valentine's day is the most commercialized holiday behind Christmas. I have a strange relationship with this day for the past few years. Every year on February 14th, I become reflective, almost philosophical. This year is no different.

Today, I am thinking about love. To be perfectly honest, love and I have a difficult relationship. Somehow, I was born with plenty of analytical intelligence and a deficit in emotional intelligence. This is a recent realization and it exposed to me just how imperfect of a human being I really am.

For the past few years, I've tried to get better at love, loving, and being loved. The road wasn't always smooth. But just looking back 2 years, I realized how far I've come. Sometimes, I think the journey may end soon, but after climbing over one mountain, another taller mountain looms in the distance. And suddenly, I am reminded: Love is a battlefield.

Love means battling your demons everyday. To me, this means facing my own shortcomings every waking second. My insecurities sometimes get the better of me. Sometimes I slip and fall down the mountain. Unfortunately, as in a real battlefield, love can be cruel and unforgiving. One false step and I must start over. And so, like Sisyphus, I often find myself walking down that hill to that awaiting rock.

If the story of Sisyphus is a tragedy, I have hopes that mine is not. Unlike our Greek hero, every time I roll that rock, I learn something new. I am a different person every time. The hill is different every time. And so is the rock. I know in that paradise I'm headed, there will be no rocks and no hills.

How do I know? I've seen it from a distance. My parents have been married for close to 30 years now. They are more in love now than I have ever seen them to be before and their love is only growing stronger. If I have to be Sisyphus, so that one day I may know the love that they know now, then I will gladly bear my burden.

Valentine's day isn't made for companies like Visa or Hallmark. Valentine's day is made for couples like my parents. It is with their love that they inspire the rest of us.

Happy Valentine's Day, mom and dad!

Monday, December 28, 2009

Airport Insecurity

Recent events have shown once again that airport security is an oxymoron, implemented by morons.

Ever since that terrible day in 2001, we have endured endless security procedures. We have our ID's checked and rechecked. A bunch of squiggly lines are drawn on our boarding passes determine if we'll be pulled aside for extra screening. Then we take our laptops out. Then we take off our shoes, belts, empty our pockets of change. Then we can't take bottled water, or any fluids more than 3 ounces.

And yet last week, a man got on a plane with a bunch of explosives strapped to his legs.

So now, we have more regulations. No getting up in the last hour of the flight. No music, no blankets, no inflight entertainment, and no reading (!!!). And even better, we have a massive confusion of what is allowed and what isn't. All in the name of combating terrorism.

Here's a new idea. Let's prevent people with explosives strapped to their bodies from boarding airplanes. These asswipes aren't the smartest people in the world. They don't have super high-tech weaponry. No ceramic x-ray proof weapons. No James Bond type gadgets. No previously unknown explosive agents. So why the hell can't we catch them?

And more importantly, how is depriving me of magazines and music make me any safer if you allow people with explosives to board planes? This is an utter failure of higher level thinking. If we keep going down this road, eventually we'll all be sitting in planes buck naked. And we still won't be any safer.

Let's face the facts. We are never going to be completely safe. The United States is a target, just like Israel. I'm okay giving up some freedoms in order for us to be safer in planes. Not allowing knifes and boxcutters... great idea. But I'm not going to sit here while all my rights are taken away but nothing is made safer. The truth of the matter is most people who fly, are NOT terrorists. We need to be smarter in our screening. The time spent frisking babies is wasted. That's time not used to frisk people who are on terrorist watch lists. Our TSA agents on the ground need to be more than just minimum-wage GED washouts. We need people who can read facial expressions, decipher body language, use high-tech bomb detection equipment, can conduct on the spot interviews, and most of all, can put two and two together.

Will somebody in Washington please wake up! This is getting ridiculous.