18

Time to make a deal with the devil

@theabbie since you love downloading the entire devRant db and writing little gimmicks, I have an idea for you.

Avatars are envcoded as URLs. Each part of an avatar is separated by an underscore. Shirt, pants, desk, whatever.

Make a bot or script or website or what-fucking-ever to query users with the same avatar as you. This would be:

- Same EXACT avatar (desk, pets, etc)
- Same body parts as you (face, skin color, hair, etc)
- Same body parts and clothing (everything that shows in the mini avatar next to comments, plus pants and shoes, I guess)

The doppelganger finder. Honestly I think it would be neat.

Would be even cooler if you could filter by active users (last post/comment within past 3 months)

Comments
  • 2
  • 13
    sounds like a large project, and also cool one, I accept the challenge.
  • 1
    @theabbie From what I know off the top of my head (if you didn't already), there's two avatar variants that devRant uses:

    avatar and avatar_sm.

    avatar_sm is used with the mini-circle things in comments, whereas avatar is used when you visit profile (or rant on web platform)

    They're returned as distinct items in the API, but I don't actually know if they're different at all. Never had a reason to check, maybe you could report back on that.

    But yeah the idea would be matching a few conditions. Matching based on avatar and avatar_sm would be the most important (and not just the data returned by the API, but what's actually visually included in the images we see on the app/ website)

    Then you can use your imagination to come up with other cool comparisons. Stuff like people wearing my same shirt, people wearing my glasses, same hair style, etc.
  • 1
    @theabbie Finally, not telling you how to do your job or anything, but if I were to implement it, for each "category" to search by, I would have a list of indices that I could check against the encoded avatar string.

    Split the encoded string by _ and remove any unnecessary items, and you're left with an ordered list of cosmetics

    Then, you can write filters like

    const SAME_CLOTHES = [4, 8, 10];

    4, 8, and 10 would be the indices of shirt, pants, and shoes (Not the actual indices. I don't know the encoding).

    That way you can filter in a very simple and declarative way. Pop them in an object:

    {

    "same-clothes": []

    },

    ...and you can even return a queryable list of filters via Object.keys();

    Anyways, my drunk ass will leave you to it now.
  • 2
    @AlgoRythm I don't see any problem in creating a USER table in SQL with fields like

    ID
    SHIRT INT
    PANT INT
    ETC.

    Then just running queries like

    SELECT ID FROM USERS WHERE SHIRT IN (1,2,3) AND PANT IN (1,2);

    Time to start fetching user info slowly and not get IP banned.
  • 1
    @theabbie You'd certainly need to have a large portion of user data already downloaded in some format to avoid abuse.

    That's why I suggest filters: even with smaller datasets, you may be able to find neat queries (who's wearing my shirt?)

    Collect the data responsibly and store it in whatever way you feel most comfortable.
  • 8
    Is it just me, or is devRant slow today.... oh ok I see what's going on 😅
  • 0
    How will you keep it in sync all the time without being ip banned?
  • 2
    @Hazarth safest way is to grab recent rants and comments and use the active users to seed the data, but if you want to know every user, it's just a brute force on every ID till you grab them all.
  • 1
    @theabbie I’m backing you, go kick some ass! You got this!
  • 1
    @Hazarth it's not going to be real-time, maybe it will randomly update 100 users everyday, it will collect all data in advance.
  • 6
    You could at least subscribe to offset the increased costs this will incur.
  • 2
    @Root I've been subbed for like three years. Since this was my idea, I'll cover the costs.
  • 4
    @AlgoRythm I meant to tag @theabbie, but alright.
  • 2
    @Root just checked, it's more like 4

    4*12*3=about $150 which should be more than enough for a slow download of the public data on this project plus a few more
  • 4
    @AlgoRythm Definitely enough.

    Though: google, in their infinite greed, takes 30% iirc. I’ve been asking for a more direct means of donation for years, and have been denied every time.
  • 3
    @Root that's part of operational costs ¯\_(ツ)_/¯ as a consumer I've paid more than enough to use a free platform. I don't like botting and whatever, but as a cool gadget, I think this is fine as an experiment. Especially since not much has changed on devRant for a few years...
  • 0
    what costs are we talking about? Last time I fetched all profiles, it was like free.
  • 0
    if you make a deal with the devil you'll be sitting in a starbucks having one of the former victims of the people you made a deal with intimating hes going to slice you up with a knife.

    don''t. lol. i'm busy as it is.
  • 0
    course the way they work the person in question probably went off to do something worse, immediately after playing good and pretending to wait on camera :P fucker :) HA HA HA they never behave. they just pretend to. more charges.
  • 0
    would be nice if i didn't have my mind polluted by the strangeness of a parent bringing their 5 year old or so kid into a starbucks to order highly caffeinated drinks.
  • 0
    @AvatarOfKaine Oh great, another loon
  • 0
    @AlgoRythm *slaps algo with a handy trout* callback to irc !
  • 0
    @AlgoRythm btw we all did this before :P
  • 0
    90+% of matches will be green dots.
    Called it.
  • 0
    @c3r38r170 people without avatars don't have an encoded string. There's another field returned by the API just called bg that has a hex of the color they choose

    Unfortunately green dots won't even make the cut :(
  • 0
    @AlgoRythm Yeah I imagined. Then I don't think there will be that many matches. Probably around (√users)/log(users).
  • 1
    @c3r38r170 I think many people will have exact matches, but not everyone.

    You and me match based on body parts but not clothing or accessories
  • 1
    @theabbie I think they meant for serving the script and all about running it periodically. But either you can do it your own way moreover absolutely free
  • 3
    @Eklavya @theabbie me and @root were more talking about the bandwidth and resource toll it would cost devRant itself, which is why she suggested subscribing to ++
  • 1
    @AlgoRythm you've subscribed and it's your plan, so, should be fine, I will subscribe when I start earning.
  • 0
    @AlgoRythm Wdym? I know subscribing to the ++ plan will add on some more features. But why? If the fetching and reading are alright through API, does it provide ease in handling the database too?
  • 1
    Maybe make this a Collab?
Add Comment