[Yet More Graphs!] Where, what, and whom do you gild?

This self-post was originally posted to /r/MegaMegaMonitor. See more things from Dan's Reddit account.

They said it couldn’t be done! And, technically-speaking, they were right. But I’ve come up with a way for you to generate your personal gilding history graphs. By which I mean, things like this pie chart showing which subreddits I gild in the most.

Follow the instructions in this post, and you too can have a report made for you like this one about me – note that the web addresses each contain a unique code so that nobody else gets to see your graphs (unless you choose to share them here).

How to get your Gilding Report… more-easily

You should still read all of this post because it has some valuable warnings about doing what strangers tell you to do on the Internet. But if you’re looking for a way to get your Gilding Report that works in Firefox and doesn’t require you to copy-paste ugly code everywhere, just go to https://danq.me/megamegamonitor/gilding-graph/ and follow the instructions there. Good luck! And don’t forget to share the highlights of your results!

How to get your Gilding Report (old instructions)

Copy-paste the following code into the address bar of your browser (triple-click it to select it all):

javascript:(function(){function l(n,i){var t="/u/"+n+"/gilded/given.json?limit=100&after="+i;$("#d").append("."),$.getJSON(t,function(i){if(my_gildings_given_json.push(i.data.children),null!==i.data.after)setTimeout(function(){l(n,i.data.after)},2e3);else{for(var t=[];my_gildings_given_json.length>0;)t=t.concat(my_gildings_given_json.shift());t=JSON.stringify(t.map(function(n){return{kind:n.kind,subreddit:n.data.subreddit,author:n.data.author}})),$("body").html('<h1>Almost done...</h1><p>Just drawing some graphs...</p><form method="post" action="https://danq.me/megamegamonitor/gilding-graph/"><input type="hidden" name="u" /><input type="hidden" name="g" /></form>'),$('input[name="u"]').val(n),$('input[name="g"]').val(t),$("form").submit()}})}var my_gildings_given_json=[];$("body").html('<h1>Please wait<span id="d"></span></h1><p>This will take a little over 2 seconds per 100 gildings you've given.</p>'),$.get("/api/me.json",function(n){l(n.data.name,"")});})();

Important: many web browsers will remove the “javascript:” from the start when you paste it. If this happens, you’ll need to manually type it back in before you press enter. Sorry.

Also important (because some of my work is in computer security and I’d be remiss if I didn’t say this): if anybody asks you to post something beginning with “javascript:” into your address bar, you should be paranoid. People can do all kinds of naughty things, like trick your account into gilding them, like this. However, they can’t do anything that they couldn’t already do if you installed a browser plugin that they wrote, so if you’re already using MMM, you’re already placing more-trust than this in me. Just… be careful, people: if anybody in the comments says e.g. “hey, put this into your address bar!” then I’d recommend that you distrust them. And if somebody geeky feels like auditing my code, above, to verify for everybody that it’s not malicious, then that’d be appreciated too. In short – run at your own risk!

How does this work?

For the technically-minded (or just plain paranoid), here’s what happens when you paste that into your address bar your web browser will, over the course of several seconds (about 2 seconds for every 100 gilds, or part thereof, that you’ve made), collect statistical information about all of the gildings you’ve given (you can see the information it collects for yourself by going to /u/your-username-here/gilded/given note that you can’t see anybody else’s gildings using this method, which is why this weird Javascript-based approach is needed). That information is then collated and sent to the MegaMegaMonitor server, which collates it into a web page for you (with a secret web address) and then sends you to the web page (if you later choose to share that web address with us, that’s up to you: but hopefully you will!).

Leave a Reply

Your email address will not be published. Required fields are marked *