[HN Gopher] Ugly Avatar
       ___________________________________________________________________
        
       Ugly Avatar
        
       Author : unobatbayar
       Score  : 208 points
       Date   : 2024-03-25 07:36 UTC (15 hours ago)
        
 (HTM) web link (txstc55.github.io)
 (TXT) w3m dump (txstc55.github.io)
        
       | gus_massa wrote:
       | Is it possible to have a gravatar-like interface, where I get a
       | fixed image?
        
         | enahs-sf wrote:
         | burgeoning startup opportunity right here
        
         | jallmann wrote:
         | BoringAvatars [1][2] or Robohash [3]
         | 
         | [1] https://boringavatars.com
         | 
         | [2] URL service: https://github.com/boringdesigners/boring-
         | avatars-service/bl...
         | 
         | [3] https://robohash.org
        
       | ants_everywhere wrote:
       | Uh, are they all brown?
       | 
       | EDIT: oops, my fault, dark reader was changing the colors.
        
         | h4x0rr wrote:
         | You have dark reader on?
        
           | squigz wrote:
           | Hah. I do, and it definitely caught me off guard too. Thanks
           | for pointing that out!
        
           | ants_everywhere wrote:
           | oh yeah I do, thanks! I'm not sure why I didn't think of
           | that.
        
       | imzadi wrote:
       | I feel called out
        
       | EGreg wrote:
       | What are some of the best libraries that would generate an avatar
       | in PHP directly?
       | 
       | Or in Javascript?
       | 
       | I don't want to have to hit any APIs.
        
         | sph wrote:
         | ImageMagick?
        
         | hiccuphippo wrote:
         | You could generate svg.
        
         | jaynetics wrote:
         | If you want to deterministically generate avatars for your
         | users, you're looking for "identicons". Googling that will
         | yield several libraries for any common language.
        
         | doublerabbit wrote:
         | PHP is nice with GD or ImageMagick.
         | 
         | Make a circle.png
         | 
         | Use GD to overlay colour over the radius of the circle
         | 
         | Apply facial details
         | 
         | Then finally anything extra
        
         | Menu_Overview wrote:
         | You'll need a library that can render to some 2D-context that
         | can then be converted to PNG.
         | 
         | JS is probably where you should look. You might be able to find
         | a good PHP drawing library but I've never come across that in
         | my work. Lots of image converting libraries out there (usually
         | just a wrapper around ImageMagik), but "drawing images" usually
         | a client-side thing and you'll find more support for it.
         | 
         | In JS, you'll draw the image to a `<canvas>` element, which can
         | then be downloaded as a PNG. You could go the SVG route, too,
         | depending on the art style. Canvas is the safer bet.
        
       | arjan_sch wrote:
       | Nice project. Would be good to add a bit more diversity to the
       | skin tones though :)
        
         | whatshisface wrote:
         | It would get this guy absolutely murdered if one of the funny
         | faces looked racist.
        
           | hateful wrote:
           | If you had the Dark Reader extension enabled like I did when
           | I first went to the site...
        
             | zwirbl wrote:
             | I didn't even realize until I read your comment
        
           | braingravy wrote:
           | Ya you're right brown people can't be included in funny or
           | silly things. Good call good call.
        
           | mock-possum wrote:
           | Can we not do that here please
           | 
           | The whole "you're not allowed to do anything these days for
           | fear of being accused of being racist" thing
        
             | whatshisface wrote:
             | You can't please everybody, which leaves your conscience as
             | the deciding factor. If you would rather not draw black
             | people with googly eyes and vacant expressions, I can
             | hardly criticize that. Like you point out, you'll get
             | criticized - but again, it's impossible to make everyone
             | satisfied with this stuff.
        
         | trallnag wrote:
         | Too risky
        
       | sccxy wrote:
       | Perfect
       | 
       | Replace intranet/Jira avatars with these on April 1st.
        
         | layer8 wrote:
         | Why only on April 1st?
        
       | poyu wrote:
       | This is the generative art I love!
        
       | oseph wrote:
       | Ah this is awesome! I really like how you handled the hair in
       | these.
       | 
       | I made something similar a few years back, pulling from a suite
       | of random textures. https://holinaty.com/randomfaces/
        
       | unobatbayar wrote:
       | Ah, sorry guys.
       | 
       | A little late disclaimer. I didn't create this project.
       | 
       | All the credit goes to Xuan Tang.
       | 
       | - https://txstc55.github.io/
       | 
       | - https://news.ycombinator.com/user?id=txstc55
        
       | mvid wrote:
       | This reminds me of the only NFT collection I have ever liked:
       | https://www.stargaze.zone/m/stars19jq6mj84cnt9p7sagjxqf8hxtc...
        
       | ggorlen wrote:
       | Fantastic, but unfortunately the source code is minified:
       | https://github.com/txstc55/ugly-avatar, making it difficult to
       | see how it was done and learn from or contribute to the project.
        
         | enahs-sf wrote:
         | I just looked at the source map in the browser -- you can check
         | it out there.
        
           | ggorlen wrote:
           | Thanks! I found the Vue source in Firefox by going into the
           | Debugger tab in DevTools, and clicking on Sources > Webpack >
           | ugly-face > src.
           | 
           | Chrome makes it a bit more intuitive, since the tab is called
           | Sources, then click into Page > top > ugly-face > src.
           | 
           | That said, I don't understand why the author didn't simply
           | commit the source code into the GH repo, especially since
           | it's fully retrievable anyway. Maybe there's some goal in
           | doing that other than security by obscurity I'm missing,
           | since they've followed the same pattern for multiple of their
           | repos. It seems kind of anti-collaborative to me.
        
             | txstc55 wrote:
             | I believe for avatar generations i have including this one,
             | three of them. I thought i pushed the code already. For any
             | code that requires a database access I don't push the code
        
               | ggorlen wrote:
               | Thanks, I appreciate seeing the code! For code with
               | database access, you could use an environment variable
               | from a .env file and gitignore that file, making it safe
               | to share. (you're probably already aware of this practice
               | and may have another reason not to want to push it)
        
         | ithkuil wrote:
         | You mean uglified
        
           | BMorearty wrote:
           | hee hee
        
         | hn_acker wrote:
         | Additionally, there's no copyright license on the files.
         | (Tangent: even if there were a free software license, the
         | software wouldn't be free software by the FSF's definition
         | (https://www.gnu.org/philosophy/free-sw.en.html) because source
         | code is the form that the author prefers when the author
         | modifies the software, and minified code usually is not that.)
        
         | KTibow wrote:
         | You can change the branch to main and see the code. (I agree
         | that having the pages branch as the default branch and
         | uploading built code instead of building it with a GH action is
         | still odd)
        
           | ggorlen wrote:
           | It's there now (thanks for the alert!), but I don't think the
           | main branch was there when I wrote the parent comment. If I
           | recall correctly, it was just the gh-pages branch like these
           | other repos from OP: https://github.com/txstc55/Ducked-
           | support and https://github.com/txstc55/duck-duck-duck.
           | 
           | (Of course, those repos may have main pushed later as well,
           | invalidating this comment too)
           | 
           | Nice of the author to share the code. Thanks!
        
       | blastro wrote:
       | Looks like the animation style of the cartoon "Home Movies" -
       | seriously underrated show. Jon H Benjamin is the voice of the
       | main character.
        
         | wonger_ wrote:
         | Same thought! Home Movies is one of my favorite shows.
         | 
         | And it looks so similar:
         | https://www.youtube.com/watch?v=CJcBL9JPfZw&list=PLqIbkxo6OP...
        
         | joemi wrote:
         | I immediately thought the same and figured I just got one that
         | looked kind of like that to start of with, and reloaded and
         | reloaded and reloaded and was so pleased when I just kept
         | getting ones that looked like Home Movies. Because of that,
         | they all strike me as charming and amusing more than they do
         | ugly.
        
         | Klonoar wrote:
         | Err, that's if you consider McGuirk the main character. Which
         | sometimes I could see, haha.
         | 
         | Small voiced his namesake in that cartoon.
        
           | saghm wrote:
           | Yeah, as much as McGuirk is my favorite character on that
           | show, I think it's a bit of a stretch to call him the main
           | character. He's definitely the most recognizable voice from
           | the show though!
        
         | crabmusket wrote:
         | Brilliant show. I grew up watching Science Court by the same
         | creators. It's got a very sly sense of humour.
        
         | nozzlegear wrote:
         | I remember watching this show at 3am as a teenager, while my
         | sister and I ate breakfast before heading out to our jobs on a
         | dairy. We did _not like_ this show, but it was really the only
         | thing that was on at 3am. It was followed by The Oblongs which
         | we vaguely remember as bizarre and joke about it being a shared
         | dream we must've had when we fell asleep on the job.
        
       | ihaveajob wrote:
       | Ha! This is basically why I bought uglyavatar.com a couple of
       | years ago. I was taken aback when I saw this on HN. Maybe I
       | should do something with it one day...
        
         | doublerabbit wrote:
         | Just url redirect it to this repo page, if your not doing
         | anything with it.
         | 
         | Might as well point it somewhere.
        
       | amadeuspagel wrote:
       | That's cool. Hacks into our ability to recognize faces, without
       | requiring real faces. A forum, where these avatars are randomly
       | generated per thread would be cool. Kind of like /pol/ thread
       | ids, but easier recognize.
        
         | harrisi wrote:
         | Pareidolia, or, more generally, apophenia.
        
       | txstc55 wrote:
       | Hi all, I'm the creator of this website, I will open source the
       | code soon. Any support is appreciated. If you have X/twitter,
       | consider also liking this post:
       | https://twitter.com/txstc55/status/1772163607809478948
        
         | mike986 wrote:
         | very entertaining.
         | 
         | if it's not a lot, can you have another UI that display more
         | than one avatar at a time? say, 3x3 or 4x3 grid?
         | 
         | Thanks
        
           | txstc55 wrote:
           | It's not hard but I don't see the use of this, so probably
           | not. And also although it doesn't seem like it but the
           | computation is quite intense for them, having multiple will
           | lag the browser
        
             | mike986 wrote:
             | no worry.
             | 
             | maybe i'll explain why, it's like the finding a mate for
             | marriage problem. you dates enough ppl to have a taste of
             | what you like, and then for the next one that comes along
             | that is on par with the best you've seen, you take that.
             | 
             | i guess a 3x3 grid is not necessary, maybe when you click
             | "another", push the old one up (or down) the stack but keep
             | it around so I can always go back and pick the best one I
             | liked so far after the sampling?
             | 
             | Anyway, don't sweat about it, thanks for creating this.
        
               | navane wrote:
               | What you are looking for is called the secretary problem
               | [0]. This states that in a search like yours, you can
               | determine beforehand how often you are willing to press
               | "another", and after 37% of attempts, you pick the first
               | one that's better than the best one so far.
               | 
               | [0] https://en.m.wikipedia.org/wiki/Secretary_problem
        
       | layer8 wrote:
       | I love this. Should be hosted on thisavataristoouglytoexist.com
       | though.
        
         | txstc55 wrote:
         | Are they too ugly to exist though?
        
           | layer8 wrote:
           | I was going to suggest thisavatardoesnotexist.com first, but
           | it felt too counterfactual, so I settled on that.
        
       ___________________________________________________________________
       (page generated 2024-03-25 23:00 UTC)