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

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


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

t.me/4x_pro

Лог жизни

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


День магнитных бурь и группа идеалистов

4X_Pro
Сегодня всё же создал группу идеалистов Интернета в OpenVK. И вдруг осознал, что не знаю, что писать, кроме вводной статьи про то, кого таковыми можно считать. Потом всё же закинул несколько материалов из разных разделов своего сайта. Посмотрел свой TG канал, где откладывал идеи для сообщества, но что-то ничего из того, что там есть, желания писать заметку не вызывает. Впрочем, работоспособность сегодня вообще никакая. Возможно из-за магнитных бурь: днём Kp-индекс доходил до 7, что очень много. Да ещё и опять спал плохо… Впрочем, главная проблема в том, что мне сложно оценить уместность. Да и то, что казалось уместным в контексте сайта, в группе на большом сайте кажется излишним (например, вопрос о путешествиях или фото кошек).
Тем не менее, в группу сразу же вступило 3 человека. Вот она, сила маленьких сообществ: когда что-то там публикуешь, это обязательно заметят. Ещё отправил на GitHub ряд предложений по улучшению CSS у OpenVK. А когда копировал текст о том, кто такие идеалисты Интернета, открыл статическую страницу MLCE и понял, что жалко его всё же забрасывать: слишком много сделано, да и на фоне OpenVK выглядит лучше… Но и сил делать дальше тоже нет. Точнее, просто в голове бардак, и непонятно, за что браться в первую очередь.

День отдыха и OpenVK

4X_Pro
Сегодня устроил себе день отдыха. Как следует отоспался (более 9 часов сна всего, из них 1:40 — глубокого, которого не хватало в предыдущие дни), потом почти весь день провёл в оффлайне. Дочитал две книги — «По ту сторону рассвета» и про файловые системы. Собирался это сделать ещё две недели назад, но не складывалось, из-за чего раздражался, как всегда из-за чувства незавершенности Потом побегал на дорожке, чего не делал, кажется, с сентября (и то это был один раз). Сейчас испытываю с одной стороны, приятное чувство внутренней собранности, какой-то готовности, с другой — по-прежнему, плохо понимаю, куда же двигаться по жизни.
Ещё очень порадовал 10geek! Он нашёл в Сети сайт openvk.su — открытый аналог ВКонтакте с интерфейсом 2000-х годов. И самое главное, при регистрации не требуется оффлайновое имя и номер телефона. А ещё разработчик обещает сделать со временем поддержку fediverse! Я там зарегистрировался и сейчас думаю о том, чтобы именно там создать группу «Идеалисты Интернета» и продублировать туда часть материалов со своего сайта, так как в таких небольших сообществах, где преобладают компьютерщики, проще найти единоышленников.
Также кручу в голове идею, предложенную сэром Миком — сделать скрипт для синхронизции файлов с VDSом и оттуда — со вторым ноутбуком, где синхронизация будет идти не просто по набору путей (как сейчас у меня сделано с Яндекс.Диском), а будут отслеживаться все изменения в /home/xxxxpro и /mnt/DATA, кроме указанных исключений и файлов слишком большого размера (чтобы не тащить на сервер, скажем, сами игры, а только сохранения к ним и файлы настроек). Но пока никак не приступлю к реализации.

Период растерянности

4X_Pro
С воскресенья пребываю в каком-то состоянии растерянности. То ли дело в недосыпах (сплю по 6—7 часов, и глубокого сна мало), то ли в результатах расклада на Таро, который я недавно делал. Сложно принять, что столько направлений сразу оказались тупиковыми или бесперспективными. И даже то, что это устраняет избыточный выбор, тоже как-то не радует.
В голове крутится несколько задумок новых ботов (раз уж их показывают как одно из самых благоприятных для меня направлений): ежедневная рассылка информации из Метрики, бот для диагностики сайтов на типичные технические проблемы (что-то вроде pr-cy, но с проверкой ещё ряда параметров) и бот для улучшения качества серых изображений (например, фотографий из книг). Вчера даже пытался заниматься ботом диагностики, но дело идёт медленно и тяжело. Зато в процессе нашёл некоторые настройки curl, которые, по идее, помогут улучшить работу SiteKnockerBot.
Пришёл счёт за октябрь от Amazon Web Services. Несмотря на то, что сервер там первый год предоставляется бесплатно, всё же насчитали $1.72 за траффик и использование хранилища. Казалось бы, немного, но в рублях это всё равно полстоимости VDSа, на котором бот стоял раньше… Мда, во сколько же мне обойдётся полная стоимость! Ещё изучал SberCloud на предмет переноса серверов туда, причём не только с ботами, но и сайтов с основного VDS, так как в отличие от Amazon, есть датацентры в России. Чуть было не сломал мозг, пока нашёл тарифы. Но как-то тоже получается дороговато. Плюс сейчас ещё перестали давать сертификаты на то, чтобы попробовать услуги бесплатно… В общем, похоже, для сайтов с очень малой нагрузкой облачные технологии невыгодны, нужно брать самые обычные дешёвые VDS, и всё.

Заметка в Instagram от November 01, 2021 at 10:44PM

4X_Pro
После прогулки в парк Радуга я ненадолго заехал в Кусково. А на обратном пути, переходя железную дорогу, не смог упустить возможность сделать фото на закате.
#железнаядорога #поезд #поезда #станция #железнодорожнаястанция #рельсы

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

Заметка в Instagram от November 01, 2021 at 10:13PM

4X_Pro
Съездил сегодня на прогулку в парк «Радуга». Несмотря на то, что расположен он достаточно близко, бываю я там очень редко, так как рядом расположено куда более интересное Кусково. А «Радуга» — вполне обычный парк, мало отличающийся, скажем, от Братеевского. Пожалуй, самое примечательное в нём — это необычные скульптуры (см. фото 5) и мост через пруд. И ещё контраст между прудами: возле одного — шумно и многолюдно, а второй создаёт чувство уединения.
Ещё подумал, что прогулка на электросамокате с одной стороны, позволяет больше увидеть за меньше время, но с другой — не оставляет времени на размышления: всё внимание сосредоточено на дороге. Да и вообще, даже у меня темп жизни всё же ускоряется: поймал себя на том, что теперь не могу позволить себе прогулку в то же Кусково пешком на полдня, полностью уйдя в свои размышления, как это было в 2000-х годах.
#паркрадуга #вешняки #парк #пруд #водоем

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

Заметка в Instagram от October 30, 2021 at 04:26PM

4X_Pro
Те, кто читают мой «Лог жизни», знают, что в ситуациях неопределённости я часто прибегаю к раскладам на Таро. Раньше я это делал с помощью приложения Galaxy Tarot. Но недавно @natalia_tella подарила мне бумажную колоду — «Таро марсельских кошек». Это дало возможность не ограничиваться готовыми раскладами из приложения, а придумывать свои. Когда я в очередной раз задался вопросом «куда мне двигаться, чтобы самореализоваться», пришёл в голову такой расклад: сверху полукругом по одной карте для каждого из направлений, которые я для себя вижу:
1. IndieWeb и реализация его принципов и протоколов в Intellect Board.
2. Самоуправляемое сообщество «Идеалисты Интернета» и новый движок для него.
3. Участие в разработке малых операционных систем (HaikuOS, ReactoS).
4. Учение о жизни без слова «надо» (проповедовать иньскую модальность, экономность, отказ от трат на статус, понты и прочие социальные потребности, отказ от гонки за «успехом» ради избавления от внутривидовой конкуренции).
5. Машинное обучение.
6. Блоггерство на Дзен.
7. Типологии личности (продолжение деятельности ЕТП).
8. Разработка ботов для Telegram, навыков для Яндекс.Алисы и т.п., в общем, всего того, где не надо возиться с интерфейсами.
И снизу три карты дополнительных вариантов:
A — консервативный сценарий (не менять ничего);
B — взяться за что-то принципиально новое своё;
C — присоединиться к какому-то новому для меня чужому начинанию.
Разложил, и результаты оказались весьма мрачными: почти по всем направлениям неблагоприятные показатели, кроме вариантов 8 и С. И самое неприятное, что при консервативном сценарии тоже ничего хорошего: XVI Башня, которую я истолковал как личностный кризис.
Если плохо видно, вот карты подробнее:
1. Луна XVIII
2. Перевернутый Император IV
3. Перевернутая Императрица III
4. Перевернутый Маг I
5. 4 Мечей
6. 3 Мечей
7. Перевернутая 10 Мечей
8. 3 Жезлов
A. Башня XVI
B. Дьявол XV
C. Верховная жрица II
#таро #тарорасклады #таропрогноз #раскладтаро #расклад #картытаро

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

О суператорике и типологиях вообще

4X_Pro
Вчера (вернее, уже позавчера) пересёкся с Д.А., соавтором Ал.Л. книги по типологиям, в которую вошла и моя глава по информионике. Получил от него бумажный экземпляр книги. Глянув на внушительный список типологий на базисе 3+1, про которые рассказывается в книге, сначала отнёсся скептически: «надо же, сколько типологий наштамповали», так как привык, что большинство таких типологий — это бесполезные поделки типа кинесомии или скепсии.
Cегодня интереса ради открыл на произвольном месте и попал на суператорику. Начал читать, и оказалось, что типология очень годная! Она работает на стыке 3—4 логических уровней и описывает стратегии, как человек справляется с разрушением того, что я называю опорами личности. В частности, у меня по ней тип получается Жрец-Воин-Маг-Плут. И ещё описание этой типологии дало понимание, что мои призывы к отказу от трат на то, чтобы произвести впечатление на окружающих могут быть восприняты только теми, у кого сходный расклад типов: 1Ж по суператорике, 4Ф по психософии (её мы и приносим в жертву) и внеценностная ЧС по соционике (опять же, потому что траты на статус — это ЧСное). Ну и из-за Мага в третьей позиции больше всего я боюсь необходимости пересматривать картину мира, менять убеждения. А также именно сюда относится страх признавать окончательность чего-либо, фиксировать будущее (прежде я это списывал на 3Б в темпористике).
Ещё понравилось, что в книге применительно к психософии употребляется термин «тетрады», а не «квадры». А также обнаружил, что в главе про информионику дана ссылка на основной сайт — typologies.ru, хотя информация о ней есть только на форуме. Нужно исправлять — выложить туда статью о ней, но вот с мотивацией на это плохо. Впрочем, к вечеру четверга после нескольких дней эмоционального подъёма я сильно выгорел, и сейчас сил нет вообще ни на что…
А ещё подумалось, как по-разному можно относиться к своим идеям. У меня идей много, и поэтому я мало ценю каждую из них, поэтому так легко и бросаю. Вот я сделал одну типологию (информионику), описал ключевые её идеи и выложил, не доведя до конца даже описание расстановки аспектов по функциям. Сейчас возникла ещё одной, про 6 стратегий мышления, на основе моей идеи о различиях инженера и бизнесмена. Но в лучшем случае доведу её до краткого описания каждой стратегии. А будь на моём месте какой-нибудь американец с 1В и процессионной Логикой по психософии, он вцепился бы в соответствующую идею, «размотал» бы её до внушительной книжки, добавил бы кучу жизненных примеров и побежал бы оббивать пороги издательств.

Итоги интеграции

4X_Pro
Вчера занялся настройкой трансляции из Instagram в свой блог с помощью сервиса IFTTT. Дело шло плохо. Для начала я сделал специальный скрипт для того, чтобы посмотреть, что и в каком формате вообще можно получить из IFTTT. Когда стал запускать, обнаружилось, что в $_SERVER не передаётся заголовок Authorization, хотя в основном IntB я мог его получить. Оказалось, что Apache не передаёт заголовок Authorization напрямую из соображений якобы безопасности, и только при использовании mod_rewrite его получается вытащить. Но этого я не знал, и сначала предполагал, что проблема в самом IFTTT.
Выяснилось, что информации приходит не так уж много: только текст записи, URL первой картинки, HTML-код для вставки и ссылка на URL записи в самом Instagram. Остальные картинки, увы, не получить. Пришлось вручную собирать сообщение такого вида: текст записи, потом картинка, потом ссылка «смотреть все фото в Instagram». Потом было долгое и мучительное тестирование. Во-первых, приходилось каждый раз выкладывать новую тестовую запись в Instagram, а потом её удалять, во-вторых, глючил сам IFTTT, то и дело начиная выдавать ошибку 403. В третьих, долго ломал голову над вопросом, убирать ли фото под cut или же картинки по 200 Кб в наше время не такая уж и проблема. Даже опрос в своём чате устроить пытался. Но в итоге решил, что лишнее действие на то, чтобы развернуть cut — это всё же хуже. И вот, наконец, около полуночи после очередного запуска тестовое сообщение появилось в блоге в том виде, в котором мне и было нужно!
В общем, Великую Интеграцию можно считать завершённой, по крайней мере, первый её этап. Получилось весьма громоздко и костыльно: задействованы целых четыре сторонних сервиса и нет единообразия: с каждой соцсетью взаимодействие строится по-своему. Да и в самом IntB тоже пришлось применить весьма спорное решение: ввести новый request_type, в котором вся выдача, в том числе и заголовков, обрабатывается внутри конкретного action (аналога контроллера в MVC), а не в основной части скрипта, как при обычном режиме работы. «Костылём» это назвать нельзя, поскольку в логику работы IntB в целом это вписывается. Но вот что я заметил: решения, которые слишком сильно отличаются от общепринятых, даже мной самим через какое-то время начинают восприниматься как что-то странное. В большинстве frameworkов в контроллер передаётся объект для HTTP-ответа, который используется для вывода результатов, кода HTTP-ответа, Content-Type и других заголовков. (Собственно, даже в MLCE я сделал так, только там один объект отвечает за работу и с запросом, и ответом). А в IntB сделано иначе: есть несколько предопределённых request_type: обычный запрос с выводом результата в полном шаблоне, AJAX-запрос с выводом куска HTML-кода, RSS и теперь добавил вывод без обработки. И то, какой из request_type применить, определяется отдельным методом get_request_type, который можно переопределить для каждого модуля и в нём сделать проверки на нужный action.
А ещё не хватает гибкости. Например, обычно публикации в Instagram транслируются только в «Лог жизни» и ЖЖ, но не ВК и Twitter. Но иногда бывают и такие, которые хорошо бы отправить и в Twitter, и в Lor.Sh. Например, сейчас хочу нарисовать схему взаимодействия всех сервисов, чтобы наглядно показать результаты интеграции. Но увы, ВК и в Lor придётся копировать её вручную.
Зато пришло в голову ещё одно решение: как реализовать те типы сообщений, которых в IntB не предполагается в принципе, например, геолокации, check-inа, репоста. Оно оказалось очень простым — ввести соответствующие BoardCode. А для reply-to и repost — ещё и сделать асинхронную задачу, которая будет вытаскивать и кешировать информацию о странице из OpenGraph или h-entry. И потом показывать такие ссылки оформленными примерно так же, как оформлен предпросмотр ссылок ВК или Telegram.
Ещё решил немного поменять формат канала в Telegram: не транслировать туда разделы «Мировоззренческое» и «Идеи» (для первого потом отдельный канал сделаю, если буду писать активно), а вместо этого транслировать новости и «Интересные материалы». Так он будет более единообразным по формату. Когда стал это настраивать, обнаружилось, что нужно не только добавить RSS-ленты и бота на канал, но и включить канал в настройках самого бота. И только после этого трансляция будет работать. А ещё возникла мысль, что когда выложу MLCE, выложить в левой колонке подборку ссылок на GitHub-репозитории с моими основными проектами. Правда, для этого нужно туда ещё и TextCMS отправить, и Intellect Board, но для последнего тогда нужно выстроить правильный workflow с branchами, на что пока нет внутреннего ресурса.

Заметка в Instagram от October 28, 2021 at 01:26AM

4X_Pro
На прошлой неделе была какая-то усталость от всего, из-за которой решил замедлить жизнь и посидеть дома безвылазно. Но во вторник увидел за окном солнечный день и решил, что упускать его нельзя, да и солнечный свет поднимет настроение. Решил выбраться на электросамокате в Измайловский парк: с одной стороны, полноценная прогулка, с другой — займёт гораздо меньше времени, чем пешая.
И, надо сказать, не зря! Добрался до Серебрянки, потом сходил на то место, где Красный ручей впадает в третий Декоративный (aka Совхозный) пруд, а потом посидел на берегу Красного пруда. Проникся тихим спокойствием осеннего леса! Домой вернулся очень довольный.
P.S. А ещё я сегодня настроил трансляцию сообщений из Instagram в свой блог. И это будет первая запись, которая уйдёт туда автоматически. Так что постепенно ухожу от цифровой фрагментации!
#измайловскийпарк #серебрянка #самокат #электросамокат #красныйпруд #декоративныйпруд #осень2021 #осеннеенастроение

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

Есть поддержка MicroPub

4X_Pro
Весь день сегодня занимался тем, что реализовывал поддержку протокола MicroPub на своём сайте. И таки сделал: это будет первое сообщение, которое я отправлю из Indigenous!
Вообще, чем меня радуют протоколы, используемые в Indieweb, так это наличием сайтов типа webmention.rocks или micropub.rocks, где есть набор готовых тестов для проверки корректности своей реализации. Благодаря им выявил ряд проблем с совместимостью, о которых иначе бы даже не догадался (эх, не быть мне хорошим тестировщиком).

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

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