Signin
Identicon: Third-Party Implementations

Third-party implementations and variations of Identicon are starting to appear. I'll add to this post as they appear.

If you have an implementation or a variation of identicon, comment to this post to get added to this list.

To encourage others, I've just uploaded Identicon version 0.2 source code which has following changes:

  1. Cleaned up and refactored to remove unnecessary crap and simplified flow for improved readability.

  2. Documented. I am still not happy with the level of documentation but at least it's getting better.

  3. Description of how identicon is rendered from a previous post is included in doc folder.

  4. Fixed a color-related bug. This means your identicon color will be slightly different.

  5. IdenticonCache interface added to allow caching identicons. IdenticonServlet will check the cache if the full class name is provided using 'cacheProvider' init-parameter.

  6. Runtime jar file (com.docuverse.identicon.jar) is included.

Enjoy.

PS: Until I fix the dang CSS bug caused by indented blocks, you'll see some odd layout problems.

 

 

Comments
Cool-- I need someone do do a .NET port!
Oh, yes. .NET and Java is similar enough that a smart fella like you should be able to do the port while waiting for dinner. ;-p
Wes Felter   at 2007/01/20 10:07:40 PM
Have you considered using the canvas tag to draw identicons in the browser? The server-side generation could be a fallback.
Hi Wes. Yes, I've thought about doing it with dojo toolkit as well as Flash but went with java because a) it was most handy for me and b) I wanted others to participate in the fun.

Are you volunteering to do the js version? :-)
I had been thinking of JS, using the canvas attribute. What the heck, it's Sunday, I'll go flexing my DOM skills...
You might want to hold off, dda. Wes' comment and a nice cup of coffee prompted me to write a js/canvas version. I am almost done with it (a random MBP lockup stopped me in the middle of the patch rendering code, fugger...). Once I am done, you can run with it since I am planning to do just the rendering part. Server-end will still have to convert IP address to identicode as well as throw in fallback img tag (minding Safari canvas pitfalls) which can point to Docuverse identicon URL.
Oops. I just realized you can't use Docuverse identicon URL for fallback image since your salt and identicon code algorithm will be different from mine. Another case of protection becoming a hindrance.
ah well, okay. Still had fun with the canvas object inbetween... :-)
It's done. Frankly, it comes out looking rather fuzzy looking at small size because it's being rendered anti-aliased at target size which accumulated anti-aliasing artifacts.

I'll post the link to the javascript source file. It's pretty simple to use.
I'm almost as smart as Don thinks I am.

Here's the .NET 2.0 implementation:

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

(but I had help from my friends. Thanks Jon Galloway and Phil Haack!)
I have a Python implementation brewing, using the PIL, but somehow the results I get don't match what I get with my own IP here... Time for a bug fix I guess...
dda, sounds great. BTW, there is no need to match the hash algorithm exactly nor is there a need to use the same bitfield pattern to render the parts.
I did a Perl version:
http://kai.dyndns.org/cgi/identicon.pl

Because I wanted to see as many of the lovely icons as possible, I also offer the possibliity of translating any text to "Identiconese", and I'm slowly learning the language :-)

Congratulations on a great and very well-designed idea.
Vittorio   at 2007/02/09 08:59:16 AM
I don't like mine!!
Hi Don,

I have coded a enhanced 2-color identicon version for Win32.

Munnin uses them to identify eBay sellers in the item listings - it works great!

Implementation details can be found here:
http://www.munnin.com/en/program_identicon.php

Rainer
http://sexy-frauen.bumst.at/
I'm insane, so I wrote my own PHP implementation. Since apparently they all need snazzy names, I'm going with "ycons", and I'm trying desperately to think of how I can use them in a web game, but can't come up with anything that isn't completely superfluous >_> They seem like they'd make cool guild emblems, or something, but I dunno.

Anyway, here's a "quilt" of a bunch of ycons. It's a little scary.
http://www.deviantart.com/deviation/55930031/

And here's my sample page, which is very boring and not very helpful, and probably makes my server cry a little on the inside... source is there, at least :)
http://www.evilissexy.com/ycon/ycon_example_mini.php
oh, did the spam filter hate me?
http://www.fickennacktsex.com/
http://www.geilestars.com/
http://kkkk.bumst.at/
I have ported Identicon to Flex 2.0.
You can find a demo application (right-click to view and download sources) at
http://coderpeon.ovh.org/data/2007/11/FlexIdenticons-1.0/FlexIdenticons.html
http://www.versaut.hostxd.com/
http://www.natursekt.stars-sex-porno.com/
http://www.amateure.luesterne.com/
Edward Andrews   at 2008/05/10 06:30:50 PM
I just want to see what my identicon would look like
Edward Andrews   at 2008/05/10 06:31:45 PM
what's mine like???
Here's an implementation for PLT Scheme:

http://planet.plt-scheme.org/display.ss?package=identicons.plt&owner=mk&changerep=3
Mine is really ugly...
imworlds   at 2008/06/21 01:18:19 PM
I love my identicon. Awesome!
http://www.nacktebilderlive.com/
http://www.scharfesex.com/
http://www.bumsen-sex-nackt.geilestars.net/
Your Identicon:
Name: * required
Email:
Website URL:
 
Comment:
HTML not supported