Skip to content

Instantly share code, notes, and snippets.

View andsens's full-sized avatar

Anders Ingemann andsens

View GitHub Profile
@andsens
andsens / jjrender.py
Last active August 29, 2015 14:06
Renders a jinja2 template and outputs the result
#!/usr/bin/env python
# Dependencies: jinja2, pyyaml, docopt
import docopt
usage = """jjrender
Renders a jinja2 template and outputs the result
Pipe the variables in yml format into stdin
Alternatively you can simply paste the tpl after starting jjrender, terminate input with Ctrl+D
Usage: jjrender TEMPLATE
@andsens
andsens / throughput.sh
Last active August 29, 2015 14:07
Measure network throughput between two machines
#!/bin/sh
# Idea snatched from http://kb.sp.parallels.com/en/115348
# Command for quick installation:
# url='https://gist.githubusercontent.com/andsens/573186933e80a74462bb/raw/throughput.sh'; curl -so throughput.sh $url || wget --quiet -O throughput.sh $url; chmod +x throughput.sh
server() {
type pv > /dev/null 2>&1
if [ $? -eq 0 ]; then
while true; do
nc -l 1122 | pv --rate > /dev/null
printf "\n"
@andsens
andsens / type.sh
Created July 13, 2012 10:20
Keyboard typing tool for AppleTV AirControl
#!/bin/bash
url='http://apple-tv.anders.local'
menu="$url/remoteAction=1"
menuhold="$url/remoteAction=2"
up="$url/remoteAction=3"
down="$url/remoteAction=4"
select="$url/remoteAction=5"
left="$url/remoteAction=6"
right="$url/remoteAction=7"
playpause="$url/remoteAction=10"
@andsens
andsens / little_bobby_tables.sql
Created July 16, 2012 14:11
Creates ordered statements to drop all tables in mysql db avoiding most foreign key conflicts
SELECT CONCAT('DROP TABLE `', `t`.`TABLE_SCHEMA`, '`.`', `t`.`TABLE_NAME`, '`;')
FROM `information_schema`.`TABLES` t
LEFT JOIN `information_schema`.`REFERENTIAL_CONSTRAINTS` rc
ON `rc`.`CONSTRAINT_SCHEMA` = `t`.`TABLE_SCHEMA`
AND `rc`.`REFERENCED_TABLE_NAME` = `t`.`TABLE_NAME`
WHERE `TABLE_SCHEMA` = 'dbname'
GROUP BY `t`.`TABLE_NAME`
ORDER BY COUNT(`t`.`TABLE_NAME`) ASC;
@andsens
andsens / ec2-jessie-ebs.log
Created March 30, 2016 06:46
Log of running `bootstrap-vz --dry-run manifests/official/ec2/ebs-jessie-amd64-hvm.yml --log - --debug`
Loading provider ec2
Loading plugin cloud_init
Tasklist:
bootstrapvz.providers.ec2.tasks.packages.DefaultPackages
bootstrapvz.providers.ec2.tasks.host.AddExternalCommands
bootstrapvz.common.tasks.bootstrap.AddRequiredCommands
bootstrapvz.common.tasks.locale.LocaleBootstrapPackage
bootstrapvz.providers.ec2.tasks.host.GetInstanceMetadata
bootstrapvz.common.tasks.apt.AddDefaultSources
bootstrapvz.plugins.cloud_init.tasks.AddCloudInitPackages
@andsens
andsens / sign_s3.gs
Last active August 9, 2016 18:21
Google spreadsheet function for signing S3 URLs (very handy for CSV cost allocation reports when combined with the ImportData() function)
function sign_s3(access_key, private_key, bucket, object_name, validity, base_url) {
if(!base_url) {
base_url = "http://s3.amazonaws.com";
}
if(!validity) {
validity = 60;
}
expires = Math.floor((new Date()).getTime() / 1000) + validity;
object_name = encodeURIComponent(object_name);
stringToSign = "GET\n\n\n"+expires+"\n/"+bucket+"/"+object_name;
@andsens
andsens / github_push_error.log
Created August 18, 2016 10:21
git push log
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 464 bytes | 0 bytes/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
remote: ruby-jemalloc: symbol lookup error: /data/github/current/vendor/gems/2.1.7/ruby/2.1.0/gems/json-1.8.3/lib/json/ext/generator.so: undefined symbol: rb_data_typed_object_alloc
To git@github.com:user/repo
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:user/repo'
@andsens
andsens / convert_db_encoding.php
Created October 3, 2012 10:32
Converts an entire database to utf-8. Handy when you forgot to set default_encoding etc. in my.cnf
#/usr/bin/php
<?php
$mysqli = new mysqli('hostname', 'username', 'password');
$result = $mysqli->query(
"SELECT `TABLE_SCHEMA`, `TABLE_NAME` FROM `information_schema`.`TABLES`
WHERE
`TABLE_COLLATION` != 'utf8_general_ci'
AND `TABLE_SCHEMA` != 'mysql'
AND `TABLE_SCHEMA` != 'information_schema'");
@andsens
andsens / convert_to_lastpass.py
Created March 3, 2015 22:37
Converts a passpack csv export to a lastpass csv export
#!/usr/bin/env python
from collections import Counter
import csv
all_tags = []
lines = []
with open('passpack.csv') as passwords_handle:
passwords = csv.reader(passwords_handle, delimiter=',',
quotechar='"', quoting=csv.QUOTE_MINIMAL)
@andsens
andsens / merge-repo-to-subdir.sh
Created July 15, 2017 19:28
Merges a repo into a subdirectory of another repo (useful when making a submodule part of a parent repo)
#!/bin/bash -e
function merge_repo_to_subdir {
local url=$1
local commit=$2
local module_path=$3
if [[ -z $url || -z $commit || -z $module_path ]]; then
echo "Usage: merge-repo-to-subdir.sh URL BRANCH PATH" >&2
exit 1