Skip to content

Instantly share code, notes, and snippets.

Kenneth Ballenegger kballenegger

View GitHub Profile
@kballenegger
kballenegger / Code.gs
Created Feb 23, 2019
gc_distance Google Sheets Script
View Code.gs
function _tester() {
Logger.log("New test run…")
var result = gc_distance('sfo', 'jfk');
Logger.log(result)
}
function location_of(airport) {
return data[airport.toUpperCase()];
}
@kballenegger
kballenegger / spotify-star-adder.rb
Created Jul 14, 2018
A script to add the currently playing track to a predefined playlist
View spotify-star-adder.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'rspotify'
require 'open3'
require 'uri'
require 'json'
# To use script
# 1/ Create an app at: https://developer.spotify.com/dashboard/applications
@kballenegger
kballenegger / shortest-string-path-substitutions.rb
Created Jul 8, 2017
Shortest path between strings only substitutions
View shortest-string-path-substitutions.rb
Words = Set.new
File.open('/usr/share/dict/words') do |file|
file.each do |line|
Words.add(line.strip)
end
end
Alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('')
def path(input, output)
@kballenegger
kballenegger / .pryrc
Created Jul 31, 2015
[WIP] Hide cluttery auto-generated Rails methods from Pry.
View .pryrc
class ActiveRecord::Base
alias :old_methods :methods
def methods
old_methods.reject do |m|
m = m.to_s
m =~ /(=|_changed\?|_before_type_cast|_was|_change|_will_change!)$/ || \
m =~ /^_/
end
end
end
@kballenegger
kballenegger / glossarize.js
Created Jul 23, 2015
Automatically insert tooltips on all FlyerTalk pages for airport codes and common terms.
View glossarize.js
var glossary = {
"744":" 747-400",
"(S)RB":"(Sir) Richard Branson",
"*A":"the acronym stands for the Star Alliance.",
"*G":"Star Alliance Gold - Star Alliance status extended to 1Ps and 1Ks (BD*G Diamond Club Gold)",
"*S":"Star Alliance Silver - Star Alliance status extended to 2Ps and 3Ps (BD*S Diamond Club Silver)",
"-lite":"A member that obtains a status level through promotions",
"1K":"United Mileage Plus Premier Executive 1K status. Awarded to members who fly 100,000 actual miles or 100 paid segments.",
"1P":"Premier Executive - 50,000 miles or 60 segments in a calendar year",
"2K, 3K, etc.":"A less formal term to indicate those that have received 200,000 or 300,000 EQM in a year or 200 or 300 EQS in a year.",
@kballenegger
kballenegger / present.vim
Created Feb 5, 2015
Turns vim into a presentation tool for markdown files with lots of empty newlines between sections
View present.vim
set colorcolumn=0
set nocursorline
set noshowmode
set noshowcmd
set noruler
set laststatus=0
set noswapfile
set nomodifiable
highlight clear OverLength
highlight clear ExtraWhitespace
@kballenegger
kballenegger / commit-docker-data-container.sh
Last active Aug 29, 2015
Commit (image) a Docker data container.
View commit-docker-data-container.sh
#!/bin/bash
# this script does not work on OS X
[[ "$(uname -s)" == Darwin ]] && echo "This script cannot run under OS X" && exit 1
container_name=treasury_dbdata_1
container_id="$(docker inspect treasury_dbdata_1 | jq -r '.[0].Id')"
volume_path=/var/lib/mysql
tag=data
@kballenegger
kballenegger / elevatorsaga.js
Last active Aug 29, 2015
Quick and dirty elevator algorithm
View elevatorsaga.js
{
init: function(elevators, floors) {
var idleElevators = [];
var upsRequested = [];
var downsRequested = [];
var goAndSetIndicator = function (elevator, num, index) {
console.log('k: figure out where to go next');
@kballenegger
kballenegger / progress.sh
Created Jan 21, 2015
Print progress of mysql sync operation.
View progress.sh
#!/bin/bash
PID=$(ps aux | grep mysql-dev-backup-s3 | grep -v grep | awk '{ print $2 }')
# for some stupid reason, stat in our vagrant vms takes `-c format` not `-f`...
ontrap () {
echo
exit 0
}
View example-partial-stdin.sh
#!/bin/bash
echo -n "do you accept the tos (type 'y')? "
read confirm
if [[ "$confirm" == "y" ]]; then
irb
else
echo "fail"; exit 1
fo
You can’t perform that action at this time.