[Steem.Cool] Precise Live Reputation Viewer - How close are you to leveling up? - Steemit REP Formula + More

in reputation •  last year

For those who were using steem.cool before, thank you for your patience! The update is in and the app is now attuned to the new reputation system. Special Thanks to @heimindanger for the help on the Reputation Formula & to @fabien for developing Steem API (awesome) which I am now using instead of my own node.

For those of you who just want to skip the Mumbo Jumbo just head over to http://steem.cool enter your username (or others hehe) and be entranced by the glowing power up bar, watch as your reputation increases over time, and continuously refresh hoping you've leveled up. Otherwise continue on...


So let's start off with the new Steemit Reputation Formula

((log10(abs(reputation#))-9)9)+25

Seems pretty straight forward, right? Well that's if you're a mathematical person of course but for those of you who aren't lets break it down a bit. Still may require some mathematical know how but what can you do? ;)

First thing you should know is your Real Reputation is big giant number anywhere from 0 to 100 Quadrillion or even more (which steem.cool displays in number of billions) so a log10() is very important when getting to a much more reasonable number.

log10()
Since I'm not the best teacher... let's see how these guys explain it

Mathworks

Y = log10(X) returns the common logarithm of each element in array X. The function accepts both real and complex inputs. For real values of X in the interval (0, Inf), log10 returns real values in the interval (-Inf ,Inf). For complex and negative real values of X, the log10 function returns complex values. more...

Ok lets see what Wikipedia has to say

That means the logarithm of a number is the exponent to which another fixed value, the base, must be raised to produce that number. In simple cases the logarithm counts repeated multiplication. For example, the base 10 logarithm of 1000 is 3, as 10 to the power 3 is 1000 (1000 = 10 × 10 × 10 = 103); the multiplication is repeated three times. more...

I think we may be starting to understand ;)

+25
This is used to set the minimum Rep Rank to 25, meaning when you have a reputation of 0, you don't have a rank of 0 but a rank of 25! Therefor anything under 25 would be a negative reputation, so be aware of that!

The rest of the formula is subtraction and multiplication which brings you to that good old number called your Reputation. Since here on Steemit we are all about open source so here is the formula in use broken down step by step (Along with a inverse formula I use to find how much Reputation you need to level up) Thanks again for help with this @heimindanger !

calcReputation(value) {

      reputation_level = 1;
      neg = false;
    
      if (value < 0)
        neg = true;
        
      if (value != 0) {
        
        reputation_level = log10(abs(value));
        reputation_level = max(reputation_level - 9, 0);
        
        if (reputation_level < 0) reputation_level = 0;
        if (neg) reputation_level *= -1;
        
        reputation_level = (reputation_level*9) + 25;
        
       } else {
        return 0;
       }
    
       return reputation_level;
  }
 
   currentREPLevel = calcReputation(RealReputationNumber);
   currentREPLevel = number_format(floor($currentREPLevel), 0, '.', ","); 
                        
   NextRepLevel = currentREPLevel+1;
   
   NextRepLevel -= 25;
   NextRepLevel =  NextRepLevel/9;
   NextRepLevel += 9;
   NextRepLevel = pow(10, NextRepLevel);
  
   RepRemaining = NextRepLevel - RealReputationNumber;
   percentRemaining = 100-(RepRemaining/NextRepLevel)*100;

If anyone wants me to explain this further and in more detail let me know in the comments below or pm me on steemit.chat I'll be happy to chat with you.


In the first version of steem.cool I had a Potential UpVote Rep Weight or amount of REP you could give with a single UpVote (Avg.) I excluded this for now because I have not figured out the formula for this yet. I have yet to go through the steem / steemit code fully in this respect so I didn't want to jump the gun. I personally think this is great information to have and will be working on getting it back up ASAP!

I know it has been 3 whole days since the newest Reputation System which in steemit world is quite a long time but how is everyone feeling about it? i know that this along with down voting has been a big topic lately!

Speaking of DownVotes... I am working on a tool to see how much power your DownVote (Flagging) actually has, so stay tuned for that.


Hope you enjoy getting SteemCooled! & Follow Me! for updates on this app and more AWESOME stuff!

Blue

Ps Not sure about my last tag of #steem-help , figured this could be a helpful post for users looking for more information on their Reputation... But if it is miss-categorized let me know! @berniesanders

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  trending

Great app, i need 2 lines for lvl 53, then i'll be able to summon a bear (gaming reference)

·

Can you explain how come i have less reputation than i had 1 week ago? I had no flags or anything negative.

Steemit is showing me as level 60 and .cool is showing me as 61 with 1.62% left until 62.

·

hmmm... Oh I see! You are so close to 61 that it rounded up. I decided to change it to just round down Floor() and show the non decimal number. What does everyone think? Would you like to see decimals in your Level or have it match steemit?

·
·

Ah okay. I'd rather it round down to show the current level Steemit.com shows. I just think it helps make the whole experience more uniform. It's not even that I care what it shows but for other people, it may just look more polished.

What API call do you use to get RealReputationNumber?

·

Great Question. I use getAccounts?names[]
And just grab the reputation ;) I also use this because I get the current vote_power and vested_shares

·
·

Ah, I see it now, thanks. For some reason when I was playing around with the jsonrpc calls to node.steem.ws the other day and looking for it, I couldn't find it.

$account = call('get_accounts', array(array('lukestokes')));
var_dump($account);

And there we have it:

    ["reputation"]=>
    string(14) "23868379861698"

For anyone looking to play around with this stuff via PHP, here's a few simple functions to get you started:

function call($method, $params) {
    $request = getRequest($method, $params);
    $response = curl($request);
    if (array_key_exists('error', $response)) {
        var_dump($response['error']);
        die();
    }
    return $response['result'];
}

function getRequest($method, $params) {
    global $debug;
    $request = array(
        "jsonrpc" => "2.0",
        "method" => $method,
        "params" => $params,
        "id" => 0
        );
    $request_json = json_encode($request);
    return $request_json;
}

function curl($data) {
    global $debug;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://node.steem.ws');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = curl_exec($ch);
    $result = json_decode($result, true);
    return $result;
}
·
·
·

Great Share! I realize I should have shared a bit more code... but you've done that for me now. ;)

·
·
·
·

Do you know how the new reputation score is calculated in the core code to come up with the reputation value? I looked around in the code a bit and couldn't find anything on github when searching for reputation. Is it the same thing as rshares or is that something else?

·
·
·
·

@lukestokes not currently no. I will get back to you on that.

That's just amazing, the arithmetic jargon that's carried out in the background to calculate one's reputation. Thanks for explaining it for the layman like me.

Sadness. I tried http://steem.cool/@mark-waser and it claims that I'm a big fat zero. Am I doing something wrong?

·

Sadly right now you are actually have a negative reputation (below 25) and of course I forgot to add the functionality... I believe so otherwise its a bug... either way I'm on the case!

Update
Everything except for Rep Remaining and % are available. Still need to finish those up.

This was cool, i have allways wondering wath the number behind nick is.

Well, I didn't know about this site before and was a bit curios about new way reputation is calculated. Thank you for your explaination and for your great work!

This is very cool and useful, neat! Thanks for your development, awesomesauce with a bag of chips. :) Keep on being awesome!

This is really useful. I was quite confused about how the reputation works because the post that ned (I think it was ned) didn't really reveal very much and I don't understand code. Thanks.

Thank you to quickly change the site, in line with the new reputation system! We need more tools from @blueorgy!)

So... what is it like to have actual skills ? @blueorgy ?
Well anyway..
Beautiful site man, really sexy. :3
Don't know about you guys, but I liked the single number rep better, I mean -yeah I can be 69 now, but that's about it haha. Having 25 for 0 is kinda weird.

Really nice! Guess I have quite the way to go, but hey! That's fine! Let's go!

Not sure if this was mentioned, but there is a typo on the site. Search for "Latest Accoutns".

Otherwise, I love the site!

Great app, thanks a lot

i like it, thanks for the APP

I thought you might like to know - spelling mistake in LATEST ACTIVITY

Latest Accoutns to be SteemCooled.

Should be Accounts.

·

Thanks for the heads up will get that fixed.

Hi there @blueorgy, great app, good post upvoted

Interesting! Thank you

Hope they leave this one stand for awhile before changing again lol

Great App - Thanks !

This is great! Like having a leveling bar in the World of Warcraft.