Bird Avatar Generator

Published on

Hey, I published a fun Bird Avatar Generator. Enter your name, and get a colorful bird!


I wanted to try to wrap a new theme for my previous Cat Avatar project (2016) in a single day while testing Krita 4.2alpha. A mini challenge to myself done only for the fun and the curiosity to make it work. More infos for license/usage/sources on the footer of the bird avatar generator. Have fun with it!

(Note: thanks to Andreas Gohr's MonsterID code.)

Update 2023: Discover Roucoule, the Bird Avatar written in Rust, a derivation made by Inkhey in the comments.

License: "Bird Avatar Generator" by David Revoy − CC-BY 4.0
Tags:  #website  #code  #lab   | Download: Markdown


link raynal  

Le titre de la page est « Cat avatar generator »… (j'ai relevé parce que j'ai les deux d'ouverts du coup, chats et oiseaux ;-)

link David Revoy Author,

Merci, c'était en effet un oubli. Corrigé!
(sauf dans le zip source, mais c'est ok)

link gissehel  


J'ai voulu voir comment était fait le source. « Ho ! Du PHP ! ». J'ai voulu voir si je pouvais le faire rapidement en pur javascript sans avoir besoin de serveur. Et je l'ai fait.

Generateur :

Sources :

Il est possible a quiquonque de réutiliser à loisir ce code pour faire ce qu'il veut.

link David Revoy Author,


Wow; c'est super chouette et ça réponds super vite et en même temps que la frappe dans le champs. Je regarderai comment c'est fait; merci!

link gissehel  

J'ai ajouté la mise à jour dès la frappe au clavier, parce que comme c'est fait coté client, c'est suffisement rapide pour être crédible.

J'ai aussi ajouté la mise à jour du hash (le # dans l'url) qui se met à jour en même temps que l'image. Si on envoi un lien avec un # dedans (exemple ), c'est ce "nom" là qui est pris pour l'image.

Pour les sources, il y a juste un avatar.js qui n'a besoin de rien d'autre, et une fonction avatarGenerator qui génère l'image a partir du nom. (Il faut bien sur avoir les images dans img en relatif par rapport à la page).

Il est enfin possible de l'utiliser sur des url type file:// en local sans serveur.

link David Revoy Author,

C'est vraiment bien fait. Bravo et merci du repartage.

link cgi flythrough  

Thanks for sharing!

link Popolon  

Nice new generator, thanks David.

The results are not the same between PHP and JavaScript versions.

link David Revoy Author,

Hey Popolon!
Yes, I think this is due to the random number generator not being consistent.
(it was changed too in PHP7; all my catavatars changed when the server migrated)

link Garance  

Toujours très sympa merci beaucoup !

link inkhey  


J'ai moi aussi tenté ma petite version du générateur pour une librairie python.

avec une vague démo ici:

L'idée étant surtout d'avoir une brique logiciel pour facilement pouvoir réutiliser le concept avec différent jeu de données.

link David Revoy Author,

Oh! Sympa avec le selecteur de theme 'cat' ou 'bird'; jolie.

link Abner  

This is so cool. I have added it to my previous wordpress plugin:

Now it supports cat, bird, and mix mode.
Thanks for the beautiful art! :)

link David Revoy Author,

That's very cool! Thank you for making an easy plugin for the users and for the donate link in the description of your plugin. That's really nice. I hope I'll have time for next one; maybe mini mastodons/elephants/mamoths graphic set. :P

link Tester  

Hello everybody.

link Tester  

Second try.

link David Revoy Author,

Hehe, I hope your tests gave you the avatar you expected :)

link bazooka07  

Bonjour David,

j'ai repris le code PHP de ton générateur. Il y a un nouveau paramètre pour l'Url theme. On peut choisir entre "cat" et "bird" ou liasser vide. Le même seed peut avoir un avatar cat ou un avatar bird.
Demo visible ici :
Le source est ici :
Je vais l'utiliser pour un thème de PluXml.

link David Revoy Author,

Bonjour Bazooka! Merci pour faire evoluer le générateur de chat et pour avoir intégré le le choix avec l'oiseaux. Dès que j'ai un peu de budget temps pour bidouiller le site, je vais certainement le reprendre pour ici. Merci!

link bazooka07  

Voilà le thème :
Si tu as d'autres bestioles en magasin, n'hésite pas.

link Bernhard M. Wiedemann1494  


That generator and these themes are very cool.

Did you know, that it is very easy to construct collisions in the avatar-generator?
Took me 1 hour to write 40 lines of code that run 40 seconds to produce a collision with Carrot.
As a defense, there would need to be more cat variations and/or slower hashes. E.g. currently 200000 MD5 hashes take 0.2 seconds, but if the code used a hash function where 1 hash took 0.1 seconds, it would need hours to find a collision and if collisions were more rare it could be days or weeks. But maybe we should not really care.

link Bernhard M. Wiedemann106396  

and a 2nd try at a collision

link David Revoy Author,

Hi Bernhard,
Thank you for your kindness and your research about it. I have unfortunately far less skill than you probably think I have concerning this, and if I understand, this collision means something with security. I care a lot about this topic; if you can help do not hesitate to Fork and create a MR of ( maybe fork ; a recent fork with more feature and the bird-avatar too ) or send by email or here in the comments methods on how I can make it more solid.
Thank you.

link Bernhard M. Wiedemann106396  

It is not that critical.
It just allows me to choose which avatar I get, by adding/changing some characters of my name. Worst case people could confuse who is writing something, if they only look at the avatar and do not read the name.
And a lot of things one could do to counter that, have downsides as well.

I sent some other MR, though.

link David Revoy Author,

I saw the MR! I added them for merging to my TODO, probably after the release of the next episode of Pepper&Carrot. Thank you.

link nick  


link Moini  

Hi David,

in your repo README, it says "Generated _cats_ used as Avatar (for blog,forum,social-network) don't need direct attribution and so, can be used as regular avatars without pasting David Revoy's name all over the place." - did you mean to include the birds, too?

Have a nice fourth advent weekend!

link David Revoy Author,

hey Moini! Oh, I missed your question on the comment on the blog, sorry.

Ha, about the cat/bird avatar: license and permissions are the same, if the bird avatar mention keyword 'cat' it's because of a bad or incomplete search/replace. I'll try to fix it tomorrow , thanks. (maybe even refactor a bit the code, so I have same engine, and only need to switch the theme/tile set , I'll see).

link David Revoy Author,

Note: all the generators have been refactored two days ago.
Thanks for the notification, it was time to maintain this.

link inkhey  

Re-coucou David, j'ai réimplémenter l'idée encore une fois mais cette fois ci en rust pour apprendre le langage. voici roucoule :

link David Revoy Author,

Merci, classe! 👍
J'ai ajouter le lien dans l'article dans un encadré de mise à jour.

Post a reply

The comments on this article are archived and unfortunately not yet connected to a dedicated post on Mastodon. Feel free to continue the discussion on the social media of your choice. Link to this post:

You can also quote my account so I'll get a notification.
(eg. on my Mastodon profile.)