Skip to content

Instantly share code, notes, and snippets.

View ei-grad's full-sized avatar

Andrew Grigorev ei-grad

View GitHub Profile
#!/usr/bin/env python3
from base64 import b64decode
from functools import reduce
from hashlib import md5
from io import BytesIO
import struct
BEUInt32 = struct.Struct(">I")
@ei-grad
ei-grad / tskv.py
Last active January 6, 2017 13:15
Tab-separated key=value format parser
def parse_line(line):
return dict(i.split('=', 1) for i in line.split('\t') if i)
def loads(s):
cur, prev = 0, 0
while True:
cur = s.find("\n", prev)
if cur == -1:
d = parse_line(s[prev:cur])
select * into temporary table tmp_camp50 from campaigns where id = 50;
update tmp_camp50 set id = nextval(campaigns_id_seq), uuid = uuid_generate_v4();
insert into campaigns (select * from tmp_camp50);
@ei-grad
ei-grad / output.txt
Created October 28, 2016 16:48
Python multiprocessing.Queue sucks
zmq: 2.904726
queue: 12.812472
var system = require('system');
var webPage = require('webpage');
var page = webPage.create();
page.open(system.args[1], function (status) {
console.log(page.plainText);
phantom.exit();
});
@ei-grad
ei-grad / es_routing_to_shard.py
Last active July 3, 2020 11:38
Calculate Elasticsearch Shard ID by routing or parent value.
# taken from https://gist.github.com/chris-belcher/1f1fee0b39f023d7bd04dc6e5b722359
# taken from https://stackoverflow.com/questions/13305290/is-there-a-pure-python-implementation-of-murmurhash
def murmur(data):
seed = 0
c1 = 0xcc9e2d51
c2 = 0x1b873593
@ei-grad
ei-grad / setup_locales.sh
Created September 24, 2016 14:22
Debian locale setup
set -e
set -x
apt-get update
apt-get install locales
echo "locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8, ru_RU.UTF-8 UTF-8" | debconf-set-selections
echo "locales locales/default_environment_locale select ru_RU.UTF-8" | debconf-set-selections
sed -i 's/^# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen
dpkg-reconfigure --frontend=noninteractive locales
@ei-grad
ei-grad / .gitconfig
Created September 4, 2016 21:55
gitconfig
[user]
name = Andrew Grigorev
email = [email protected]
[alias]
st = status
ci = commit
co = checkout
br = branch
d = diff
dc = diff --cached
@ei-grad
ei-grad / mysql-grants
Created September 1, 2016 20:08
Show mysql grants
mysql -B -N -e "SELECT DISTINCT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') AS query FROM user ORDER BY user, host" mysql | mysql | grep -v 'Grants for'
set ai si smarttab et sw=4 ts=4
filetype plugin indent on
execute pathogen#infect()