Naming Anonymous Blog Comments
Many message boards and blogs don't require commenters to register, often calling them just "Anonymous". Conversations between several anonymous users are difficult to follow and annoying. So why not just make up names for them?
Did I ever tell you that Mrs. McCave Had twenty-three sons and she named them all Dave? Well, she did. And that wasn't a smart thing to do. You see, when she wants one and calls out, "Yoo-Hoo! Come into the house, Dave!" she doesn't get ONE. All twenty-three Daves of hers come on the run! -- Dr Seuss
At the moment, there's not much encouragement to give up your cloak of anonymity when posting comments to a blog. And that's a problem when you have to try to follow a threaded conversation between four users, all of whom are called "anonymous".
There are systems out there that will generate random patterns for use in place of avatars (for a good example, see the Fail Blog), but I haven't seen a similar example that assigns names randomly to anonymous users. Perhaps it's time to implement one.
For tracking, and to make sure that the name doesn't change during a conversation, we can record the IP addresses of recent anonymous posters, and associate a random name with each one. This works, but raises privacy concerns, and we can do better anyway.
We don't even need to keep a table of usernames, if they are generated directly from the poster's IP address. For anonymity, we hash the IP and then generate a name from it. Sure, there will be collisions (unless you want a naming function that can generate 4 billion distinct names), but it's a lot better than what we have at the moment.
So, let's say we hash the 32 bit IP down to 24 bits (algorithm not important), then take 6 bits for the first name, 3 bits for a middle intial, 3 bits for a surname prefix (e.g. Mc, von, de, etc), 5 bits for an adjective, 5 bits for a noun, and 2 bits for a trailing modifier (Jr, Esq, etc).
So now, we can track everyone's posts, while preserving real-world anonymity.
And finally, as further encouragement to shed that anonymity, let's make the names vaguely embarassing. Who would wouldn't register an account if the alternative means posting as "Poncy J. McYellowpants III"?