I hereby claim:
- I am adrian154 on github.
- I am bithole (https://keybase.io/bithole) on keybase.
- I have a public key whose fingerprint is A30C 4FEE 8843 24A2 2DC7 8ED1 F6B8 7EE1 30D2 D6C5
To claim this, I am signing this object:
| // ==UserScript== | |
| // @name Twitter Ad Remover | |
| // @namespace http://tampermonkey.net/ | |
| // @version 0.1 | |
| // @description Nuke ads | |
| // @author adrian154 | |
| // @match https://x.com/* | |
| // @icon https://www.google.com/s2/favicons?sz=64&domain=twitter.com | |
| // ==/UserScript== |
| // ==UserScript== | |
| // @name Twitter Time Limit | |
| // @namespace http://tampermonkey.net/ | |
| // @version 0.1 | |
| // @description Limit Twitter usage | |
| // @author adrian154 | |
| // @match https://x.com/* | |
| // @icon https://www.google.com/s2/favicons?sz=64&domain=twitter.com | |
| // @grant GM_setValue | |
| // @grant GM_getValue |
| // for parsing rev 6 QT metadata | |
| data = //.. | |
| meta = //.. | |
| readNullStr = (buf, idx) => { | |
| chars = [] | |
| while(buf[idx] != 0) { | |
| chars.push(buf[idx]) | |
| idx++; |
| // README: writeup @ https://blog.bithole.dev/blogposts/ctf-writeups/squarectf-nauseous-process/ | |
| const readline = require("readline"); | |
| const {spawn} = require("child_process"); | |
| let rbp = null, retaddr = null; | |
| let index = null; | |
| let times = 0; // number of times we have seen 0x3d48--the first occurrence is not the real GOT | |
| let times2 = 0; // our current offset within GOT |
| // README: writeup @ https://blog.bithole.dev/blogposts/ctf-writeups/udctf-strong-primes/ | |
| // generate some small primes for trial division | |
| const sieve = new Uint8Array(1e7); | |
| const smallprimes = []; | |
| for(let i = 2; i < sieve.length; i++) { | |
| if(!sieve[i]) { | |
| smallprimes.push(BigInt(i)); | |
| for(let j = i; j < sieve.length; j += i) { |
| // Efficient modular exponentiation using BigInts | |
| // Based on pseudocode from https://en.wikipedia.org/wiki/Modular_exponentiation | |
| // !! NEVER use this method for actual cryptographic applications !! | |
| const powMod = (base, exponent, modulus) => { | |
| if(modulus == 1n) { | |
| return 0n; | |
| } | |
| let result = 1n; |
I hereby claim:
To claim this, I am signing this object:
| package dev.bithole.bpf; | |
| import java.lang.UnsatisfiedLinkError; | |
| import java.io.File; | |
| import java.io.IOException; | |
| import java.lang.ExceptionInInitializerError; | |
| import java.io.InputStream; | |
| import java.io.OutputStream; | |
| import java.io.FileOutputStream; | |
| public class BPF { |
| module.exports = (func, concurrency) => { | |
| let numRunning = 0; | |
| const queue = []; | |
| const invoke = ({args, resolve, reject}) => { | |
| func(...args) | |
| .then(resolve) | |
| .catch(reject) | |
| .finally(() => { |
| // extremely bad ad-hoc pgm parser | |
| // ONLY SUPPORTS 16-BIT PGMs!! | |
| const fs = require("fs"); | |
| module.exports = options => { | |
| let width, height, pixels; | |
| if(options.path) { |