Too Many Cards

Somebody on /r/MegaLoungeVI 1 this week asked me what my favourite magic trick (to perform) is. And because it’s far easier to show somebody than to tell them, I turned on the webcam and did a one-take shot of this, my attempt at something akin to Derek Dingle‘s stunning interpretation of Larry JenningsAmbitious Classic:

Given that it’s rare for me to film myself performing magic and be, on the whole, pleased with the result, I thought I’d share it with you all, too, in case there are those among my friends who haven’t had the opportunity yet to see me perform (apologies for the fake-sounding monologue – the sound was dubbed on later).

Why do I like this particular effect so much? It’s certainly not the thing that gets the best reaction from my spectators. In fact, if I were to ask people I’ve performed for what trick was their favourite, I imagine that not one of them would choose this. But for me, it represents the challenge of magic: it’s a moderately-complex series of sleights joined together into a rhythmic dance.

I’m not sure if that translates well, or whether one of those things, like describing code as poetry, that you already need to understand before you can understand.

In any case – if you were impressed by my trick, you should now watch a master performing it, and perhaps you’ll see how far I’ve yet got to go…


1 One of Reddit’s MegaLounges2, access to which is gained by being gilded in the prior MegaLounge (or /r/lounge itself, in the case of the first MegaLounge).

2 For the last 5 years, it’s been possible to buy “Reddit Gold” subscriptions, and for most of that time it’s been possible to anonymously gift individual months of Reddit Gold to other users (known as “gilding”), in acknowledgement of a contribution they’ve made on the site. Having “Reddit Gold” grants you access to the official gold subreddit /r/lounge; getting gilded while in /r/lounge gets you access to the unofficial /r/MegaLounge, and so on. There are several dozen ‘levels’.

[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="/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!).