Skip to content

For Martin Luther King Jr.

16-Jan-12

 

This past weekend, I picked up a copy of Autobiography of Martin Luther King Jr. on audio CD. The recording is a narrative pieced together from historian Clayborne Carson, who was given all of the private memoirs of the late Martin Luther King Jr. from his wife, Coretta Scott King. The tape is told in the first person, as if it were his autobiography.

For me, the content in the tape is some of the most compelling that I have ever heard. In honor of Martin Luther King Jr. day, I wanted to share some of it that I remember:

  • Martin Luther King Jr. was first introduced to his future wife, singer Coretta Scott, through a mutual friend over the telephone. Over the phone, he very politely asked her for a first date. She agreed. During their first date, MLK told her that he was impressed that she could not only sing, but that she also had a good mind. He asked her to marry him. A year later, they were married.
  • At one point of his life, MLK was working on his doctorate studies at Boston University and living in Boston. Since he was living in the North, he and his wife lived in a mostly segregation-free world. However, he had originally grown up in the South, and felt a sense of civic service to his brethren still living there. So he moved south to Montgomery, Alabama to become minister for Dexter Avenue Baptist Church.
  • Over the course of his life, both MLK’s house and church are bombed multiple times. In one particularly bad incident, his entire front porch is blown away. By the time MLK gets home, a mob of blacks has gathered outside, carrying weapons and threatening the police. He urges them to under no circumstance engage in violence, and to put down their weapons and head home. He succeeds. Everyone heads home.
  • After the Supreme Court’s verdict came out that Alabama’s Montgomery Bus System was unconstitutional, the reactionary KKK announced that they were going on a raid, threatening to undermine the successes of the black social liberalization movement. Ordinarily when the KKK makes such threats, blacks hide in their homes and “play dead”, turning off the lights to the house. However this time MLK persuaded everyone not to hide, but to instead turn on all of the lights in their houses and leave their doors open. As the KKK drove past, some blacks even waved at the hooded members. Ultimately, the KKK did not conduct any raid at all, but instead drove away, embarrassed.

I wish you a happy Martin Luther King Jr. day.

 

“Darkness cannot drive out darkness: only light can do that. Hate cannot drive out hate: only love can do that.”

– Martin Luther King, Jr.

  • Share/Bookmark

Believe in Yourself

02-Jan-12

Impossibility

For the longest time, the four-minute mile was deemed physically impossible. The invisible barrier was so completely accepted that many doctors believed that running at such a speed would be fatal to the human body.

Then on May 6th 1954, medical student Roger Bannister shattered the record with a mile time of 3:59.4. Six weeks later, athlete John Landy broke the world record again with a time of 3:58.0.

Now that someone could run the four minute mile, everyone began to do it. Within the next few years, swathes of runners were breaking the four minute barrier. To this day, thousands of runners have run the sub-four minute mile. The four-minute mile is now the standard for nearly all professional mile runners. Even high school runners have broken it.

Self-Concept

When Roger Bannister set out to run a four-minute mile, everyone knew that what he was trying to achieve was impossible. He just ignored them and did it anyway. The man changed the face of running because he wouldn’t let anyone else dictate who he was or what he could or couldn’t do.

If you live your life trying to be the person whom others want you to be, you’ll end up miserable and exhausted. Society has such ridiculous standards for everything that you’ll never be satisfied: there will always be someone who is better looking, wealthier, or more famous than you are. Living for the eyes of others is a deprivation of what it means to be alive. Your own self-concept is vastly more important than what anyone else thinks about you.

I’ve always believed that the biggest limitation to our ability to change the world is inside of our own mind. This is because it is from the mind that we define and shape our own world. Everything – from our dreams and aspirations to whether or not we will admit defeat – is in our head. The tragedy of mankind is that there are so many of us who are really capable of changing the world, but stop shy due to lack of ambition.

No one ever did what they didn’t believe they could do.

  • Share/Bookmark

Talent

16-Dec-11

I had lunch with one of my mentors yesterday. He has a son, who just started the second grade. For a good part of the lunch, we discussed his concern that his son may not be as successful as he is. He told me that he feels clueless about what to do if his son does not end up being naturally talented.

My mentor explained that he never learned that lesson for himself, because for him by some fluke raw talent always ended up being good enough for him. As he told me, he was always naturally the best in everything that he did. He never did extracurricular work, because he was always at the top of his class. He doesn’t understand the notion of summer internships because throughout all of grade school, his summers were devoted solely to vacation. Even in college, he spent all of his time playing sports and hardly did any work. His most well-acclaimed paper (that landed him his professorship at Stanford) took him a single all-nighter to compose and was completed the morning of the conference deadline.

His story made me reflect a bit on my own experiences growing up. For me, I can definitely say that raw talent was never quite good enough. I’ve never been the most talented one in anything I’ve ever done. Any notable success I have ever had was always due to legwork.

One of my early memories from elementary school was the first time I took a standardized test. As I remember, each category of the test had a percentile rank next to it. In math, I was in the 99th percential. However, in reading comprehension I was in something like the 85th percentile. I don’t remember what my rank was exactly, but I do remember that my parents were seething (oh, heeellll noo) when they saw the report card. For the next several years of my life, they would send me to an after school program for three hours a day, where I would do various drills that included reading comprehension and other academic work. It was only after scoring in the 99th percentile for two consecutive years that I was finally allowed to leave the program.

At the end of the sixth grade, my math teacher pulled me aside after class one day to tell me that she was planning to recommend that I skip a grade in math. To do this, I would have a few weeks to prepare for and take a test that covered all of the seventh grade pre-algebra. If I passed, I would advance to the eighth grade algebra level. Oh and by the way, she could only recommend a few kids to do this each year so I had better pass (I really liked my sixth grade teacher, so impressing her was a big deal for me). I don’t remember studying for that exam, but I do know that I have a pile somewhere in my garage of several workbooks that I went through during that time period and that I passed by a margin of about two questions.

During junior year of high school, I was cutting a very close shave to getting the A- that I wanted in BC calculus. I had gotten a 51/100 on the last exam, which had dropped my grade in the class to around an 86%. The only exam remaining was the final, which would be after the Christmas holiday. To get the 90% that I wanted for the A-, I would have to score 108% on the final (this was actually possible, since the exams would gave extra credit).

Our family had already planned a two-week vacation for the Christmas holiday to go to New York to visit my uncle and his family. While the rest of the family went touring in New York, I ultimately spent my entire vacation in the New York library, diligently redoing all of my homework for the entire semester. At one point I had actually worked through all of the problems in the textbook, so I picked up a rather beaten Calc book from the library and worked through that one as well. So much for New York. Ultimately, I got every single problem correct on that final – which translated to 110%. My teacher was so impressed that she bumped up my grade to an A [1].

Listening to my mentor talk brought back all of the memories of my life before college and the world of academia that is so foreign to me now [2]. The entire conversation makes me believe that if I ever had to parent a naturally talented kid, I might be just as clueless as he is now. Because for me (through some fluke), unnatural talent always ended up being good enough. I wish my mentor’s kid the best of luck if he doesn’t score in the 99th percentile on his first standardized examination ;) .

[1] I wanted to prove that the final wasn’t due to some fluke, so the next semester I got an A+ in her class and consequently won the math department award. She would later recommend me to continue studying math at Stanford, which would be one of the best opportunities I ever had in high school.

[2] Actually, in the startup world I am mildly ashamed about my strong academic record, since it seems that most successful entrepreneurs tend not to be exceptional students (they go against the grain by nature). The grand majority of the work that I do now does not require any sort of academic record. But that’s okay. I’m not planning on going back to academia anytime soon :P .

  • Share/Bookmark

Work Life Balance

05-Oct-11

The modern work life balance equation is interesting to me in that people seem to have all of these rules for when they should or shouldn’t be working. I have some friends at tech companies who work something like: “long enough to get all three meals in the office, weekends when it’s urgent, at least eight hours a weekday, never after 9pm”. der…? what?

To be contrarian, I prefer to distill my work balance into a few rules that are easy enough for my brain to wrap around. This is what I do:

  1. If I’m awake, I should be working.
  2. If I can’t focus enough to do my work well, I should take a break.
  3. If I’m too tired to work after taking a break, I should be sleeping.

I once asked one of my most diligent friends in college how he was able to take all of the hardest CS classes, work a part-time job, and do academic research in his spare time.

me: “How do you manage your work/life balance?”

friend: “Well, that’s an easy one. Let’s postulate that I have no life. Then really, there’s nothing to balance, is there?”

  • Share/Bookmark

Enter the Matrix

16-Jun-11

Very nerdy, technical blog post here. Probably boring to anyone who isn’t fanatical about CS.

What is this programming thing all about?

I am in essence a self-taught programmer. I probably learned most of what I know from just plain hacking around – at the beginning with web stuff, then with the Linux operating system, then with networked applications. One of the earliest applications I was involved with at a young age was a refresher program for my favorite online game: Neopets [1]. I would probably say that nearly everything I’ve learned on my own has been primarily in order to build things I think are cool and useful to me.

My attitude changed significantly from gaining a formal CS education. Somehow over these four years of study, I realized that I actually like math, and I like proofs. Or more simply, I like the raw elegance of knowing for certain that something will or will not work. Nowadays, I will always work out a tough algorithm on paper before writing any code. This generally makes my life a lot simpler and leaves me feeling better about the end result. +1.

Enter the Matrix

Well, sometime last week I started to change my attitude toward programming once again. What I did was to really start reading other people’s source code. I’m currently working with Apache Nutch and the Google Analytics Export API, so I downloaded the source code for both of those and read through them. I had an annoying bug in my python code, so I downloaded the Python 2.7.1 source, found the module, read the source code there, and fixed it. It was surprising just how readable other people’s source code actually was. No black magic here, just good work by programmers who know how to write solid, well documented code. The whole experience has basically made me decide to start taking a look at the source code for everything [2].

Well, one of my favorite movies is the Matrix (not the sequels, mind you). One of the things that was pretty cool (but which I always thought was corny in real life) was the terminals that the humans visualize the matrix through. These things pretty much just showed green text flowing down the screen – Cipher says during the movie that he can’t make any sense of it. Well, for me this whole “source code revelation” is making me realize that you really can read that green text, and that you don’t have to strain your eyes to do so.

Open source is open for a reason – and I was pleasantly surprised to find out that the open source gurus write very readable code.These guys are probably better programmers than I’ll ever be – but at least they’re mortal too :P .

[1] For those of you who may not be familiar with Neopets, the website features an online virtual world where you can raise virtual pets, buy them stuff, play games with them, and interact with other players. The website was (absurdly) popular around the time I was bridging elementary/middle school and probably still is. Anyway, presumably to encourage users to stay on the site for longer, one element of the game was to give players rare items with a certain probability each time a player loaded a new page. The script I ended up using would open up several windows (no firefox – believe it or not there was no tabbed browsing at the time) and keep loading them over and over again hoping for a lucky random event. I got a handful of pretty decent items out of this :P .

[2] My side project is to take a look at the Android source code so I can get some idea of what’s going on in the phone so I can eventually seriously hack that thing. The other one that seems interesting in the Linux OS. One of my friends (also, one of the best programmers I know) took off a full quarter from Stanford to teach himself the linux kernel (no joke). He seriously kicks butt at systems. Too much fun.

  • Share/Bookmark

Phi Beta Kappa (and humanities)

11-Jun-11

I went to the Phi Beta Kappa award ceremony tonight. I had won the award a month ago or so, and had a small debate with myself about whether to accept the honor [1]. The award ceremony was quite a show – Memorial Auditorium was packed with students, faculty, and parents. The distinguished speaker gave a hilarious speech about PBK being a huge Ponzi Scheme involving lots of cheap swag. Me being so ADD from watching all of my lectures at 1.7x speed, I actually nearly fell asleep in the middle of the ceremony.

One item that really got me thinking was the fact that I was the only Computer Science major at the ceremony [2]. Actually, I felt kind of embarrassed. The whole fact of me being there seemed like some sort of scam (I had studied abroad and taken five humanities classes in a single quarter, which probably contributed to me meeting the requirement). Anyway, the reason I kept thinking about this was that it provided concrete evidence that Stanford’s “techies” take very few humanities classes. From my own experience, my engineering friends avoid humanities at all costs. Classes like Jazz History (I took this one) are generally over-enrolled by engineering students trying to worm their way out of requirements.

Well, is it a problem if engineering students have no respect for the (soft) liberal arts kids? Well, maybe – at least according to the university administration. Right now, Stanford University is having a debate about whether to reinstate a humanities-driven curriculum for its students. They want to revive the Western Civilization equivalent involving many hours of required liberal arts study to be taken during the freshman year. Needless to say, this proposal is being met with much criticism by engineering students.

What does this mean? Well, it is interesting because we have close to a real-life example of this trend is modern-day China. The Chinese government is run mostly by engineers. By a very crude approximation, the massive engineering nerd out contributes to China’s overwhelming productivity gains, but also explains much of China’s social ineptitude. I wonder if such a thing would ever happen to the United States.

Anyway, what do you think? Is humanities doomed? Or, if Stanford re-institutes Western Civilization, will all of next generation’s Larry Pages and Sergey Brins instead come from schools that don’t give a damn about humanities (like MIT)? I’d be very interested to see what happens in the ensuing debate.

[1] To abbreviate the decision, I did eventually decide to put up with being asked to donate money my entire life.

[2] It turns out that Phi Beta Kappa is a humanities-based award where a committee pores through transcripts and accredits the award based on a minimum qualification of humanities courses taken.

 

  • Share/Bookmark

Google reader, audio books, and dead trees

27-May-11

I always try to take some time out of my day purely to absorb content. Recently, as I’ve become more and more disillusioned with school not teaching me enough material, I’ve made an effort to take learning a bit into my own hands. The information age makes this a lot simpler because more information is just there; I’m just trying to process it a little and move the information into personal knowledge.

Google Reader

I’ve started using Google Reader as a means to get insightful content that’s recent. Mostly, I read anything that I feel teaches me something about entrepreneurship, personal finance, or software development (those are the topics I’m focusing on right now). In general, my requirements are as follows:

  • Has all of the content available via google reader. None of this click a link and go to your webpage business. I know that’s good for your hit traffic, but it makes a terrible reading experience for me.
  • Fewer than one item a day. This means that I can check reader once a week if I wanted to and catch up with all of my content in only a matter of a few hours. None of this techcrunch business where I’ll have to spend my entire day reading RSS feeds and not getting anything done. My one exception is Jamie Zawinski’s feed, which averages 1.6 posts a day.
  • Educational value. I make a point to ruthlessly prune content that has no educational value. I read this stuff to learn, not to waste time.

Here’s my feed. Obviously, I’ll only share items if I think they’re really impressive – which is not very often. I’m constantly be searching for new RSS feeds to subscribe to – if you have any good ones please suggest. No self-promotion or spam please.

Audio books

I went to my local library (which, admittedly is a pretty nice library) and basically every time I go walk over to the audio book section and check out anything that would be interesting enough so that I can learn something while I’m driving the car. I basically decided to do this after the following events occurred:

  1. I stopped listening to pop alone in the car when I got sick of listening to Katie Perry’s “California Girls” play eighteen times in a row on the radio. I started listening instead to National Public Radio (NPR).
  2. I stopped listening to NPR after I realized that it repeated the same segments nearly every day up until 11pm at night. I also got sick of them asking me for money. I started listening to classical music.
  3. I’m listening to 102.1 and planning to my own CDs. I go to the library and I see the audio book Practical Handbook for the Boyfriend. It looks too interesting, so I pick it up.

All of a sudden with audio books, driving almost became too much fun. I’ve since gone to the library time after time just to make sure that my car is constantly stocked with audio books. The one I’m working through now is a Chinese podcast that is essentially a battery of translation drills. I’m planning to look for the future into a simple way of downloading content into CDs (I wonder if my car can play MP3) so I can listen to more without having to trek over the library.

Dead tree books

My eyes are actually pretty bad, and eye strain is a real problem for me since I stare at the computer something like 11 hours a day. So it’s a good break sometimes to catch up on material with good old dead tree books. I have a pretty short attention span in general, so my trend is to start something like five books. Then when the due date approaches for the library, really quickly power through whichever book is due. So, the books that I’m reading right now are:

  • Coders at Work
  • Seven Programming Languages in Seven Days
  • Java Puzzlers
  • Head First Design Patterns
  • Four Steps to the Epiphany

Another thing I do is just pick up textbooks from interesting classes that I’ve never taken. Then I go ahead and read the chapters that I find useful or interesting. Usually I get these textbooks from friends who have actually taken the classes, so I’ll have to do this pretty quickly. I like it because I can get a deep dive in the class without having to sit through lecture. It’s a better learning style for me, since I really do have a short attention span and like glazing over things I already know. Currently I’m reading Concepts in Programming Languages, by John Mitchell.

Always looking for ways to improve information gathering. Let me know what you do.

  • Share/Bookmark

Some ramblings about algorithms

21-May-11

I’ve believed and have thought for some time that algorithms are the future of Computer Science. I think that Computer Science as a field is beginning to reach a point where we are finally able to figure out abstractions that isolate the average programmer from having to regularly interact with the entire computer stack [1]. In all of the Stanford CS classes I’ve taken, only a handful of them actually made us hand code write assembly. But in every single one we had to work through different algorithms for just about everything. Not to mention the hard AI classes in the department, which basically force CS students to do endless problem sets and actually have a very trivial programming component [2]. I don’t think that this cultivation of algorithm oriented scientists over hackers is necessarily a bad thing.

Geometric Algorithms are cool stuff, dude

There is no question in my mind that strong mathematicians / problem solvers are becoming increasingly more valuable. The PageRank algorithm is a far more valuable to Google than any kind of system the company has developed. In fact, my friends at Google tell me that the strong AI guys often take leadership roles over the hardcore systems programmer. This really does disappoint me, since I think low-level hacking is very intellectually interesting and part of me wants to make a career out of it. But the news comes as no surprise because innovation comes from ideas first and implementation second. Nonetheless, it’s interesting to hear about Google’s nerd hierarchy.

Recently, I’ve been trying to spend more of my time trying to learn more algorithms and sharpening my math ability.  Last quarter, I went through the CS261 (optimization and algorithmic paradigms) course reader and more recently I’m trying to teach myself Haskell (wish me luck). The Google Codejam and Project Euler are also pretty fun (codejam more so – the problems are much harder).  Anyway, I actually like the codejam format a lot as an interviewing technique – I think at some point in the future I ought to build a google codejam type web application that our company could use for programming interviews. Maybe turn it into an open source project. Open source projects are fun.

Anyway, what’s your experience with algorithms? For systems guys, do you think all of these non-programming math geeks deserve to be grabbing jobs like they do? Or am I completely wrong about this?

[1] I would still argue that a good programmer ought know everything about the computer system he/she uses. The reason is that, in my humble opinion, abstractions are still very bad. There’s no reason why a python programmer should have to spend all of his time writing multi-threaded programs in Java for small performance gains and because of Python’s damn Global Interpreter Lock. Also, OS concepts are super relevant to pretty much all of Computer Science and even for regular life (I pipeline my laundry all of the time, no big deal). Not to mention, Stanford’s CS140 Operating Systems class is the best class in the Stanford CS department hands down and anyone who says otherwise was too afraid to take it.

[2] I say trivial, because I think that programming in most of the classes in a university is trivial. My opinion is that pretty much every assignment in college is a professor taking a problem and slicing it down so that you only get to do the most interesting parts of it and all of the boilerplate that no one wants to write is already done in some library or other. How convenient. This makes every programming a cool intellectual exercise, but doesn’t necessarily teach students how to write code well.  I say this grudgingly as a hacker (since I really am guilty of enjoying to write code), but I don’ t think that the university is making a mistake here (see above).

  • Share/Bookmark

Three weeks and no looking back

13-May-11

This past week, I did not do any schoolwork. Instead, I spent the entire week designing and developing a distributed web crawler. This mostly involved reading obtuse research papers and poring through open-source implementations / source code. I’ve been finding that for the most part, source code is much easier to read than documentation. It’s also a much better indicator if an open source project is worth using (or better to forget using, for that matter).

This has been rather typical of my Senior year. I spend most afternoons and almost all moonlights doing something or other startup related. A lot of the time, it’s coding. Some other fraction of the time, its meetings. I find that I also spend an inordinate amount of time communicating in some way, often through email.

The truth is that many of those hours feel a bit like wasted time. There were the Friday nights I stayed in this year, only to later throw away the code I wrote that day (actually, I’ve thrown away the vast majority of the code I’ve written). A few meetings can swallow up an entire day. In fact, I’ve learned to schedule all of my meetings on the same day so that they swallow up the entire day – instead of my entire week.

Working on a startup isn’t cool. At the end of the day, you’re doing what you do because you believe in it strongly enough to give up other parts of your life. But you know what – that’s what makes it worth it. Three weeks or not, I have other things to do with my time.

  • Share/Bookmark

How it Started: A Co-Founder’s Brief History

10-May-11

Oftentimes people ask me how I got involved in startups. Really, there’s no single answer – it was a lot of things. In this post, I’ll cover a slice of history and some of the things I did that affected my career path choice. So, without further ado:

Math Club - where all the cool kids were

This picture is one of our Mathcounts team, dated back to my 7th grade. The short kid in the middle is me. Interestingly enough, this was about the same time I made my first “entrepreneurial” move. After coming back from Mathcounts and seeing how much candy kids were eating there, I remember picking my brain a bit. As a result, I came up with an idea to sell candy to other students at my school. I bought a 300pack of licorice from Costco and sold them for 25cents apiece, five for $1. And “business” was good. I made a few hundred dollars, before the principal instituted a ban on the sale of candy.

This blackboard is has on it the fruit from our first group meeting of Stanford Professor My T. Le’s EE15N freshman seminar, The Art and Science of Engineering Product Design.  For this class, we were required to completely design an engineering product that could solve a real problem. The problem that we identified was a lack of attention to online journalism in high schools (most schools don’t even have a website!). In regard to this, we designed an integrated high school newspaper network, that would syndicate different material from high schools and combine them in an easily readable way.

When I finished the class, My pulled my team over and asked us if we would do this for real. And I didn’t know what to say. I had already gotten a sweet programming job at a great company called RedWhale Software. I was concerned that taking a summer off internships might ruin my ability to take a real programming job when I graduated. But after some decision, I did it anyway. We launched at three high schools before school work forced us to give up the project.

This is a photo of a dinner our class had at Professor JD Schramm’s Entrepreneurial Communication Sophomore Seminar class reunion. I’m wearing blue and in the middle. Steven is right of me.

This class is where I met Steven. He’s one of the best hackers that I know of. As an aside, he has a lot of what I would consider “good taste”: e.g Python and functional programming. Indeed, his skills complement my own experience with back-end software engineering very well. That summer, we spent almost every day on IM talking about programming and startups.

The following year, we were both working on different ideas with different co-founders. Then suddenly around the same time, both of our co-founders became overloaded with coursework. So I told Steven that if he ever came up with an idea, he should definitely pitch me. A week later he pitched me the first iteration of Tezzit.

Kevin Liu

This is Kevin. After I decided that I was going to do a startup, Steven introduced me to him. He’s great to work with, a good friend, and an important member of the team. We’ve been working together for over a year now.

Anyway, the hardest part of last year was consciously deciding to apply to zero internships. Instead, we spent some time applying to incubator programs. We were fortunate enough to win a highly competitive and very generous grant from Lightspeed Venture partners. That summer, we spent weekends and late nights working on our product in the office. Startup life was too much fun.

We built our the beta version of product that summer, and have spent this year continuing to work on it, taking our last year to pick up college degrees in the process. But all of this is moot to my story, because at this point I’ve been converted and there’s no looking back.

For startup founders: how did you get interested in startups? Would love to connect and hear from you.

  • Share/Bookmark