
- Перово, Москва, Россия
- me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proЛог жизни
Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.
Головинские пруды и день информационной разгрузки

Я решил встать в 11:15 по будильнику, чтобы приехать в середине дня, а не вечером, как это обычно бывает. Но хотел как лучше, а получилось как всегда: спать лег где-то в 4:30, просыпался очень тяжело, и более-менее в себя пришел только к 12 часам. Но собраться быстро не получилось: из дома вышел только в 14:50, и до сих пор не могу понять, куда делись эти почти три часа. Все, что я сделал за это время — это только пообедал и написал предыдущую заметку про конфликт приоритетов. Даже в Интернет не выходил! Причем все это время испытывал раздражение, так как опять чувствую, что ничего не успеваю, плюс еще совершенно не хочу на следующей неделе ехать на дачу, да еще вчера день пошел не по плану.
И вот с такими мыслями я отправился в путь. В дороге тоже не включал Интернет, а хотел поразмышлять, но из-за недосыпа ничего в голову не лезло. Поэтому просто смотрел в окно на город и постепенно начинающие желтеть деревья — первые признаки наступающй осени.
Выйдя со станции Коптево, я оказался возле входа в усадьбу Михалково, расположенную около прудов. По территории она гораздо меньше, чем Кусково или Кузьминки, но довольно необычная: стены и постройки — насыщенного красного цвета с множеством шпилей и башенок. Смотрится красиво, хоть и создает ощущение некоторой заброшенности и медленного разрушения. Внутрь я заходить не стал, а обошел усадьбу слева, и вот впереди показались пруды. Я вышел почти прямо к мосту, разделяющему Большой и Малый Головинские пруды. Мост достаточно высокий, и с него хорошо фотографировать. А пруды немного заросшие: хватает и кувшинок, и всякой другой растительности, но тем не менее, находятся желающие во всем этом купаться! Перебравшись по мосту, я решил обойти сначала Малый пруд, потом Большой. Но пройдя вдоль Малого пруда до второго моста (точно такого же, кстати, как и первый) обнаружил, что в пруд ведет канал, и прошел еще и вдоль него до берега Верхнего Головинского пруда. Затем перешел на другой берег канала и верулся к той же точке, к которой вышел в самом начале. Место действовало на меня очень успокаивающе и умиротворяюще, и несмотря на обилие людей вокруг, я чувствовал себя очень комфортно. И к тому времени, когда завершил первый круг, все утренние переживания ушли куда-то на второй план, я был настроен на мирный и созерцательный лад.
Затем я снова перешел по мосту и отправился на этот раз вдоль Большого Головинского пруда. На его берегу растет несколько впечатляющих старых дубов. Если верить табличке, попавшейся мне на пути, им более трехсот лет, и они помнят еще первых владельцев Михалково! Потом, обойдя пруд чуть меньше, чем наполовину, я вышел к месту, где из него выходит Головинский канал. Там довольно большой перепад высот, и вода несется вниз по наклонному желобу, пенясь и грохоча почти как в настоящем водопаде! Причем берега канала застроены домами, и не завидую я местным жителям, которые вынуждены слушать это и днем и ночью. Я решил пройти еще и вдоль канала до того места, где он сливается с рекой Лихоборкой. Кстати, если верить информации в Сети, канал и был построен для того, чтобы повышать уровень воды в Лихоборке, а через нее и в Яузе, чтобы сделать последнюю судоходной. По дороге попался мост, возле которого был еще один почти такой же водопад. По этому мосту я перешел на другой берег, и оказался возле устья небольшой речки, которая выходит из трубы и сразу же впадает в канал. Ее я ошибочно принял за Лихобороку. (Потом, посмотрев карту, выяснил, что на самом деле она называется Норишка, а Лихоборка находится несколько дальше, до того места я таки не дошел.) Она примечательна цветом воды: он ярко-желтый, чем сильно отличается от воды в канале. Чуть дальше обнаружилось устье еще одной речки, примерно такой же по размерам, но уже с обычным цветом воды. Затем я вернулся на правый берег канала и по нему пошел обратно к пруду. Не знаю почему, но те места создают ощущение застревание во времени. Но не в какой-то древности, как в Переславле, а где-то в 70-х или 80-х годах. И, к сожалению, с характерной приметой того времени — множеством алкашей во дворах и на скамейках. Живя в спокойном и благополучном Перово, уже отвык видеть их в таком количестве!
Вернувшись к Большому пруду, пошел дальше вдоль его берега, но полный круг завершать не стал, а свернул, чтобы посмотреть еще два малых пруда, расположенных рядом с усадьбой, которые так и называются — Михалковские. Но в них чего-либо особо интересного не обнаружилось, кроме того, что они сильно напомнили мне Радужные пруды в Кусково. Потом прошел еще раз вдоль усадьбы, но уже с другой стороны, и отправился обратно на станцию Коптево. По дороге домой еще рассматривал вариант заскочить на квартирник с настолками (сегодня он снова проводился еще раз), так как все равно проезжал мимо. Написал организатору, много ли народа и во что играют и до скольких вообще собираются сидеть. Но он так и не ответил к тому моменту, когда я проезжал нужную станцию, и поэтому я сразу отправился домой.
Объективные и субъективные приоритеты и недовольство

Та система приоритетов, которую я называю объективной, построена на том, каким я хотел бы быть, некий образ идеального я с точки зрения декларируемых ценностей. Выглядит она примерно так:
- Несение в массы своей идеологии (в частности, работа над книгой)
- Наполнение контентом своих сайтов, а также помощь окружающим в компьютерных вопросах
- Работа над IntB, технические доработки своих сайтов, другие разработки
- Freelance и выполнение других обязательств перед окружающими
- Возможность проявить себя (конкурсы, соревнования, поиск халявы и тому подобное)
- Познание (научные, научно-популярные материалы, и книги по IT-темам)
- Созерцание (прогулки и поездки в одиночестве)
- Художественные книги и фильмы
- Компьютерные игры
- Общение с людьми
- Компьютерные игры
- Возможность проявить себя (конкурсы, соревнования, поиск халявы и тому подобное)
- Созерцание (прогулки и поездки в одиночестве)
- Художественные книги и фильмы
- Познание (научные, научно-популярные материалы, и книги по IT-темам)
- Наполнение контентом своих сайтов, а также помощь окружающим в компьютерных вопросах
- Общение с людьми
- Работа над IntB, технические доработки своих сайтов, другие разработки
- Несение в массы своей идеологии (в частности, работа над книгой)
- Freelance и выполнение других обязательств перед окружающими
Кроме этого есть еще расходы времени, которые можно назвать антиценностыми. В первую очередь это время, проведенное в социальных сетях, общение в ЛС с людьми, уровень доверия у которых ниже 30 (именно в ЛС, на форумах и т.п. оно не расценивается как потеря времени), и потребление мусорной информации. А также выполнение тех действий, на которые я согласился потому что не хватило решимости отказаться.
Последние дни лета

В воскресенье отправился в Зарядье. Основной целью было посмотреть на результаты конкурса «Планета Москва», которые выставлены там в галерее на Китайгородской стене. Потом решил зайти в сам парк, посмотреть его самую дальнюю часть (юго-западный угол) с болотной растительностью. Так уж получилось, что во все предыдущие приходы туда я как-то до него не добирался. Но увы, это оказалось не самой удачной идеей: Зарядье по воскресеньям просто переполнено людьми. Оттуда решил пройти пешком к Третьяковской. Какой же огромный контраст: стоило выбраться из толпы, перейти мост и дойти до Водоотводного канала, как тут же возникло ощущение спокойствия, неспешности и чувства гармонии с городом! Еще нашел необычный фонтан без какого-либо ограждения. Просто кусок улицы с дырками в плитке, из которых бьют струи воды! Причем высота струй меняется, иногда исчезают полностью, и тогда невнимательный прохожий рискует получить непредвиденное купание. Что любопытно, хотя я бывал в этом месте в позапрошлом году, то ли этих фонтанов не было, то ли я просто не обращал на них внимание.
А вчера отсиживался дома. Растолкал те накопившиеся задолженности перед жизнью, о которых писал раньше, но появились новые. А еще на Ask получил очень интересный вопрос про то, что я транслирую своей жизнью сейчас, заставивший основательно задуматься.
Legends of Code and Magic: итоги

Попробовал даже быстро написать новый вариант (уже пятый по счету), но и в нем результаты отличались не сильно. Во вторник я прекратил все эти попытки, а стал искать среди уже отправленных версий те, на которых мне еще удавалось подняться хотя бы до середины лиги. И в итоге нашел такую, которая позволила снова подпрыгнуть до 202 места. Среда и четверг ушли на испытание в этой версии некоторых идей, которые возникли в воскресенье и понедельник. Еще я пытался поиграться с функцией выбора карт на этапе начальной раздачи. Но все было безрезультатно: либо изменения были несущественны, либо наоборот, я начинал падать вниз. Кроме того, так и оставался вопрос с тем багом, про который я уже писал. Почему-то при его наличии результаты получались в разы лучше, чем при его отсутствии, хотя с точки зрения здравого смысла должно было быть все наоборот. Еще пытался изучить статистику и понять, на каких именно раскладах я проигрываю, но все что удалось — это сделать предположение, что проигрыши идут на раскладах, где guard-карт мало, а противник набирает много «тяжелых» карт.
Наконец, наступил последний день конкурса — пятница. Тут мне пришло в голову (опять же, под влиянием чата) применить метод Монте-Карло, то есть выбирать ход случайно, моделировать возможный ответ противника, исходя из соображения, что он будет бить только в guard-карты и моего игрока, и оценивать результат, выбирая в итоге тот, у которого оценка оказалась лучшей. На удивление быстро я переделал под него свой старый код, но увы, такой подход тоже оказался совершенно безрезультатным: я по-прежнему оказывался на дне серебряной лиги.
Вообще, если в предыдущих конкурсах было понятно, что делать, как играть, чтобы выиграть, но у меня не хватало знаний описать это математически и закодировать, то в этом — все наоборот. Я мог написать практически любую стратегию, но никак не мог понять, как вообще надо играть, чтобы выигрывать. В частности, как именно происходит захват стратегической инициативы, когда у одной из сторон на столе оказывает на три или более карт больше, после чего дальнеший ход игры, фактически, предрешен. А не понимая этого, я мог делать функцию оценки только вслепую из общих соображений типа «health points и показатели карт на столе моего игрока должны давать плюс, health points и карты противника — минус». И, судя по всему, главный недостаток моего алгоритма заключался в том, что слишком часто он решал выложить новую карту вместо того, чтобы бить в противника. И еще я не учел ассиметричности игры, того, что оказавшись вторым по очередности хода, нужно играть иначе, чем первым (хотя как именно «иначе» — не понимаю до сих пор). Из-за этого у меня было много результатов, когда я у одного и того же противника первым игроком выигрываю, вторым — проигрываю.
Еще непростой выбор был в конце между двумя версиями кода, одна из которых была хорошо протестирована, а другая — меньше, но вроде бы давала лучший результат. В итоге менее чем за минуту я все же выбрал вторую. И вроде бы не прогадал: 203 место в серебряной лиге, 590-ое в общем зачете. То есть с небольшой погрешностью повторил свои результаты предыдущих конкурсов.
В общем, что можно сказать в итоге: переписал код целых семь раз, получил массу опыта и интересных идей, попробовал делать то, о чем прежде имел весьма смутные представления, впервые стал целенаправленно применять функциональный подход и оценил его преимущества, да и вообще стал чувствовать себя в Python так же уверенно, как и в PHP. Но увы, в плане результатов я ожидал все же большего…
Жизнь в вечном опоздании

Самое интересное, что тот почти идеальный я, который все делает по плану и вовремя, когда-то реально существовал. Таким я был в школе и первых двух курсах Института. Потом же все поменялось… С другой стороны, тот идеальный я жил все же в совсем других условиях. Долгосрочные цели тогда были внешние: что-то делать меня заставляло не собственное желание, а учбеное расписание. Кроме того, задачи ставились, в основном те, для которых уже были даны все необходимые знания. Сейчас же почти у всех задач есть та или иная новая для меня часть, где неоходимые знания приходится приобретать на ходу и самостоятельно. И в третьих, тогда главным мотивирующим фактором был страх перед неопределенностью «ой, что же будет, если завтра я пойду не готовым». А потом он в какой-то момент он сменился пониманием «да ничего особо такого, просто потом все равно придется делать и сдавать, просто добавятся лишние проблемы».
Несколько лет назад (где-то с 2009 по 2013 годы) я активно искал способы вернуться к тому прежнему себе, но, безрезультатно. Любые попытки что-то планировать и исполнять эти планы приводили к мощному внутреннему протесту, на подавление которого жизненных сил тратилось в разы больше, чем на само дело. Потом решил пойти другим путем — отказался от планирования вообще, заняв позицию «что сделаю, то и хорошо». Отчасти это помогло, но вот это ощущение вечно опаздывающего все портит…
Конкурсы и итоги дня

Вечером прошел очередное задание КСИ. На старте посмотрел: дается всего 20 минут. Подумал, что задание будет легким. Увы, это оказалось не так. Задание состояло из трех вопросов, и первый действительно был элементарным. А вот второй оказался кошмаром. Требовалось решить кучу уравнений уровня 6 класса средней школы, сложить результаты и выбрать соответствующий ответ. Вроде прорешал быстро. Но ответ получился такой, какого в списке вообще не было. Стал срочно все перепроверять, и таки ошибка обнаружилась. Эх, всегда у меня с математикой так было: вроде все понимаю, что и как считать, так где-нибудь да ошибусь. В результате на перепроверку потратил еще несколько минут. Наверное, следовало бы воспользоваться какой-нибудь онлайн-системой для решения уравнений, например, WolframAlpha, но я только сейчас узнал о том, что такое есть.
А последний вопрос оказался на анализ информации. В спокойном состоянии я легко бы на него ответил, но времени на ответ осталось всего две с половиной минуты, так что не было возможности точно убедиться, что я нашел верное решение. Так что не знаю, каким в итоге окажется результат.
Но зато интересно было наблюдать за собой, за тем, как ускоряется мышление в таких ситуациях.
Еще на том же CodinGame решил одну простенькую задачу на новом для меня скриптовом языке Lua. В целом язык мне понравился: какая-то своеобразная смесь Python и JavaScript. Только вот не хватает готовых функций типа filter и reduce, к которым я уже успел привыкнуть.
А вечером на какой-то момент вышел на улицу посмотреть на звезды. Сейчас небо по ночам уже темнеет полностью, и звезд видно гораздо больше. Какое же это потрясающее зрелище в ясные дни! А еще задумался, почему же ночное небо вызывает такое чувство восхищения…
Вопрос идентичности

Добрался туда, впечатлился покоем и неспешностью природы, сел на бревно и ушёл в свои мысли...
И вдруг пришло осознание, что у меня сейчас нет четкого понимания, кто я. И многие проблемы и переживания именно с этим и связаны. Раньше оно было. Я воспринимал себя как человека, оставшегося осколком старого мира, который живёт по принципу «пусть мир поломался, но я буду оставаться правильным, несмотря ни на что». Где под оставаться правильным понималось собирать знания и жить по принципам разумности и экономии, не гонясь за деньгами, не заниматься целенаправленным «формированием связей» и саморекламой (это то, что я больше всего ненавижу, пожалуй), и делать только то, во что веришь и соблюдать правила ради самих правил и того, чтобы чувствовать себя порядочным человеком. Этому даже своё название «упорядочиватель мира». И было четкое противопоставление «я» и «они» (то есть «ускорители жизни», принявшие правила нового «мира наизнанку», в частности, лицеисты).
Сейчас же оказалось, что, во-первых, из-за избытка информации у меня самого снизилась тяга к знаниям. Во-вторых, «ускорители» живут так не потому что им навязали, а им реально в удовольстве жить с таким уровнем интенсивности и ответственности. В третьих, даже в этом «мире наизнанку» толковый специалист может найти себе место (Правда, психологические затраты, связанные с поиском, никуда не деваются. Равно как и то, что умение собрать что-то из готовых компонентов иногда ценится даже больше, чем умение сделать что-то совсем с нуля).
Но самое ужасное заключается в том, что у большинства людей нет потребности в экономии и оптимизации — того, идеи о чем я и пытался нести в мир. Более того, в ряде случаев я и сам ловлю себя на том, что поступаю непотаминально.
Из-за всего этого у меня пропало понимание, кто я, и что несу в этот мир, с чем и связаны многие переживания.
CodinGame: прорыв в серебряную лигу

Причем получилось весьма своеобразно: сначала я обнаружил в программе один баг: неправильно считалась оставшаяся мана. Исправил его, и внезапно получил существенное ухудшение результатов игры, хотя с точки зрения логики и здравого смысла результат должен быть обратный: в неправильном варианте просчитывается куча лишних вариантов, которые на самом деле сыграть не могут, и поэтому шансов найти хороший вариант игры существенно ниже.
Стал разбираться, в чем дело, и понял, что у меня слишком неэффективная функция оценки игрового состояния. Переделал ее, и даже с исправленной версией программы стал подниматься в бронзовой лиге до примерно 200-ого места. Поэкспериментировал с еще парой мелочей, и удалось в отдельные моменты подняться до сотых позиций, а вот дальше — никак.
И тут вдруг я обнаружил, что мой алгоритм на этапе выбора карт всегда берет нулевую карту, и никогда никакую другую. Оказалось, что когда я в последний раз переписывал алгоритм, я не учел одной особенности этапа раздачи карт: на нем идентификаторы всегда карт равны -1. В результате в функцию выбора карты передавалось их не три штуки, как должно было быть, а только одна, самая первая.
Как только я это исправил, сразу же легко поднялся в серебряную лигу. В отличие от прошлого конкурса, Code of Ctulu, когда прорыв состоялся в последние часы конкурса, когда я уже ни на что не наделся, на этот раз таких зашкаливающих эмоций, когда я был готов орать на весь поселок от радости, не было. А была просто удовлетворенность от достигнутого результата. Кстати, в серебряной лиге старт тоже оказался неплохим: сразу же поднялся на 350 место из 500, после того, как чуть поправил функцию оценки — до 310.
А впереди еще 7 дней конкурса, так что игра продолжается!
Жизненный кризис

Только к сегодняшнему вечеру ситуация хоть как-то улучшилась. Сначала прогулялся вдоль реки, посмотрел закат. Потом вернулся домой, проспал минут 30, после чего начал более-менее приходить в себя. В частности, придумал новый алгоритм для конкурса, и даже частично его реализовал. В отличие от предыдущего, который построен на «если так, выбирай стратегию такую», тут просто перебор возможных ходов. К моему удивлению, когда все сложилось в голове, получилось весьма аккуратно и компактно.
Немного астрологии

Потом попробовал посчитать еще несколько дат, не столь драматичных (вдруг это довольно типовой расклад), но там ничего подобного не наблюдается, планеты оказываются расставленными более равномерно.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114