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

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


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

t.me/4x_pro

Лог жизни

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


Приступ инфоголизма

4X_Pro
Понемногу выкарабкиваюсь из нересурсного состояния, в котором был всё начало недели. Понемногу двигаюсь с переделкой личного сайта: доделываю страницы второго уровня, дописал некоторые скрипты, но никак не могу определиться, что и в каком виде вынести на главную. В четверг ещё сделал шаг по переводу SuperMon_Bot.
Ещё в последние дни просто приступ инфоголизма. Много сижу на Хабре. В частности, нашёл там подборку репозиториев на GitHub с разными полезностями. Особенно понравился сайт 30 Seconds of Code и подборка Build your own X. В частности, сейчас читаю там про то, как написать свою реализацию протокольного стека TCP/IP.
И читая это, задался вопросом: ведь я почти всё необходимое знаю (кроме того, как считается контрольная сумма заголовка IP-пакета). Протоколы IP, ICMP, TCP, UDP и ARP изучал ещё во времена NHT, а потом — курса по Сетям в Институте. Про то, как сделать TUN или TAP-интерфейс, читал совсем недавно. Но вот написать свою реализацию, пока не прочитал статью, не смог бы даже в таком простом варианте, как там (без обработки фрагментированных пакетов и т.п.) — просто не понимал, как подойти к этому вопросу. Не было той самой целостной картины в голове, появление которой обычно и даёт мощную мотивацию.

Заметка в Instagram от July 05, 2022 at 04:49PM

4X_Pro
Сегодня случился приступ бессонницы. И в голову пришла необычная идея: отправиться на утреннюю прогулку на самокате в Измайловский парк и проехать так называемый большой круг от Лебедянского пруда до Красного.
И я это сделал! Очень этим доволен, впечатлений масса! Утром мир воспринимается совсем иначе, даже самые обыденные места типа шоссе Энтузиастов (см. второе фото).
Больше всего понравилась первая часть прогулки — дорога к Лебедянскому пруду. Тогда только-только поднялось солнце, как-то совершенно особенно, по-утреннему пели птицы, дорожка в парке совсем пуста, и ехать — одно удовольствие.
В лесу было ещё сумрачно, и только перед самым прудом я выехал на открытое пространство, полностью залитое солнцем (см. фото 3). А сам пруд был покрыт туманом. К моему большому удивлению, возле прудов я оказался не один: там было несколько рыбаков и какой-то йог, занимавшийся на коврике.
Какое-то время я посидел возле пруда, стараясь максимально вобрать в себя впечатления от всего этого, потом отправился дальше. Проехал по дорожке вдоль пруда. На ней из-за просветов между деревьями образовалась интересная игра света и тени (см. фото 6). Бросил ещё один взгляд на пруд, на этот раз с северного берега, откуда можно увидеть его целиком во всём великолепии, и поехал к ручьям: Харигозинскому, Липитинскому и Косинскому. Из-за жары они сильно обмелели, поэтому ничего особо интересного там увидеть не удалось. Затем выехал к Декоративным прудам, где снял ивы, растущие по их берегам. И дальше отправился домой мимо Красного пруда. Ехал и в этот момент чувствовал полноту жизни, включенность в здесь и сейчас, и переполняло такое чувство радости, какого давно не испытывал!
#утро #летнееутро #лето2022 #измайловскийпарк #лебедянскийпруд #прогулканасамокате

Смотреть все фото

Недостаток лёгкости творения

4X_Pro
Несколько дней назад пришло понимание, откуда же берётся моя неудовлетворённость жизнью, хотя вроде бы есть возможность жить так, как хочется. Всё очень просто: в своих представлениях как жить я всегда видел себя этаким играющим творцом, создающим что-то быстро, легко и непринуждённо, просто потому что захотелось. Но реально таковым не являюсь. Процесс создания чего-либо идёт медленно и мучительно.
Вот, например, взять ту же страницу о моих компьютерах для новой версии личного сайта. Изначально я думал, что набросаю её за 1—2 дня за время прошлого возвращения в Город. Реально же это заняло почти три недели! И это всего одна страница… (Если считать только те дни, когда я реально сидел и писал, то получается чуть меньше, 4—5 дней.) А ещё нужно добавить фотки компьютеров и какой-нибудь lightbox-скрипт (который опять же нужно найти и выбрать).
Или этой ночью пришла в голову мысль добавить на пустое место в левой части сайта пасхалки в виде случайно появляющихся персонажей старых игр, например, Pacmanа, монстров из Space Commander, ракету из Spy vs Spy, фигуру из Tetrisа и ещё несколько. Но мысль о том, что нужно найти и скачать все перечисленные игры, сделать скришноты (причём кое-где нужно поймать несколько кадров анимации), потом написать скрипты, отвечающие за их появление и уход, вызывает уныние.
И вот то, что состояние «ух ты, какая классная идея, сейчас сделаю» так легко и быстро переходит в «ой, сколько же придётся возиться» и есть моя главная проблема на данный момент.
Попытался было понять, что с этим сделать, с помощью карт Таро. Получил следующее:
«Почему я так медленно и тяжело творю» — перевернутая десятка Чаш. Истолковал как недостаток эмоционального наполнения жизни.
«Что с этим можно сделать» — прямая десятка Мечей (одна из самых частых карт в моих раскладах). Воспринял как что-то вроде «принять неизбежное, прекратить бессмысленные попытки».
«В чём заключается это бессмысленное» — перевернутое Колесо Фортуны (аркан X). Видимо, имеется в виду, какое-то движение назад.
«Чем оно вызвано» — перевёрнутое Солнце (аркан XIX) — заблуждения.
И последним вопросом было «заблуждения в какой области». Ответом стала тройка Кубков, то есть где-то в сфере эмоций (кроме того, Galaxy Taro её толкует как карту дружбы).
На этом я и остановился, но ясности это не добавило.

Удачное возвращение

4X_Pro
После двух весьма активных дней последовал спад. Да и в Welltory показатели ухудшились. То ли слишком много сил потратил, то ли накопился недосып (в предыдущие дни спал часов по 6), то ли новолуние сказывается.
Вчера большую часть времени провёл в состоянии ухода в себя, созерцания. Пытался кое-что доделать по freelance-задачам, но желания не было от слова совсем. Поэтому всё, что сделал — это написал ещё часть материала о своих компьютерах для новой версии личного сайта. Кошмар, как же медленно идёт дело. Зато если изначально я просто хотел описать конфигурации, то теперь про каждый из компьютеров — целая история, как он повлиял на мою жизнь.
Сегодня вернулся в Город. Лучшая часть лета позади. Равно как и половина этого года с непростым характером, как я назвал его ещё в январе. Или времени правды, как сказал 10geek.
Изначально хотел ехать, как обычно, через Посад. Но когда собрался и посмотрел расписание, обнаружил, что на 15:55 не успеваю, а потом больше часа электричек нет. Оказался перед выбором: либо сидеть и ждать, и приехать в Город позже, чем хотелось, либо ехать через Ногинск. Выбрал второе, причём изначально хотел дойти до дороги пешком, и там сесть либо на автобус, либо, если времени будет мало, вызвать такси.
Но снова прособирался и оказался перед выбором: либо сразу ехать в Ногинск на такси, либо бесцельно сидеть ещё 15 минут в доме, и потом ехать как обычно, через Посад. В итоге выбрал первое, но всю дорогу до Ногинска думал, правильно ли поступил и что всё-таки ценнее: 15 минут времени или 150 рублей денег (поездка до Ногинска стоит на эту сумму дороже, а цена билетов на электричку из обоих пунктов одинакова).
Поездка прошла на удивление хорошо. И такси приехало буквально через две минуты с момента вызова (так бывает редко), и на станцию приехал с таким запасом, что можно было купить билет совершенно без спешки (хотя всё равно нервничал последнюю часть пути). И в электричке занял отличное место у окна лицом вперёд (впрочем, в Ногинске народа мало садится, это не сложно). И трамвай подошёл буквально в тот момент, когда я дошёл до остановки. Как я говорю в таких случаях, высшие силы создают попутный ветер благоприятных событий.
С интересом смотрел изменения, которые произошли с 2019 года. А ещё думал о том, что когда-то, когда дачу только купили, мечтал когда-нибудь во время поездки высадиться и получше осмотреть те или иные места. Например, пруд возле Есино или реку Чёрная возле одноимённой платформы. Но всегда откладывал, потом год заканчивался, и в итоге идея так и оставалась нереализованной. Причём вроде бы ничего мне не мешает: тут не надо ни с людьми как-то взаимодействовать, ни деньги дополнительные тратить, ни ещё чего-либо. Просто действие слишком выходит за рамки привычного, вот и не делаю… Тот самый случай, когда границы — в голове, а не вовне.
Остаток дня прошёл куда-то мимо. Даже не могу вспомнить, чем занимался, кроме бытовых вопросов.

Заметка в Instagram от June 30, 2022 at 08:21PM

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

Смотреть все фото

Насыщенные дни и сделанный прототип

4X_Pro
Эти три дня были весьма насыщенными, не успеваю фиксировать всё. В воскресенье всё же разобрался с основами Vuetify и к ночи понедельника в целом сделал большую часть прототипа. А ещё поменял своё отношение к material design. В общем-то не такая уж это и плохая штука. (Хотя всё равно во времена Android 2 и 4 интерфейс был лучше.) Осталось только разобраться, как подключить редактор Quill и расставить значки действий именно так, как мне требуется (ну и найти наиболее подходящие). Правда, вычитал на Хабре, что более перспективно использовать не Vuetify, а Quasar: он и Vue 3 поддерживает, и Server Side Rendering, и даже по размеру скриптов вроде экономнее. И как всегда, это несколько демотивировало. Впрочем, с другой стороны, какая разница, если делаю только прототип, чтобы понять, как должно выглядеть, а потом планирую всё равно всё переверстать без frameworkов, на чистый CSS и минимум JS…
Но в целом вопросов накопилось много, и главный из них — это как взаимодействовать с серверной частью. Вообще, на чём всегда застревал при освоении чего-то нового по Интернету — на том, что вроде основы понятны, но совершенно непонятно, как перейти от более простого к более сложному.
Из-за этого в понедельник переключился на другую задачу. Попалась под руку информация о том, что замена стандартной zlib на zlib-ng или версию от Cloudflare может дать прирост производительности всем приложениям, которые используют zip-сжатие. В том числе и броузерам при загрузке сжатого контента. Сначала искал benchmarkи на эту тему, чтобы убедиться, какую из этих версий лучше ставить. Потом собирал на виртуальной машине. Получилось со второй попытки (как, впрочем, и всё, что я делаю в этой жизни). К счастью, заняло это не так уж много времени, поэтому вечером вернулся к изначальному замыслу — доделке прототипа.
Ещё вечером понедельника выбрался на прогулку к ближайшему водоёму. Хотел было снять закат, но опоздал минут на десять… Зато хорошо прогулялся, почувствовал включенность в жизнь. А на обратном пути сфотографировал здоровенного жука. Поискав какое-то время в Интернете, определил, что он относится к виду окаймлённый плавунец. Потом на сайте ФотоКто это подтвердили.
Кстати, сайт ФотоКто оказался вполне дружелюбным сообществом. Изначально я боялся регистрироваться, так как он позиционируется как сайт для фотопрофессионалов, и что меня там закритикуют. Но нет, комментарии вполне дружелюбные, и для удачных фото получается соотношение 1 лайк на 12 просмотров. Сейчас хожу и смотрю чужие фотографии, пытаюсь понять, чего же мне всё-таки не хватает, чтобы снимать по-настоящему круто — таланта, знания матчасти или возможностей камеры…

Идея мобильного сообщества и эксперименты с Vuetify

4X_Pro
Как всегда, эмоциональная встряска привела к новым идеям. В частности, ночью понял, каким должно быть современное сообщество, которое будет жизнеспособно даже в условиях слишком быстрого темпа жизни, когда у большинства людей не хватает времени и внимания. Как это ни странно, нужно сделать шаг назад, к более простой форме — от форума к гостевухе, но в виде Progressive Web App с уведомлениями об ответах, поддержкой хештегов и оффлайнового просмотра кешированных материалов и написания новых сообщений (собственно, последнее — это то, чего мне больше всего не хватает сейчас на моём сайте).
Где-то часа полтора лежал, ворочался и крутил это в голове. Потом встал, спустился на первый этаж, зарисовал на листе бумаги основные идеи и то, каким я вижу интерфейс, после чего наконец-то смог заснуть.
Проснулся от телефонного звонка. Когда понял, что снова не усну, решил сделать прототип интерфейса такого приложения. Только вот верстать то, что я хотел, совсем с нуля долго и нудно, а прототип хочется быстро. Поэтому решил в качестве временной меры использовать Vue и поискать для него готовый набор компонентов. Набор нашёлся на удивление быстро. Он называется Vuetify, и вроде бы в нём есть почти всё, что потребуется. Нашёл на Хабре введение в Vuetify, но оказалось, что там нужна vue-cli.
Пофыркав на тему «опять забивать систему хламом», всё же решил поставить. Ubuntu предложила сделать это через snap-репозиторий. Я согласился. Но увы, при попытке запустить выдалась ошибка, что не хватает какого-то jar-файла. На Stack Overflow вычитал, что лучше ставить через npm.
Попытался установить через npm, и тут новая ошибка — слишком старая версия самого npm. Там нужна то ли 12.0, то ли 14.0, а в Ubuntu 20 — всего лишь 10.x. Нет, я, конечно, знал, что в мире Javascript с версионированием постоянно вылезают какие-то проблемы (и это одна из причин, почему я так плохо к нему отношусь), но не думал, что всё настолько плохо! Пришлось опять лезть в Интернет и искать, как поставить последнюю версию npm откуда-то из сторонних источников.
После этого всё заработало. Единственная проблема, с которой столкнулся — это линтер ругался на то, что имена компонентов должны быть из нескольких слов, тогда как в исходном примере был однословный List. Но это исправил быстро.

Заметка в Instagram от June 25, 2022 at 01:11PM

4X_Pro
Сегодня так получилось, что внезапно оказался в Ногинске ранним-ранним утром. Прежде я видел только привокзальную площадь и часть города из окна автобуса, и считал, что особо ничего интересного там нет. Но, как выяснилось, был неправ! В части города возле реки сохранилось несколько купеческих домов (один из них — деревянный, с весьма затейливой резьбой, жаль, не сфотографировал) и храмов. И мосты над Клязьмой очень понравились. А ещё оказалось, что в городе есть цирк, что очень сильно удивило (в городе всего 100 тысяч населения).
А одно из граффити на стене я воспринял как ответ на вопрос, который не даёт мне покоя в последнее время.
#ногинск #мост #рассвет #река #граффити #город #городнарассвете

Смотреть все фото

Болото жизни и дисгармония

4X_Pro
С прошлого вторника было какое-то ощущение болота жизни. Несмотря на все старания, не было никакого удовлетворения от сделанного. Вместо этого — ощущения увязания и бесперспективности. Ещё по фриланс-деятельности накидали слишком большое количество задач, что тоже добавило чувство тоски. Зато задумался над тем, что есть какое-то пороговое значение, после которого ощущение «сейчас быстренько сделаю эти небольшие задачки, и все будут довольны» меняется на «ой, сколько делать, не хочу даже браться за это».
Вчера (вернее, теперь уже позавчера) вообще глючный день был. То в посёлке свет отключали (как потом выяснилось, для плановых работ на трансформаторе), то никак не мог разжечь костёр и сготовил неудачный шашлык, то с Tellой поругался.
Вечером вообще снесло в жуткий негатив, какого с марта не было! Ненавидел весь мир за то, что он продолжает меняться вместо того, чтобы остановиться на лучшем решении. В частности, то, что на классический интерфейс desktop-приложений (заголовок + строка меню + панель с кнопками наиболее частых задач + рабочая область + строка состояния) сменяется чем-то мобилоподобным. Ненавидел видеоблоги за то, что они сейчас потеснили обычные текстовые. Ненавидел соцсети из-за того, что из-за них стало меньше посещаемости у обычных сайтов. Ненавидел то, что всё больше и больше пользователей ходит в Сеть с мобильных устройств, а не с компьютеров. И мечтал построить «секту свидетелей 2007» — некоторое отгороженное от остального мира пространство, где софт, интерфейсы и принципы разработки будут примерно такими же, как в те времена, а сайты будут оптимизироваться по размеру так же, как при модемах (и плевать на экономическую целесообразность этого, ненавижу, когда что-то решает экономика или, говоря языком соционики, ЧЛ). И не будет всякой гадости типа Boostrap, React, Vue и nodeJS, равно как и оптимизации сайтов под мобильные устройства. А ещё в очередной раз всплыла ненависть к лжетипологическому форуму мятежников, который всё же пару лет назад обошёл Tipiruem по показателям.
А потом вдруг произошло резкое переключение. Tella попросила показать, что же это за форум мятежников такой. Я открыл его и обнаружил, что оказывается, он благополучно загнулся. В большинстве разделов последние записи были в 2020—2021 годах, и только в нескольких — в феврале 2022 года. И тут я резко успокоился, и настроение сменилось на позитивное! Даже хотел там зарегистрироваться и повыделываться на тему «Мы вас похороним! Я — соционический могильщик, который закопал проявившие ко мне недружественность форумы Epsilon, Sarzion, форум Spyke, а теперь вот и лжетипологический, а придёт время — закопаю и Социофорум», но не стал, а то вдруг оживёт ещё.
Потом была бессонная ночь с кучей осознаний, а после — утренняя прогулка с чувством (хоть и не полным) включенности в жизнь. А вот день прошёл куда-то мимо, но я по этому поводу особо и не переживал. Но самое главное, почему-то появилось ощущение, что дисгармоничный период вот-вот закончится.

О Pexels и VPNах

4X_Pro
Сегодня обнаружил, что «антироссийские санкции» ввёл сайт, от которого я меньше всего этого ожидал — Pexels.com. Сегодня зашёл туда посмотреть статистику и загрузить фотографию со вчерашней прогулки, и обнаружил объявление, что сайт больше не пускает пользователей из России. Теперь вот думаю, стоит ли туда дальше грузить фото или же поискать другую, более адекватную платформу, которая не будет нарушать один из основополагающих принципов свободы информации по политическим соображениям.
Ещё, когда попытался зайти на Pexels, сглючило VPN. Сначала запаниковал, что начали блокировать все VPNы вообще с помощью DPI, но потом оказалось всё проще. Вчера почему-то сервер перезагрузился (uptime меньше суток) и заглючило ifw. После того, как я его перезапустил, всё заработало как надо. Видимо, нужно в зависимостях ifw unit указать, что он должен запускаться после openvpn.

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

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