Skip to content

Instantly share code, notes, and snippets.

@bakkot
Last active August 7, 2016 02:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bakkot/844abe61318432ab9387c2beea55a394 to your computer and use it in GitHub Desktop.
Save bakkot/844abe61318432ab9387c2beea55a394 to your computer and use it in GitHub Desktop.
A golden crown, that men shall tremble to behold
// ==UserScript==
// @name SSC-crown
// @namespace http://github.com/bakkot/SlateStarComments
// @description A golden crown, that men shall tremble to behold!
// @include http://slatestarcodex.com/*
// ==/UserScript==
let crown = 'data:image/png;base64,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'
let md5 = (function () {
// md5 implementation from https://gist.github.com/MichaelPote/3f0cefaaa9578d7e30be
var md5cycle = function (x, k) {
var a = x[0],
b = x[1],
c = x[2],
d = x[3];
a = ff(a, b, c, d, k[0], 7, -680876936);
d = ff(d, a, b, c, k[1], 12, -389564586);
c = ff(c, d, a, b, k[2], 17, 606105819);
b = ff(b, c, d, a, k[3], 22, -1044525330);
a = ff(a, b, c, d, k[4], 7, -176418897);
d = ff(d, a, b, c, k[5], 12, 1200080426);
c = ff(c, d, a, b, k[6], 17, -1473231341);
b = ff(b, c, d, a, k[7], 22, -45705983);
a = ff(a, b, c, d, k[8], 7, 1770035416);
d = ff(d, a, b, c, k[9], 12, -1958414417);
c = ff(c, d, a, b, k[10], 17, -42063);
b = ff(b, c, d, a, k[11], 22, -1990404162);
a = ff(a, b, c, d, k[12], 7, 1804603682);
d = ff(d, a, b, c, k[13], 12, -40341101);
c = ff(c, d, a, b, k[14], 17, -1502002290);
b = ff(b, c, d, a, k[15], 22, 1236535329);
a = gg(a, b, c, d, k[1], 5, -165796510);
d = gg(d, a, b, c, k[6], 9, -1069501632);
c = gg(c, d, a, b, k[11], 14, 643717713);
b = gg(b, c, d, a, k[0], 20, -373897302);
a = gg(a, b, c, d, k[5], 5, -701558691);
d = gg(d, a, b, c, k[10], 9, 38016083);
c = gg(c, d, a, b, k[15], 14, -660478335);
b = gg(b, c, d, a, k[4], 20, -405537848);
a = gg(a, b, c, d, k[9], 5, 568446438);
d = gg(d, a, b, c, k[14], 9, -1019803690);
c = gg(c, d, a, b, k[3], 14, -187363961);
b = gg(b, c, d, a, k[8], 20, 1163531501);
a = gg(a, b, c, d, k[13], 5, -1444681467);
d = gg(d, a, b, c, k[2], 9, -51403784);
c = gg(c, d, a, b, k[7], 14, 1735328473);
b = gg(b, c, d, a, k[12], 20, -1926607734);
a = hh(a, b, c, d, k[5], 4, -378558);
d = hh(d, a, b, c, k[8], 11, -2022574463);
c = hh(c, d, a, b, k[11], 16, 1839030562);
b = hh(b, c, d, a, k[14], 23, -35309556);
a = hh(a, b, c, d, k[1], 4, -1530992060);
d = hh(d, a, b, c, k[4], 11, 1272893353);
c = hh(c, d, a, b, k[7], 16, -155497632);
b = hh(b, c, d, a, k[10], 23, -1094730640);
a = hh(a, b, c, d, k[13], 4, 681279174);
d = hh(d, a, b, c, k[0], 11, -358537222);
c = hh(c, d, a, b, k[3], 16, -722521979);
b = hh(b, c, d, a, k[6], 23, 76029189);
a = hh(a, b, c, d, k[9], 4, -640364487);
d = hh(d, a, b, c, k[12], 11, -421815835);
c = hh(c, d, a, b, k[15], 16, 530742520);
b = hh(b, c, d, a, k[2], 23, -995338651);
a = ii(a, b, c, d, k[0], 6, -198630844);
d = ii(d, a, b, c, k[7], 10, 1126891415);
c = ii(c, d, a, b, k[14], 15, -1416354905);
b = ii(b, c, d, a, k[5], 21, -57434055);
a = ii(a, b, c, d, k[12], 6, 1700485571);
d = ii(d, a, b, c, k[3], 10, -1894986606);
c = ii(c, d, a, b, k[10], 15, -1051523);
b = ii(b, c, d, a, k[1], 21, -2054922799);
a = ii(a, b, c, d, k[8], 6, 1873313359);
d = ii(d, a, b, c, k[15], 10, -30611744);
c = ii(c, d, a, b, k[6], 15, -1560198380);
b = ii(b, c, d, a, k[13], 21, 1309151649);
a = ii(a, b, c, d, k[4], 6, -145523070);
d = ii(d, a, b, c, k[11], 10, -1120210379);
c = ii(c, d, a, b, k[2], 15, 718787259);
b = ii(b, c, d, a, k[9], 21, -343485551);
x[0] = add32(a, x[0]);
x[1] = add32(b, x[1]);
x[2] = add32(c, x[2]);
x[3] = add32(d, x[3]);
}
var cmn = function (q, a, b, x, s, t) {
a = add32(add32(a, q), add32(x, t));
return add32((a << s) | (a >>> (32 - s)), b);
}
var ff = function (a, b, c, d, x, s, t) {
return cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
var gg = function (a, b, c, d, x, s, t) {
return cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
var hh = function (a, b, c, d, x, s, t) {
return cmn(b ^ c ^ d, a, b, x, s, t);
}
var ii = function (a, b, c, d, x, s, t) {
return cmn(c ^ (b | (~d)), a, b, x, s, t);
}
var md51 = function (s) {
var txt = '',
n = s.length,
state = [1732584193, -271733879, -1732584194, 271733878],
i;
for (i = 64; i <= s.length; i += 64) {
md5cycle(state, md5blk(s.substring(i - 64, i)));
}
s = s.substring(i - 64);
var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for (i = 0; i < s.length; i++)
tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
tail[i >> 2] |= 0x80 << ((i % 4) << 3);
if (i > 55) {
md5cycle(state, tail);
for (i = 0; i < 16; i++) tail[i] = 0;
}
tail[14] = n * 8;
md5cycle(state, tail);
return state;
}
var md5blk = function (s) {
var md5blks = [], i;
for (i = 0; i < 64; i += 4) {
md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
}
return md5blks;
}
var hex_chr = '0123456789abcdef'.split('');
var rhex = function (n) {
var s = '',
j = 0;
for (; j < 4; j++)
s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];
return s;
}
var hex = function (x) {
for (var i = 0; i < x.length; i++)
x[i] = rhex(x[i]);
return x.join('');
}
var add32 = function (a, b) {
return (a + b) & 0xFFFFFFFF;
}
return function (s) {
return hex(md51(s));
}
})();
let user = document.cookie.match(/_author_email[^=]*=(.*)($|;)/)[1];
if (user) {
let hash = md5(decodeURIComponent(user));
let img = document.createElement('img');
img.src = crown;
img.style.position = 'absolute';
img.style.top = '-13px';
img.style.left = '0px';
img.style.zIndex = '1';
img.style.width = '50px';
let avatars = Array.from(document.querySelectorAll('.avatar'));
for (let av of avatars) {
if (av.src.match(hash)) {
av.parentNode.insertBefore(img.cloneNode(), av);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment