Blog  |   Puzzles  |   Books  |   About

Vote for Topspin!

December 28th, 2008

My employer, Topspin, has been nominated for a Crunchie award for “Best New Startup of 2008.”

I will personally vouch for us: Among all the Crunchie nominees, Topspin is indeed the best new startup of 2008! Okay, seriously, I don’t know a heck of a lot about the other nominees, who I imagine are very fine startups indeed. I do know that Topspin is an amazing company, and that all Topspin employees are crazy-brilliant people, like me, and that we are going to rock your world in 2009.

Want to learn more about Topspin? You can start by reading CEO Ian Rogers’ inspiring keynote address from the Grammy Music Tech Summit a few weeks ago:

And if you feel compelled, please come vote for us here:

http://crunchies2008.techcrunch.com/votes/

Thanks for your vote!

Now, enjoy this lovely video:

Instant Party Videos – a How-to Guide

December 14th, 2008

At our company Christmas party, I helped set up two monitors to display an endless stream of amusing short videos, including cartoons, psychadelic eye candy, and various shorts of guys in Santa Claus suits doing extreme sports and other interesting things. The videos were chosen so they could be watched silently, while loud party music was playing.

A few people asked me how I did this, so I thought I’d outline the steps here, in case you wish to provide video wallpaper for your own holiday party.

There are basically two steps, which I’ll outline in detail below.

1. Get the videos.

2. Display the videos fullscreen, from a shuffled playlist.

Not too complicated, really. Here are the detailed steps…

1. Get the videos.

I got all the videos from YouTube. It took about 4 hours to gather about 4 hours worth. Although it would have been possible to play the videos directly off of YouTube, I chose to download local copies of the FLV files that YouTube supplies onto my hard drive (about 1 Gig worth of video files). This was so the videos would play without gaps or interruption, and so that an Internet connection wouldn’t be necessary to play them.

There are numerous web-browser add-ons you can use to download FLV video files from YouTube. The one I used is called DownloadHelper, for Firefox, and is available here. This program works with a number of video sites, in addition to YouTube, but I found that YouTube was sufficient for my needs.

To use this plug-in, you simply find a video you like on YouTube. The plug-in adds a drop-down menu next to the address bar in FireFox, which will contain the name of the video you are currently watching. If you select this, it will start downloading the video file (or add it to a queue of videos it is downloading). If there is also a high-quality version of the video available, it will add that to the menu with a [HQ] after the title. For playback on a big monitor, I suggest getting the [HQ] ones if you can.

The plug-in only downloads one video at a time, to save wear-and-tear on YouTube; a nice feature. If you like this plug-in, I suggest you make a donation to the author (you’ll be reminded to make a donation after you download 100 videos).

I prepared a long list of videos I wanted to see, and also asked for recommendations from my coworkers. I previewed all the videos with the sound off, so I could be sure it had some value when played on top of party music. I chose mostly short videos of 1 to 3 minutes in length, so that if anybody hated a particular video, it wouldn’t last too long. This was short-attention-span theater. I also threw in a few higher quality videos that were about 10 minutes in length, such as a few full length cartoons, and ground-breaking experimental animation shorts.

2. Display the videos fullscreen, from a shuffled playlist.

To display all the videos, I downloaded another program, which is kind of like iTunes or WinAmp for videos. Again, there are a number of programs which are capable of playing lists of FLV files (and other video formats). The two I evaluated were VLC media player, a free cross-platform open-source player and SWF and FLV Player from Eltima, a proprietary program that requires a nominal license fee to unlock some of it’s better features (including fullscreen playback).

Although I went ahead and procured a license for the Eltima player, I ultimately ended up using the free VLC player. I liked that the Eltima player would play both flash movies (in SWF format) and flash video (in FLA format), however, I didn’t like that it always diplayed the videos over a white background, which looks terrible on a monitor in a dark room. There didn’t appear to be any way to change the video background color. I consider this a serious flaw in the Eltima player, which otherwise seems like a good product.

The VLC player does not play SWF files, but it supports FLA and a few other video formats, and has a very full feature set. If you already have an old version of VLC player on your machine, I recommend you upgrade to the latest version. One of the computers we used at the party had an older version on it, and we ran into trouble with it, because of an apparent memory leak. This older version also did not understand how to employ the second monitor, so I had to use mirroring. Over the course of about 20-30 minutes of video playback, the old version would take longer and longer to queue up the next video, and would eventually freeze up. The latest version of VLC player (0.9.8a for OS X) worked like a champ on our other laptop, and ran non-stop without any issues for about 5 hours, til the end of the party. Since both laptops were set to “shuffle,” you rarely saw the same video simultaneously on both monitors. However, one laptop (the one with the old version of VLC) had a much smaller list of videos – only about 30 minutes of material – basically what I could fit on a tiny flash drive – whereas the second laptop had the full 4 hours of material. Ideally, I should have brought a larger flash drive with me so I could copy the whole video list to both machines.

The following instructions apply to OS X – I haven’t tried using VLC in Windows, but I imagine the process is much the same…

I had all the video files in a separate folder on my desktop. To play the videos for the party, I started up the VLC player, and then used the Window menu to bring up the playlist. Then, in the finder, I went into the video folder, selected every single video, and dragged it into the playlist.

Then I clicked the “Shuffle” icon on the bottom, and double-clicked the first video in the playlist to start playing it. This whole process takes just a few seconds, so there was really no need to save the playlist, although VLC does offer that feature.

I should mention that before the party, I made a point of going thru each video in the folder, and checking to make sure VLC could play it, and if it was sufficiently high resolution. A few of the really tiny ones, I got rid of, or downloaded higher-quality versions from YouTube. I also tweaked the file names so the titles would look nice when VLC displayed them, at the beginning of each video.

At the party, we connected each Laptop’s video output to the TV (as a separate monitor). I dragged the video playback window into that second monitor, and then selected the menu option to make it go fullscreen.

Voila – instant party videos!

GEL Videos

December 5th, 2008

Hey kids, remember that 2007 GEL conference talk I posted on YouTube a few months back? Well, GEL impressario Mark Hurst has posted my talk, along with a collection of other equally (if not more) fascinating GEL talks (each precisely 20 minutes long), for your amusement and enlightenment.

Hopefully, these videos will inspire you to snatch up one of those highly coveted 2009 GEL tickets before they evaporate!

Mosaic: November 5th, 2008

November 7th, 2008

Mosaic: November 5th, 2008

Interactive version at coverpop.com.

This mosaic is constructed from newspaper headlines from around the world, which I collected from the website newseum.org

The underlying image is from the famous Shepard Fairey poster.

Wooden Sudoku Board

November 6th, 2008

Greg Erickson wrote me about these nice handmade wooden Sudoku boards he is selling. Looks like a nice Christmas gift!

Obama Tweets

November 5th, 2008

Obama Tweets

A sampling of election night Twitter traffic that I was able to geocode. These are tweets that include the word “Obama”.

The arcs are tweets that were directed at another person. The blue circle is the source, and the green circle is the target.

Purple dots are tweets that were directed to the world at large.

Hopefully, at some point, I’ll get around to mapping the whole globe, and not just the Continental US…

UPDATE: Oh look, I did!

Obama Tweets

Prop 8 is Gay

November 4th, 2008

I’m temporarily turning off a lot of the ads on the site, since Google’s competitive ad-filter is not fast enough to get rid of these abhorrent “Yes on Prop 8” ads that have infected the site today.

For the record, I am very, very against California Prop 8, which I find intolerant and hateful.

NO ON 8!

Enjoy your ad-free day.

Red State, Blue State, Green State, Yellow State

October 31st, 2008

Red state, blue state, green state, yellow state.

I got this idea from Daniel Drucker, who implemented it back when Flickr first started supporting geotagging.

Th dots in the above illustration indicate the positions of about 1.2 million photos on Flickr tagged with the names of the lower 48 states: "Alabama", "Arizona", etc.

It took about 15 hours for my computer to collect this information using the Flickr API, and then just a minute or two to plot the dots using a Perl script + ImageMagick. Fortunately, I had 15 hours to work on that script beforehand :)

Each dot is colored, not according to its position, but according to its tag, which usually, (but not always!) corresponds to the state the photo was taken in.

So if a photo was tagged "New Jersey," it is colored reddish-pink, whether or not the dot actually appears within the boundaries of that state. Since most of the photos tagged "New Jersey" were indeed taken in the Garden State, the state comes out looking reddish-pink — and those smaller, densely populated states come out especially well in this system.

I also like the way the photos help bring out some of the major traffic arteries in less densely populated states, like Wyoming.

As Daniel suggested, I used only 4 colors, according to this table, which ensures that no two states of the same color touch.

Sunrise, Sunset

October 29th, 2008

I prepared these images by downloading about 42,000 thumbnail images from Flickr, and rendering them on these maps. Each image is displayed in the area where the photograph was taken. Bright spots correspond to metropolitan areas that accumulate a lot of photos.

If you pay close attention to the differences between the two photos, particularly Florida and the Great Lakes, you’ll see that people prefer to photograph the sun sinking (or rising) behind a body of water. Hence eastern-facing coastlines tend to accumulate more sunrise photos, and western-facing coastlines tend to accumulate sunset photos.

For the technically curious, I prepared the image using Perl and ImageMagick. The US state outlines come from publicly available US Census data, and I used the Perl library Geo::Coordinates::UTM for converting latitude and longitude to a UTM projection.

You can view the hi-res versions, in which you can make out the individual photos, here:

Sunrises
Sunsets

UPDATE: Daniel Drucker suggested plotting the states themselves, something he first did about two years ago, when Flickr first implemented geotags. Here’s my result:

Red state, blue state, green state, yellow state.

A Field Guide to your Files

October 27th, 2008

A few of my friends occasionally run into problems caused by invalid file types. This can happen when someone accidentally types the wrong file extension on a file when saving it.

For example, my friend Beatrice, who does transcriptions, often receives audio files that are named “something.mp3”, but the files are not actually in the MP3 format. They’re something else, like AIFF or WAV. Other times, she may receive a file with no extension at all, and she can’t figure out what type it is.

When this happens, it can cause the software that is trying to use the file to complain (while other software mysteriously works fine). You can often fix these problems by figuring out the correct file format, and changing the file extension accordingly.

If you have run into this problem before, check out this Field Guide to Your Files, which shows you how to analyze and fix this problem.

Field Guide to Your Files