Skip to content

Instantly share code, notes, and snippets.

View mkwardakov's full-sized avatar

Michael Kwardakov mkwardakov

  • Krasnodar, Russia
View GitHub Profile
@mkwardakov
mkwardakov / gist:b73ca8af3d481de1851ddc322f222bbb
Created April 18, 2016 15:31
Bash relative path replacement
if [[ "x$SOURCE_PATH" = "x" ]]; then
SOURCE_PATH=$(cd "$(dirname $0)" && pwd)
SOURCE_PATH=${SOURCE_PATH%/*}
fi
@mkwardakov
mkwardakov / gist:247feaac68693edacc84379e820a0a0c
Last active June 28, 2016 17:02
Bash variable check using parameter expansion, and use default value.
"${ZOOKEEPER?variable is required. You may want to set it inline: ZOOKEEPER=localhost:2181 $0}"
VAR=${VAR:-default}
libraries=( 'item1' \
'item2' \
'item3' )
for j in "${libraries[@]}"; do
done
@mkwardakov
mkwardakov / gist:2ba92164767fa6d8c6374508ab9161b9
Created April 24, 2016 17:56
leprosoriumCleanReader styles for Stylish
.l-content_main {
background-color: #FAFAC8!important;
}
a.b-controls_button {
display: none;
}
.b-button_icon {
display: none;
}
a.c_show_user {
@mkwardakov
mkwardakov / gist:e830891821c6a680ab7b909404bf7564
Created April 27, 2016 18:23
Get dockerfile from an image
docker pull centurylink/dockerfile-from-image
alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm centurylink/dockerfile-from-image"
dfimage your/image
@mkwardakov
mkwardakov / gist:aec69081b6b869d31261afc3de6f1523
Last active April 29, 2016 12:16
Remove all version of an image
def drmia {
for j in $(docker images | grep $1 | awk '{print $2}'); do
docker rmi -f $1:$j;
done
}
aptitude install -y locales
echo "LANG=en_US.UTF-8" > /etc/default/locale
cat > /etc/locale.gen << EOF
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
EOF
locale-gen
@mkwardakov
mkwardakov / gist:25f76706abac66b311ae3c135bc9e698
Created June 14, 2016 14:58
3 approaches to time string parse and calculate
# regexp parser and eval variant
str = "1 year 2 months 3 days 2 hours 3 minutes 59 seconds"
t = {'minute[s]?': '*60+', 'hour[s]?': '*60*60+', 'day[s]?': '*60*60*24+', 'second[s]?': '+0', 'month[s]?': '*30*60*60*24+', 'year[s]?': '*12*30*60*60*24+'}
s = t.each {|x,y| str.gsub!(Regexp.new(x.to_s), y)}
seconds = eval(str)
# hash parser and inject variant
SECOND = SECONDS = 1
MINUTE = MINUTES = 60
HOUR = HOURS = 3600
VBoxManage modifyvm default --natdnsproxy1 on --natdnshostresolver1 on
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'hfm4/centos7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'hfm4/centos7' is up to date...
==> default: Setting the name of the VM: testV_default_1468827488759_88757
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...