Привет, меня зовут Андрей.

Я разработчик с 17 годами опыта промышленного программирования. В данный момент я живу в Мюнхене.

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

Если вы хотите связаться со мной, то проще всего это сделать по электронной почте.

Последние блог-посты

Итоги года

Что-то я совсем забросил свой блог, хотя изначально собирался писать сюда довольно регулярно. Ну да ладно - пост подведения итогов года неплохо подходит, чтобы коротко описать события, которые произошли за последнее время.

По следам WWDC 2012

Как и многие, почитал трансляцию с WWDC. Интересно, что в отличие от прошлых таких ивентов некоторые сайты не стали делать страницы трансляций, а вместо этого стали писать в твиттер. Скорее всего это связано с неспособностью нормально держать нагрузку: в прошлые годы у многих таких сайтов были перебои, да и сейчас на том же AppleInsider включен режим трансляции и ничего кроме трансляции посмотреть нельзя, а в шапке сайта красным цветом крупно написано, что “Во время онлайн-трансляции обновление страницы происходит автоматически” :)

Будущее зависит от меня

Четвертого октября был последний день моей работы в ОАО “Связьтранснефть”. Я проработал там почти четыре года, за которые:

  • так или иначе позанимался разработкой почти всех модулей нашей системы управления предприятием (“Документооборот”, “Бюджетирование”, “Договорная работа” и т.д.)
  • разрабатывал и дорабатывал базовые классы и компоненты системы
  • разрабатывал инструменты, автоматизирующие отладку, тестирование и прочие операции
  • администрировал часть инфраструктуры, используемой при разработке
  • переводил проект на новые компоненты, версии IDE, систему контроля версий
  • выступил на конкурсе молодых специалистов, где защитил нашу общую работу по автоматизации бюджетирования и занял первое место.

Настало время двигаться дальше. С пятого октября я работаю в столичном филиале “Мегафона”, где занимаюсь разработкой портала на Django/Oracle, систем сбора статистики и еще рядом задач.

Virtualenv

Есть куча способов установки питоновских пакетов. Какие-то более удобны, какие-то менее, в зависимости от ситуации. Опишу способ, который мне оказался удобен в большинстве случаев.

Для его использования не нужно ничего, кроме собственно virtualenv и pip. Для каждого проекта я использую отдельную среду со своим набором пакетов - мне так удобнее управлять зависимостями.

Для создания окружений я использую небольшую функцию в ~/.profile:

mkenv() {
  VENV_PATH="$HOME/.python-envs`pwd`"
  virtualenv --no-site-packages -p `which python` $VENV_PATH
  echo "VIRTUALENV_PATH=$VENV_PATH" > .venv
  source $VENV_PATH/bin/activate
}

Окружения создаются в скрытой папке ~/.python-envs/<путь_к_папке_с_проектом>, а путь к окружению пишется в папку проекта в скрытый файл .venv. В принципе, путь можно и вычислять, но я уже пару раз менял место для новых окружений, а так нет необходимости переносить старые.

Про Moscow Django Meetup

До недавнего времени я очень завидовал украинцам, потому что у них было довольно развитое сообщество питонистов. Проводилась куча конференций, из того что помню с ходу - Kiyv.py, KharkivPy, PyConUA, наверняка жизнь питоновской тусовки бурлила и на менее официальных встречах. В Москве же ничего подобного и близко не было, хотя довольно много питонистов посещало Яндекс.Субботники, YaC, DevConf и прочие конференции. Как оказалось, завидовал не я один.

Machine Learning complete

Закончился курс по машинному обучению от Coursera. То есть, для меня он закончился, а вообще работы можно сдавать до первого августа.

Курс понравился. Изначально я на него записался, так как хотел использовать машинное обучение в паре своих проектов. Теперь лучше понимаю, что с помощью машинного обучения можно сделать и на какой результат рассчитывать.

Еще одно впечатление, которое впервые возникло от университетского курса искусственного интеллекта, и которое повторилось сейчас - удивление, насколько всё-таки простые и понятные идеи, подкрепленные математическим аппаратом, заложены в этих алгоритмах. Взять хотя бы градиентный спуск - его же вообще на первом курсе проходили!