View generate-oj-changelog.rb
#!/usr/bin/env ruby
require 'nokogiri'
require 'open-uri'
entries = []
current_entry = nil
doc = Nokogiri::HTML(open('http://www.ohler.com/dev/oj_misc/release_notes.html'))
body = doc.at_css('.content_box')
body.children.each do |cur|
View Ipify.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class Ipify {
public static void main(String[] args) throws Exception {
URL url = new URL("http://api.ipify.org");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
View update-ldap-provider.rb
puts Identity.unscoped.group(:provider).count
users = User.includes(:identities).all
duplicated_providers = %w(ldap ldapmain).sort
old_provider = 'ldap'
new_provider = 'ldapmain'
users.each do |u|
next if u.identities.blank?
View deploy.rake
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
View install-salt-masterless.sh
#!/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
View backup-mysql.sh
#!/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$')
View add-eol.sh
#!/bin/sh
sed -i '' -e '$a\' $1
View benchmark-md5.rb
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
View install-packer.sh
#!/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
View find-duplicates.rb
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