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

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


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

t.me/4x_pro

Лог жизни

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


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

4X_Pro
Сегодня вместе с Tellой пошли в Терлецкий парк. День был просто замечательный, яркий и солнечный! Прогулка очень понравилась. Радовали сугробы почти в мой рост, в прежние годы таких давно не было. А ещё есть надежда, что раз зима наступила строго по календарю и была холодной, то и весна наступит вовремя, а не как в прошлом году.
Пользуясь отличной погодой, реализовал идею, которая была у меня в голове уже несколько недель: ещё раз поменять своё официальное фото. Прошлое всё-таки слишком мрачноватое, да и снято в не самый приятный период жизни. И это было сделано! Потом ещё фотографию обработала DarLik, значительно её улучшив (в первую очередь, глаза).
Вечером случился приступ инфоголизма. Не мог ничем заняться, так как безотрывно читал статьи на Дзене, ЖЖ и в Wikipedia и никак не мог оторваться. Даже в HearthStone и Heroine's Quest поиграть не получилось. А ещё наткнулся в комментариях на Дзене на упоминание очень классного рассказа — «Демон истории» Гансовского.
Добавлено позже: впрочем нет, одно дело я всё же сделал — отправил отчётность «Предприниматель-1» в Росстат.

День раздражительности

4X_Pro
Вчера (вернее, уже позавчера) опять был странный день. Днём я был бодрый и довольный жизнью. Закончил сайт для Лн.К., причём дело пошло как-то на удивление быстро и легко. Потом немного поизучал протокол webmentions. Протокол очень простой (как и большинство протоколов IndieWeb, в отличие от fediverse с её ActivityPub). Но для его реализации нужно сделать в IntB очередь заданий (то, что называют workqueue), причём пользуясь средствами только чистого PHP (ну и MySQL), без всяких RabbitMQ, beanstalk или самописных процессов в фоне. Впрочем, очередь заданий рано или поздно потребовалась бы всё равно — для ActivityPub.
Стал размышлять, как реализовать, чтобы была и надёжность в плане того, чтобы задача обязательно выполнялась бы, и не было двойного исполнения задач при параллельных запросах, и не надо было делать долгие блокировки таблиц.
А вот где-то после 21 часа полезла раздражительность без видимых причин (не считая того, что неудачно шла игра в HearthStone, а потом у отца слетели настройки VPN). Давно так не ругался! Из-за этого остаток дня прошёл куда-то мимо.

Странноватый день: с утра бодрость, вечером — спад

4X_Pro
Сегодня (вернее, уже вчера) был какой-то странноватый день. Утром встал бодрый, довольный жизнью и отличным днём за окном. Около 13 часов выбрался очень ненадолго на прогулку, настроение было отличное. А где-то в 15 часов вдруг накатила такая усталость, что ничего больше делать не хотелось, и так продолжалось часа два. А остаток дня всё равно прошёл куда-то мимо: по сути, весь день занимался бытом. Хотя надеялся доделать сайт для Лн.К., где осталось совсем немного, чтобы завтра со спокойной совестью вернуться к IndieWeb.
Впрочем, когда взглянул сначала в окно, а потом на GisMeteo, объяснение нашлось. За окном шёл снег, а GisMeteo показывало достаточно высокий уровень геомагнитной активности — 4 в течение почти всего дня.

Ещё не всё прогнило в Интеренете!

4X_Pro
Всё, есть первый шаг к IndieWeb в Intellect Board! Вчера вечером закончил реализацию и оттестировал сервер авторизации по протоколу IndieAuth на своём сайте 4xpro.ru. Причём даже заработало на удивление быстро. В общем, впервые за последние три недели был по-настоящему доволен жизнью!
Правда, всё же не сделал некоторые проверки для URL, которые есть, например, в selfauth. И ещё возник один вопрос, с которым никак не могу определиться: делать возможность авторизации для всех зарегистрированных пользователей с URL вида http://сайт/users/profiles/номер.htm или же только для тех, кто создаст раздел типа «домашняя страница» (правда, его ещё нужно сделать), но с красивым URL типа «сайт/страница/». Первый вариант лучше для переноса профилей IntB=>IntB, который я со временем хочу всё же сделать, второй — для работы IntB в режиме домашней страницы и для взаимодействия с другими сайтами IndieWeb.
А ещё узнал, что в IndieWeb всячески приветствуется плюрализм (множество разных реализаций протоколов) и использование самописного софта (если я правильно понял слово selfdogfood). Так что IntB там придётся к месту!
Ещё нашёл годную CMS, в которой реализовано то, для чего я когда-то давно хотел делать в урезанном виде на TextCMS или даже отдельный framework: сайт, состоящий не просто из страниц, а из сущностей с задаваемыми полями. Называется она ProcessWire.
В общем, не всё ещё прогнило в Интернете. Жаль только, что ради этого приходится выходить за пределы Рунета.

Длительный снегопад

4X_Pro
Уже больше суток продолжается снегопад. Давно такого не было! Утром я даже радовался ему: нравились огромные сугробы, и его чистота и белизна. Но потом от снега стала болеть голова (у меня часто это бывает), всё стало раздражать, а производительность труда просто никакая. Прошло уже полдня, а я ничего вообще не сделал, хотя хотел дописать сервер IndieAuth и начать тестировать.

Реализую IndieAuth

4X_Pro
Вчера сходил к отцу, помог ему настроить VPN (нужен по работе). А вечером неплохо продвинулся в HearthStone. Наконец-то научился играть за Жреца нормально.
Сегодня написал первый код для протокола IndieAuth в IntB. Начать решил с сервера, так как казалось, что он проще. На первый взгляд, протокол кажется достаточно простым, но стоило почитать спецификацию, как выяснилось, как же много разных проверок требуется сделать, чтобы ей соответствовать! Ещё долго искал информацию по тому, есть ли какие-то требования к authorization code и tokenам или best practices по их генерации, но толком не нашёл. В итоге сделал просто хеш от нескольких случайных значений + site_secret + client_id.
Ещё отправил заявку на участие в «Авроре» Дзен.Канала. Но не знаю, выйдет ли из этого что-нибудь с теми показателями, что есть сейчас.
Вчера всю ночь размышлял над тем, что упустил возможность закупить ЗПИФ ФПР достаточно дешёво. И тут высшие силы пошли мне навстречу: внезапно он ощутимо просел. Правда, если бы я не ждал неизвестно чего, а купил бы его после НГ, когда впервые об этом задумался, цена была бы совсем другая…

Осваиваю IndieAuth

4X_Pro
После нескольких дней переживаний по поводу того, что «всё уже придумано до нас» решил всё же делать поддержку протоколов, используемых в IndieWeb, в Intellect Board. Тем более, большинство из них в реализации куда проще, чем ActivityPub. Единственное что смущает — не получится ли в итоге очередной войны протоколов, и не окажется ли в конце, что я выбрал не то, что нужно.
И сегодня стал разбираться в протоколе IndieAuth. Серверная часть, как выяснилось, в нём реализуется достаточно просто. С клиентской главная сложность в том, чтобы найти все ссылки с rel="me" и авторизовать пользователя через них. Впрочем, как выяснилось, существует сервер indielogin.com, который может взять это на себя. Но когда стал с ним экспериментировать, выснилось, что client_id туда добавляются вручную, и для этого нужно писать создателю этого скрипта. К счастью, на GitHubе есть исходный код, и при необходимости можно будет поднять свою копию для форумов на IntellectBoard, но всё равно как-то несколько разочаровало.

Неожиданность от МТС

4X_Pro
Полезно всё-таки читать форумы про инвестиции! Вчера обнаружил, что МТС запустил программу выкупа по цене ниже рыночной для тех, кто не согласится с его реорганизацией или просто не проголосует по этому вопросу. (В принципе, уведомление об этом приходило и на Email, но я его благополучно проигнорировал.) Пришлось срочно это делать, иначе бы лишился акций на совершенно невыгодных условиях.
Ещё сбросил с очень небольшим плюсом одну из самых своих неудачных покупок — акции Газпрома. Впрочем, сброс не совсем удачный: буквально через полчаса после этого они чуть-чуть подпрыгнули в цене и так держались до вечера, но сейчас снова ушли вниз.

День семёрки пентаклей и эксперименты с i2p

4X_Pro
Если прошлый год был кошмарным, то этот правильнее назвать тягостным. Вроде ничего особо плохого не происходит, но как-то всё тоскливо и безрадостно. В субботу единственное что было хорошего — сходили с отцом на лыжах, покатались очень классно. Потом дописали с Tellой статью для канала, но процесс шёл очень тяжело. Да и когда выложили, она набрала всего 36 показов.
На следующий день ни на чём не мог сосредоточиться, производительность труда была нулевая. Только под вечер немного поработал над сайтом Р.Л. Постепенно всё больше и больше вязну в мелких задолженностях перед жизнью, и с этого сильно переживаю.
Но вот вместо того, чтобы эти долги расталкивать, берусь за какие-то другие дела в надежде хоть там получить позитив. Например, сегодня с подачи 10geek попробовал подключиться к I2P-сети. Надеялся, что в сайтах, размещённых там, ещё жив дух старого доброго Интернета. Попробовал пакеты i2p, и i2pd, но безрезультатно. С i2p получилось заходить на обычные сайты с изменённым IP, но не получалось увидеть сайты в зоне i2p. Но самое главное, почему-то недоступна консоль на порту 7657. С i2pd, наоборот, какой-то один сайт после долгих мучений открылся, но на этом всё и закончилось. Есть подозрение, что это из-за того, что я сижу за NAT без проброса портов.
Ещё в очередной раз экспериментировал с опциями сокетов для SiteKnockerBot в надежде, что удастся уменьшить периодически возникающие при проверке задержки. Но безрезультатно…
Также пытался доделать мелкие доделки по сайту для Р.Л., но никак не мог на этом сосредоточиться.
Единственный позитивный момент — узнал о протоколе Gemini — попытке создать «упрощённый Web», точнее, нечто среднее между Web и Gopher. Вспомнилось, как хотел было поднять сервер Gopher у себя и разместить там копию личного сйата. Теперь вместо этого использую протокол Gemini.
Вечером решил спросить у карт Таро, в чём дело. Сделал расклад «карта дня», выпала семёрка пентаклей: сигнал, что нужно сделать паузу и подумать о целях и смыслах.

Опять неприятности

4X_Pro
Только начал приходить в себя после всех переживаний пятницы, как навалилась новая неприятность. Снова упала карма на Яндекс.Дзене. Да и показатель «общая реакция аудитории» после нескольких попыток подрасти свалился до 33% и застрял там наглухо (а ведь в лучшие времена было 45%). В общем, всё плохо и бесперспективно…

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

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