Skip to content

Instantly share code, notes, and snippets.

View lemenkov's full-sized avatar

Peter Lemenkov lemenkov

View GitHub Profile
@lemenkov
lemenkov / test_th.py
Created November 25, 2019 13:51
Test for topoh module
import unittest
word64digits = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+."
topo_hiding_prefix = b"DLGCH_"
def word64encode(Str):
Out = b""
i = len(Str)
j = 0
while i >= 3:
@lemenkov
lemenkov / save.sh
Created June 27, 2019 19:54
Get BLOB:HTTPS stream with FFmpeg
ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i "http://s6.domain.tv/hls/subdomain/index-v1-a1.m3u8" -c copy video.mp4
@lemenkov
lemenkov / mtu_tool_test.py
Created June 23, 2018 06:23
Test MTU in RabbitMQ
#!/usr/bin/env python
import amqp
import random
import string
if __name__ == '__main__':
Conn = amqp.Connection(host='localhost:5672', userid='guest', password='guest')
Chan = Conn.channel()
@lemenkov
lemenkov / gist:c9ff2468edc5a0d688d4927c5d26be43
Created February 24, 2018 19:53
git-cvsimport from SourceForge
rsync -av rsync://unixodbc.cvs.sourceforge.net/cvsroot/unixodbc/* .
git cvsimport -v -r cvs -d /path/to/unixODBC-CVS unixODBC
$ git review -s
... (this sets up git-review)
$ git checkout -b mycoolfeature
... (change files)
$ git commit -a
$ git review
@lemenkov
lemenkov / read_csv.r
Created July 27, 2017 10:40
Read CSV with R
d <- read.table("test.csv", header = FALSE, sep = ",")
pie(d$V2, labels=d$V1, main="My Title")
dev.copy(png,'output.png')

Docker в продакшене.

С интересом ознакомился на днях с негативным опытом использования Docker в продакшене. Несмотря на то, что автор позиционирует себя, как матерого разработчика и девопса, легко отвечающего на вопросы типа "сколько шариков для пинг-понга могут взвесить в Сан-Франциско настройщики фортепиано, если шарики нельзя помечать", он не провел предварительного исследования, а спроектировав решение, сумел наткнуться на все известные минусы Docker. Видно, что его ограниченность одной убунчей, на которую он лазит по ssh со своего макбука, серьезно мешает ему в работе.

Укажу на то, что резануло глаз сразу.

"My first encounter with docker goes back to early 2015. Docker was experimented with to find out whether it could benefit us. At the time it wasn’t possible to run a container [i

@lemenkov
lemenkov / tuva-2000-stamps-story.md
Last active September 23, 2016 20:12
Tuva 2000 stamps

A story behind these 94-96 tuvan stamps ("Tuva 2000" stamps) is rather amusing (I believe).

As you surely know USSR collapsed in 1991. I don't want to dig into politics and discuss reasons for that, just putting everyting in a chronological order. So as USSR collapsed in 1991, Russian authorities faced a tough challenge - how to keep Russia (Russian Federation) from collapsing further.

Yeltsin, a head of the country, just before (1 year before) made a huge statement - he said that every subject of Russian Federation may grab as much sovereignity as they can handle.

Surprisingly for many he kept his promise and followed this rule

@lemenkov
lemenkov / newlangs.md
Last active September 23, 2016 11:47

Олег Фатеев признается в подзамочном посте, что становится фанатом Golang. Свою любовь он объясняет горутинами и быстрой сборкой. В следующем же посте он не совсем справедливо утверждает, что в РФ не пишут новые языки программирования (формально контрипримером тут Kotlin, но в главном-то он прав), и в камментах к этому посту Игорь Щекалев выражает сомнение в необходимости создания новых языков сейчас. Контрпримером тут я сразу же привел Swift и Golang, ведь "раз звезды зажигают, это кому нибудь нужно", на что Игорь возразил следующим образом:

[Golang] мне показался унылой смесью Erlang (из которого целиком тянута концепция каналов и все связанное с ней) с С#, откуда взято все остальное. Единственные плюсы (для кого-то) - компактный рантайм и портабильность.

Не могу согласиться с Игорем.

Языки создавать нужно, потому что сильно изменяется класс задач, и доступная техника. Навскидку, я выделю такие области применения, для которых требуются новые языки:

  • Языки, компилирующие в
@lemenkov
lemenkov / unix_dgram.erl
Created September 9, 2016 15:11
How to write to DGRAM UNIX-socket using Erlang
{ok, UnixSock} = gen_udp:open(0, [local]).
gen_udp:send(UnixSock, {local, "/dev/log"}, 0, "HELLO").