type: PIN
Consumer key: 3nVuSoBZnx6U4vzUxf5w
Consumer secret: Bcs59EFbbsdF6Sl9Ng71smgStWEGwXXKSjYvPVt7qys
type: PIN
Consumer key: IQKbtAYlXLripLGPWd0HUA
// I did this in Chrome... | |
// | |
// Go to https://www.facebook.com/ads/preferences/ | |
// Click the "Advertisers" section to open it up. | |
// Click "See more" once | |
// Before doing anything else, just keep clicking space bar to trigger the "see more" button | |
// Do this for a bit until all the advertisers are loaded | |
// then run this below in the dev tools console... | |
// (It will take a few minutes, depending how many you have, and your browser may lock up, but once it's done you will see it auto clicked the "remove" X in the top right for all of them) |
### JHW 2018 | |
import numpy as np | |
import umap | |
# This code from the excellent module at: | |
# https://stackoverflow.com/questions/4643647/fast-prime-factorization-module | |
import random |
const I = x => x; | |
const K = x => y => x; | |
const A = f => x => f(x); | |
const T = x => f => f(x); | |
const W = f => x => f(x)(x); | |
const C = f => y => x => f(x)(y); | |
const B = f => g => x => f(g(x)); | |
const S = f => g => x => f(x)(g(x)); | |
const P = f => g => x => y => f(g(x))(g(y)); | |
const Y = f => (g => g(g))(g => f(x => g(g)(x))); |
The final result: require() any module on npm in your browser console with browserify
This article is written to explain how the above gif works in the chrome (and other) browser consoles. A quick disclaimer: this whole thing is a huge hack, it shouldn't be used for anything seriously, and there are probably much better ways of accomplishing the same.
Update: There are much better ways of accomplishing the same, and the script has been updated to use a much simpler method pulling directly from browserify-cdn. See this thread for details: mathisonian/requirify#5
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE language | |
SYSTEM 'language.dtd'> | |
<!-- | |
Elixir syntax highlighting definition for Kate. | |
Copyright (C) 2014 by Rubén Caro ([email protected]) | |
This library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Library General Public | |
License as published by the Free Software Foundation; either | |
version 2 of the License, or (at your option) any later version. |
# Ubuntu has a stupid policy of not cleaning up boots because they deem | |
# unknowable whether a kernel is valid or not (even if booted). Combined with | |
# the default Ubuntu setup that creates a ridiculously small /boot that is | |
# bound to be filled in a few months worth of updates, you have a recipe for a | |
# failure during upgrade, leading to being unable to update or remove anything | |
# and having to mess with apt and dpkg innards by hand. | |
# This may work for Debian too. | |
# This one liner keeps /boot fresh and clean by removing the currently | |
# running kernel version as well as the latest one (which may not be |
# Ubuntu has a stupid policy of not cleaning up boots because they deem | |
# unknowable whether a kernel is valid or not (even if booted). Combined with | |
# the default Ubuntu setup that creates a ridiculously small /boot that is | |
# bound to be filled in a few months worth of updates, you have a recipe for a | |
# failure during upgrade, leading to being unable to update or remove anything | |
# and having to mess with apt and dpkg innards by hand. | |
# This may work for Debian too. | |
# This one liner keeps /boot fresh and clean by removing the currently | |
# running kernel version as well as the latest one (which may not be |