Showing posts from 2011
I translated Alexander Boswell's toy REYES renderer from C++ to Google's new Dart programming language.

Here's what the output looks like:

Try It Yourself

If your browser supports the canvas tag and JavaScript, you can see the sphere being rendered here:

Render a REYES bumpy sphere in your browser.

And the source is here:

Translating C++ to Dart

It was pretty easy to translate the original code from C++ to Dart.
The original code made use of classes and overloaded operators, both of which are also in the Dart language.The original code used the SDL library to display output. It was easy to switch to the HTML5 CANVAS tag.
I used an early version of the "Dart Editor" IDE. The Dart Editor IDE was helpful because of the compiler warnings and errors.


I used a variety of techniques to debug the code:
print() Dart has a built-in print function that logs to the JavaScript console. This was good for logging small amounts of data.wri…

A script to upload files to Picasa Web Albums

Today I backed up all my family pictures and videos to Picasa Web Albums.

For several months I have been thinking of ways to backup my pictures to somewhere outside my house. I wanted something simple, scalable and inexpensive.

When I read that Google+ users can store unlimited pictures sized <= 2048 x 2048 and videos <= 15 minutes long, I decided to try using Google+ to back up my media.

Full disclosure: I work for Google, which probably predisposes me to like and use Google technologies.

Unfortunately I had my pictures in so many folders that it wasn't very convenient to use either Picasa or Picasa Web Albums Uploader to upload them.

Luckily, I'm a programmer, and Picasa Web Albums has a public API for uploading images. Over the course of an afternoon, I wrote a Python script to upload my pictures and videos from my home computer to my Picasa Web Album account. I put it up on GitHub: picasawebuploader

Good things:
The Google Data Protocol is easy to use.Python's bui…

What am I up to?

I'm mostly posting on google+ these days, sorry!