color sorting

I find the idea of sorting a set of colors in interesting ways. It’s very much a perceptual problem. Different people will sort a color palette in different ways.

“web” palette sorted by saturation. (Some of these examples are truncated for formatting, see the sortpal pages for fuller versions)

People organize colors differently. Lots of ways to sort them mathematically. Some map well to what people perceive as correct. Some do not.

web palette sorted by proximity in rgb colorspace

Sortpal is project to try to visualize what some of these different methods look like, and how they compare to each other. It shows a set of color palettes, sorted by the various attributes like it’s redness, or brightness, or saturation. For example, in the “red” row, the reddest colors are at the far left and decreasingly red colors to the right. The width of the color depends on the number of colors in the palette.

web palette sorted by redness

Different color palettes can be chosen, including the 216 “web safe” palette (wiki), the X11/css “named” colors (wiki), the xkcd color survey (xkcd color survey), a rough approximation of the spot colors often used in print, a Hilbert curve through rgb space (wiki), misc artistic palettes, etc.

The sort methods fall into a couple of sorts (ha!):

Sorting by one component of a color space, the most obvious being the red, blue, green values of RGB:

web palette sorted by red, green, blue respectively

Hue, saturation, and value (HSL and HSV) is another color space, that maps a lot more naturally to how people understand colors.

web palette sorted by hue, saturation, value, lightness, respectively.

Hue or Saturation are probably what most people think of as the natural way to sort colors.

Another approach is sorting by proximity in the 3d color space. The idea being to start at the origin, and find the closest colors in 3d.

Hue, Saturation, Lightness 3d

Hue, Saturation, Value 3d

Red, Green, Blue 3d

The code is up at github. No promises to it’s correctness or functionality.

Note that for the most part, all of the methods shown here are described as being one parameter sorts, but in some cases there are secondary and tertiary sorts as well (hsv3d, and chroma ) mostly just to stabilize the sorts.

web site session sites?

I sometimes find myself sitting at someone else’s computing using their web browser. With all of their sessions and cookies. So say, going to a given website I get their login.

I can log them out of their accounts and log me in, but thats annoying. Some firefox extensions exist that seem to support multiple users per browser, but that requires extensions.

I wonder if it would be possible to setup a proxy website that would store all my various session info so I could retain it as I switched machines.

I’m not exactly well versed in web stuff these days, but it seems like it should be doable. Maybe such a thing already exists.


Playing around with A website that involve some aspects of a social networking site and music collab/sharing sites like ccmixter. It’s all CC content, and they include a simple little flash based sequencer app for quickly building songs with the available samples.

An interesting idea, although the site still seems to be in beta. Some of the ui bits could use some work, but I like the idea of it if nothing else.

pandora meetup

Went to a meetup for pandora last night with badger

See his notes for a more detailed overview of what was discussed.

It was an interesting talk, covering the origins of the company and the service and an overview of the tech and work behind the service.

One of the more interesting aspects was there tendency to avoid using collaborative filtering and other “social” forms for suggesting music. More than a few questions from an audience were variations of “why don’t you add collaborative filtering?” and I think the presenter offered a pretty good reasoning.

However, it sounds like pandora has more than a few vestigial dot-com tendencies, even though the presenter seemed to be intent on avoiding them. They are currently losing money, with a pretty good burn rate, and are mostly looking at ad revenue to solve the problem.

The service itself seems pretty expensive, as every new user adds significant bandwidth and licensing fees. I don’t really see them surviving for very long.

A few questions I didn’t asked but should of:

Would it be possible to include more freely distributed music (Creative Commons, etc) in an effort to lower licensing costs?
Do the song selection code take into account any sponsors or partners music? (aka, “Do you take payola?”)
Will there be any efforts to gather more demographic info to make advertisers happier?
Any plans to extend the concept beyond music? Visual Art? Movies? TV?

I hadn’t actually used pandora much after an initial experiment several months ago that didn’t work well (for the love of god, just because I like King Crimson doesn’t mean I want to hear E.L.P). But trying it out last night and today, and it’s been pretty remarkable so far.


Flick seems to be eating my cell phone picks somewhere. The phone seems to indicate they are being sent correctly, but they never show up on flickr or here. Which is a shame, since I posted awesome pictures today. Except they weren’t awesome.


I finally decided to upgrade from my phone from a craptastic nokia to a craptacular motorrola razr.

It does have some nice improvements though. Like useable gprs and bluetooth. I got the osx box syncing to it, and able to get to the internet using it as a bluetooth modem. Took a few hours, but finally found the info I need on the cingular site. Though, the cingular docs on how to connect from osc actually have you firing up a terminal and typing in AT commands at one. Thats pretty awesome. Found a better way elsewhere.

The linux box is next. I got it talking to it via a usb bluetooth dongle, but couldn’t really test anything since I still don’t really get any GPRS connection at home.

Next up is getting the blog to accept phone posts. It seems to work for text, but something goes wonky with images. I really need to update the version of wordpress anyway, since it seems like 1.5.x is now unsupported. I’ve had to hack up the themes and whatnot to make the captcha stuff work, but hopefully thats not an issue in 2.x.

inkscape tracing

I finally decided to give inkscape a try at importing and vectorizing some of my doodles.

It did a much better job than I expected. It choked on some of the larger doodles, but then, I can’t really blame it for choking on say, doodle31.

Take a look at some of the example traced svgs. That just includes the SVG’s that do not crash firefox ;->

Which reminds me that I need to catch up on the doodle scanning. I think I’m one or two dozen behind.