Skip to content

Instantly share code, notes, and snippets.

@chulkilee
chulkilee / diff-gemfile.rb
Created October 11, 2023 21:27
generate changes from git diff Gemfile.lock
#!/usr/bin/env ruby
# frozen_string_literal: true
def read_changes
gem_changes = {}
ARGF.each_line do |line|
next unless /(?<op>[-+]) (?<name>\S+) \((?<ver>\S+)\)/ =~ line.strip
gem_changes[name] ||= {}
#!/bin/bash
# https://httpd.apache.org/docs/2.2/misc/password_encryptions.html
HTPASSWD=$1
USERNAME=$2
PASSWORD=$3
ENTRY=`cat $HTPASSWD | grep "^$USERNAME:"`
HASH=`echo $ENTRY | cut -f 2 -d :`
SALT=`echo $HASH | cut -f 3 -d $`
@chulkilee
chulkilee / link_parser.ex
Last active June 23, 2019 00:52
Parsing HTTP Link header with NimbleParsec
@chulkilee
chulkilee / gitlab-backfill-service-from-template.rb
Created April 25, 2018 19:34
GitLab: backfill service from template
service_klass_to_property_keys = {
JiraService => %w[api_url url username password]
}
service_klass_to_property_keys.each do |klass, property_keys|
template_properties = klass.find_by!(template: true).properties.slice(*property_keys)
klass.find_each do |service|
service.properties = service.properties.merge(template_properties)
service.save! if service.changed?
@chulkilee
chulkilee / new-phx.sh
Created March 2, 2018 23:21
new-phx.sh
#!/bin/bash -eux
# tested with phoenix 1.3.0
shopt -s nullglob
app_path=$1
elixir_version=${ELIXIR_VERSION:-1.6.1}
echo n | mix phx.new "$app_path" --no-brunch --no-html
cd "$app_path"
@chulkilee
chulkilee / get-cert-chain.sh
Created December 13, 2017 23:09
Get cert chain
servername=
port=
echo \
| openssl s_client -showcerts -servername $servername -connect $servername:$port 2>&1 \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \
> $servername.crt
@chulkilee
chulkilee / .gitconfig
Last active March 25, 2017 07:27
Git Configuration
[alias]
# basic shortcut
br = branch
ci = commit
co = checkout
df = diff
rb = rebase
stat = status
# full info
@chulkilee
chulkilee / generate-oj-changelog.rb
Created December 14, 2016 22:07
Generate changelog for oj gem
#!/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|
#!/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 &