Портрет 4X_Pro
Был в Сети 29 мар. 2024 г., 00:59
Мультиблог
4X_Pro
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Сейчас специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb.

Социальные сети


Новости сайта в Telegram

t.me/4x_pro

Лог жизни

Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.


О цели и внутреннем состоянии

4X_Pro
Вчера вечером, когда закончил писать FUSE-модуль, пришла вдруг в голову мысль: важно не то, что именно я делаю, а то, из какого состояния. То есть если получается зайти в то самое состояние целостного видения (разновидность ЭСП №2), то любая задача превращается в интересное дело А если нет, то приходится себя заставлять. Соответственно, главная цель сейчас — научиться чаще входить в это самое состояние. Но чтобы оно возникало, нужно делать информационную разгрузку и выделять себе время на спокойное размышление, причем желательно либо утром после подъема, либо наоборот, поздно вечером. А вот с этим как раз и проблемы…

О FUSE для WAD-файлов

4X_Pro
Вчера вдруг вспомнил о своей давней идее освоить FUSE (библиотеку для работы с файловыми системами из userspace). Когда-то я разбирал основы и тогда задумался над тем, чтобы написать модуль для монтирования WAD-файлов, которые использовались в старом добром Doom и ему подобных играх, так как у них довольно простая внутренняя структура.
И вот вчера внезапно произошло то самое складывание в голове всего в единую цельную картину. И это сразу же дало мотивацию сесть и начать писать. Сначала я сделал простую утилиту для извлечения отдельного элемента из WAD-файла для тестирования. Потом пришлось прерваться — мы с Tellой договорились прогуляться по городу. Прогулка прошла хорошо, если не считать, что чуть было не попали под дождь. Но своевременно это поняли и добрались до моста Богдана Хмельницкого буквально в момент начала дождя, где и спрятались. А перед дождем удалось сделать несколько весьма атмосферных фото.
Вернулся я достаточно поздно и занялся переделкой написанной утилиты для работы с FUSE. И тут меня ждала первая неприятность: я долго не мог понять, как правильно передавать имя файла, который требуется смонтировать. Потом выяснилось, что у FUSE есть собственные инструменты для разбора параметров командной строки, и нужно использовать их. Но с этим я разобрался только сегодня, и то далеко не сразу. И вот наконец, первый запуск программы, не приведший к ошибке. Захожу в подкаталог монтирования и с радостью вижу там имена элементов из WAD-файла! Правда, сначала они выводились криво из-за того, что я забыл добавить нулевой байт. Но это я исправил быстро. А вот с другой ошибкой — тем, что список файлов получить удалось, а прочитать какой-либо из них — нет, провозился долго. А ошибка там оказалась довольно примитивная. Я давно не писал на C и благополучно забыл, что функция fread возвращает не число прочитанных байт, а число прочитанных блоков указанного размера. Причем сначала я думал, что проблемы в поиске нужного элемента в WAD или определении его размера. Но сделал отладочный вывод — там было все нормально. И только когда вывел вообще все что можно, и обнаружил, что fread возвращает единицу, понял, откуда берется проблема.
После этого все заработало. Но не обошлось без last-minute bug. Решил сделать по-нормальному: вынести некоторые процедуры из h-файла в c-файл, а в заголовочном оставить только их объявления. Но ошибочно в спешке одну из процедур принял за структуру (ввело в заблуждение слово struct в начале), и оставил ее в h-файле. А потом долго не мог понять, почему линковщик ругается на дважды определенный символ, который к тому же вообще экспортироваться не должен. Потом еще какое-то время ушло на то, чтобы выгрузить получившееся на GitHub и написать краткое описание.
Но все это было не зря: снова удалось почувствовать себя Настоящим Компьютерщиком, который может творить то, что не каждому доступно!
А еще обнаружил, что кто-то поставил звездочку (GitHubовский аналог like) моей другой разработке — JavaScript-библиотеке CondiLoader для асинхронной загрузки JavaScript и CSS. Что ж, хоть кто-то ее заметил!

Очередные настольные игры, весьма удачные

4X_Pro
Вчера (вернее теперь уже позавчера) снова выбрался на настольные игры. Причем выбрался гораздо позже обычного: на улице была сильная гроза, и в какой-то момент даже решил было не ехать, подумав, что все равно никто не соберется. Но где-то к 20:30 гроза стихла, дождь почти закончился, а в чате написали, что уже присутствует довольно много народа. Поэтому все же я поехал.
И, надо сказать, не зря. Сыграл очень удачно: два из трех раз выиграл в «японский бенг» aka «Меч самурая». Причем первый раз — за играл за ронина. Сначала я играл не особо активно, периодически атаковал сегуна, но не особо результативно. В итоге у меня было два жетона чести Потом Ал.С. поверила, что я — ниндзя и решила разыграть так: она атаковала Dexterа (он играл за самурая) так, что у него оставался всего один жетон стойкости, и предполагала, что я на своем ходу его добью, а дальше добил Liu Art, у которой оставалось два жетона стойкости и один жетон чести. В результате игра закончилась, а у меня оказалось четыре жетона. У ронина при игре впятером они умножаются на два, и в итоге я выиграл.
Второй раз я опять же играл не слишком результативно. Я был ниндзей, Ал.С. — сегуном, и она постоянно атаковала меня из-за прошлой игры. В результате до конца я дошел всего с двумя жетонами, но зато припрятал карту дайме, а второй ниндзя (им был Dexter) набрал аж пять жетонов. И мы снова победили с 8 очками.
Третий раз мы с Liu Art были ниндзя и проиграли: противникам пришло слишком уж много карт защит и доспехов, и я просто ничего не мог сделать, несмотря на кучу карт хладнокровия. А у Liu Art, наоборот, была атака любой дальности, но было мало оружия и этих самых карт хладнокровия. Все-таки в «японском бенге» слишком многое решает случайность. А потом, когда до закрытия заведения осталось полчаса, решили сыграть в другую игру — «Зомби». Она более быстрая и гораздо более простая. Получилось так: Dexter активно обращал всех в зомби, и в конце остались мы с ним вдвоем. Но зомби в этой игре, хоть выиграть не могут, но могут помешать другим, чем Ал.С., К.Ш. и Liu Art и воспользовались. И совместными усилиями мы его и победили.
В общем, очень доволен, что выбрался и поиграл. Особенно с учетом того, что на следующей неделе такой возможности не будет.
А сегодня одержал очень необычную победу в «Колонизаторах» онлайн: не построил ни одного города, только пять поселений, а остальные очки добрал за дорогу, за армию и за карту развития. Причем победил с большим отрывом: у остальных игроков было по 6-7 очков только.

Еще немного о Пути

4X_Pro
Никогда нельзя предсказать, куда выведет Сетевой путь. Пару дней назад с подачи сэра Мика стал изучать возможность поездки в Коломну где-нибудь в августе. Рассматривая карту, обнаружил, что от станции Голутвин отходит железнодорожная линия до города Озеры. Заинтересовался, действует ли она еще. Стал искать информацию, нашел пару старых ЖЖ с фотографиями, сделанными на этой линии и впечатлениями о прогулках вдоль нее. А там в комментариях наткнулся на осколок Старого Доброго Интернета — сайт, на котором автор выложил свою повесть «Бусидо междупутья» и несколько рассказов на железнодорожную тематику. Не знаю почему, но решил прочитать, и очень впечатлило: не так часто встречаются авторы, которые могут сочетать живой и образный язык и динамичное развитие сюжета с большим количеством технических подробностей. Особенно понравилась третья часть повести, где поднимаются вопросы о том, что значит не допускать расчеловечивания, быть настоящим человеком (или, в моей терминологии, не скатываться в обывательство). Отчасти они сильно перекрываются с моими размышлениями, но с одной существенной разницей: у главного героя повести все же был четкий ответ, что и зачем он делает и почему поступает именно так. А я уже сколько времени задаюсь вопросом: что же из того, за что я пытаюсь взяться, окажется значимым для Вечности?

Непростая прогулка вдоль Яузы

4X_Pro
Пару дней назад Tella предложила снова куда-нибудь сходить на прогулку. Но куда конкретно — идей не было. И тут я вспомнил, что когда-то давно собирался сходить вдоль Яузы в ее нижнем течении. Впервые идея сходить туда возникла года два назад, когда мне приснилось, что я туда пошел, и после этого я осознал, что в этой части города практически не был (кроме Лефортовского парка). Я решил, что настало время это исправить, и мы наметили прогулку на сегодня.
Но увы, с самого начала дня все пошло не так. Во-первых, я с большим трудом проснулся и чувствовал очень сильный спад энергии. Во-вторых, пока добирался, и на светофоре, и в метро подходил в самый неподходящий момент: к моменту переключения на красный/отправления поезда (причем в метро — оба раза). Видимо, высшие силы давали мне подсказку «не ходи туда», но я остался глух (тем более в ситуации, когда иду не один, а с кем-то, пересмотреть решение в разы сложнее). Прогулка началась вполне нормально. Мы шли, разговаривали, Tella только ругалась по поводу того, что набережная местами весьма грязная, да и река — тоже. В целом Яуза течет по не самым интересным местам. Пожалуй, единственное, что видели интересного — это шлюз на набережной Туполева, разлив реки за ним, пару церквей и парк с фонтанами на противоположной стороне. Так мы дошагали до пешеходного Салтыковского моста. Сделали несколько фотографий с него и допустили самую главную ошибку сегодняшнего дня: не стали переходить на другую сторону, а просто пошли дальше. Дошли до Новолефортовского моста, по которому проходит Третье транспортное кольцо. Там у меня возникли сомнения, а есть ли за этим мостом проход. Я даже хотел было перейти набережную и идти по ее дальней от реки стороне, но увы, пешеходного перехода там не было. Когда обошли мост, обнаружилось, что проход имеется, причем не просто проход, а вполне нормальная заасфальтированная набережная. Мы пошли дальше и выбрались к Лефортовскому мосту, который и планировался конечной целью нашей прогулки. И тут оказалось, что подняться на него оттуда где мы шли, просто нет возможности! Разве что карабкаться по крутому и совершенно неприспособленному склону между рекой и наземной частью ТТК с последующим перелезанием через перила. С другой стороны моста было то же самое: отсутствие перехода и спуска с моста. Мы оказались в ловушке, из которой виделось два выхода. Один заключался в том, чтобы прошагать более чем полкилометра назад, перейти дорогу там. Вторым, как мне казалось, был узкий проход между въездом в тоннель ТТК и рекой. И тут сказалось мое неумение признавать потери (пройденный лишний километр) и поворачивать назад. Поэтому я выбрал второй путь. Увы, глядя издалека я недооценил, насколько это узкий проход. Даже я протискивался с трудом и в конце концов пошел боком. К тому же кое-где торчали какие-то железки, и нужно было следить, чтобы за них не зацепиться. Впрочем, сначала идти было вполне приемлемо. Но мы поднимались вверх, а дорога уходила вниз, в тоннель, а ограждение со стороны тоннеля было очень и очень невысоким. И в какой-то момент, глядя на яму глубиной в несколько метров слева от себя, из которой почти непрерывным потоком на большой скорости неслись машины, я реально запаниковал — включился мой извечный страх высоты. Вцепился руками в ограждение со стороны реки и какое-то время непрерывно смотрел на воду, чтобы успокоиться. Сзади ругалась Tella на то, что я потащил ее по таким местам, но в шуме машин я с трудом понимал, что она говорит. Дальше — хуже: когда подобрались почти до самого верха, мне показалось, что там впереди — забор с сеткой, и мы забрались на эту высоту зря. И таки он и правда там когда-то был, но сетку выбили (или проржавела и вывались сама), от него осталась лишь одна верхняя перекладина. И вот, наконец-то последние метры: дорожка расширяется, затем тоннель остается позади! Мы пролезаем под перекладиной и можем спокойно идти вдоль реки! Впрочем, и там перехода через набережную не было и там, так и тащились до следующего моста — Госпитального.
И вот тут до меня задним числом дошло, как мы рисковали, и начался, что называется, отходняк. Голова соображала с трудом, даже путь до Бауманской нормально просчитать не мог. В итоге мы нашли какое-то заведение типа ресторана, гордо именуемое корчмой, засели там, и просидели часа, наверное, полтора, и после этого отправились по домам. Но зато я теперь знаю, почему прогулки вдоль Яузы совершенно не пользуются популярностью!

О счастье и ощущении контроля над жизнью

4X_Pro
Кажется, я понял, чего мне не хватает для счастья. Ощущения некоторой степени контроля над жизнью. Но не в глобальном плане (я в это все равно не верю, да и не нужно оно мне, ибо противоречит идеологии), а в локальном. Сейчас меня тащит по какой-то накатанной колее, не я управляю своим организмом, а организм — мной. В частности, я не могу встать и пойти/поехать куда-то достаточно рано, даже если хочу этого: мало того, что ранний подъем обернется кучей проблем, так еще на то, чтобы заставить себя поесть в непроснувшемся состоянии, уходит еще куча времени. Не могу лечь спать быстро (между моментом выключения компьютера и отходом ко сну в лучшем случае проходит час, а обычно и больше), не могу взять и сделать что-то быстро и сразу, а не когда придет состояние внутренней готовности (впрочем, последнее — это Бестийность по КЛ в самом чистом ее виде). Например, на то, чтобы собраться исправить мелкий баг с тегом font в моем форумном движке, ушло почти два месяца.
Из этого же следует невозможность жить по плану и заниматься чем-то регулярно. Впрочем, последнее отчасти удается победить в тех случаях, когда нет воздействий извне типа приглашений сходить куда-нибудь или freelance-задач.
Причем вот что интересно: на даче это выражено в гораздо меньшей степени, чем в Городе. Но с чем связана такая разница (кроме ограниченности Интернета, о которой я писал недавно), я все еще не могу понять.

Набег на Клин

4X_Pro
На сегодня (вернее, теперь уже вчера) мы с сэром Миком наметили поездку в Клин. Ради этого я даже вчера пытался лечь раньше обычного. Получилось как всегда: из-за компьютера встал в 2:20, но пока собрался спать, было уже 3:40. А утром проснулся около 9:30 от шума стиральной машины при отжиме (отец затеял стирку). Полтора часа пытался либо заснуть снова, либо хотя бы уйти в трансовое состояние, но безрезультатно. Причем вот что странно: пока лежал в темноте, спать не очень-то и хотелось. Когда встал и раздвинул шторы, сразу же желание спать усилилось. У меня что, организм уже настолько перестроился спать при свете?
На вокзал прибыл почти точно вовремя, с запасом в 15 минут до отправления поезда. Мик и его знакомая Ел.П. (увы, ее Сетевое имя не сохранила история попросту отсутствует) были уже там. Мы пошли на поезд, и тут выяснилась первая неприятность: все сидячие места были уже заняты! А я-то думал, что в понедельник в середине рабочего дня поезд-экспресс будет полупустой. Причем большинство ехало до Твери, на Крюково и в Солнечногорске вышли единицы. Так мы и ехали стоя все 50 минут.
В Клину, высадившись, первое что увидели — это фонтан на привокзальной площади. Почти как в Ногинске, но сам фонтан попроще. Я предложил сфотографировать фонтан, Мик решил этим не ограничиваться, но еще и поснимать Ел.П. на фоне фонтана. На это ушло минут десять, которые я использовал для того, чтобы присесть на скамейку и дать отдых ногам. Описание прогулки по городу с множеством фото. Осторожно, траффик!

Настолки после долгого перерыва

4X_Pro
Большую часть дня просидел дома, приходя в себя после поездки, сортируя фотографии и описывая ее в заметке в блоге. Но вечером все же решил выбраться на настольные игры, которые сегодня снова решили провести после достаточно длительного перерыва. И, надо сказать, не зря! Народа было меньше, чем обычно: сначала сидели впятером, потом пришла Tella и затем, где-то часа за полтора до окончания встречи, пришли еще Liu Art и А.Ш. Мы сыграли сначала втроем в игру под названием «Зомби», а еще двое — в Kartahena. Игра очень простая, можно сказать, примитивная, но для того, чтобы заполнить время ожидания, пока все будут готовы к чему-то более серьезному, очень даже подходит. Потом сели играть в «Японский бенг». Увы, мне в нем сегодня как-то сильно не везло. Во-первых, дважды оказывался ронином (причем первый раз весьма удачно выдал себя за ниндзя), и один раз — сегуном. Причем когда играл сегуном, меня дважды подорвали на карте бусидо. Причем второй раз получилось так: я не мог избавиться от одной карты оружия с единичной дальностью, из-за чего меня могли атаковать ниндзя, но эта карта давала мне и один плюс: я мог сыграть ее против карты бусидо. Но прямо перед моим ходом случилось непредвиденное: ронин вытащил ее у меня с помощью карты гейши (или «уловки», сейчас уже не помню), и я остался без карт. Когда я играл ронином второй раз, на старте резко ушел в отрыв, отобрав за один ход сразу два жетона чести. Но дальше Ал.С. сыграла на меня сразу три карты гейши, изъяв при этом два оружия и карту хладнокровия. А на следующем ходу у меня изъяли и второе «хладнокровие», после чего начали отбирать жетоны обратно. В результате сегун с самураем, которые сидели далеко, и в этой заварухе не участвовали (я перестреливался только с ниндзями рядом со мной), выиграли с огромным отрывом, даже несмотря на то, что самурай подорвался на бусидо незадолго до конца игры.
Потом играли в «Нечто». Но играли не слишком быстро, а времени уже оставалось мало, поэтому доиграть не успели, а только сыграли огнемет против Tellы, которая оказалась мирной.
Но несмотря на все это, я могу сказать, что это была одна из лучших встреч за все последнее время. Во многом из-за того, что сегодня не было людей, склонных к конфликтам или излишнему крику. В общем, рад, что выбрался!

Замедление жизни

4X_Pro
Большую часть недели отсиживался дома: замедлял жизнь, расталкивал понемногу накопившиеся недоделанные дела. Правда, тут же стали наваливаться новые. Особенно эффективной получилась среда: сделал на удивление много. А вот понедельник, ночь со среды на четверг и сам четверг во многом ушли на споры в настолочном чате. Сначала — по поводу гендерных предрассудков, потом — соционики. Во вторник еще удалось увидеть солнечное затмение, правда, не вживую, а по YouTube. Причем даже полную фазу, где видна так называемая солнечная корона.
На улицу со вторника выбирался только один раз — сегодня: сходил на почту, а потом — на короткую прогулку в Терлецкий парк. Но она ничем особо не запомнилась, тем более, что собирался дождь, из-за чего сильно хотелось спать.

Прогулка на остров Москвы-реки

4X_Pro
Во вторник с Tellой собирались поехать посмотреть парк в районе метро Проспект Вернадского. Наметили это на 16 часов. Но получилось как всегда: поздний подъем и энергетический спад из-за новолуния привели к тому, что к 16 часам ни я, ни Tella не были готовы выходить куда-либо. Стало ясно, что соберемся выбраться в лучшем случае где-то часам к 17, и пока доберемся до парка, будет уже вечер. Поэтому я решил, что нужно выбраться куда-нибудь поближе, стал вспоминать, в какой части центра города давно не был. Выбор пал на остров на Москве-реке, в восточной части которого я бы всего один раз в жизни (кажется, в 2017 году). Договорились встретиться на выходе из Третьяковской. Но когда я туда добрался, там шел сильный дождь (хотя у нас в Перово, когда я уезжал, его не было). Дождался Tellу, постояли еще пару минут, но дождь все не кончался, и стали думать, что делать дальше. Решили забежать в ближайшее заведение под названием «Хлеб насущный» и посидеть какое-то время там.
Пока сидели, погода полностью изменилась: выглянуло солнце, и день превратился в обычный летний. Сначала пошли вдоль Водоотводного канала, добрались до Садового кольца и там перешли к Москве-реке. Затем пришли к месту слияния Москвы-реки и канала, далее — до Новоспасского моста, с которого сделали немало фотографий. К этому времени снова набежали тучи, которые придали фото какой-то апокалиптический вид. А когда мы перешли по мосту и вышли к Новоспасскому пруду, вдруг снова полил дождь. Сначала мы хотели бежать к метро, но потом решили «ну и ладно, все же обойдем пруд кругом». Это оказалось удачным решнием: дождь очень быстро кончился, и на небе появилась радуга! Причем получилось необычно: мы сначала увидели ее на фото, а потом уже— вживую. Причем на одной из фотографий радуга оказалась даже двойной! Потом мы все же дошли до метро и разъехались по домам.

Задать вопрос

Здесь можно задать мне вопрос или спросить совета по любой теме, затронутой в блогах или на форуме. После того, как я отвечу, вопрос и ответ появятся в соответствующем разделе. Но не забываем, что я — сторонник slow life, поэтому каких-либо сроков ответов не обещаю. Самые интересные вопросы станут основой для новых тем на форуме или записей в блоге.
Сразу предупреждаю: глупости, провокации, троллинг и тому подобное летит прямо в /dev/null.