Sunday, January 13, 2013


When I was small, I didn't know C, or syscalls, or dynamic linking, or virtual memory management - yet I tried to read the stuff from Phrack anyway because I thought that was what the "cool guys" would read. I couldn't grasp how to smash the stack back then, but I understood this:

                               ==Phrack Inc.==

                    Volume One, Issue 7, Phile 3 of 10

The following was written shortly after my arrest...

                       \/\The Conscience of a Hacker/\/


                               +++The Mentor+++

                          Written on January 8, 1986

        Another one got caught today, it's all over the papers.  "Teenager
Arrested in Computer Crime Scandal", "Hacker Arrested after Bank Tampering"...
        Damn kids.  They're all alike.

        But did you, in your three-piece psychology and 1950's technobrain,
ever take a look behind the eyes of the hacker?  Did you ever wonder what
made him tick, what forces shaped him, what may have molded him?
        I am a hacker, enter my world...
        Mine is a world that begins with school... I'm smarter than most of
the other kids, this crap they teach us bores me...
        Damn underachiever.  They're all alike.

        I'm in junior high or high school.  I've listened to teachers explain
for the fifteenth time how to reduce a fraction.  I understand it.  "No, Ms.
Smith, I didn't show my work.  I did it in my head..."
        Damn kid.  Probably copied it.  They're all alike.

        I made a discovery today.  I found a computer.  Wait a second, this is
cool.  It does what I want it to.  If it makes a mistake, it's because I
screwed it up.  Not because it doesn't like me...
                Or feels threatened by me...
                Or thinks I'm a smart ass...
                Or doesn't like teaching and shouldn't be here...
        Damn kid.  All he does is play games.  They're all alike.

        And then it happened... a door opened to a world... rushing through
the phone line like heroin through an addict's veins, an electronic pulse is
sent out, a refuge from the day-to-day incompetencies is sought... a board is
        "This is it... this is where I belong..."
        I know everyone here... even if I've never met them, never talked to
them, may never hear from them again... I know you all...
        Damn kid.  Tying up the phone line again.  They're all alike...

        You bet your ass we're all alike... we've been spoon-fed baby food at
school when we hungered for steak... the bits of meat that you did let slip
through were pre-chewed and tasteless.  We've been dominated by sadists, or
ignored by the apathetic.  The few that had something to teach found us will-
ing pupils, but those few are like drops of water in the desert.

        This is our world now... the world of the electron and the switch, the
beauty of the baud.  We make use of a service already existing without paying
for what could be dirt-cheap if it wasn't run by profiteering gluttons, and
you call us criminals.  We explore... and you call us criminals.  We seek
after knowledge... and you call us criminals.  We exist without skin color,
without nationality, without religious bias... and you call us criminals.
You build atomic bombs, you wage wars, you murder, cheat, and lie to us
and try to make us believe it's for our own good, yet we're the criminals.

        Yes, I am a criminal.  My crime is that of curiosity.  My crime is
that of judging people by what they say and think, not what they look like.
My crime is that of outsmarting you, something that you will never forgive me

        I am a hacker, and this is my manifesto.  You may stop this individual,
but you can't stop us all... after all, we're all alike.

                               +++The Mentor+++

In the old days, before I was born, a "cool dude" was one who sent a 2600Hz signal into a land line to get free international calls. In the 2010s, a "cool dude" is someone who sends his code to a lot of consumers to get free Lamborghinis. Every once in a while, one of these cool dudes remembers that it's not really about the free international phone calls, or Lamborghinis - although those are nice and cool tricks. They did more, and the world was afraid.

One of these dudes got caught again, and this time, he decided to take his life, instead of writing a manifesto. Too bad.

RIP, Aaron Swartz.

Thursday, January 3, 2013

Stuff I wrote on the plane back to Hong Kong

(This post was written in 8/2011, and it was retracted. I'm reposting it today as I'm clearing my blog of spam comments, and because I think, as of today, it won't do anyone any harm anymore due to the time passed.)

As of this moment, I'm on a plane over the middle of Pacific Ocean - flying back to Hong Kong to start my new job at Apple Inc. For my US friends, don't worry, I'll be back and be around Cupertino in about a month. My stay in Hong Kong is just temporary.

Getting Over TixxMe

I've been trying to sleep, and there's actually a pretty comfy bed for me to sleep on the plane this time. But I couldn't get myself asleep despite the Bailey's I had right before boarding. To tell the truth, I'm still feeling angry over how things have turned out. The product is already 90% done - it's 50% if you only look at the user visible features. But the important thing is the infrastructure behind it - that took a lot of lead time but it's worth it. The infrastructure was built to let us make major changes and new features very quickly with an extremely small team (i.e. me and an intern) and perhaps some help from conventional web designers (i.e. no iOS/Android specialists needed) - and it was how I planned to beat massively more well-funded competitors with almost no resource. It proved itself in the weekly private beta releases within StartX in which we made numerous major changes in the software without many bugs and complaints - but most importantly, it meant no more overnight work for me, the sole full-time engineer in TixxMe. It meant I can hit the weekly milestones reliably without working myself to death. I'm a lazy programmer, and I'm proud of it.
And then the project stopped. To be honest I don't believe my co-founders' reasons for stopping it. It all seemed like a deliberate plan to kick out the co-founder who disagreed too much on how TixxMe should be run. Ironically, I'm also the guy who wrote the initial draft for the farewell article at, but the article got softened up quite a lot before it was posted. The outcome is not bad per se, but it's not my style of writing.
So.. 2 years. I've learned quite a lot, yes. But there're only so many 2 years for a twenty-something who doesn't have to worry about family (and I already have my mom to worry about, she will actually die of illness if I don't send her money), so it's also a massive loss for me. Also, having released 2 products and yet didn't get seed funding and didn't get PR in the frothy early stage investment market of 2010 is a small black mark on the personal histories of everyone involved - the problem is not the failure, but not having the balls of coming out to see the press.

What Went Wrong?

Over the life of Think Bulbs and TixxMe, we made products that went to the top of the charts in App Store - that was in 2009 though. We laughed whenever we saw another iPhone app that got 100k users and went to TechCrunch - one because we've reached that number twice, both times within a week or two from release. Two, because we never got to TechCrunch despite what we've done. So the laugh is really on us. Yes, I know, PR is only a small part of a whole product strategy. And simply the number of users isn't that good a metric for anything. But for all of two years almost all of our PR were done in Hong Kong and they're almost all done by me - the tech guy. Using "pathetic" to describe that would be an insult to the word "pathetic".
And after 2010 we went almost totally silent. There was SayCheeze which was a prototype for something bigger. We pitched the "bigger" thing in SSE Labs demo day that summer and the coding was already well in progress. If it all went well, we would have been the top dog in mobile photography for quite a while longer - probably even now.
But when the business guy came back from investor meetings, he was scared. He heard of big names going into the same space we're going into, and "pivoted". By "pivot" I mean all the code I've written in 2009 and 2010 was scrapped. That was needed because Think Bulbs' assets were sold and we had to start anew with TixxMe. And for a good few months, all I was doing was to get TixxMe's progress back to where I was at September 2010.

Cowardice - the Greatest Sin of any Startup

What it used to be.. when we were brave and not afraid. We (Puri! Lite) were #1, in 10+ countries.
Yes, the icon can be better. So? So you don't wanna release it?
.. and that was one of the bigger mistakes we made. That was not an isolated event, though. It's the general pattern of the business side of TixxMe until perhaps the last month of its life. Business guy talks to lots of people, gets scared, calls a meeting, and we decided to change something. And to be fair, it wasn't just the business guy's fault - it was equally my fault. I as a cofounder was also scared by what the business guy said and didn't stand firm in company meetings, I allowed my own code to be wasted. It was also why I went the path of mobile HTML5 - if the product requirements are constantly changing, so why not make the code base able to adapt to fast changes in the first place.
But as we went to the last month of TixxMe (and we weren't aware of the sudden stop that would happen back then - at least I wasn't), we finally learned the only real problem for us - cowardice. It slows ourselves down. It shows up in investor meetings whenever hard questions are asked - or worse, I guess, some "friendly" investors wouldn't even ask hard questions because they already know we're soft. It also shows in the quality of software - going soft on "we need quick progress for some demo event/investor meeting soon!" means buggy software; going soft on "shit! some famous guy is already in this space! let's throw away what we have and start again" means I can't even debug the software I've released even if I wanted.
Some of our advisors with the company spotted it - "not believing in yourselves". That was the single biggest mistake we've ever made. A lot of times I want to blame the business guy over this pervasive attitude within the company but I'm also to blame. Reason one, I have just as much shares as the business cofounder. Reason two, I always agreed with him eventually.

Lesson Learned

If you're a cofounder of a startup and you're hearing your advisors or investors tell you "you guys don't believe in yourselves"… you're in serious trouble. It doesn't matter if you have some funding, it doesn't matter if you already have a product. If it's just you who's constantly in doubt of the direction your company is taking, great, learn to be a real gangster and release your fucking product and talk with users instead of investors, today. If it's more than just you, run the fuck away.
And to the "let's keep ourselves in stealth mode/don't release our product yet because we may fail to get traction" crowd - good luck committing slow motion suicide. The team who failed a few times, pitched like shit in funding events, and became the laughing stock of VCs for the month will beat you. Perhaps not in this year, but beat you they will.
There're a lot more totally ridiculous things our team have done in the past 2 years. But in my mind, nothing is as wrong as cowardice. If I'm allowed to go back in time to fix just one thing in Think Bulbs and TixxMe, it's "Team! We're gangsters! Cofounder and CTO is for business cards! This is OG Martin to you! Competitors are there to be beaten up! If they're famous, even better!" As long as the team is not afraid to lose, and the consequences of losing battles here and there are fully accounted for - everything else that's right will follow.

So What's Next?

I'm broke - as anyone in StartX who observed my clothes can tell. So I don't have a choice in running my own startup any more - my bank account and my mom's health simply can't take any more risks. The project I'm on right now is probably the next most awesome thing I can do - and I plan to stay at least a few years on it. But perhaps now is a good time for me to get to know more people around the valley, instead of always sitting in the office coding shit up.
There're teams in StartX whose response to their competitor getting funded is "Yeah? Come get a piece of me! Come on!" - I admire them. That's the spirit! If you don't fight and don't experience both losing and winning in the arena yourself, why do a startup at all? Life is short and it's important to live it in the most fulfilling way possible. I've been having dinners with another startup in 500Startups in the past month, at one point they asked me how early they should release their still very in-progress product. My comment? "Release it as soon as it's usable!" Just seeing how users praise and curse you is totally worth it. Fuck the VCs who ask hard questions.

On Co-Founders and Other Startups

Next time I find a co-founder, I'd find someone who appreciates the fight (and the software!) itself - the movements of the market, the ways people's lives can be changed, what users claim they like and what they actually use, the words and emotions coming from investors and spectators in TechCrunch… The whole experience is a beauty by itself.
If your cofounder tells you he's doing a startup because he wants to retire early; or when asked about how he's going to make the world better, he talks about charity (which means he doesn't have a better idea than what every Average Joe can come up with) - you'd better run - he's not motivated to put capital to good use to begin with. Even if such a team succeeds, nobody is truly enjoying the process - because in your hearts you'll know, you're just in this startup game because it's "cool", not because you're really doing anything new. There're many excellent uses for a million or even a billion dollars, retiring early is not one. In fact, somebody better invent a way to live forever so the real innovators can keep pushing the world forward, without having to worry about their animal needs.
And for the few startup friends who'd asked me to join them... I'm truly sorry. I'd really like to fight. I'd really love to bring another thing from our imagination into the real world and see how the real world reacts to it. I'm flat broke now, though, and I have my mom to worry about.
But if it's about bringing stuff from imagination to reality... I'm still doing it. I didn't choose my job because of the brand name. Anyway, I'm not done. If you're a true gangster, see you in the arena, some time.