<?xml version="1.0" encoding="utf-8"?>
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
  <title>Лог жизни | Записки Web-разработчика, сторонника open source и IndieWeb</title>
  <link>https://www.4xpro.ru/lytdybr/</link>
  <description>Записи о текущем настроении и прошедшем дне</description>
  <lastBuildDate>Thu, 28 May 2026 23:53:58 +0000</lastBuildDate>
  <atom:link href="https://www.4xpro.ru/lytdybr/rss.htm" rel="self" type="application/rss+xml" />
  <generator>Intellect Board 3 Pro</generator> <item>
          <title>Непростой день позади!</title>
          <link>https://www.4xpro.ru/lytdybr/2949/</link>
          <description><![CDATA[<p>Вчера (вернее, уже позавчера) был очень непростой день. Так получилось, что сначала очень сильно не выспался (меньше трёх часов сна), а потом нужно было встретиться с <strong>DarLik</strong> и <strong>П.Т.</strong> по одному важному делу, которое в итоге растянулось на целый день. Был просто в каком-то зомбиобразном состоянии, но в итоге всё прошло хорошо! </p><p>Сегодня весь день приходил в себя, проспал более 11 часов и наконец-то . А потом как-то очень долго играл в Tiles Survive, где во-первых, начался очередной игровой этап под названием &laquo;Битва за нефть&raquo;, а во-вторых, сегодня был четверг &mdash; день прокачки героев. Забавно: сейчас в игре наблюдал принятие решения по-альфийски. Перед окончанием игрового дня (оно происходит в 3:00) было решено устроить небольшую атаку, и две участницы (предположительно ЭСЭ и ЛИИ по соционике) беззлобно спорили, кто из них будет координатором. Но смысл спора заключался не в &laquo;я хочу!&raquo;, а наоборот, &laquo;я слишком безответственная, давай лучше ты&raquo;. Но в итоге всё же определились и всё сделали, что было задумано!</p>]]></description>
          <dc:creator>4X_Pro</dc:creator>
          <pubDate>Thu, 28 May 2026 23:53:58 +0000</pubDate><guid>https://www.4xpro.ru/lytdybr/2949/</guid>
          </item> <item>
          <title>Непростой выбор</title>
          <link>https://www.4xpro.ru/lytdybr/2948/</link>
          <description><![CDATA[<p>Изучаю меры, которые нужно принять на сайтах для соответствия 152-ФЗ, и оказался перед непростым выбором: либо убрать с <a rel="ugc" href="http://TypTest.Ru">TypTest.Ru</a> рекламу от РСЯ, либо пойти против своих же принципов и сделать у себя то, что всегда бесило на чужих сайтах: повесить всплывающее уведомление о cookies, загораживающие контент. Эх, если посчитать, сколько человекочасов в масштабах страны напрасно тратится на то, чтобы сначала эти уведомления сделать, а потом &mdash; закрывать при заходе на каждый сайт, то итоговые цифры, наверное, потянут на целую человеческую жизнь! А ведь при желании всё можно было сделать нормально: обязать провайдера перед подключением уведомлять о том, что такое cookies и том, что пользователь должен сам принять меры, если не хочет, чтобы с помощью них собирались данные (например, заставив пользователя подписать какую-нибудь &laquo;памятку о безопасности&raquo; как приложение к договору о подключении).</p>]]></description>
          <dc:creator>4X_Pro</dc:creator>
          <pubDate>Thu, 28 May 2026 23:19:50 +0000</pubDate><guid>https://www.4xpro.ru/lytdybr/2948/</guid>
          </item> <item>
          <title>Есть серебряная лига на CodinGame!</title>
          <link>https://www.4xpro.ru/lytdybr/2947/</link>
          <description><![CDATA[<p>И всё-таки я это сделал &mdash; прошёл в серебряную лигу в очередном соревновании в CodinGame. Изначально, учитывая то, что первые дни соревнования попали на поездку в Светлогорск, да и вообще образ жизни сейчас слишком уж хаотичный, я решил, что после возвращения&nbsp; выделю пару дней и выйду в бронзовую лигу и буду считать приемлемым результатом.</p><p>Но, как всегда, всё пошло не так. Во-первых, долго не мог начать. Во-вторых, в CodinGame в деревянных лигах, рассчитанных на совсем начинающих, раскрываются не все правила, а только самые основы игры. Поэтому прочитав упрощённые правила, я решил, что это игра на мультиагентную оптимизацию. Там нужно управлять троллями так, чтобы собрать как можно больше ресурсов &mdash; фруктов, которые периодически появляются на деревьях.</p><p>Я написал алгоритм, где каждый тролль был state machine, прошёл во вторую деревянную лигу, и тут обнаружилось, что всё не так, как я ожидал. Я думал, что на следующих уровнях будут просто давать нескольких троллей, плюс из некоторых моментов в описании можно было предположить, что появится возможность рубить деревья. Но всё оказалось сложнее. Во-первых, во второй лиге обнаружилась возможность сажать деревья в выбранных местах, во-вторых, оказалось, что изначально всегда даётся только один тролль, а остальных нужно порождать явно, тратя на это ресурсы. Причём каждая характеристика тролля зависит от определённого вида фруктов.</p><p>И тут я оказался перед сложным выбором: переписывать алгоритм полностью с учётом этих новых факторов или нет. С одной стороны, из-за всех этих переездов и недосыпов последних дней никак не получалось сесть и спокойно сосредоточиться, и я боялся не успеть сделать вообще ничего. С другой, имеющийся алгоритм был рассчитан на то, чтобы минимизировать время пробега до деревьев, и совершенно не учитывал их тип и потребности в тех или иных видах ресурсов, чтобы создать нового тролля.</p><p>Был момент, когда я даже думал, что так и застряну в деревянной лиге (что для меня было бы позором &mdash; лучше уж вообще не участвовать). Но потом оказалось, что во-первых, на старте игры даётся небольшой случайный набор ресурсов, дающий возможность создать одного или даже двух троллей. А во-вторых, в моём алгоритме нашлось несколько багов. Исправив их, я прорвался в бронзовую лигу, причём оказался где-то на 120 месте (тогда это было примерно 25% от начала).</p><p>Забегая вперёд, скажу, что алгоритм в целом был неплох, и его хватило, чтобы подняться до почти середины серебряной лиги. Но путь туда был непростой. Поднявшись в бронзу,&nbsp; я нашёл ещё один баг, а потом (вчерашней ночью) стал срочно дописывать алгоритм поиска пути в ширину. Сложного в нём ничего нет, но почему-то на обычном Pyhtonовском list он нормально не работал &mdash; зацикливался, пришлось прибегнуть к совету ИИ и заменить list на Deque из collections. После этого я оказался в первой десятке бронзовой лиги.</p><p>Всё утро думал, что делать дальше. Пытался играться с максимальным количеством троллей, скорректировал расчёт времени появления новых фруктов (при переходе в бронзу он усложнился), но без толку: прорваться в &laquo;серебро&raquo; никак не получалось. В какой-то момент даже хотел сдаваться, решив, что без переписывания уже ничего не сделать. К тому же у противников попались алгоритмы, которые в начале раунда просто аккуратно высаживали деревья всех типов возле вражеской базы, и потом собирали с них фрукты, не бегая через всю карту. И эти алгоритмы обходили мой в 3-4 раза! Я даже недоумевал, как они при этом остаются в бронзовой лиге. </p><p>Но потом решил реализовать свою начальную идею &mdash; создавать отдельного тролля-деструктивщика, который не собирает ресурсы, а бежит на вражескую базу и вырубает вокруг неё всё, до чего сможет дотянуться. И это сработало! Со второй попытки я оказался в серебряной лиге, причём не на последних местах, а поднялся чуть ниже её середины. Правда, сам момент перехода так и не увидел из-за того, что запустил расчёт и пошёл на сходку <strong>Tell</strong>ы, о которой напишу отдельно. Обнаружил, что прорвался только задним числом, когда вернулся за компьютер. И ещё оказалось, что алгоритмы с посадками к наличию тролля-деструктивщика&nbsp; совершенно неустойчивы: они начинают тратить ресурсы на восстановление срубленных деревьев, но не не успевают вырасти, потому что их снова срубают, и такой алгоритм заканчивает игру с околонулевым результатом. Видимо, поэтому и остаются в &laquo;бронзе&raquo;. </p><p>После всего этого я решил, что с меня достаточно &mdash; соревнование закончится завтра ранним утром, в &laquo;золото&raquo; я уже точно не прорвусь (для этого нужно переписывать алгоритм полностью), а проводить ещё одну бессонную ночь ради попыток улучшить результат на несколько десятков позиций нет ни сил, ни желания.</p><p>Но тем не менее, очень доволен тем, что после долгого перерыва снова принял участие в CodinGame! В первый момент было ощущение, что &laquo;мозги скрипят&raquo;, т.е. соображаю с трудом, но потом, что называется, вработался. Ещё удивительным открытием стало то, что до серебряной лиги можно дойти даже на алгоритме, который не учитывает чуть ли не половину второстепенных игровых факторов (например, расположение деревьев около воды, что ускоряет рост, возможность добывать железо вместо фруктов, дефицит тех или иных видов ресурсов в данный момент, действия противника). А ещё снова убедился, что нужно не только читать условие, но и запускать ту заглушку кода, которая даётся в начале игры, чтобы лучше понять игровую механику, а потом &mdash; писать максимально примитивный код, который может решить задачу хоть как-то. Его обычно хватает, чтобы пройти до бронзы. А уже там, видя полную картину со всеми правилами, придумывать нормальный алгоритм. Что ж, будем надеяться, что учту это в следующей игре!</p><p>И ещё одним открытием для&nbsp; меня стало то, что в условиях соревнований сочетание фокуса на одной задаче с дефицитностью времени меня реально мотивирует. Поясню, что на CodinGame можно писать код для нескольких десятков подобных игр и вне соревнований, но обычно бывает так: в условиях свободного выбора я смотрю на список игр, думаю &laquo;этим как-то не хочется заниматься, тем &mdash; тоже&raquo;, и в итоге не делаю вообще ничего. А когда выбирать не надо, потому что всё внимание сфокусировано на игре, по которой идут соревнования, такой проблемы не возникает. Эх, надо бы как-нибудь научиться это и в своих делах применять!</p>]]></description>
          <dc:creator>4X_Pro</dc:creator>
          <pubDate>Sun, 24 May 2026 23:33:02 +0000</pubDate><slash:comments>1</slash:comments><guid>https://www.4xpro.ru/lytdybr/2947/</guid>
          </item> <item>
          <title>Бестолковый день на квартире в Посаде</title>
          <link>https://www.4xpro.ru/lytdybr/2946/</link>
          <description><![CDATA[<p>День сегодня получился очень бестолковый. Хотел было лечь спать около трёх часов ночи, но не получилось. В итоге ненадолго заснул уже после шести, когда светло было настолько, что шторы не спасали (а маску на этой квартире я найти не смог, хотя вроде она тут была). Потом разбудили в 9:30 &mdash; пришли менять тот самый счётчик, ради которого я и приехал. Счётчик поменяли без проблем, только&nbsp; стребовали дополнительно 2 тысячи рублей за то, что &laquo;счётчик старый, весь заржавел, открутить сложно будет&raquo;. Пришлось смириться, так как возразить что-то аргументированно я не могу. Но всё же это не так ужасно, как замена счётчиков на Пресне в прошлом году, когда ободрали вообще по-чёрному.</p><p>Потом уже не мог уснуть, и где-то час играл в Tiles Survive. А когда солнце перестало бить в окна, соседи сверху начали ремонт. Причём не просто ремонт, а что-то сверлить с очень противной низкочастотной вибрацией. </p><p>Потом то ли успокоились, то ли меня вырубило так, что даже это не перестал замечать.</p><p>Проснулся в 15 часов, и вдруг заморочился вопросом, нужен ли паспорт в ЕИРЦ, чтобы сдать документы на новый счётчик. (Паспорт я, как водится, благополучно оставил&nbsp; в Москве). Google утверждал, что да, плюс я ещё сам вспомнил, что у меня два года назад спрашивали паспорт, когда сдавал акт о проверке. Попытался было задать этот вопрос на сайте самого ЕИРЦ, но внятного ответа &laquo;да или нет&raquo; не смог получить даже от живого оператора. Зато в процессе увидел, что можно подать эти документы онлайн через личный кабинет. В итоге так и сделал.</p><p>Ещё сегодня должны были привезти рулонные шторы для затемнения, которые я заказал в Яндекс.Маркете. Но так и не привезли: статус заказа сменился на &laquo;опаздываем, возможно, напишем новую дату&raquo;. Я решил &laquo;жду до 19:30, заодно и отыграю охоту на Зльва в Tiles Survive&raquo;, но так ничего и не дождался, и сейчас еду в Москву. Причём ехать решил на автобусе, а не электричке: всё равно скоро стемнеет, и в окно смотреть смысла не будет, а на автобусе получается меньше пересадок. Сейчас попробую уйти в трансовое состояние, чтобы немного прийти в себя. </p><p>Жалею только, что день прошёл мимо, а я так ничего не сделал в CodinGame. Хотя там надо написать всего пару-тройку строчек кода, чтобы пройти в бронзовую лигу.</p>]]></description>
          <dc:creator>4X_Pro</dc:creator>
          <pubDate>Fri, 22 May 2026 17:08:48 +0000</pubDate><slash:comments>2</slash:comments><guid>https://www.4xpro.ru/lytdybr/2946/</guid>
          </item> <item>
          <title>Бестолковый день на квартире в Посаде</title>
          <link>https://www.4xpro.ru/lytdybr/2945/</link>
          <description><![CDATA[<p>День сегодня получился очень бестолковый. Хотел было лечь спать около трёх часов ночи, но не получилось. В итоге ненадолго заснул уже после шести, когда светло было настолько, что шторы не спасали (а маску на этой квартире я найти не смог, хотя вроде она тут была). Потом разбудили в 9:30 &mdash; пришли менять тот самый счётчик, ради которого я и приехал. Счётчик поменяли без проблем, только&nbsp; стребовали дополнительно 2 тысячи рублей за то, что &laquo;счётчик старый, весь заржавел, открутить сложно будет&raquo;. Пришлось смириться, так как возразить что-то аргументированно я не могу. Но всё же это не так ужасно, как замена счётчиков на Пресне в прошлом году, когда ободрали вообще по-чёрному.</p><p>Потом уже не мог уснуть, и где-то час играл в Tiles Survive. А когда солнце перестало бить в окна, соседи сверху начали ремонт. Причём не просто ремонт, а что-то сверлить с очень противной низкочастотной вибрацией. </p><p>Потом то ли успокоились, то ли меня вырубило так, что даже это не перестал замечать.</p><p>Проснулся в 15 часов, и вдруг заморочился вопросом, нужен ли паспорт в ЕИРЦ, чтобы сдать документы на новый счётчик. (Паспорт я, как водится, благополучно оставил&nbsp; в Москве). Google утверждал, что да, плюс я ещё сам вспомнил, что у меня два года назад спрашивали паспорт, когда сдавал акт о проверке. Попытался было задать этот вопрос на сайте самого ЕИРЦ, но внятного ответа &laquo;да или нет&raquo; не смог получить даже от живого оператора. Зато в процессе увидел, что можно подать эти документы онлайн через личный кабинет. В итоге так и сделал.</p><p>Ещё сегодня должны были привезти рулонные шторы для затемнения, которые я заказал в Яндекс.Маркете. Но так и не привезли: статус заказа сменился на &laquo;опаздываем, возможно, напишем новую дату&raquo;. Я решил &laquo;жду до 19:30, заодно и отыграю охоту на Зльва в Tiles Survive&raquo;, но так ничего и не дождался, и сейчас еду в Москву. Причём ехать решил на автобусе, а не электричке: всё равно скоро стемнеет, и в окно смотреть смысла не будет, а на автобусе получается меньше пересадок. Сейчас попробую уйти в трансовое состояние, чтобы немного прийти в себя. </p><p>Жалею только, что день прошёл мимо, а я так ничего не сделал в CodinGame. Хотя там надо написать всего пару-тройку строчек кода, чтобы пройти в бронзовую лигу.</p>]]></description>
          <dc:creator>4X_Pro</dc:creator>
          <pubDate>Fri, 22 May 2026 17:08:47 +0000</pubDate><guid>https://www.4xpro.ru/lytdybr/2945/</guid>
          </item> <item>
          <title>Поздний первый заезд на дачу</title>
          <link>https://www.4xpro.ru/lytdybr/2944/</link>
          <description><![CDATA[<p>Вчера очень поздним вечером приехал на дачу, первый раз в этом году. Это антирекорд &mdash; раньше самый поздний заезд был вроде 7 или 8 мая. Но есть и плюс: не нужно мёрзнуть в ещё не прогревшемся доме. Сейчас наоборот, на верхнем этаже уже жарко.</p><p>Всё-таки конец мая и начало июня &mdash; лучшее время в году (кроме разве что апреля, да и то спорно). Я вышел на участок, лёг на скамейку, и долго лежал и смотрел на звёзды. Видел несколько метеоров, слушал звуки ночного леса и радовался жизни. Думал, что с одной стороны, я &mdash; счастливый человек, что у меня нет всяких графиков и расписаний, благодаря чему могу взять вот так и в любой момент сорваться на дачу, на квартиру в Области или ещё куда. С другой стороны, жить спонтанно я всё равно не умею, и всё равно нужен повод (в этот раз на самом деле я поехал из-за замены счётчика на квартире в Области).</p><p>Потом подумал, что даже несмотря на это, всё равно чувствую себя несчастным, но по другой причине. Слишком уж большой разрыв между тем, что я хочу (причём не в материальном плане &mdash; там, наоборот, мне мало надо), а в плане увидеть / узнать / почитать / поиграть / сделать. Список всего этого только растёт и растёт, а если из него что и убирается, то обычно не с радостью &laquo;ура, сделал&raquo;, а с мыслью &laquo;наконец-то избавился, а вообще-то это должно было быть сделано ещё позавчера&raquo;. Но при этом списать всё на то, что слишком большие запросы, у меня не получается, потому что есть люди, которые читают по 80 и больше книг в год, да ещё успевают писать рецензии либо у себя в блоге, либо на каком-нибудь LiveLib, есть люди, которые прошли больше игр, чем я хотя бы просто скачал за свою жизнь, есть те, кто проходит в Legendary-лигу в CodinGame, есть те, кто решает задачи олимпиадного уровня во всяких математических сообществах. И как у них всё это получается &mdash; непонятно. Непонятно даже, дело в них или во мне&hellip;</p><p><strong>UPD</strong>.: Увы, удовольствие от дачи закончилось сегодня во второй половине дня, когда пришло время собираться обратно. Не знаю почему, но процесс мытья посуды и подготовки к закрытию дома превращается там в какую-то бесконечность. (А отец может всё это сделать за час.) Потом ещё такси прождал более 30 минут, и до квартиры в Области добрался на час позже, чем хотел изначально. Да ещё и игровое событие в Tiles Survive пропустил (перепутал время, т.к. в чате кто-то написал, что всё будет в 22 часа, но он, видимо, был из другого часового пояса).</p>]]></description>
          <dc:creator>4X_Pro</dc:creator>
          <pubDate>Thu, 21 May 2026 19:18:37 +0000</pubDate><slash:comments>1</slash:comments><guid>https://www.4xpro.ru/lytdybr/2944/</guid>
          </item> <item>
          <title>Новый сезон в Tiles Survive</title>
          <link>https://www.4xpro.ru/lytdybr/2943/</link>
          <description><![CDATA[<p>Давно не писал про Tiles Survive, а меж тем в игре в понедельник начался новый сезон. Хотя все изменения пока сводятся к тому, что появился новый объект для прокачки &mdash; кораблик, и сухопутные зомби сменились морскими, а для атаки на них нужно учитывать ещё один параметр: устойчивость к коррозии. </p><p>По прежнему по большинству показателей болтаюсь в промежутке от 200 до 250 места (даже по лайкам примерно до того же уровня подтянулся), исключение &mdash; только общий боевой потенциал, по которому медленно просаживаюсь. Но скоро запущу новый уровень электростанции (уже 26-ой) и наберу больше войск (это самый простой способ качать БП), тогда вернусь к прежним показателям.</p><p>Прокачал ударку до 14.5M (а завтра, наверное и за 15M уйду &mdash; будет день прокачки героев), и, наконец-то перестал чувствовать себя отстающим и зависящим от соратников по альянсу в рейдах. Но с другой стороны, две недели назад такая ударка казалась огромной, а сейчас воспринимается как что-то обыденное, потому что у топов показатели почти в два раза больше.</p><p>В какой-то момент даже хотел бросить игру из-за того, что очень уж много времени отбирает. Но, с другой стороны, и выбрасывать столько уже вложенных усилий жалко, и люди в альянсе очень хорошие. Так что понемногу учусь играть, мирясь с тем, что достиг своего предела. </p><p>Вот что удивительно: сколько раз я проповедовал, что не надо пробивать стеклянный потолок, нужно уметь довольствоваться тем уровнем, что есть, если он достаточен, но будучи в безопасных условиях, сам следую этому с большим трудом. Даже несмотря на то, что ТОП-250 &mdash; это близко к моей верхней границе амбициозности: обогнать 90% других участников (к сожалению, не знаю, сколько сейчас всего игроков на сервере).</p><p>Кстати, хоть я утверждал, что Tiles Survive похож на Travian, но есть и много отличий. Главное &mdash; тут гораздо больше решается дипломатией и договорённостями, чем в Travian. И ещё одна очень необычная возможность, которая появляется в конце сезона, &mdash; переход из штата в штат. Причём зачастую губернаторы штата выискивают и заманивают к себе наиболее активных игроков. Так с нашего сервера сманили примерно два десятка человек, в том числе то ли троих, то ли четверых с нашего альянса. (Правда, одна бывшая участница была той ещё скандалисткой, и её не жалко. А вот то, что один из топов ушёл &mdash; печально.)</p>]]></description>
          <dc:creator>4X_Pro</dc:creator>
          <pubDate>Wed, 20 May 2026 19:02:46 +0000</pubDate><guid>https://www.4xpro.ru/lytdybr/2943/</guid>
          </item></channel></rss>