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

RIP Miura, Берсерк окончен

К сожалению не смог определить автора изображения. Если подскажете, размещу ссылку.

К сожалению не смог определить автора изображения. Если подскажете, размещу ссылку.

6 мая скончался Kentaro Miura — автор манги Berserk — одного из наиболее влиятельных (1, 2) произведений жанра. И одного из немногих произведений, которые на меня повлияли.

Далее

О миграциях backend

Недавно смотрел чего за последние годы сделано в области решений для миграций схем и данных в базах данных и как-то мне все решения не понравились. По крайней мере из open source ни одного проекта без косяков нюансов не нашёл.

Поэтому я решил порефлексировать и копнуть глубже — миграции баз данных всегда казались мне частным случаем общей проблемы обновления версий проекта.

Я предполагаю, что вы более-менее понимаете суть миграций в БД и сможете ориентироваться в моих допущениях: явных и неявных.

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

Далее

Верификация частными случаями

Буду говорить в контексте программирования, но соображения можно распространить шире.

Когда мы описываем алгоритм: программу, доказательство теоремы или решение математической задачи — мы строим его описание в рамках некоторой формальной модели. В рамках соглашений и ограничений, которые мы явно или неявно принимаем.

Описать алгоритм вне формальной модели невозможно. Хотя бы потому, что любой язык — уже формализация.

Отсюда вытекает интересная проблема.

Далее

Бесконечность схем данных

Программист думает о путях, которыми ходят байты. [Демон сидящий](https://ru.wikipedia.org/wiki/Демон_сидящий) (с) [Врубель](https://ru.wikipedia.org/wiki/Врубель,_Михаил_Александрович)

Программист думает о путях, которыми ходят байты. Демон сидящий (с) Врубель

Расскажу об одной боли при разработке и проектировании ПО — преобразованиях данных между их схемами. Буду говорить о серверах, как наиболее наглядном и знакомом мне примере, но соображения можно распространить на весь софт.

Для демонстрационных целей местами может случиться некоторое преувеличение.

Рассмотрим простейший проект, этакий минимальный набор:

  • один тип клиентов;
  • один сервис;
  • одно хранилище.

Данные, соответственно, ходят в обе стороны:

  • между клиентом и сервисом;
  • между сервисом и хранилищем.

Сколько схем данных вы тут видите?

Далее

Подписал письмо в поддержку Столлмана

Подробно описывать ситуацию не буду — она много где уже разжёвана. Начать раскопки можно с хабра.

Само письмо: https://rms-support-letter.github.io/

Подробнее о письме на русском, с толикой теории заговора.

Далее