Эссе о разработке игр, мышлении и книгах

О проектировании миров

Таким может быть ваш новый мир (c) [Рашап](https://the-tale.org/accounts/18776)

Таким может быть ваш новый мир (c) Рашап

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

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

Далее

Автоматизация импортов в Python

Пример автоматизаиции импорта.

Пример автоматизаиции импорта.

Написал библиотеку для автоматического импорта модулей в Python.  Анализирует код и самостоятельно импортирует что надо. Называется smart imports: pypi, github.

Написал год назад (то есть год уже использую в своих проектах), но написать статью только сейчас руки дошли :-)

Документация пока находится на хабре.

Нейронный сети научили генерировать полноценные анимэшные аватарки

Пример сгенерированных нейронной сетью аватарок

Пример сгенерированных нейронной сетью аватарок

Пример можно найти на картинке и по ссылкам:

сайт с генератором

краткий отчёт по разработке

статья

Но куда интереснее не сам результат, а способ его получения:

  1. Сырую обучающую выборку слили с сайта об японских играх (изображения персонажей).
  2. На этих изображениях сторонней нейронной сетью распознали лица.
  3. Другой сторонней нейронной сетью назначили полученным портретам теги (цвет волос, глаз, etc).
  4. Обучили свою сеть, которая по параметрам генерирует картинки.
  5. Использовали сеть из пункта 3 для расчёта оценочной функции (на сколько полученная картинка соответствует требованиям).
  6. Конечный результат получается генерацией нескольких аватарок и выбором одной с лучшим значением оценочной функции.

То есть в работе задействовано 3 нейронные сети, 2 из которых — обучены ранее другими людьми. По этому поводу можно было бы расписать много интересного, но просто оставлю как факт.

Опыт портирования проекта на Python 3

Лого Python 3.

Портировал Сказку на Python 3.

Хочу поделиться опытом портирования проекта с Python 2.7 на Python 3.5. Необычными засадами и прочими интересными нюансами.

Немного о проекте:

  • Браузерка: сайт + игровая логика (иерархические конечные автоматы + куча правил);
  • Возраст: 4 года (начат в 2012);
  • 64k loc логики + 57k loc тестов;
  • 2400 коммитов.

Далее

Задачи DevOps

На работе потребовалось сформулировать задачи для DevOps. Эта роль протянула свои щупальца почти во все аспекты разработки ПО, и человеческим языком описать её задачи оказалось довольно сложно. В итоге получился такой вот перечень (конечно, это задачи именно melesta-вского DevOps):

Далее