Skip to content

Instantly share code, notes, and snippets.

@chulkilee
chulkilee / deploy.rake
Created January 23, 2015 01:53
capistrano deploy:check for local git repo
namespace :deploy do
namespace :git do
before :check, :local_repo do
on release_roles :all do
unless test "[ -d #{fetch(:local_repo_path)} ]"
execute :mkdir, '-p', fetch(:local_repo_path)
execute :git, "init --bare #{fetch(:local_repo_path)}"
end
end
end
#!/bin/bash -eux
# http://docs.saltstack.com/en/latest/topics/tutorials/quickstart.html
# bootstrap salt minion
curl -L https://bootstrap.saltstack.com | sh
# make it masterless
sed -i 's/^#file_client: remote$/file_client: local/' /etc/salt/minion
#!/bin/bash -eu
# Dump all mysql databases in to separate files
# config
user=backup-db
dir=/home/backup-db/data/mysql
# runtime variables
ts=$(date +%Y%m%d%H%M%S)
dbs=$(sudo -i -u ${user} mysql -N -r -s -e 'SHOW DATABASES' | egrep -v '^information_schema|performance_schema$')
@chulkilee
chulkilee / add-eol.sh
Last active August 29, 2015 14:10
EOL
#!/bin/sh
sed -i '' -e '$a\' $1
@chulkilee
chulkilee / benchmark-md5.rb
Created October 2, 2014 19:27
Benchmark htauth gem to create md5 password
require 'benchmark'
require 'open3'
require 'htauth/md5'
SALT =
def run_open3
Open3.popen3('htpasswd', '-nbm', 'username', 'password') { | stdin, stdout, stderr | stdout.read }.strip.split(':')[1]
end
#!/bin/bash -eux
packer_ver=0.5.2
packer_prefix=/opt
packer_arch=linux_amd64
mkdir -p ${packer_prefix}/packer-${packer_ver}
cd ${packer_prefix}/packer-${packer_ver}
wget https://dl.bintray.com/mitchellh/packer/${packer_ver}_${packer_arch}.zip
unzip ${packer_ver}_${packer_arch}.zip && rm ${packer_ver}_${packer_arch}.zip
@chulkilee
chulkilee / find-duplicates.rb
Created March 6, 2014 19:07
Find duplicates in an array
require 'benchmark'
require 'set'
array_size = (ENV['TOTAL'] || 1_000_000).to_i
max_int = array_size / 5
array = 1.upto(array_size).map { rand(max_int) }
if ENV['CHECK']
@correct = array.group_by { |e| e }.select { |k, v| v.size > 1 }.keys.sort
end
#!/bin/bash
echo "# Update brew"
brew update && brew upgrade
brew doctor
brew cleanup
echo "# Update ruby gem"
gem update --system && gem update
#!/bin/sh
HAROOPAD_BIN=/opt/homebrew-cask/Caskroom/haroopad/0.10.0/haroopad.app/Contents/MacOS/node-webkit
cd $(dirname "$1")
ABS_PATH="$(pwd)/$(basename "$1")"
exec $HAROOPAD_BIN $ABS_PATH &> /dev/null &
#!/bin/bash
for man in 1 3 5 7; do
ln -sf /usr/local/lib/node_modules/npm/man/man${man}/* /usr/local/share/man/man${man}
done
ln -sf /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
npm update npm -g