Skip to content

Instantly share code, notes, and snippets.

@micahriggan
micahriggan / vimrc.plugins
Last active July 12, 2018 18:42
Vim with javascript plugins and general developing plugins
" General Developer Plugins
Plugin 'VundleVim/Vundle.vim'
" plugin manager
Plugin 'Valloric/YouCompleteMe'
" autocomplete 5/5
Plugin 'scrooloose/nerdtree'
@micahriggan
micahriggan / profile-cover.js
Created April 3, 2018 00:44
Delete all Facebook Pictures
// Press F12, go to console, paste the following script to delete photos from profile / cover
for(let p of document.querySelectorAll("[data-tooltip='Edit or Remove']")){p.click()};setTimeout(() => {for(let p of document.querySelectorAll("[data-action-type='delete_photo']")){p.click();} setTimeout(() => {for(let p of document.getElementsByClassName('layerConfirm')){p.click();}}, 1000)}, 1000);
@micahriggan
micahriggan / delete-mobileuploads.js
Created April 3, 2018 00:45
Delete Mobile Uploads + Other FB photos
for(let p of document.getElementsByClassName('removePhoto')){p.click(); document.getElementsByName('ok')[0].click();}
@micahriggan
micahriggan / hide-timeline.js
Created April 3, 2018 00:52
Hide from Facebook Timeline
for(let p of document.querySelectorAll("[data-tooltip='Edit or Remove']")){p.click()};setTimeout(() => {for(let p of document.querySelectorAll("[data-action-type='hide_from_timeline']")){p.click();} setTimeout(() => {for(let p of document.getElementsByClassName('layerConfirm')){p.click();}}, 1000)}, 1000);
@micahriggan
micahriggan / delete-videos.js
Created April 3, 2018 00:58
Delete Facebook Videos
for(let p of document.querySelectorAll("[data-tooltip='Edit or Remove']")){p.click()};setTimeout(() => {for(let p of document.querySelectorAll("[data-action-type='delete_video']")){p.click();} setTimeout(() => {for(let p of document.getElementsByClassName('layerConfirm')){p.click();}}, 1000)}, 1000);
@micahriggan
micahriggan / untag-posts.js
Created April 3, 2018 00:59
Untag facebook posts
for(let p of document.querySelectorAll("[data-tooltip='Edit or Remove']")){p.click()};setTimeout(() => {for(let p of document.querySelectorAll("[data-action-type='remove_tag']")){p.click();} setTimeout(() => {for(let p of document.getElementsByClassName('layerConfirm')){p.click();}}, 1000)}, 1000);
function filterObj(toFilter, filterKeys) {
return Object.entries(toFilter)
.filter(([key, value]) => filterKeys.includes(key))
.reduce((obj, [key, val]) => Object.assign(obj, { [key]: val }), {});
}
@micahriggan
micahriggan / MultiSig.sol
Last active July 30, 2018 17:59
Multi-Sig Smart Contract
vim: set ft=solidity:
pragma solidity ^0.4.24;
contract MultiSig {
struct Proposal {
address to;
uint amount;
mapping(address => bool) signers;
bool finalized;
@micahriggan
micahriggan / erc20.sol
Created October 6, 2018 16:14
erc20 spec
pragma solidity ^0.4.23;
// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
contract ERC20Interface {
function totalSupply() public constant returns (uint);
function balanceOf(address tokenOwner) public constant returns (uint balance);
function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
[{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [{
"name": "",
"type": "string"
}],
"payable": false,
"stateMutability": "view",