I love graffiti. With the vinyl toys phenomenon, graf in art galleries, and artists in corporate ads, graffiti's recently attained the very mixed blessing of respectability.
Little thought experiment: if you were going to automate graffiti, how would you do it?
Here's how I imagine I would handle one particular key component - generating the actual letters, and the permutations those letters can take.
Yep, those are letters.
These are letters too:
(They say "Sucka Free City.")
My hypothetical code would open up a font, extract its vectors, and define each letter in the font as its own Ruby class, with its vectors defined as class attributes. I'd also write a base class these classes would inherit from. The base class would include some math in initialize() to generate permutations in the forms defined by the vectors. The math would probably use fractals in a not-obvious way.
Then you'd have a method draw() which took a string and turned each character into a unique permutation on an existing font.
And then you'd have to figure out how to do the colors.