Что нового №1

Последние несколько месяцев было ощущение, что постоянно есть разная бытовуха, рутина, нужно бежать и делать, что-то выбирать или покупать, перевозить вещи (у нас было два переезда, хоть и не сильно значительных), делать мелкие ремонты и подобное. Так получалось, что в выходные всегда какие-то были дела из категории надо. А сейчас то ли всё подуспокоилось, то ли это был осознанный выбор не занимать целиком все выходные рутиной, но удаётся хотя бы немного для души что-то поделать, что требует определённой свежести ума, которой часто не хватает.


Понравилось видео MandaloreGaming про System Shock 2. Довольно длинный формат, почти 40 минут, в принципе рецензию можно запихать в 5-10 минут, но тогда это будет более тезисно и скорее по какому-то стандартному шаблону. 40 минут позволяют порассуждать на отвлечённые темы, более глубокие параллели провести, порефлексировать над сюжетными ходами, а в случае с классическими играми — в том же смысле, в каком «Крёстный отец» можно назвать классическим фильмом — над влиянием на жанр и индустрию. Ощущаешь, как много труда вложено в реценцию, и что-то большее в итоге для себя выносишь, не просто набор фактов.


Посмотрел давно отложенное интервью ████ c ███████. Классное, больше двух часов, оторваться невозможно (фигурально, я на самом деле люблю делать перерывы, чтобы встать, пройтись, осмыслить). ████ по большей части старается не отсвечивать, что очень профессионально. Напоминает давнее интервью с ████████, где так же героя было слушать интересно, потому что ему в принципе есть что сказать, не только по своей теме, будь то ████ или █████████.


Неделю назад, в прошлые выходные, пересобрал блог. Внешне ничего не поменялось, но с момента последнего обновления прошло пять лет, и движок нужно было обновить, иначе просто ничего нового опубликовать нельзя было. В основе — статический генератор, запускать его нужно только тогда, когда хочешь, например, добавить новый пост. Генератор собирает новую версию, потом файлы загружаются на хостинг, и до следующей встречи, ещё лет через пять. Но чтобы просто запустить его на своём ноутбуке, нужно скачать кучу зависимостей, и на практике невозможно скачать именно те версии, которые были 5 лет назад, чтобы старый код гарантированно запустился. Вот он и не запустился, вылетал сначала с одной ошибкой, потом с другой, и так далее — по каждой пришлось смотреть, какое именно обновление к ней привело, править конфигурацию, в каких-то местах добавлять простенькие функции, например, для того, чтобы дату красиво форматировать. Само собой, добавил yarn.lock, чтобы в будущем с версиями более предсказуемо работать. Потратил суммарно полдня или чуть больше.


Пока разбирался с блогом, сделал несколько наблюдений. Первое — то, что за 5 лет навыки работы с кодом подросли (следовало ожидать, да?), то есть мне не приходится подвисать над каждой ошибкой, и примерно понятно, что с чем стыкуется, понятно, что можно чем заменить, в целом логика работы генератора не вызывает вопросов. В качестве генератора у меня Metalsmith. Особенность его в том, что он очень простой и маленький, но за счёт удачной системы плагинов его легко настраивать и дорабатывать под свои нужды. У меня была мысль перенести всё на 11ty, про который много хорошего рассказывают, но пока не вижу резона. Они мне кажутся на самом деле довольно похожими друг на друга, единственная проблема с Metalsmith в том, что у него комьюнити по сути умерло, а у 11ty, наоборот, процветает. Но технический дизайн достаточно хорош, а любой плагин либо уже и так работает как надо, либо его можно написать с минимальными усилиями. Если мне нужна функция, чтобы красиво форматировать даты, я всё равно не пишу её с нуля, а беру какой-то пакет с npm — например, momentJS. А плагин, чтобы прикрутить его к моему генератору, занимает буквально пару строчек кода. Красота.


Второе наблюдение в том, что нельзя просто оставить программную систему без присмотра и надеяться, что всё будет работать. Мысль не оригинальная, но важно всегда это иметь в виду. Любой программный продукт требует ресурсов на поддержку. Даже если мы не меняем функционал, меняется платформа. Серверы не вечны, рано или поздно необходимо переезжать с одного на другой. Старая операционная система не поддерживает новое железо. Старое железо подвержено физическому износу. Старые программы не будут работать на новых операционных системах (в лучшем случае, есть какой-то эмулятор, но это не всегда помогает). Старые программы подвержены уязвимостям. Наконец, число людей, которые понимают, как система работает, со временем стремится к нулю. Даже если они живы и здоровы, они просто забывают, как что-то было устроено. Техническое знание эфемерно.


Тем не менее, одну вещь я поменял. Перенёс хостинг с Surge на Netlify. Оба хостинга для моих задач бесплатны, оба очень хорошие, но насколько классным мне казался Surge 5 лет назад (нет никакой админки, ты просто заливаешь статический сайт через командную строку, весь доступный функционал буквально из трёх действий: загрузить или удалить сайт либо посмотреть список своих уже существующих сайтов), настолько классным мне кажется Netlify сейчас. Главное преимущество в том, что в бесплатной версии есть HTTPS. Но там реально много всего ещё: и облачные функции, и дополнительная платная аналитика, и всякие варианты автоматической сборки. И опять та же история, что один продукт развивается, компания вкладывает ресурсы в развитие экосистемы, привлекает интересных сотрудников и т.д., а второй продукт скорее стоит на паузе, соцсети не обновляются, вроде бы работает, но перспективы непонятные. Здесь выбор для меня оказался более очевидным. Переехать с одного на другое заняло от силы полчаса.