На календаре 8-е января. Пора выкатываться на тренировки. Мои тренировки не прекращались, хотя и была пара недель в облегченном режиме. Это была подготовка к поеданию салатиков 😀.
Как бы то ни было, до сего дня все тренировки были несложными. Ну по крайней мере не казались сложными. Зато сегодня предстоят отрезки. 200х200 х8. Звучит понятно, если не думать о примерном времени в 45 секунд, за которые эти 200 м надо преодолеть восемь раз 😀.
Upd: Отрезки состоялись. Это была определенно очень интересная тренировка. Во-первых, погода: с утра всё было в тумане. Последний месяц мне вообще кажется, что я живу где-то в районе туманного Альбиона. Туманы и цена на недвижку примерно одинаковые. Хотя и есть нюанс... Во-вторых, сама программа тренировки была очень разнообразной. Сомневался в своих силах на отрезках. Но оказалось, могу бежать двухсот метровки по 40 - 44 секунды. На последних паре отрезков устали не только ноги, но и руки. В моей программе тренировок есть отдельное упражнение — махи руками. Так вот, оно мне кажется очень полезным для вот таких вот скоростных работ.
Как бы то ни было, руки начали уставать на последних паре отрезков. Про ноги вообще молчу. Если в начале отрезков они отлично поднимались, то последние отрезки казалось, что ноги совсем не мои 😀. Из-за тумана беговая дорожка при быстрых работах ощущалась очень скользкой. Влажность была такая, что вода просто капала с волос.
Как оказалось, отрезки были не самой неподъемной частью. Далее по плану был 1км по 4. И вот тут я как раз не вывез. Ни пробежать по 4:00, ни пробежать 1 километр. Вышло где-то 700 метров по 4:35, а дальше мозг напрочь отказался заставлять тело. Немного отдохнув и повисев на турнике отправился домой.
Что хочу сказать? Это была без сомнения отличная тренировка, на которой надо было работать не только ногами, но и головой. Мне даже показалось, что я отвык от таких заданий за время моего отдыха и даже немного соскучился. Не всё получилось так как хотелось, но разнообразие задач и их сложность определенно зарядило на весь день.
Этот год отмечен значительным прогрессом в беге, активными путешествиями, техническим развитием и важными личными достижениями. Если верить runalyze, то в этом году я набегал больше 1000 км. За этот год было 7 стартов. И столько же финишей, что безусловно радует:
Были поездки на забеги и просто в отпуск. Видел море, горы и другие города. Съездили в Стамбул, в Черногорию, исследовали север Сербии – Суботицу и Сомбор. В блоге есть тег traveling, там можно найти про все путешествия.
В техническом плане год тоже был интересным. Наконец-то решился перевести блог с WordPress на Rails. Да, после админки WordPress это сильно заметно, но зато всё работает так, как хочется. Распрощался со Strava и перешел на Runalyze – прекрасный сервис для анализа тренировок. Даже начал помогать с переводом на русский язык.
Для бегового клуба @EcoRunGeo запустили телеграм бота. Начинали с пары сотен строк кода. Вся бизнес логика умещалась в одном файле. Сейчас бот — это не только пара кнопок, видимая пользователям. Сделали админку, переехали с одного сервера на другой и отразили атаку ботов. Конечно же не обошлось без багов. Стараемся их исправлять как можно скорее, но некоторые ошибки заставляют поломать голову (привет всем быстрым бегунам с большими объемами, я помню о вас). Список задач в бэклоге драйвит и хочется их реализовать все и сразу. Но это уже планы на следующий год.
Планов на следующий год очень много. В этом году экспериментировал с форматами. Завел телеграм канал и понял, что лучше обычного блога ничего не придумали. Поэтому планирую продолжить писать и в телеграм и в блог. Возможно еще прикручу рассылку на email или использую для этого substack. Еще завел аккаунты для доната и теперь можно купить мне кофе или подписаться на Boosty.
В общем, год получился насыщенным. Были и сложности, и радости, но главное – движение вперед. Впереди новый сезон, новые старты и новые города.
Друзья, с наступающим вас 🎄 Спасибо, что были рядом весь этот год – на забегах, в путешествиях, в комментариях и личных сообщениях. Каждая встреча, каждый разговор делали этот год особенным. Пусть в новом году у каждого из вас будет больше поводов для улыбок, интересных маршрутов и классных достижений! До встречи в 2025-м, на новых стартах и в новых городах! ✨
На днях обновился до Android 15 и у меня отвалилась синхронизация с часами. Телефон не видит часы пока не создашь пару заново. Но после засыпания телефона пара снова отваливается и телефон снова не видит часы. На реддите пишут, что проблема с Bluetooth была еще с беты и ее до сих пор не пофиксили. Так будьте осторожны.
Кто-то случайно тыкал в настройки у него всё заработало, но это не точно. Я тоже так делал и у меня не заработало.
А пару месяцев назад даже вышла статья где собраны наиболее общие проблемы garmin и способы их решения. Но по сути всё сводится к одному процессу: выключите и включите заново. И в этот раз такой подход не работает.
UPD: Обновление OS от первого января исправило проблему.
Сегодня был легкий кросс, 10 км. А по завершению часы уведомили о новом бейдже. С ума сойти, я купил эти кроссовки в начале августа, а сегодня выяснил, что они пробежали 647.1 км. Похоже, они выработали свой ресурс или уже близки к этому. Уже не пружинят как раньше. Но спустя почти 4 месяца они всё еще сохранили отличный внешний вид. В августе я брал их по скидке и сейчас не раздумывая взял за ту же цену. Отличные кроссовки. Поношу пока не сотрутся, всё равно скидок на них нет :D
До сих пор не могу привыкнуть к расстояниям. Из Сербии можно добраться до Черногории за день. Конечно, тут надо делать поправку на пробки в Черногории и очереди на границе. Но в эту поездку, кажется, нам невероятно повезло и мы не стояли в пробке на границе.
День 1. Дорожный.
Вся поездка заняла примерно двенадцать часов с учётом всех отдыха и перекусов.
Первая остановка случилась примерно через пару часов после старта. Устать еще не успели, но после раннего выезда успели окончательно проснуться, растрястись и проголодаться. Когда-то Ильф и Петров в "Одноэтажной Америке" писали про одинаковость завтраков в США. Так вот, в Сербии завтраки тоже плюс-минус одинаковые. В хорошем смысле. Куда бы ты ни поехал и в каком бы кафе ни заказал завтрак, это будет всегда примерно вот такая яичница с сосиской и помидором.
В низине было облачно бесснежно.
Зато ближе к Златибору показалось солнышко и в горах лежал снег.
Вся пятница ушла на дорогу. Выехав в восемь утра, к восьми вечера мы добрались до Тивата. Быстро заселились и в этот же день удалось получить стартовый номер.
Теперь на мне такой вот браслет, который нельзя снимать до забега. Организаторы уверяют, что в нем можно купаться. Что ж, звучит обнадеживающие 😀. После двенадцати часового путешествия силы есть только на сон. Сегодня отдыхаю, чтобы завтра готовиться к забегу.
День 2. Предстартовый.
Сегодня по плану легкая тренировка: растяжка, СБУ и легкие 5км по 6:45. Главное — не устать. Погода, как и ожидалось, дождливая. Дождь начинается и заканчивается очень внезапно. Но страшен не сам дождь, а последствия: у меня одни кроссовки и я опасался, что они могут не высохнуть. К счастью, обогреватель спас.
На самом деле, бегать под дождем не так страшно, как это может казаться со стороны. В этом есть свой кайф. Особенно, когда бежишь медленно и есть время смотреть по сторонам (и даже делать фото).
День 3. Старт.
Если бы в этот день был конкурс на "самые серьезные щи", вероятно, я бы его выиграл :)
Экономил силы и эмоции всё утро и был в себе. Одно дело бежать пятерку или десятку. Вжух-вжух, потерпел немного и вот уже финиш. Половинку я еще не бегал. Конечно я к ней готовился и делал длительные на 18 и 20 км. То есть расстояние не было проблемой. Скорее задача была сохранить моральные силы на работу с нужным темпом на протяжении всей дистанции.
Начал спокойно, по пять. И первые два километра просто бежал, стараясь не обращать внимание ни на что вокруг. Просто бежал с толпой и думал только о темпе и своих ощущениях. Многие рванули вперед, обходя меня на старте. Спустя несколько километров я обгоню их. Это нормально. На старте всегда много эмоций: играет музыка, зрители аплодируют, в толпе бегунов всегда найдется тот, кто будет тусить. Это приятно и классно. Но когда старт дан, очень сложно контролировать желание рвануть изо всех сил.
Раз уж заговорил о старте, хочется сказать пару слов об организации. Не знаю хорошо это или плохо, но местная расслабленность проникает во все сферы жизни. То, что написано в буклетах и инструкциях к забегу не всегда соответствует тому, что происходит на самом деле.
Например, я заявился в зону А. Согласно правилам нужно было подтвердить соответствие своей зоны:
Для бегунов элиты и зоны A: вас попросят показать ваше официальное время забега на сертифицированном AIMS полумарафоне/марафоне, что гарантирует зону и статус.
На деле же никто ничего не спрашивал. Первым пришел, первым занял место. Вот и всё. В принципе не так уж и плохо, просто зачем тогда в инструкции писали о другом.
После разминки я быстренько занял место в первом ряду. Даже не пришлось проталкиваться, чтобы встать поближе. Отдал теплую кофту Лене. Вообще, очень... даже так ОЧЕНЬ здорово, что мы поехали всей семьей. Кроме моральной поддержки они очень помогли тем, что забрали теплую одежду на старте и отдали ее на финише. Это помогло сильно сэкономить силы в самом начале, а в конце, когда уже и так нет сил и организм уже не способен тратить ресурсы на обогрев, теплые штаны и кофты — это просто нереальное счастье 😀
С третьего километра постарался чуть прибавить, а дальше сохранять темп. Кажется, даже получилось. На 12-м километре планировал подкрепиться бананом. Но организаторская неточность внесла корректировки в мои планы. В инструкции было указано, что пункты питания будут на 12-м и 16-м километре. Поэтому я очень удивился, когда после 10-го километра увидел еду. "Будет еще" подумал я. И было! Но только не там, где я ждал.
12-й километр оказался пустым и безликим. Никакой еды, так же как и на 13-м. Еда была где-то на 15-м километре. Знал бы я это раньше, прихватил бы банан на 10-м. Но что поделать. Понимаю, что надо перекусить и хватаю банан и воду не снижая скорости. В одной руке банан, в другой бумажный стаканчик воды... Бегу и думаю "окей, а как есть-то всё это". Если вы не пробовали на бегу в темпе 4:45 одной рукой очистить половину банана, а другой держать стаканчик так, чтобы не пролить воду, знайте, это одновременно сложно и весело 😀 Но еще большее веселье и сложность было впереди, когда я попытался этот банан съесть. Жевать, дышать и пытаться проглотить то, что не жуётся тот еще челлендж. В общем, поняв, что доесть я банан не смогу, пришлось от него избавиться и бежать уже без дополнительного топлива.
Примерно на 16-м километре меня догнал Олег. Он сделал всё, чтобы я не думал о том, как тяжело бежать и сколько там ещё осталось. Фотографировал, болтал, мотивировал. В какой-то момент я подумал, что он слишком громко топает и даже захотел от него убежать, хахах. Его присутствие определенно дало пользу.
Когда бежишь сам по себе, то в какой-то момент в голове возникает мысль "кстати, а зачем я вот сейчас бегу, когда можно не бежать?" В районе 17-го километра я подумал, что все эти красивые виды не очень-то важны, раз нет возможности ими насладиться. Ну ведь ни одной фотки не сделал, а тут вот море, горы и даже солнышко вышло, хотя по прогнозу обещали дождь.
А справа слышу "надо терпеть, осталось 4 с хвостиком". Понятно, бежим дальше. И мы бежали: я молчал, он говорил, отвлекая от мыслей. На последних километрах встретил знакомых, кто-то бежал марафон и кто-то стоял как зритель.
"Последние 300 метров, пора накатывать". В голове пустота. Куда там накатывать, ноги ватные. Вообще не понятно как переставлять их. Но собираюсь с силами и ускоряюсь до 4:24. Последняя сотка самая сложная. Тут уже лишь бы не затормозить. В конце, у самого финиша ждет семья. Буквально через пять минут они присоединятся ко мне и у меня будет теплая одежда, а пока же вот он финиш. Я добежал. 1 час 41 минута 17 секунд согласно часам.
Официальное время немного меньше. Я добежал 222-м из сколько-то там участников. Но главное тут не в том, каким я добежал. Безусловно я очень доволен результатом. Многие из тех, кто рванул вначале, остались позади. Были и те, кто опередил. Но в первую очередь, это была гонка не с людьми, а с самим собой.
Вместе с Олегом мы проделали большую работу и вот к такому результату это привело. На этом сезон 2024 года закрыт. Пора планировать следующий год 😀
До начала любой серьезной работы важно придумать отмазку заранее 😀. Сегодня по плану была темповая. Бежать надо было 5 паркрановских километров и каждый километр прибавлять: 4:30, 4:20, 4:10 и т.д. Вчера с дивана выглядело выполнимо. Да и тренер не просто так задачу ставил. Но с утра я поел овсянки с орехами и это стало проблемой. Обычно овсяные хлопья на завтрак перевариваются еще до тренировки. Но добавить в хлопья орехи было большой ошибкой — завтрак получился тяжелым. Я это почувствовал еще на разминке, пока бежал 2,5км до старта.
Начали хорошо. И первые 3,5 км все было просто отлично. Более того, бежал не один, так что не пришлось даже думать о скорости. Но оставшиеся 1,5км не вытянул — долго усваивающиеся орехи отозвались тяжестью. В результате пришлось сбросить скорость и бежать уже не на результат.
Немного жаль, потому что этого можно было избежать. С другой стороны, тренировка состоялась и выводы сделаны. В этот раз виноваты орехи. А на кроссовки свалю в следующий раз 😀.
PS: Я тут "погуглил" и узнал, что если чистая овсянка переваривается за 1-2 часа, то среднее время переваривания орехов составляет 2-4 часа из-за сложных жиров и сложной структуры белков. Journal of Food Science and Technology опубликовал исследование, показывающее, что время полного переваривания орехов может достигать 6 часов, особенно если они потребляются целиком, а не измельченными. Во время интенсивных тренировок кровоток перераспределяется от желудочно-кишечного тракта к работающим мышцам. Это может замедлить переваривание на 20-40%. Одними из самых "легких" орехов считается миндаль. У грецких орехов средняя уваиваемость. А самыми "тяжелыми" считается макадамия из-за высокого содержания жиров.
Конечно всё очень индивидуально. То, что работает для одного человека, может быть совершенно неприемлемо для другого. Наверное стоит задуматься о каком-нибудь дневнике питания, в котором можно было бы следить за реакцией организма на различные продукты.
Давно я не писал про исследования. Вчера я сделал опрос, в котором попросил знакомых бегунов ответить на несколько вопросов. И пока анализировал статистику в голову пришла идея поискать статьи косвенно связанные с моем анализом.
Вот моё предположение: современные фитнес-сервисы не помогают следить за здоровым образом жизни. Соревновательный эффект в группе демотивирует новичков сильнее, чем мотивирует следить за здоровым образом жизни.
Как я к этому пришел? У нас в чате паркрана Миша раз в неделю скидывал топ-10 бегунов. И я вот в этот топ-10 никогда не влезал: то бегал мало, то следовал плану. Если бегаешь мало или нерегулярно, подобного рода мотивация может привести к травмам. Новичок, желающие войти в топ-10 должен набегать 50+ км в неделю. В тройке рекордсменов обычно серьезные бегуны, которые занимаются очень много лег и общий объем в неделю у них может доходить до 170 км. Очевидно, что с таким и соревноваться бесполезно и ровняться на него травмоопасно.
Вдобавок недавно паркрановцы ввели новый бейдж, называется "Раж".
Награда присуждается за непрерывную серию из трёх результатов участника, где каждый следующий лучше предыдущего. Бейдж относится к типу "скоростных", а поэтому временный и держится на странице участника столько, сколько длится прогресс его результатов. Отсюда и происходит название: "войти в раж". Как только участник перестаёт улучшать результат, бейдж пропадает и серия из трёх пробежек начинается заново.
Описание с сайта паркрана
И вот в прошлую субботу я получил такой значок. Казалось бы можно радоваться. Но моя следующая тренировка в субботу не предполагает улучшения результата. Мне не надо бежать быстрее 23, мне надо выполнять другую работу. А теперь представим, что такой бейдж дается человеку, который всего лишь бегает паркраны раз в неделю. Его стремление запросто может привести к травмам.
Возвращаясь к фитнес-сервисам. Они очень популярны. Но превращение фитнеса в бесконечную погоню за цифрами может быть разрушительным. Когда каждый аспект тренировки измеряется — километры, шаги, места в рейтинге — мы рискуем потерять связь с реальными целями и своим телом. Я не говорю, что не нужно ничего измерять. Нужно следить за показателями. Но все измерения должны быть обоснованы.
Исследование из Национального университета Ирландии в Голуэе обнаружило, что публичное признание и постоянное сравнение результатов может привести к:
— Навязчивому отношению к тренировкам
— Повышению общего уровня стресса
— Нездоровому восприятию физической активности
Исследование, опубликованное в январе 2024 года в журнале Frontiers in Public Health, проанализировало данные более 1400 пользователей фитнес-приложений. Учёные обнаружили, что постоянное сравнение с более успешными спортсменами может негативно влиять на благополучие пользователей, особенно тех, кто только начинает свой путь.
Любопытно, как личные наблюдения за беговым сообществом привели к более глубокому пониманию проблемы геймификации фитнеса. То, что начиналось как простое размышление о топ-10 бегунов и бейдже "Раж", оказалось частью более масштабного феномена, подтвержденного научными исследованиями.
Современные фитнес-приложения напоминают мне ранние дни веб-разработки: мы так увлеклись возможностями технологий, что иногда забываем об их первоначальной цели. Я прекрасно понимаю соблазн геймификации — она действительно может повышать вовлеченность. Но в контексте физической активности эта механика работает иначе.
Дело не только в риске травм из-за погони за метриками. Исследования показывают более глубокую проблему: постоянное сравнение с другими может существенно влиять на психологическое благополучие.
Возможно, нам стоит переосмыслить подход к фитнес-приложениям. Вместо универсальных соревновательных механик, которые работают для одних и демотивируют других, можно было бы создать более персонализированные системы прогресса. Как в тренировочном плане: иногда медленный бег важнее быстрого, а пропуск тренировки может быть признаком мудрости, а не слабости.
В конце концов, самая важная метрика в беге – это не место в топ-10, а способность получать удовольствие от процесса и оставаться здоровым на долгие годы. Именно об этом стоит помнить разработчикам фитнес-приложений и нам, их пользователям.
Вот уже неделю живу без Стравы и чувствую себя отлично. Я заменил ее на runalyze.com. Давно слежу за развитием этого сервиса.
Скриншот админки runalyze.com
Runalyze появился в 2012 году как проект двух немецких энтузиастов - Hannes Christiansen и Michael Pohl. Основной идеей сервиса было предоставление более глубокого анализа тренировок. То есть это не просто логгер активности — это настоящая аналитическая платформа, где каждый показатель имеет значение. Аналитики очень много. Кому-то она не нужна, кому-то полезна. Тут каждый решает сам. Но смотреть на таблички и графики безусловно интересно. Например, есть показатель тренировочной нагрузки (TRIMP), оценка беговой формы (VDOT), анализ эффективности тренировок с учетом высоты над уровнем моря и многое другое.
Что меня особенно впечатляет в развитии платформы — это как она эволюционировала вместе с потребностями бегового сообщества. В 2015 году сервис стал открытым для всех, и это дало мощный толчок развитию. Разработчики, слушая отзывы пользователей, постепенно добавляли новые функции: интеграцию с различными спортивными часами, расширенную аналитику.
К 2024 году Runalyze превратился в хороший сервис для спортсменов. Что действительно отличает его от других платформ — это акцент на научном подходе к тренировкам. Каждый показатель основан на исследованиях в области спортивной физиологии. И еще один важный момент, нет никакого AI-ассистента, который помогал советами.
Я бы описал весь сервис одной фразой:
Вот как вы тренировались, вот что это значит для вашей формы.
Сервис сохранил свою изначальную философию — предоставлять максимально детальную аналитику для тех, кто действительно хочет понимать свой тренировочный процесс. При этом нет никакого навязывания платного тарифа. Да, он есть. Можно платить $30 или $65 в год. А можно пользоваться бесплатно. Возможностей бесплатного тарифа более чем хватает.
Runalyze частично переведен на русский язык. На прошлой неделе я списался с ребятами, предложил им свою помощь с локализацией и они ее приняли. Так что теперь, я понемногу работаю над переводами.
Я неоднократно высказывался о Strava. Мне несимпатичен этот сервис. Да, он делает деньги и прекрасно существует независимо от меня и моих суждений о нём. Но, как пользователь, я несколько раз пытался найти в нём что-то полезно и приятное для себя. Я пробовал бесплатную подписку, пробовал платную. Но всё это какое-то бесполезное. В результате, просто использовал его потому что "все используют".
Социальная составляющая сервиса развита на троечку. Этот "фейсбук велосипедистов" не дотягивает до нормальной социальной сети. С точки зрения анализа данных, там тоже всё на уровне "ну пойдёт". При этом платная версия не так уж сильно отличается в лучшую сторону.
У Strava я вижу лишь одно большое преимущество — это большой хаб данных. Огромное количество сервисов и устройств могут обмениваться данными через Strava. Однако последние анонсы говорят о том, что эту лавочку планируют прикрыть.
Компания Strava объявила о серьезных изменениях в своем API (интерфейсе для сторонних приложений), которые существенно ограничивают возможности других приложений работать с данными пользователей. Подробно можно почитать об этом у Ray Maker. Кратко, вот основные изменения:
— Сторонние приложения больше не смогут показывать данные активности пользователя Strava другим пользователям
— Запрещено использовать данные из API Strava для искусственного интеллекта и машинного обучения
— Запрещено выполнять любую аналитику или обработку данных Strava
Безусловно, после волны критики компания выпустила еще один пресс-релиз, в котором попыталась оправдаться и успокоить, сказав, что подобные изменения сделаны исключительно ради конфиденциальности данных и коснуться они лишь 0.1% приложений. К сожалению, это абсолютно ожидаемый ход и ничего кроме обмана и жонглирования данными в нём нет.
Всё выглядит на самом деле так, как кажется на первый взгляд: компания просто лишает обмена данными огромное количество приложений и концентрирует все данные только в себе. В результате это приводит к тому, что сервис Strava становится единственным сервисом, в который можно отдавать данные из разных гаджетов.
Вы не заметите этих изменений, потому что огромное количество компаний, которые разрабатывали приложения, синхронизирующиеся со Strava, в течение 30 дней (выделенные Strava) будут в мыле решать проблему работоспособности и выживания своего бизнеса.
Я уже видел подобные лицемерные заявления в своей практике и понимаю, что этот огромный корабль будет плыть туда куда ему нужно, ни смотря не на что. Но я не хочу быть пассажиром этого корабля. Поэтому с сегодняшнего дня, я удаляю аккаунт Strava.
Вчера ездили смотреть города на севере Сербии. Первой по плану была Суботица.
Субо́тица — город в северной Сербии, в автономном крае Воеводине. Является вторым по величине городом Воеводины после города Нови-Сада и пятым по величине городом Сербии (не включая Косово), а также самым северным городом Сербии. Население города по данным на 2022 год составляет 94 228 человека, население агломерации, городского поселения Суботица, составляет 123 952 человека.
Когда выезжали было очень туманное утро. Эдакий Silent Hill. По-своему прекрасен, но красоты смотреть сложно. Однако через час езды туман начал потихоньку рассеиваться. И, пусть и не всё, но мы успели посмотреть желаемое.
Видимость 0, идём по приборам
Суботица заметно отличается от Нови Сада. Сказывается соседство с Венгрией. Если верить статистике, их около 30%. Очень много венгерского стиля. Такого яркого, аляповатого, со странными оттенками. Отличаются улицы: они шире. По крайней мере, в туристическом центре. Уверен, что если уйти чуть дальше в сторону спальных районов, картина может измениться. Но мы туда не дошли.
Ратуша в Суботице – самое большое и, по мнению многих, самое красивое здание Суботицы. Он был построен за два года, с 1908 по 1910 год, но еще два года лучшие мастера того времени потратили на украшение его интерьеров. Здание имеет статус памятника культуры исключительного значения.
В полдень двери Ратуши открываются и туда можно зайти. Важно: зайти можно только с экскурсоводом. Там очень много дверей и легко заблудиться, поэтому сейчас туда водят только организованные экскурсии. Если своего экскурсовода нет, там всегда набирается группа, надо лишь подождать. По крайней мере у нас было именно так. Билет и экскурсия стоят 200 — 400 RSD. Стоимость зависит от продолжительности. В любом случае, это очень дешево и стоит того.
Пока ждали открытия Ратуши, успели погулять по городу.
А к обеду солнце уже разогнало туман и мы поднялись на смотровую площадку на Ратуше.
Туристом очень приятно и интересно бросить по этим милым улочкам, делать фото и удивляться милой и иногда вычурной архитектуре. Но видно, как много объекты требуют ремонта, а сил и средств на всё не хватает.
Во второй половине дня мы отправились с Собмор. И хотя главный объект нашей поездки мы уже посмотрели и нагулялись, хотелось узнать, а что же там в Сомборе.
Со́мбор — город в Сербии, в автономном крае Воеводина. Численность населения составляет 41 814 чел. (2022). Сомбор является административным центром Западно-Бачского округа Сербии и общины Сомбор.
Но Сомбор не поразил наше воображение. Сейчас, прокручивая в памяти назад нашу поездку мне сложно найти какое-то яркое впечатление об этом городе. Это просто небольшой городок. Он простой, обычный, для жизни.
В целом, поездка оказалась очень приятной: короткие поездки на машине от одного города до другого, безветренные +9, легкие перекусы с чаем на лавочке и в кафе, прогулки по удобным пешеходным улочкам и быстрое возвращение домой. Кажется из этого и складывается отличное путешествие одного дня.
Вышел в свет Rspack 1.0, это сборщик модулей написанный на Rust. Судя по тестам он в несколько раз быстрее Webpack и чаще всего быстрее Vite (за исключением HMR режима).
Вчера были фотки в телеграм канале, а сегодня немного больше подробностей.
Парк в Эчке
26-го октября я бежал в Эчке 10 км. Эчка (Ečka) село в Сербии, в Воеводине, недалеко от Зренянина. Если верить Википедии, там проживает всего 4513 жителей. Но село очень милое, плоское, с асфальтированными улицами и бескрайними полями.
По дороге в Эчку
По ощущениям размах забега превзошёл мои ожидания. Для начала, посмотрите на стартовый пакет. В нём нет футболки, но он какой-то душевный. Например, есть доска для медалей, календарик на 25-й год, ручку и ваучер на бургер. А также разные промо напитки и даже гель для стирки 😀
Стартовый пакет Эчки
Это не был мой главный старт. Но я решил побежать, ради того, чтобы выбежать из 50-ти минут. Изначально, выбежать из 50-ти планировалось на белградской десятке. Но тогда немного приболел и бежал уже не так быстро как хотелось. Скорее так, чтобы добежать. Потом была новисадская пятерка. И следующий, наверное, главный забег — полумарафон в Боке. А так как план по 10-ке не закрыл, решил побежать в Эчке.
Установка была начать по 4:35, на втором километре ускориться до 4:30, а дальше смотреть по состоянию и по возможности наращивать. Я даже сделал себе шпаргалку на руке, чтобы не забыть.
Шпаргалка
Не то чтобы "как только начинаешь бежать цифры сразу выветриваются из головы". Нет. Просто когда смотришь на часы, можно взглядом зацепить текущий пейс и целевой. Это немного отрезвляет. Особенно на 6-м и 7-м километрах, когда понял, что стало тяжело и ноги стали ватными. По ощущениям скорость постепенно начала падать, а время замедляться. И вот смотришь на часы, а там 4:40, а надо быстрее. Цифры-то вон, на руке написаны. Вообще очень сложно уговорить себя бежать так, как надо. В начале старта, полно сил и хочется рвануть на адреналине. Но сдерживаешь себя, чтобы не растерять силы. После экватора уговариваешь себя бежать, не то чтобы ускоряясь, а хотя бы с той же скоростью, что и раньше.
Если верить часам, то 10км я преодолел за 44:23. Это очень крутое время для меня. Еще несколько месяцев назад это же расстояние я пробегал за 55 минут. Сама трасса была чуть длиннее, 10.2км. Для истории оставлю маршрут и сплиты из Strava
Что еще можно сказать? Я очень доволен и своим результатом, и тем, как всё было организовано. Приятная атмосфера. На протяжении всей трассы стояли люди, много детей, которые держали воду, или просто кричали и поддерживали и давай пять 😀 Иногда люди просто ставили столик у своего двора с едой и сидели ели, смотря на забег.
Медаль с крепостью на фоне той самой крепости
И вот забег закончен. Медалька получена. А впереди еще много работы в подготовке к полумарафону.
С тех пор как David Heinemeier Hansson перешел на линукс, он много рассказывает о том, как прекрасен VIM. В общем-то я с ним согласен. Вот его пост на эту тему Wonderful vi
SQLite кажется недооценен. Почитайте почему его стоит использовать Why you should probably be using SQLite. Кстати, в Ruby on Rails 8 планируется поддержка SQLite в продакшене.
Последние пару неделю работаю над блогом. До этого я писал, что он работает на Nuxt.js + Wordpress. И до начала октября все было именно так. Nuxt.js на фронте, бэкенд (если можно так выразится) на Wordpress. И утверждал и продолжаю утверждать, что панель управления Wordpress одна из самых удобных.
В целом, меня всё устраивало. Но были нюансы, которые очень хотелось исправить. Например, мне ужасно не нравится версионирование записей в Wordpress. Пока пишешь один пост, получаешь множество сохранений в черновик. Я знаю для чего это, но мне это не нравится.
Еще один момент — система плагинов и технически сложная кастомизация. Чтобы что-то сделать в админке, например, добавить кастомные поля к посту, нужно ставить плагин. Все это здорово, но кажется, что ты не владеешь продуктом. Если завтра плагин обновится и с ним будет проблема, это может поломать сайт. Так совпало, но спустя неделю после переезда у Wordpress и wpengine был спор о правах и отчислениях. Дошло до того, что команда Wordpress выпустила свой плагин Secure Custom Fields.
Доработка темы для Wordpress в 2024-м уже не кажется простой задачей. Темы стали сложнее, в них куча логики и разбираться, если честно, нет ни времени, ни желания.
Так что с недавнего времени я переехал на Ruby on Rails. Это интересный опыт. С одной стороны, хотелось посмотреть версию 7.2 в работе. С другой, хотелось быстренько сделать проект так, как хочется внутри, без лишнего усложнения. Без проблем и экспериментов не обошлось.
Попробовал Active Storage, понял что мне не нравится это решение и откатил всё обратно. В итоге, решил, что картинки я буду заливать на CloudFire при создании поста, а удалять их буду вручную. Решение не совсем идеальное, но оно работает и на текущий момент меня устраивает.
Вообще старался сделать всё как можно проще. После админки Wordpress это сильно заметно 😀
Из функционала: подписка на RSS, оптимизация и конвертация картинок в webp на стороне рельс, а не на CloudFire, собственный сборщик статистики. Не люблю Google Analytics, а большинство других аналитик платные. Мне же интересно общее количество посещений, страны и устройства. Нет так уж много, согласитесь. Ранее я использовал SimpleAnalytics. Отличный сервис, но на этот раз решил реализовать свою версию. Ну и конечно же самый настоящий серверный рендеринг приготовленный на самом настоящем сервере. Без костылей и хаков 😀.
В планах есть еще идеи по улучшению и доработки. Например, email рассылка, конвертация :) => 😀, хранение черновика заметки в localStorage, кросс-постинг в телеграм канал и прочие нужные и ненужные штуки. В общем, всё то, что неизбежно ведет систему к усложнению.
Сегодня я пробежал пятерку за 21:12. Я когда-то смотрел на такую цифру и думал "ну чуть-чуть подготовиться и можно пробежать". Сейчас конечно совсем иначе на эту цифру смотрю. Подумать только, я пробежал километр за 4 минуты и 14 секунд. И так пять раз. Хотя как мы знаем (из прошлых постов) бежать пришлось не пять раз, а шесть раз. Потому что заявленная пятерка на самом деле шесть километров.
Но последний, шестой километр, это отдельный разговор. Если считать его, то общее время 26:13, а дистанция по часам 6,12 км. И вот он прям ощущался всем телом: ноги стали немного ватными, а в голове возникла мысль "А зачем?". И вот эта мысль очень коварная. На последних шестиста метрах меня обогнала девушка. Я заранее знал, что обгонит, она очень хорошо шла, потом перестроилась за меня, чтобы ветровой поток уменьшить и технично обошла в конце. И вот когда она обогнала, появилась мысль "а зачем?". И это вроде какие-то секунды пока ты пытаешься побороть желание притормозить, но это очень долгие секунды. Мало того, что ноги бежать должны, так еще и надо придумать как заставить себя ускориться. В итоге на последней сотне метров я подумал, что если не вжарить, то меня еще кто-то обгонит. И вжарил. Никто конечно не обогнал 😀
Сам очень доволен результатом, потому что всё было по плану!
Перенес управление доменом на Cloudflare. И пришлось немного почитать документацию, как же настроить и соединить сайт на railway.app и домен на Cloudflare.
В первом приближении всё казалось просто. Railway.app генерирует проекту CNAME. Казалось бы бери, подставляй конфиг и всё. На практике оказалось чуть интереснее и документацию пришлось почитать немного внимательнее.
Уже на следующей неделе новисадская пятерка. Которая совсем и не пятерка, а аж шестерка. Мы это уже тысячу раз обсуждали: готовишься бежать пять, бежишь и где-то на четвертом километре закрадывается сомнения. Кажется, где-то ошибка. Выбегаешь все пять… И до финиша еще километр почти. А ты уже, так сказать, в пижаме. И бежать-то может и хочется, но не можется.
Но в этом году, я опытнее. Хаха. Сразу готовлюсь к шести. Иногда готовлюсь, а иногда прокрастинирую. Вот даже сейчас, наблюдая как темнеет на улице, я гадаю какие же все таки у меня шансы выйти и пробежать 12 км, с какими то пугающими ускорениями. Шансы примерно 50/50. Если какой-нибудь пирожок не запрыгнет в меня в ближайший час, то шансы на бег сильно увеличатся. Но знаете, пирожки в это время суток очень прыгучие. Буду наблюдать за ситуацией.
Этот блог работает на WordPress. Точнее его часть — админка. А фронтенд на nuxtjs. Когда-то я много работал с WordPress. Был даже модератором русскоязычного сообщества, делал темы и сайт на заказ. И вот что хочу сказать: панель управления WordPress была и остается одной из лучших. Знаете слоган у Эппл “это просто работает”. Так вот то же самое можно сказать про админку вордпресса. Кликаешь пару кнопок и всё, можно писать.
Но за такое удобство приходится платить. Размер базы растет как на дрожжах. Версионность и черновики штука хорошая, но некоторые вещи сохраняются избыточное количество раз. В каталоге с изображениями через некоторое время начинается хаос, через полгода-год туда вообще лучше не смотреть — непонятно используются ли загруженные картинки или уже нет. Плагины и темы тоже стоят отдельной дискуссии. За столько лет развития WordPress написано огромное количество плагинов. Часть из них уже давно стали платными и перешли на систему месячных подписок. В результате обновления от разработчиков приходят чуть ли не каждую неделю и следить за всем стало очень сложно. WordPress стал очень сложным продуктом.
Но сложными стали многие системы. Помню как лет десять назад раскладывал в директориях css и js и прогонял gulp-task, чтобы мои псевдокомпонентики склеивались в банды. Потом появился вебпак, react/vue и компоненты стали настоящими, не псевдо. Потом структура приложений и сервисов усложнялась и вот уже появляются различные архитектурные слои. Нельзя просто взять и, простите, наговнякать. Надо все разложить по полочкам, настроить вебпак, отрастить бороду. Усложнился и javascript. Вот менеджеры состояний, вот веб-сокеты, local first подход. В какой-то момент проектирование архитектуры пет-проектов стало такой, что пока все подготовишь, уже запал кончился. А список пакетов из npm, которые еще надо установить — нет. Не то, чтобы это прям плохо, это естественное развитие и взросление системы. Просто стало сложно следить и управлять всем этим.
Но я тут начал книжку про Ruby on Rails читать. И для закрепления знаний, конечно писать код. И знаете что? В мире есть место где можно говнякать. Что 10 лет назад, что сейчас. Хочешь свалить все стили в assets/stylesheets? Пожалуйста. Хочешь вмонстрить кусок скрипта прямо во вьюху? Не возбраняется. Тем более, что это местами очень даже удобно. И вот я раньше сильно плевался от подобного подхода. Но сейчас… Не то чтобы я стал сторонником, но если кусок скрипта нужен только на этой странице, то может быть проще вздохнуть и добавить его туда.
И вот пет-проект на рельсах, где можно немного отступить от привычных норм выглядит каким-то глотком свободы. Уверен, что развивая проект, со временем он тоже станет сложным и его придется делать архитектурно красивым и структурированным. Но вот сейчас, кажется, я до конца понимаю как вышло так, что Ruby on Rails стал таким популярным, почему каждый год все ждут когда же он помрёт. А DHH раз за разом выпускает новую версию и RoR всё ещё популярен.
Мне кажется потому, что это то самое место, где все ещё можно г… Гибко решать свои задачи. Ну вы поняли 😀
Сегодня мне 40. Когда мне было 20, те самые сороколетние казались мне такими старыми. Вчера же двадцатилетняя девушка говорила мне “вы” “из уважения”. Забавно, но сейчас в 40, я не ощущаю себя на этот возраст. Ну может 30, ну 35. Ну максимум 38. Но 40! Цифра-то какая.
Меж тем, что мы имеем на этот момент:
— Построили дом, посадили дерево, растим и так далее
— Пожил в двух странах не как турист, а прицельно, надолго. В одной понравилось, в другой не очень.
— Бегаю. Так как не бегал ни в 30, ни в 20.
— Работаю работу и, в целом, доволен ей.
— Научился понимать что мне нравится, а что нет. Разобрался в том, что и как работает для меня и почему я что-то делаю, а что-то не делаю.
И вот каждый пункт по отдельности хорош сам по себе. А все вместе они вообще представляют собой классную смесь из которой и состою я. И конечно же я очень рад, что меня окружают очень классные люди: родители, семья, друзья и просто знакомые. Я благодарен всем, потому что отчасти именно благодаря им я есть я. С днём рождения меня и спасибо всем причастным 🙂