Stars Easter Egg in Cardboard App

April 3rd, 2016

Short version:

  • Download the Cardboard app either for iOS or Android (it’s free!).
  • Launch the Cardboard demos.
  • Look up at the sky.
  • Tap the screen or push your Cardboard viewer’s button.
  • Exit the stars by either looking down at the ground or by rotating your phone back to portrait.

Longer version:
Well, you can just watch the video but I made an easter egg for the Cardboard app (iOS or Android)! It’s loosely based on an old app I made called Starfield 3D.

The video doesn’t really do it justice. It’s way more immersive in virtual reality. So if you have a Cardboard viewer, try it out! If you don’t have one, you can buy one through They’re, like, 20 bucks.

Oh, also, if you did try it out and you liked it, please rate it on the store! That really helps my team to know that people liked it. Thanks.

Pneumonia and Paris

March 31st, 2016

This is what my lungs looked like as Death approached.

This is what my lungs looked like as Death approached.

It sucks to get sick. It sucks even worse to get sick right before a scheduled work trip to Paris, which is what happened to me a few weeks ago.

But then I started getting better and I thought, “Hey, I think it’s just a mild cold and I’m almost well, I’ll just power through.”

So I took a bunch of NyQuil, packed my things, and went to Paris! And that’s how I developed double pneumonia. I don’t think it was Paris per-se but the 11-and-a-half-hour flight, lack of sleep, jet lag, and all the running around to get to where we were staying. Apparently the body has limits.

Being sick sucks. Being sick in a foreign country where you barely speak the language … well you get the idea. But between my feeble attempts of “Avez-vous des NyQuil?” and the pharmacist’s much better command of English, I was able to get at least some relief.

So, lessons learned:

  • Don’t travel on a long international flight if you’re sick. It’s not worth it.
  • A week of not being able to sleep properly will make you delirious.
  • On the other hand, the pastries are to die for! Well, maybe not literally.
  • Paris is a wonderful city and I’m sure it’s much more enjoyable when not on the verge of death.
  • Modern medicine is amazing. I managed to make it to a clinic back in the States and they were like, “Yup, you’ve go pneumonia, like, rilly bad.” Then they shot me in the butt with antibiotics and I started to feel a little better immediately. I almost wept. Then they prescribed a bunch more stuff and I finally started to recover.

On the plus side, Tracy and Dyson got to see a little bit of Paris:

Dyson and Tracy walking the streets of Paris.

Married Half My Life

January 27th, 2016

WeddingPhoto As of today, I’ve been married half my life! I can’t think of much else that I’ve done for as long.

I guess it’s kind of an accomplishment of sorts, but I didn’t particularly do anything for it. I married the first person who was willing to go out with me (come to think of it, she may have been the last). So I think I just got lucky.

If I were to have any advice for the heterosexual ladies, date short guys because they’re more likely to do more housework and less likely to get divorced. And for the heterosexual guys struggling to find dates, apparently Black women respond the most.

Also, communication blah, blah, blah.

Happy Holidays!

December 10th, 2015

Every year, my brother does an amazing Christmas card from his family. He takes a beautiful SLR camera photo of them and uses image editing software to put in “Merry Christmas” somewhere so that it looks like it’s actually part of the background.

I don’t know how he does it. I barely have the energy to snap a vaguely Christmas themed shot of my kid. But I did find this neat website that takes that hastily taken photo and turn it into an interactive holiday card. It starts with a circle and then you swipe or drag across it to split it into smaller circles. Continue until you reveal the picture. You can click on any of the images below to try it out yourself:


You can do the same thing with any image on the web by typing in “<YOUR_URL_HERE>” into a web browser. For example, here’s what I used to get the link above for this source image.

iPhone 6s Unboxing with Dyson

December 7th, 2015

Wow, has it really been over 3 months since I’ve posted anything here? I guess things have been pretty busy at work. Thankfully, things are almost under control.

I actually got an iPhone 6s through work in the first week they were released. So I thought, hey, I’ll do one of those “unboxing” videos and put it out there before they’re more readily available. But then there was a big crunch at work (on top of commuting up to 6 hours a day) and I just kept on not having enough time to edit the whole thing. Thankfully, things are getting a little more sane at work so I’m starting to get through a backlog of stuff I’ve been meaning to do, including this video.

Things I learned this time:

  • If you’re going to do an “unboxing” video, you should probably show the act of taking it out of the box.
  • What’s up with the bathrobe? I mean, come on! It takes, like, 5 minutes to put on a shirt. Show some professionalism, man. Well, at least the kid is cute.
  • Making videos with a 5-year-old is very challenging.

PocketMe 3D Portraits

August 29th, 2015

PocketMeFiguresOne of the parents of a friend of Dyson’s started up a company called PocketMe to do 3D portraits. It’s a pretty cool setup. You go to their shop in Berkeley and stand in a cylindrical enclosure surrounded by a bunch of cameras, which all take a picture simultaneously. Then they process it, 3d print it out, and a couple weeks later, you get a little figure of you.

Dyson and I stopped by and did a session and now we have little mini versions of us! They’re very cute. If you happen to be in the area, check them out. They take appointments 7 days a week but they also do drop-ins on Saturday from 1-5pm.

They give you digital versions of the models, too! If you click on the models below, you can actually rotate them around.


Rendering for VR

August 21st, 2015

Last week, I attended SIGGRAPH in Los Angeles, a conference on computer graphics. One of the fun things I did was to give a brief talk at the RenderMan Art & Science Fair on using RenderMan to create images for virtual reality. I’ve given similar talks before, but usually for an audience of a few hundred and this one was for nearly 2000. So that was pretty exciting.

People seemed to enjoy my talk and afterwards, someone even wrote an article on about it! And then someone in France (who wasn’t even there) wrote a French article on about the first article. And now I’m blogging about an article about an article about a talk that I gave last week. So meta. Oh, and there was a Reddit post about the article, too. It’s been a busy week keeping up with everything on top of work!

Anyways, the talk was about a pretty simple idea that other people have implemented before on various platforms, but I hadn’t seen any public information on how to do it for RenderMan so that’s what lead to the talk. You can read all about it on the RenderMan forums. Or you can just download the materials from the talk from this Google Drive folder.

Lego Battlebots

July 18th, 2015

Ever since Dyson did a Lego summer camp a while ago, he’s been really into Lego. He told me about how they built robots to battle each other on tracks. I didn’t quite understand what he was talking about until we ran across a Lego activity center that had the same kind of battling robot setup. So Dyson excitedly challenged me to a duel.

It’s a pretty cool setup. They have an incredible assortment of Lego pieces and they’re all sorted into different buckets. You can build ships, houses, pretty much whatever you want. And when you’re done, you disassemble everything and put them back into the appropriate buckets. But Dyson wanted to build robots so that’s what we did. And then we battled them.

It was fantastic. My brother and I used to make stuff like this out of Lego when we were kids but we were always limited by the number of gears or motors in our sets. But here, the sky was the limit. So I got to design some more fanciful robots, even if they did get occasionally trounced by a five year-old’s.

Google Cardboard for iOS!

May 28th, 2015

I’m at Google I/O today and tomorrow, working the Cardboard booth on the third floor. Theoretically, by the time you read this, they have made the announcement at the keynote that Google Cardboard is now available for iOS! (Man, I hope that link works by the time this post goes live…)

This is what I’ve been working on for the past few months and it’s been intense trying to get something built from scratch with a small team in such a short time frame. And it was really down to the wire. It typically takes about 8 days for an app to go through the review process and we got a build submitted to Apple 10 days ago. Even after that, I was touching up a lot of the content that gets streamed to the app up until yesterday.

In addition to working on the app in general, I did a lot of work on two of the demos in particular:

  • Ported the “Exhibits” demo, which re-used a lot of the code from the Android Cardboard app (although I added a little bonus object at the end).
  • Created the “Kaleidoscope” demo (which is actually what I was working on in this picture from last month).

So if you’ve got an iPhone 5 or 6, check it out! And if you like it, please leave a review.

How to Cut Your Hair

May 26th, 2015

I’ve done quite a few hair videos in my time. This time, I decided to go a little more in depth with the tips and tricks. It just takes practice. And a willingness to shave off all your hair if you mess up. Actually, maybe mostly the latter.