Skip to content

Instantly share code, notes, and snippets.

@spig
spig / webm from ts
Last active December 5, 2016 14:40
for i in *.ts; do filename=$(basename $i); base=${filename%.*}; ffmpeg -i $filename -ss 00:03:00.000 -t 00:00:30.000 -c:v libvpx -b:v 1M -c:a libvorbis $base.webm; done
@spig
spig / delete-kindle-book-annotations.js
Last active December 28, 2016 20:20
delete a kindle book's annotations
// run on https://kindle.amazon.com/your_highlights
// find asin in the form for a delete on the book you want to remove highlights for
var asin = "B00BNGXNW2";
$('form > input[value="'+asin+'"]').each(function(index, input) {
var form = input.closest('form');
var action = $(form).attr('action');
var auth = $(form).find("input[name=authenticity_token]").attr('value');
//var asin = $(form).find("input[name=asin]").attr('value');
var annid = $(form).find("input[name=annotation_id]").attr('value');
@spig
spig / goto-xquery-module.vim
Created February 22, 2017 07:44
go to module/declare with vim
function! GetXqueryNamespace()
normal! yiw
return split(split(@", ":")[0], '\$')[0]
endfunction
function! GetXqueryDeclare()
normal! yiw
return split(@", ":")[1]
endfunction
@spig
spig / install_cups+airprint_centos7.md
Created February 15, 2018 14:52 — forked from jpawlowski/install_cups+airprint_centos7.md
Install and configure CUPS 2.1.2 on CentOS 7 (LXC running on Proxmox VE) host including AirPrint

Basic setup, e.g. enable ssh

yum -y install epel-release
yum -y upgrade
yum -y install openssh-server net-tools iputils psmisc less which man mc bash-completion bash-completion-extras bash-argsparse bind-utils traceroute htop mtr
echo "export HISTTIMEFORMAT='%F %T  '" > /etc/profile.d/history.sh
echo "export HISTIGNORE='ls -l:pwd:date:'" >> /etc/profile.d/history.sh
echo "export HISTCONTROL=ignoredups" >> /etc/profile.d/history.sh
systemctl enable sshd
systemctl start sshd
@spig
spig / randomLengthSubstrings.swift
Created April 18, 2018 16:38
Random Length Substrings
static let titleArray = "Youth Theme 2015: O YE THAT EMBARK IN THE SERVICE OF GOD".split(separator: " ")
static let artistArray = "Elijah Thomas, Kyle Thorn, Maddie Wilson, Grayson O'Very, Anna Richey, Nick Neel, Baily Lawson".split(separator: ",")
public func getRandomTitle() -> String {
return getRandomLengthString(from: type(of: self).titleArray, separator: " ")
}
public func getRandomArtist() -> String {
return getRandomLengthString(from: type(of: self).artistArray, separator: ",")
}
@spig
spig / open-network-port-through-firewall.txt
Last active May 15, 2018 14:32
Update firewall on CentOS 7
Taken from http://ask.xmodulo.com/open-port-firewall-centos-rhel.html
Open a Port on CentOS/RHEL 7
Starting with CentOS and RHEL 7, firewall rule settings are managed by firewalld service daemon. A command-line client called firewall-cmd can talk to this daemon to update firewall rules permanently.
To open up a new port (e.g., TCP/80) permanently, use these commands.
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload
@spig
spig / processRow.js
Created October 27, 2018 17:11
Process a table row to get some text information from it
function processRow(row) {
let items = [... row.getElementsByTagName("td")]
let elementName = items[2].innerText
let elementSymbol = items[1].innerText
let atomicNumber = items[0].innerText
return elementName + ", " + elementSymbol + ", " + atomicNumber
}
var elements = [... document.getElementsByTagName("tr")].splice(1,).map(processRow).join('<br/>\n')
@spig
spig / dropboxcopy.bat
Created April 4, 2019 14:46
Copy all files in a folder to another folder with a pause and an infinite loop
goto :loop
:loop
echo Copying Files
copy *.jpg "C:\Users\vPro Demo\Dropbox\folder"
timeout /t 30
goto :loop
@spig
spig / main.cpp
Last active September 19, 2019 01:30
int main(int args, const char * argv[]) {
int userNum;
cout << "Enter a number: ";
cin >> userNum;
while (userNum >= 4) {
userNum = userNum / 4;
cout << userNum << " ";
}
@spig
spig / getText.js
Last active October 14, 2019 18:26
Get text of matching elements
Array.from(document.getElementsByClassName("CLASSNAME")).map(e => e.textContent).join(',');