61 comments

[ 3.6 ms ] story [ 59.6 ms ] thread
Great update. I never cared to sign up for Gravatar as it's now owned by WordPress, but it was a minor annoyance that I was not identifiable by my avatar.
i spent some time working on something like this - i wanted something that could carry as much information as a typical cryptographic hash, but be memorable to a human.

it turns out that it's quite hard to make that much information memorable :o) (it's even harder to measure whether something is memorable, or even "different" - i ended up getting sidetracked into extreme value statistics, and then giving up)

but one important trick was to make the pattern symmetric in some way, which seems to be also used here. although it halves the amount of data (assuming other parameters constant) it makes it much, much easier to remember.

anyway, these look good (for this use case).

I like this! Now I'll use it for other things too.
"Huge number of unique identicons"? Since they all seem to be symmetric, there's only N * 2^15 = N * 32768 of them (N = number of colors).
I think N is huge. I haven't seen many repeated colors yet.
Colors don't have to actually repeat in order to be confusing.
FWIW, there are 360 possible hues, 20 possible saturation values, and 20 possible luminosity values.
So, 1000 times more possible identicons than users. 360 * 20 * 20 * 32768 = 4,718,592,000. Github users: ~4m.
What problem do these solve? Serious question.
It makes it easier to recognize that two or more comments in a long thread came from the same user.
This will be very useful if it makes it into GitHub Enterprise - our IT won't let us use Gravatar, so comment threads/issues are harder to follow.
Why won't they let you use Gravatar?
If you're running a recent version of GitHub Enterprise, the avatar base URL can be configured today. It's possible to run an internal, secure server that responds to Gravatar's URL scheme.
I filed a bug report that my default GitHub avatar was not found - Apparently it was an issue with broken profile images, and they fixed it with these identicons.
Looks like Frank from Donnie Darko
Mine is pretty unexciting: https://identicons.github.com/mwylde.png.

It would be nice if the algorithm took interest (probably defined as a ratio close to 50/50 white/black cells) into account to prevent mostly black or mostly white avatars.

I think thats a really good one. Its s.ymmetrical and has a cool minimalism.

Edit: ok actually they're all symmetrical ..

I like their small file size, around 200 to 300 bytes. Though that's arguably large to store a 5x5 bitmap + one RGB color, which would fit comfortably in 7 bytes.
It would be nice if rather than using the hash (which you have no control over), the algorithm looked at the distribution of languages I program in and used that to pick the colors. That would be a better representation of my programming identity and is in line up with what github already does for repos.
A lot of people may know already that PHP is purple, Python is blue and JavaScript is orange. Or at least GitHub has chosen those colors to represent languages on their site.

So I would like that my avatar is more blue'ish because I focus on Python. :)

(comment deleted)
(comment deleted)
Pointless estimation:

There are, say, around 10x2^(5x3) = Identicons assuming about 10 color shades can be told apart easily. That's ~300,000 different combinations. You need ~650 people contributing to a repo in order to get a 50% chance of collision.

So, while there are almost certainly collisions across all Github users, you're pretty unlikely to see one in any thread you'll participate in.

Especially since so many Githubbers actually do have Gravatars.

(comment deleted)
Why not just use QR codez they are SO COOL.