Skip to content

Instantly share code, notes, and snippets.

View sokil's full-sized avatar
🇺🇦
sapere aude

sokil

🇺🇦
sapere aude
View GitHub Profile
@sokil
sokil / memcached_ttl_wtf.php
Last active June 15, 2018 12:10
Do not trust memcached ttl
<?php
$m = new Memcached();
$m->addServer('127.0.0.1', 55555);
$t = microtime(true);
$m->set('g', 42, 2);
for ($i= 0; $i<100000; $i++) {
$v = $m->get('g');
if ($v === false) {
echo microtime(true) - $t;
@sokil
sokil / show_packagist_daily_downloads.sh
Last active June 15, 2018 06:06
show_packagist_daily_downloads.sh
#!/bin/bash
curl "https://packagist.org/packages/list.json?vendor=sokil" 2>/dev/null | python -m json.tool | grep "/" | sed "s/,//g" | sed 's/"//g' | sed 's/ //g' | xargs -I{} sh -c 'echo {}; curl "https://packagist.org/packages/{}.json" 2>/dev/null | python -m json.tool | grep daily | awk -F':' "{print $3}"'
@sokil
sokil / idFromHex.sql
Last active March 22, 2018 21:26
Transact SQL Sample
declare @UserId varchar(32) = '8FF88910A765832016BFBEDA4574B083'
declare @UserIdLower varchar(32) = lower(@UserID)
declare @UserIdMd5 varchar(32) = convert(varchar(32), HASHBYTES('MD5', @UserIdLower), 2)
declare @UserIdMd5Lower varchar(32) = lower(@UserIdMd5)
declare @UserIdMd5Lower4 varchar(32) = left(@UserIdMd5Lower, 4)
declare @UserIdMd5Lower4Int int = convert(int, convert(varbinary, @UserIdMd5Lower4, 2))
SELECT
@sokil
sokil / .tmux.conf
Last active June 11, 2018 07:31
Tmux config
# Cheatsheets:
# * https://devhints.io/tmux
# * https://man.cx/tmux(1)
set-option -g status on
set -g window-status-format "#[fg=white,bg=black] #I: #W "
set -g window-status-current-format "#[fg=green,bg=black,bold] #I: #W "
set -g set-titles on
@sokil
sokil / awk_if.sh
Created March 2, 2018 14:12
awk_if.sh
#!/bin/bash
cat log.csv | awk -F',' '{if($9 == "NULL") print}' > log.empty.csv
@sokil
sokil / awk_quote.sh
Last active March 15, 2018 16:35
awk quote
#!/bin/bash
head ~/some_list.csv | \
awk -F',' -v dq='"' '{print "--date=" dq $5 dq " --transactionId=" $1}' | \
xargs -0 -d '\n' -I{} sh -c -e "some_command {}"
head ~/some_list.csv | \
awk -F',' '{print "--date=\x27" $5 dq "\x27 --transactionId=" $1}' | \
xargs -0 -d '\n' -I{} sh -c -e "some_command {}"
@sokil
sokil / gettext.sh
Created February 12, 2018 20:57
gettext
# po to mo
msgfmt xxx.po -o xxx.mo
@sokil
sokil / sys_path.sh
Created February 6, 2018 08:09
See python import dirs
#!/bin/bash
python -c "import sys; print('\n'.join(sys.path))"
@sokil
sokil / get_memcached_key.md
Last active March 28, 2022 07:43
telnet memcached

Connect to memcached

telnet localhost 11211

Get slabs info

stats slabs
stats items
@sokil
sokil / DatePeriod.php
Last active January 31, 2018 09:14
DatePeriod.php
<?php
$dateInterval = new \DateInterval('P1M');
$datePeriod = new \DatePeriod(
new \DateTimeImmutable('2016-01-01 00:00:00'),
$dateInterval,
new \DateTimeImmutable('2016-02-31 00:00:00')
);