The Uber-truth about the slavery economy

When I first heard someone use the term “the sharing economy” last year:

Me: What the fuck is “the sharing economy”?

Someone: It’s a catchall for businesses like AirBnB, Uber, Lyft, TaskRabbit and the like.

Me: Sounds more like they should call it “the slavery economy.”1 Give it a few years for that bubble to go the way of GroupOn.

What did I mean?

Well to take one example, this was sent to me recently by a friend because it appeared on her feed and she was curious how they got the numbers:

UberX truth in advertsing

Should say “Apply now and start making serious cash… for Uber’s investors.”

Let’s do the math, shall we?2

Continue reading some Uber math after the jump

LinkedIn and the dangers of A-B Testing

LinkedIn brags about their use of A-B testing.1

Here is a fucking clue, guys. When you vary where a mail header (from:2, to:, subject: line, etc.), you bypass peoples’ mail filters and of course e-mail open rates will test higher.

Fuck you, LinkedIn

So many companies don’t know the limits of analytics. To those idiot business analysts that are data-driven instead of data-informed: please DIAF. ktnxbai!


  1. Never mind the fact that LinkedIn took years to go viral and only after Reid Hoffman became on Tagged’s Board of Directors. 
  2. invitations@linkedin.com, member@linkedin.com, invitations-noreply@linkedin.com, communication@linkedin.com, messages-noreply@linkedin.com, updates@linkedin.com, communication@linkedin.com, connections@linkedin.com, … 

Some advice about coding bootcamps

A friend writes:

Hey Terry!

I’ve been looking into attending a coding bootcamp. Do you have any opinions on them? Any local ones with particularly sterling reputations? Do they seem to churn out somewhat competent alumni?

Thanks in advance for any insight you might be able to lend.

Honestly, I don’t have a good opinion of any of them, but I didn’t look to closely. First, because 90% of them teach Ruby on Rails1 which is a terrible language (Ruby) and architecture (Rails) for learning to program and can have zero application in the area of computing it is marketed toward in order to attract students — for instance, I remember seeing a coding bootcamp for iOS programming that taught it using Ruby on Rails.

For learning general web development (or even general programming) I think some web framework using Python might be the best language because it easy to learn, easy to read, and very logically constructed. If the focus is on mobile app development the only language worth learning is Objective C. If the camp does that (i.e. Python for web or Objective C) they’re already far head of the pack IMO.

As for which ones are best, I’d simply look into which ones do well at placing their students into jobs. The companies/people who run these make the bulk of their money off of placement fees to corporations, even if though those deals are often onerous (for the employer). Though this is a shitty incentive to make the best program, it does show that they must add value somehow: signaling, actual skills learned, some base level of competency, etc. This goes double for those programs focused on women, because the demand on the end of the employer is double. But, in the long run, it doesn’t matter how good or poor the program is if the companies continue to hire from them then they must be worth something, right? This is true even if they use Rails as their teaching language.

Close to zero of these schools have people with true teaching experience or who studied education and learning. My thinking is the success that occurs, when it does, is more due to the format of learning (classroom, labs, intense immersion, applied to a particular end goal) is a style that works for a set of people who previously found that other methods (usually self taught from books, iTunesU or online tutorials) failed for them. So if you’ve tried to learn programming before but it never stuck, then it’s worth a shot to try a bootcamp, and they have a huge incentive (1/4 of your first year salary) to take the extra step of helping place you in a job.

In the end coding isn’t that difficult which is why people can learn it as young as five years old. The issue here is not the difficulty but the combination of initial effort and the continual practice involved. Most people aren’t willing to do this, and this is why good programmers are scarce. If you have the grit to tough it out in intense immersion for a month or two, it must signal something to somebody. 😉

Finally, I’d also ignore any of the stuff outside actual programming and language that they “teach.” There is some truth to the saying, “those who can’t do teach.” A school’s instructors will often teach about software processes like “test-driven development” or “pair programming” because they read in once some “agile practices” book and thought that’s how it should be. But many of that is only used in special circumstances or in enterprise software development. If you just want a job as replaceable IT worker working for a bank in some right-to-work-state like Louisiana — a job that will eventually be outsourced to India, then that crap is useful, otherwise just ignore it and learn proper programming practice and processes on the job you end up in after you are placed based on the coding project you demoed to your future employer.


  1. According to Tre Jones, this is not actually true, it’s only 57% of them. This is crazy for such a poor teaching language that also has the misfortune of being very unpopular to boot. 

Account of Important Events in My Life

My aunt, when doing cleaning, came across an essay answer to a questionnaire that my cousin Alex wrote in 2001 for a high school entrance application.

Account of Important Events in My Life

Two years ago my aunt died of heart failure. I began to grow closer to her a few months before her death because I became old enough to understand about family ties, and respect. She was a biological chemist who contracted rheumatic fever when young, and she had to fight her weak heart all her life. Her field of work was in heart rhythm. She devoted most of her time to studying ways to automatically revive hearts that go out of rhythm (called arrhythmia) with medicine instead of using machines that shock the heart into beating regularly. She conducted extensive research, wrote many scientific papers, and gave numerous talks at scientific conferences on her work. Her death impacted me in ways that were greater than my grandparents’ deaths. I was old enough to see that life can leave unexpectedly. During my time on earth, I want to achieve notable goals, like my aunt, and when it is finally time for me to move on, I hope I can leave this world as peacefully as she did — while resting from studying — her heart simply stopped beating.

That aunt was my mom. I love you too, Mommy Chay, this mother’s day, and always.

p_g10afjalpyg0048

My mom with my older brother, 1969. Today my girlfriend stumbled across this photo in my ScanCafe account.

The National Day of Prayer

(Last month)

M—: My aunt sent an e-mail to everyone the other day saying, “President Obama cancelled the National Day of Prayer. I know some of you are Democrats but I hope as good Christians, you can get angry.”

Me: Oh, that again.

M—: I was half tempted to link the snopes article refuting it, but I didn’t want to get into that drama.

Me: You should have just sent back that as a good Christian it gets you angry when a relative bears false witness.”

Happy National Day of Prayer, America!

Thoughts on Brendan Eich’s departure

(Disclaimer: None of the views here are those of the Wikimedia Foundation.)

Brendan Eich, creator of Javascript, resigned as CEO of Mozilla mostly over his unrepenting anti-gay views.

I must admit a brief bit of schadenfreude because I predicted that this change would happen on Prop 8 specifically. The only thing that surprises me from those six-year-old articles is the quickness of the sea change around this issue.Continue reading about Eich and other thoughts after the jump

The peering story

At my first startup, I had a CTO, who was a year younger than me, used to tell me stories of his time at UUNET and what whiney little cheap turds most of the first generation dotCom billionaires were before their tiny little ISP’s sold for hundreds of millions.

This story isn’t about that.

As a Korean, he was asked to set up the asian version of UUnet. Back then Korea’s networking should have been trivial as its a peninsula and most of the population lives in or around a single city, Seoul. Instead it was terrible because none of the Korean networking companies would set up peering points with each other. “See,” he told me, “When you need to connect two networks to each other, you have to set these up, and while they’re free to run, they’re costly to build. How do you decide who pays for the point?”

You might think 50-50 is fair and propose that. If you’re a new player in this space, since you’re the one asking to set up these points, you probably benefit more than network you are trying to pair up with so they expect you to pay all or most of it. You get nowhere with this offer. This is what happened to him.

Korea wasn’t the powerhouse Internet trendsetter they are today. I remember, back then it was often faster to connect to a US site then to another Korean one because your packets to the latter would have to go through peering in the US since there wasn’t any in Korea. In other words, to talk to your neighbor, your message would be sent from Korea, across the Pacific to the US, and then back across the Pacific to Korea. This was the Korean Internet in the early-mid 90’s, all because of a lack of peering there.

On a lark, a friend of his wanted to set up a BBS or something and he dropped a server on his network for his friend to use for free.

Then one day, months later, companies that had previously refused to peer up were contacting him to peer up. As I’ve outlined just now, being the asker is a huge concession in the negotiation. He wondered what changed and looked at his traffic. It turned out that his friend’s BBS or something had become hugely popular in Korea and a lot of that network’s customers were demanding better service to it.

The lesson here is if you have what the other party wants, you hold the cards and the other side has to make the concession.

I bring this story up when I have to explain a basic business principle to others to understand what is going on.

Want to understand why Office is finally out on iOS? Look no further than the peering story.