Has anyone played with this thing? It’s awesome. Of course your charts are at the whim of Google’s servers, but this by far beats anything out there if you want a quick and dirty chart. Zero startup costs, just generate a URL.
If you don’t want to deal with deciphering the query string parameters, here’s a chart generator to get you started. I’m sure there are others out there. This is one of the enumerable Google projects that might be old news but that I haven’t had a chance to try — another of which is the Ajax Libraries API.

Otherwise, it’s summer here. We still don’t have our air conditioners, they’re in Boston, but I don’t mind so much. Seawinkle’s offices are moving to Dumbo on Monday. All hail the Brooklyn to Brooklyn commute. Hanging out with Sasha, eating meat pies, things are good.
Update: I also like Open Flash Charts and check out the slightly non-nonsensical, slightly spam-y comment regarding Silverlight charts.
Tags: Code
When I was moving to New York three years ago, I did some research on the city’s bike friendliness. One thing I kept on reading is that if you have a bike basket, people will put trash in it. Well I finally got a basket and it’s true what they say about the trash.

Today I was greeted by a water bottle with a piece of gum in it. The other day I had a half eaten take out container of spaghetti and two grape sodas. Sadly my camera’s battery was dead. I see a series in the making. Who knows what wonderful gifts will be waiting for me tomorrow?
Tags: Fun

With Terence’s Yves Saint Laurent inspired heatwave vest.
Tags: Fun

One of the most basic data structures that I use frequently is an associative array — also known as a hash, map, or dictionary. Associative arrays allow for non-integer indexes. For example:
pup['stick'] = delicious
ActionScript 3 provides a dictionary object which isn’t very pleasant to use. You want to use a associative array for terseness but the native dictionary object has you write so much code that using it defeats the original purpose. I ended up rolling my own hash class which supports some basic functions (add, remove, key_exists, etc.) and that ended up being 77 lines of code. But using my associative array code was pretty dissatisfying, I still found myself traversing nested arrays to find my values.
Enter dynamic ActionScript. My old associative array class was 77 lines of code, here’s my new one:
dynamic public class map {}
By making a dynamic class, I can assign arbitrary properties to my class and treat those properties as keys in an associative array. So how does this work? Well to add a key I do
public var entries:map = new map();
entries['foo'] = bar;
That’s all there is to it. To retrieve the value I just do
myval = entries['foo'];
But wait a minute you say, how do I figure out if a value is set in my associative array? Well that’s easy too. Anything that isn’t set will have a value of undefined
if (entries['bar'] == undefined) { ... }
Finally, there’s even a way to iterate over all the keys when you don’t know them in advance
for each (var entry:* in entries) { ... }
These small code snippets cover all of my needed functionality for associative arrays. Nesting dynamic classes are really readable. You can even use dot notation, namely
entries.foo = bar
but I prefer to use [] because then I can use numbers as keys.
entries.1 = bar // won't work
entries[1] = bar // will work
Tags: Code

Another one of those Brooklyn activities that I can’t believe I took this long to check out. I’ve been to Ft. Tilden before, but i’ve never tried to ride down there. There are bike paths along the East River, down Ocean Parkway and along Bedford Ave. Along the way there are innumerable slices of Brooklyn. The Hassids, Russians and who can forget about DiFara.

Fort Tilden has a storied history and was decommissioned recently, in 1974.
Still too cold to swim.
Tags: Fun