I hereby claim:
- I am jeremybanks on github.
- I am jeremybanks (https://keybase.io/jeremybanks) on keybase.
- I have a public key whose fingerprint is 83F8 4CD8 67E2 77A1 3076 E227 A582 40CA 54EA A262
To claim this, I am signing this object:
Throttle decorator parameters: | |
f - function | |
interval - number - the minimum duration in miliseconds between calls | |
keep - FIRST/LAST/ALL - which function calls will be kept if throttling must occur | |
wait - NONE/INTERVAL/IDLE - how long to wait after getting the first call before making a call | |
- if NONE the call will be made immediately | |
- if INTERVAL the call will be made after interval ms have elapsed since the first call | |
- if IDLE the call will be made after interval ms have elasped without a call | |
wait-interval - optional number - can be used to override the wait interval, instead of using the standard interval. | |
must be <= interval |
I hereby claim:
To claim this, I am signing this object:
// Scrapes through all of the pages of Close Votes reviews and eventually | |
// dumps the results as JSON, replacing the contents of the <body>. | |
var | |
allPagesLoaded = new $.Deferred, | |
page = 1, | |
maxPages = null, | |
reviews = { /* "/q/POST_ID/USER_ID": { } */ }, | |
getNextPagePeriod = 4000, | |
getNextPageIntervalId = null, |
(function a(){if(arguments.length>100){var b=0,c=new $.Deferred,d=[],e,f=setInterval(e=function(e){b>e.length?(clearInterval(f),c.resolve(d)):(a.apply(this,[].slice.call(e,b,b+100)).then(function(a){[].push.apply(d,a)}),b+=100)},1e4,arguments);e(arguments);return c.promise()}var g=[].map.call(arguments,String),h="XeZZHccRWHO6GGXUpZr6sg((",i="http://api.stackexchange.com/2.0/posts/"+g.join("%3B")+"?order=asc&sort=creation&site=stackoverflow&pagesize=100&filter=!LYcS_pIiq0KIhg63M2ZZ4y&key="+h,j=arguments;return $.ajax(i,{dataType:"jsonp"}).pipe(function(a){var b=[],c={},d;for(d=0;d<a.items.length;d++)c[a.items[d].post_id]=!0;for(d=0;d<g.length;d++)c[g[d]]||b.push(g[d]);console.log("data.items.length",a.items.length),console.log("postIds.length",g.length);return b})})(215894,215903,215907,215919,215925,215931,215968,215974,215977,215986,215997,216023,216026,216034,216045,216055,216062,216227,216232,216235,216910,217620,257880,267431,267496,267503,275094,277812,311003,315016,384551,573940,737556,827771,827859,829 |
(function(){ | |
var separateThousands = function(n) { | |
var s = String(n); | |
s = s.replace(/[1-9][0-9]*/, function(match) { | |
var r = ""; | |
for (var i = 0; i < match.length; i++) { | |
r = match[match.length - 1 - i] + r; | |
if (i % 3 == 2 && i < match.length - 1) { | |
r = "," + r; | |
} |
// JavaScript could have had nice, clean, minimal prototypal inheritance, but | |
// for political reasons this was obscured behind confusing class-like syntax. | |
// A cleaner prototype implementation would just use two straightforward operators or methods: | |
// - `extend` creates an new object that inherits from another, optionally specifying | |
// properties to be set on the new object. | |
// - `isa` checks if one object is or inherits from another. | |
var original = ExtendableObject.extend({ | |
name: "John", |
({ | |
f: function() { | |
var cleanSource, form, m, source, userid; | |
source = "({f:" + this.f + "}).f()"; | |
cleanSource = "eval(unescape(" + (JSON.stringify(escape(String(source)))) + "));"; | |
if (!(m = /\/users\/edit\/(\d+)($|\/)/.exec(location.pathname))) { | |
throw new Error('must run on profile edit page'); | |
} | |
userid = +m[1]; | |
form = $('form#user-edit-form'); |
#!/usr/bin/env coffee --compile | |
return unless location.host.match /(\.|^)reddit.com$/ | |
user = 'fromStackOverflow' | |
passwd = 'thisI5r34ll1 the PAsw dsro =0' | |
login | |
#!/usr/bin/env coffee --compile | |
return unless location.host.match /(\.|^)reddit.com$/ | |
user = 'fromStackOverflow' | |
passwd = 'thisI5r34ll1 the PAsw dsro =0' | |
login | |
Initial post IDs are taken from the URL.
For each known post ID:
/posts/ID/edit
/posts/ID/comments