The algorithm works like this.
Randomly choose 1000 pixels. For each pixel give it a score.
If you have populated neighbours then you are favourable
The closer you are to a point, which is moving around in a spiral with time, the less favorable the spot
Find the pixel with the highest score and colour it in.
GO again until you fill in the whole screen.
The colours change as time goes on.
Why the blobs have tails? I don't know.. probably a bug in my code but I haven't spotted it yet.