Identicons for .NET

Indenicons are cool! Jeff, are you going to incorporate them into your comments?

A great use of this is as a default image for Gravatars.

what about an identity you didn’t ask for? : http://www.docuverse.com/blog/9block?code=1055195416

P.S. I repackaged the code as a dll and a handler file.
http://haacked.com/archive/2007/01/22/Easy_To_Deploy_Identicon_Handler.aspx

This makes it easy for those of us who use web application projects to deploy it.

I second DaveG’s suggestion! Wordpress plugin would really go a long way to popularize this concept.

What we need here, is a Wordpress plugin :slight_smile:

Wait, what IP?

I have a static IP? Which IP? I wonder how many people have this one?
http://www.docuverse.com/blog/9block?code=19216802size=32

Skrud, I mentioned the fancy barcodes in this post. I even included a fancy animation that shows how they encode data…

http://www.codinghorror.com/blog/archives/000278.html

The JS Canvas thing works fine in the latest Opera too.

… ignore me, sorry, I was reading the post in my feedreader and didn’t check again before commenting. feel free to delete these.

Identicons can also be used in mapping or graphing to visually group elements. For example, you could write a google maps mashup for finding local businesses that uses an identicon for each business type. For example, if you searched for “restaurant” a different identicon would be used for Chinese, Mexican, Italian, Pizza, etc. Alternatively, if you searched for “Chinese” you could get a identicons that show the business type, i.e. grocery, restaurant, etc.

My apologies to Don and Jeff. Thanks for sorting it all out. I feel safe again in Identicon World.

(Double-post since I don’t see the comment; maybe comments don’t actually get posted without cookies, due to blog-software stupidity?)

Pretty pictures from random numbers — that takes me back. Ported to C from Turbo Pascal, a six-year-old program for doing just that:
http://www.contrib.andrew.cmu.edu/~ajo/disseminate/make_id.c

Some examples of the (grayscale, fourfold symmetric) output are here:
http://www.contrib.andrew.cmu.edu/~ajo/disseminate/make_id.png

Unlike other solutions in this thread, “make_id” doesn’t suffer from the Swastika Problem — although you could easily get around that if you forced bilateral symmetry instead of rotational symmetry. (Reminds me of the way to ensure that random alphanumeric filenames, as in a browser cache, don’t contain profanity: Rather than blacklisting offensive words, just remove all the vowels! Problem solved.)

Really embarrasing Matt, hope you are not a programmer. Also, please explain how you can do a lot of damage if you know an ip ??

I know my own ip, I can bet that if I increase the number one step there’s a good chance someone is uing that ip as well.

I can also get plenty of ip’s doing nslookup on domains I find ont eh web, or I can look at any server logs for ip’s, so what ?? you can’t do anyhting with just an IP. It’s not secret information, it’s public domain.

This is a really good idea but the application is wrong.

It would be better if it took input which relate to the sizes of common hashes. You could then use these icons to identify public keys for various protocols such as SSL or SSH.

Nobody remembers the fingerprint ID of such certificates but a little pictorial representation would be easily remembered.

Bravo!

Simon.

LOL, this is funny how everyone is trying to get credit for the idea of creating an image out of data. I think we all know it’s not an orginal idea, however this usuage was pretty new, and the implementation was pretty new. But unique, no, it isn’t.

Matt’s correct. All you have to do is grab the image you want to reverse, then crank out a script to generate an image for every possible IP address and every possible salt value. Then just compare every bit of every resulting image with the one you’re interested in. When you find a match, you’ve got the IP.

EASY! Five minutes, tops.

Pookie, I think you forgot to wrap that in sarcasm tags.

But seriously, suppose you post on multiple .NET blog sites which use Identicons. It’s likely that most of these sites share the same visitors (because only .NET geeks post on .NET blog sites). However, it’s also true that most sites will use different salt values.

So what you end up with is Dave being “identified” by multiple different identicons on different (but related) websites. Whereas, custom avatars at least give Dave the option of presenting a unified visual identity across these sites.

Maybe I just don’t understand the problem Identicons solve, except that it weakens anonymity by allowing multiple posts from the same anonymous poster to be related to the public in a way that doesn’t span multiple sites or account for changing dynamic IPs.

Hm, it seems to be taking a bit longer than the 5 minutes I originally thought. I think I just need a faster machine.

Okay, joke over. I’m done.

There are some applications for this, actually. There are instances where a reader is unsure whether to trust a comment, for example sabbotage-trolling from competitors which is fairly common in some spaces. If the webmaster wants to allow anonymous posts, but without disclosing IPs. It’s a compromise that gives readers another piece of data to make judgements about what they’re reading.

Plus, purdy.

Add transparency:

  1. Replace all PixelFormat.Format… by :
    PixelFormat.Format32bppArgb.32bppArgb

  2. Near the end of render(int code, int size) call :
    b.MakeTransparent( Color.White );

done !