Aug 26, 2019

Urllib: disable SSL sertificates check

import ssl
ssl._create_default_https_context = ssl._create_unverified_context
Fix for local environment for example for such exceptions:
Traceback (most recent call last):
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/urllib/request.py", line 1317, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/http/client.py", line 1244, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/http/client.py", line 1290, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/http/client.py", line 1239, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/http/client.py", line 1026, in _send_output
    self.send(msg)
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/http/client.py", line 966, in send
    self.connect()
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/http/client.py", line 1414, in connect
    server_hostname=server_hostname)
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/ssl.py", line 423, in wrap_socket
    session=session
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/ssl.py", line 870, in _create
    self.do_handshake()
  File "/home/alexey/anaconda3/envs/torch_04/lib/python3.7/ssl.py", line 1139, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

Oct 11, 2018

Compile tensorflow and opencv from source

Tensorflow

sudo apt install python3-dev python3-pip
pip install -U pip six numpy wheel mock
pip install -U keras_applications==1.0.5 keras_preprocessing==1.0.3 --no-deps

./configure  # see 'View sample configuration session' here https://www.tensorflow.org/install/source
bazel build --config=opt --config=cuda --config=mkl --config=monolithic //tensorflow/tools/pip_package:build_pip_package
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-1.12.0-cp36-cp36m-linux_x86_64.whl

cuDNN

Instructions here: https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

Bazel

Follow instructions: https://docs.bazel.build/versions/master/install-ubuntu.html#using-bazel-custom-apt-repository
Download from https://github.com/bazelbuild/bazel/releases
Be sure Java installed

# Bazel 18.1 for TF r1.12 
# Details why so: https://github.com/tensorflow/tensorflow/issues/23401

chmod +x bazel--installer-linux-x86_64.sh
./bazel--installer-linux-x86_64.sh --user

# add:
# export PATH="$PATH:$HOME/bin"
# to ~/.bashrc

git clone https://github.com/tensorflow/tensorflow
git checkout r1.12
https://www.tensorflow.org/install/source

Opencv

https://www.pyimagesearch.com/2018/05/28/ubuntu-18-04-how-to-install-opencv/

ln -s /usr/local/lib/python3.6/site-packages/cv2.so cv2.so
cp -r ~/anaconda3/envs/opencv_build/lib/python3.6/site-packages/cv2/ ~/anaconda3/envs/tf_build/lib/python3.6/site-packages/

Feb 26, 2018

Extract lemmas

Docs
# conda install spacy
# python -m spacy download en

In[1]: import spacy
In[2]: nlp = spacy.load('en')

In[3]: doc = nlp("Hello, my cruel world. I'm leaving you tonight.")

In[4]: list(doc.sents)
Out[4]: [Hello, my cruel world., I'm leaving you tonight.]

In[5]: list(doc)
Out[5]: [Hello,, , my, cruel, world,., I, 'm, leaving, you, tonight, .]

In[6]: doc[8]
Out[6]: leaving
In[7]: doc[8].lemma
Out[7]: 9707179535890930240
In[8]: doc[8].lemma_
Out[8]: 'leave'

In[9]: doc[8].pos_
Out[9]: 'VERB'

In[10]: from spacy import displacy
In[11]: displacy.serve(doc, style='dep')

Oct 12, 2017

Байки от Фихтенгольца

Студента математика зовут на представление в камерный театр. «Ка-мерный театр»,- читает он на билете,- «Посмотрим, посмотрим». Возвращается разочарованным. На расспросы друзей объясняет «Обещали k-мерный, а рассмотрели только тривиальный случай k=3″
Лекции Григорий Михайлович вел поистине артистично. Соответственно, мало кто отвлекался. Но в 1954 году известен случай, когда профессор Фихтенгольц выгнал первокурсника со своей лекции за игру в шахматы. Первокурсника звали Боря Спасский. Через год после этого события Борис Спасский выигрывает чемпионат мира по шахматам среди юношей, становится международным гроссмейстером, а в последствии — чемпионом мира.

Теорему о пределе промежуточной функции Григорий Михайлович называл «Теоремой о двух милиционерах» — «Если Вы обнаружили себя между двух милиционеров, направляющихся в отделение, то и сами там неминуемо окажетесь»

http://ib.mazurok.com/fun/

Анекдот от разработчиков Алисы

Dec 13, 2016

Трое математиков и трое физиков собираются ехать на поезде в другой город на конференцию. Они встречаются перед кассой на вокзале. Первой подходит очередь физиков и они, как все нормальные люди покупают по билету на человека. Математики же покупают один билет на всех. «Как же так?» — удивляются физики — «Ведь в поезде контроллер, вас же без билетов оттуда выгонят!». «Не волнуйтесь» — отвечают математики — «У нас есть МЕТОД».

Перед отправкой поезда физики рассаживаются по вагонам, но стараются проследить за применением загадочного «метода». Математики же все набиваются в один туалет. Когда контроллер подходит к туалету и стучит, дверь приотворяется, оттуда высовывается рука с билетом. Контроллер забирает билет и дальше все они без проблем едут в пункт назначения.После конференции те же вновь встречаются на вокзале. Физики, воодушевившись примером математиков, покупают один билет. Математики не берут ни одного. — А что же вы покажете контроллеру? — У нас есть МЕТОД.

В поезде физики набиваются в один туалет, математики — в другой. Незадолго до отправления, один из математиков подходит к туалету, где прячутся физики. Стучит. Высовывается рука с билетом. Математик забирает билет и возвращается к коллегам.

МОРАЛЬ: Нельзя использовать математические методы, не понимая их!

Oct 25, 2016

Compile and run Postgres with debug symbols

cd SOURCE_DIR
mkdir $HOME/root/postgres_git
./configure --enable-cassert --enable-debug CFLAGS="-ggdb -Og -g3 -fno-omit-frame-pointer" --prefix=$HOME/root/postgres_git
make
make install


sudo service postgresql stop
cd /home/seaside/root/postgres_git/bin
mkdir -p ../usr/local/pgsql/data
sudo chown postgres ../usr/local/pgsql/data
sudo su - postgres
./initdb -D ../usr/local/pgsql/data
postgres -D ../usr/local/pgsql/data > ../usr/local/pgsql/data/logfile 2>&1 &
./createdb test
./psql test
test=# SELECT pg_backend_pid();


sudo gdb -p 2466
Developer_FAQ Install

Oct 23, 2015

Задача византийских генералов

Википедия: Задача византийских генералов

g1 g2 g3 g4
(1,2,x,4) (1,2,x,4) (1,2,x,4) (1,2,x,4)
(1,2,y,4) (1,2,y,4) (1,2,y,4) (1,2,y,4)
(a,b,c,d) (e,f,g,h) (1,2,3,4) (i,j,k,l)
(1,2,z,4) (1,2,z,4) (1,2,z,4) (1,2,z,4)

Aug 19, 2015

“Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта?
Программист: ну представь, что ты писатель и поддерживаешь проект “Война и мир”. У тебя ТЗ — написать главу как Наташа Ростова гуляла под дождём по парку. Ты пишешь “шёл дождь”, сохраняешь, вылетает сообщение об ошибке “Наташа Ростова умерла, продолжение невозможно”. Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение “Поручик Ржевский умер.” Выясняется, что он в следующей главе облокачивается о столб, которого уже нет..”

Jun 22, 2015

Jun 8, 2015

Parallel Programming

Amdahl's law
The speedup of a program using multiple processors in parallel computing is limited by the time needed for the sequential fraction of the program. For example, if a program needs 20 hours using a single processor core, and a particular portion of the program which takes one hour to execute cannot be parallelized, while the remaining 19 hours (95%) of execution time can be parallelized, then regardless of how many processors are devoted to a parallelized execution of this program, the minimum execution time cannot be less than that critical one hour. Hence the speedup is limited to at most 20×.

Gustafson–Barsis' law
Says that computations involving arbitrarily large data sets can be efficiently parallelized.

May 21, 2015

May 13, 2015

May 5, 2015

У скольких целых чисел, лежащих в диапазоне от 1 до 1000, есть цифра 3?

Сначала узнаем, сколько чисел не имеют 3 в своей записи. Для этого на каждое место ставим 9 цифр, не включающие 3 т.е. 9 * 9 * 9 = 729. Если всего чисел 1000, то ответ 1000 – 729 = 271.

http://tproger.ru/problems/count-digit-3-in-numbers-from-1-to-1000/