Identicon Handler For .NET On CodePlex

0 comments suggest edit

Update: I’ve created a new NuGet Package for Identicon Handler (Package Id is “IdenticonHandler”) which will make it much easier to include this in your own projects.

A while ago, Jeff Atwood blogged about Identicons for .NET. An Identicon is an anonymized visual glyph that can represent an IP address. I likened it to a Graphical Digital Fingerprint.


The original concept and Java implementation was created by Don Park.

Afterwards, Jeff and Jon Galloway became excited by the idea and ported Don’s code to C# and .NET 2.0 and released it on his website.

This weekend, we’ve spent some time working out a few kinks and performance improvements and are proud to release version 1.1 on CodePlex.

Why CodePlex?

We chose CodePlex for this project because the codebase for this is extremely small, so the patch issue I mentioned in my critique, A Comparison of TFS vs Subversion for Open Source Projects, is not quite as large an issue.

We don’t expect this project to grow very large and have a huge number of releases. This code does one thing, and hopefully, does it well.

So in that respect, CodePlex seems like a great host for this type of small project. It is really easy to get other developers up and running if need be.

Having said that, I probably wouldn’t host a large project here yet based on the critique I mentioned.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



6 responses

  1. Avatar for March 19th, 2007

    You've been kicked (a good thing) - Trackback from

  2. Avatar for David Peterson
    David Peterson June 27th, 2007

    This is great stuff and as I use subtext for my blog I get the goodies for free. Thanks.

  3. Avatar for Ronnie Overby
    Ronnie Overby July 27th, 2010

    I get this exception, when I tried the WebDemo:
    Exception Details: System.ArgumentException: Parameter is not valid.
    Source Error:
    Line 119:GraphicsPath tempGraphics = new GraphicsPath(tempPointArray, tempPointTypeArray);
    Line 120:path.Reset();
    Line 121:path.AddPath(tempGraphics, false);
    Line 122:path.CloseFigure();
    Line 123:}

    Source File: Z:\lib\IdenticonHandler\IdenticonHandler\IdenticonRenderer.cs Line: 121
    Stack Trace:
    [ArgumentException: Parameter is not valid.]
    System.Drawing.Drawing2D.GraphicsPath.AddPath(GraphicsPath addingPath, Boolean connect) +240145
    Docuverse.Identicon.IdenticonRenderer.AddPointToGraphicsPath(GraphicsPath path, Int32 x, Int32 y) in Z:\lib\IdenticonHandler\IdenticonHandler\IdenticonRenderer.cs:121
    Docuverse.Identicon.IdenticonRenderer.set_PatchSize(Int32 value) in Z:\lib\IdenticonHandler\IdenticonHandler\IdenticonRenderer.cs:87
    Docuverse.Identicon.IdenticonRenderer.Render(Int32 code, Int32 size) in Z:\lib\IdenticonHandler\IdenticonHandler\IdenticonRenderer.cs:147
    IdenticonHandler.ProcessRequest(HttpContext context) in Z:\lib\IdenticonHandler\IdenticonHandler\IdenticonHandler.ashx.cs:50
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

  4. Avatar for jeroenk-tritac
    jeroenk-tritac May 25th, 2011

    I get the same error as Ronnie Overby.
    Visual Studio 2010,
    Windows 7,
    .NET framework 4,
    parameters to Render: code = 1270850400, size = 50

  5. Avatar for jeroenk-tritac
    jeroenk-tritac May 25th, 2011 Has a comment by David that solves this:
    "I couldn't get this working on Win7/VS2008. It seems CloseFigure() works a bit differently in that it if you have more than one PathPointType of CloseSubPath it throws a "Parameter is not valid" exception. I managed to fix this by removing the gp.ClosePath() from AddPointToGraphicsPath() and putting in patch.ClosePath() in PatchSize set{} after the for loop has completed."
    Where ClosePath should be: CloseFigure.

  6. Avatar for Shoaiib
    Shoaiib September 26th, 2012

    when i tried demo i got same error "Parameter is not valid"
    How i can get it work? please help me