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

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


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

t.me/4x_pro

Лог жизни

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


Ещё один шаг к Великой Автоматизации

4X_Pro
Всё! Я сделал трансляцию статей из разделов своего мультиблога в Twitter и на стену ВК! В Twitter (и оттуда в Mastodon на lor.sh) трансляция идёт через RSS с помощью сервиса Zappier. В отличие от IFTTT и dlvr.it, которые я использовал раньше, он позволяет управлять что именно из RSS идёт в Twitter: название, описание или ссылка. В частности, для разделов «Новости» и «Интересные материалы» мне нужна трансляция только самого текста без ссылок, а IFTTT и dlvr.it вставляли их принудительно, из-за чего лента выглядела ужасно: под каждым твитом — мой портрет и ссылка на главную 4xpro.ru. Теперь же всё работает как надо: из микроблогов — только текст, из больших блогов — название статьи и ссылка на неё.
От Facebook пришлось отказаться — там некоторое время назад поменялись правила, и теперь автоматическая трансляция на стену профиля то ли вообще невозможна, то ли сильно усложнена. По крайней мере, все сервисы предлагают транслировать только в группы (Facebook Pages, как их сейчас называют). Можно было бы создать такую, но с другой стороны, а так ли мне нужен Facebook вообще?
Ещё создал канал в Telegram и настроил трансляцию и туда с помощью ManyBot. Но у него есть ограничение: не более 5 потоков RSS, поэтому от трансляции микроблогов пришлось отказаться. Впрочем, возможно, потом напишу своего бота для этих целей, а также для отправки объявлений о создании новых тем на форуме.
Для ВКонтакте добавил процедуру через API прямо в код IntB (так же, как раньше и для отправки в ЖЖ из раздела «Лог жизни»), а также возможность отключить экспорт для отдельно взятых сообщений. Смущает, конечно, такая разнородность: где-то средствами IntB, где-то сторонними сервисами. Но зато получилось решение, которое работает уже сейчас, а не когда-нибудь. Ну и плюс не нужно писать запрос на получение доступа к Twitter API (собственно, это и есть главная причина).
Теперь ещё осталось доделать импорт из Instagram в раздел «Лог жизни» и Великую Автоматизацию можно будет считать завершённой! Хотя нет предела совершенству: верхние уровни соответствия принципам IndieWeb предполагают ещё и сбор комментариев и лайков, а также динамическое связывание, чтобы транслировалось не только исходное сообщение, но и последующие правки. Но на данный момент я воспринимаю это как бессмысленную работу, так как для моих блогов правки обычно несущественны.
Правда, как всегда, это оставляет двоякое чувство. Слишком по-разному сделанное оценивают мои субличности. Одна (которой соответствует архетип Тота из Эль-Тат) довольна тем, что решена очередная инженерная задача. Но другая (Гор по Эль-Тат) понимает, что в должной степени оценить важность этого могут только те, у кого тоже есть сайты на самописных CMS. Но много ли таких людей осталось в Интернете и в моём окружении? А всякие пользователи Joomla, Drupal и прочих Wordpressов давно могли поставить соответствующие plug-ins. Про тех, у кого есть только соцсети, а полноценных сайтов и вовсе нет, и говорить не приходится…

Возвращаюсь к идее трансляции блога

4X_Pro
Несколько дней приходил в себя после поездки. Выложил фото в Instagram, ВКонтакте и опубликовал в блоге первые две заметки из написанных в бумажном блокноте. Задумался над тем, что занимаюсь, по сути, бессмысленным дублированием информации вручную. Идеологически правильнее было бы постить всё только на своём сайте. Но увы, мы живём в мире наизнанку: лайков и просмотров из социальных сетей в том же Instagram я получаю в разы больше, чем на своём сайте или даже ВК. Поэтому отказаться от публикации там нет возможности, даже несмотря на все неудобство Instagram.
В какой-то момент я так распереживался по этому поводу, что даже задумался о том, чтобы уйти на Рестарт: начать жизнь под новым именем и вместо личного сайта просто купить доменное имя, привязать его к ЖЖ и настроить автоматический импорт из Instagram. А ещё вместо мультиблога + форума ограничиться структурированием информации в блоге только по хештегам. Только вот опыт с созданием новых аккаунтов ЖЖ и у меня, и у Tellы и у DarLik показывает, что сейчас там естественного прироста друзей и подписчиков нет…
Когда немного подуспокоился, решил вернуться к идее автоматизировать трансляцию контента в соцсети, к которой подходил весной. Тогда всё упёрлось в то, что OwnYourGram не работал на хостингах, и я забросил эту идею. Сейчас же возникла мысль прибегнуть к сервисам типа IFTTT. Но когда я туда зашёл, обнаружил, что не всё так просто. Оказывается, там нет универсальных решений типа «в ответ на событие сделать POST-запрос по такому-то адресу», а есть только виджеты, заточенные под конкретные сервисы типа GMail, Facebook и т.п. Или нужно разбираться, как создать свой виджет.
Потом нашёл решение под названием Huginn — self-hosted аналог IFTTT. Казалось бы, то, что нужно, и идеологически всё верно! Но есть одно маленькое но: для Facebook там нужно создавать своё приложение и проходить подтверждение (app review), чтобы получить возможность отправлять сообщения на стену. То же касается и Twitter.
В итоге нашёл другой сервис — Ayrshare. Там есть бесплатный тариф на 50 сообщений в месяц. С учётом того, как «активно» я пишу во все разделы, кроме «Лога жизни», этого вполне должно хватить. А самое
Но и тут есть сложности: он не поддерживает ВКонтакте. Впрочем, для ВК я могу написать и своё решение, так как там вроде нет всяких app review. Тем более, нужна трансляция материалов блога в виде статей, а новостей — в виде обычных записей на стену. В общем, сейчас собираюсь тестировать…

Ещё немного об СПб

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

Итоги путешествия

4X_Pro
Вот и закончилось моё путешествие в Город-на-Краю-Земли с целью поиска себя. Настало время подвести итоги. Итак, поездка в целом была замечательной! Много впечатлений, кроме Санкт-Петербурга удалось посмотреть ещё два города: Выборг (который ОЧЕНЬ мне понравился) и Кронштадт (причём второй — внепланово), встретиться с Kitsune и сделать то, что не сделал в 2017 году: отправить в путешествие камни с побережья Балтийского моря. Но увы, главная цель поездки — поиск себя, так и не достигнута. Тем не менее, я сделал немало ценных выводов:
  1. Ожидания очень сильно разошлись с реальностью. Я представлял себе путешествие так: полдня неспешно брожу по городу с фотоаппаратом, потом сажусь где-нибудь с блокнотом, пишу какие-то возвышенные интеллектуальные размышления и впечатления от увиденного, а вечером переношу их и фотографии в блог и Instagram. По факту всё было иначе: утром долго раскачиваемся и собираемся, потом остаток дня носимся по городу, а к вечеру устаю настолько, что в лучшем случае могу просто описать события дня и перечислить, что видел. На отвлечённые размышления об увиденном просто нет ресурса. А попытки выкладывать фото в Instagram на ходу (как делает Tella) приводят к тому, что возникает многозадачность. А многозадачность для меня зло. В лучшем случае от неё просто пропадают впечатления от поездки, в худшем — начинает болеть голова.
  2. Мне нужно время на разгрузку от впечатлений и их переработку. И часа в день, как я предполагал раньше, для этого недостаточно. А если такое время не выделить, бессознательное оторвёт его ото сна: просто не смогу заснуть, как было в день третий. Причём это верно даже в случае усталости и недосыпа. Так что зря я задавался вопросом, правильно ли поступаю, что отмеряю жизнь аптекарскими весами. Если не буду этого делать, психика просто не выдержит.
  3. Если всё же перегруз произошёл, нужно отправиться куда-нибудь в монастырь или на кладбище. (Как это было в день четвёртый). Это очень успокваиает.
  4. Нельзя допускать обезвоживание. От него очень легко сваливает в агрессию по любому поводу на всех вокруг.
На этом пока всё. В ближайшие дни займусь тем, что буду выкладывать сделанные во время путешествия записи и фотографии.

Санкт-Петербург: день первый, начало

4X_Pro
Маленькое чудо всё же случилось: я смог уснуть в поезде, но только в 5:30 утра. В первый момент после пробуждения казалось, что всё хорошо и «пациент скорее жив чем мёртв». Когда я расшторил окно, оказалось что мы уже в городе и проезжаем Обводной канал. Он и стал первым объектом для фотографии в этот приезд. Но стоило выйти с вокзала на залитую солнцем улицу (хех, Петербург снова встречает меня солнцем, как и 2017 году) с толпой людей и множеством шумов, как спать захотелось снова. Но вот возможности не было от слова совсем: заселение в гостиницу была только в 13:00.
Решили сначала поесть в ТЦ (съели плескавицу — сербский аналог бургера), а потом пойти гулять по Невскому. Увы, в не выспавшимся состоянии это так себе идея. Слишком шумно от машин и слишком много людей! Поэтому, когда дошли до Фонтанки, я предложил свернуть и уйти вдоль реки вниз по течению. Потом планировалось свернуть влево и выйти к гостинице. По пути я стал злиться на то, что Tella опять копается в прошлом и что-то спрашивают меня о нём, тогда как у меня на такие разговоры нет никакого ресурса. И вообще начал злиться на всё вокруг, особенно на машины с форсированным «пердящий» двигателем. В Москве они — редкость, а тут их более чем достаточно. Но потом Tella меня успокоила. Да и сам вид красивых домов и деревьев c золотой листвой действовал умиротворяюще.
Петербург, как известно, город с интуитивным интерфейсом, и вскоре это дало о себе знать. Вдалеке показался величественный храм, который Tella видела мельком во время своей первой поездки, и который теперь захотела посмотреть внутри. Времени было более чем достаточно, и мы решили дошагать до него. Но, как оказалось, недооценили расстояние! Шли очень долго, да ещё от сумки стала болеть спина.
Добрались до сада маршала Говорова. Там наконец-то нашлась скамейка, где смогли присесть и хоть немного передохнуть. Вообще, с чем в СПб плохо, так это со скамейками. В Москве гораздо проще их найти! Сориентировались по карте. Оказалось что храм, к которому мы идём, называется Троицкий собор Измайловского полка, и до него осталось совсем немного. Кое-как собрались с силами и дошагали. И надо сказать не зря! Вблизи храм реально производит сильное впечатление! Да и внутри очень красиво. Правда, на мой взгляд, несколько избыточно богато, если так можно выразиться. Впрочем, осмотреться толком не было возможности. Tella обычно внутрь храма заходит очень ненадолго и сразу предлагает идти дальше.
Закончив осмотр, поехали в гостиницу на такси. Мини-гостиница напомни мне игру Arcanum, где в городе Каладон была чем-то похожая, которая состоящит из нескольких комнат с отдельными выходами. А ещё очень понравился уютный дворик с граффити и возможность затемнения окон. Как только я получил ключ, тут же воспользовался этим и завалился спать.

Третье путешествие в Город-на-Краю-Земли

4X_Pro
Сегодня я сделал то, что ещё недавно считал малореальным: третий раз поехал в Санкт-Петербург aka Город-на-Краю-Земли. Причём не один а с Tellой. Как всегда, день перед поездкой пролетел мимо. Всё что я успел — это купить билеты, собраться и приготовить ужин. Поездка началась на удивление хорошо, если не считать того что при оформлении билета возникла ошибка. У Tellы каким-то образом исчезла одна буква из фамилии, хотя мы дважды всё проверяли перед отправкой. Из-за этого боялись, что будут проблемы при посадке в поезд. Хотя на горячей линии нам сказали что предупредят проводника и всё будет хорошо. Как это ни странно, всё и правда прошло хорошо.
Сам поезд — это всё тот же «Мегаполис» от Тверского экспресса, на котором я уже ездил в 2019 году. Но в этот раз мы взяли СВ, чтобы гарантированно ехать без попутчиков. Брали в режиме невозвратного тарифа, в результате чего неплохо сэкономили. Поезд мне очень нравится! Он создаёт ощущение уюта. А ещё как выяснилось тут есть специальная штора для хорошего затемнения. Может, хоть с ней получится как-то поспать. Впрочем, не уверен, что даже это поможет: сон в поезде всегда был для меня проблемой.
Tella пошла в вагон-ресторан. А я сижу и пишу путевые заметки ручкой в самом обычном блокноте. Ручка, кстати халявная: получил, когда ходил голосовать на последних выборах. Блокнот очень старый. В его начале и одному наброски тех времен когда пытался написать книгу «Жизнь без слова надо». Тогда эту мысль подсказала Kitsune, которая считала что у меня слишком мало взаимодействия с обычным миром, и процесс написания на бумаге позволит увеличить его количество. Сейчас я просто не взял с собой ноутбук. А писать в блог с планшета или уж тем более с мобильника вообще последнее дело. На этом пока всё! Надеюсь у меня получится уснуть в поезде…

Программирование, халява и прогулка

4X_Pro
Сегодняшний день получился гораздо лучше вчерашнего. Как следует отоспался. Когда вышел в Сеть, 10geek рассказал мне об акции от Oracle, по которой можно получить бесплатно довольно мощный VDS. Меня это заинтересовало. Попытался было зарегистрироваться, но увы: при попытке регистрации получал отказ. Сначала думал, что это из-за того, что использую карту Яндекса (точнее, теперь это YooMoney). Но и с Тинькофф тоже зарегистрироваться не получилось. Интереса ради попробовал адрес Пустой квартиры, опасаясь, что проблема в нём, но результат — тот же самый. Впрочем, потом оказалось, что VDS дают очень маломощные в плане диска и сети. Поэтому подходят они разве что как тестовые площадки. А переносить туда VDS с socionics.me и SiteKnockerBot — не самая лучшая идея.
Потом наткнулся на курсы по спортивному программированию от Stepik. Посмотрел пару видео, и понял, почему у меня ничего не получалось на конкурсах Яндекса в 2018—2019 годах. Оказывается, в спортивном программировании есть несколько специфических особенностей, о которых надо знать. Например, что хотя в большистве языков программирования индексы идут с нуля, позиции элементов считаются с единицы. Или что нужно учитывать верхние границы типов данных. Т.е. если суммируем 105 элементов, которые могут принимать значения до 109, то нужно суммировать их в long long. Вещи достаточно тривиальные, если сталкивался с ними прежде. Но вот если опыта нет, гадать, что не так, можно очень долго…
Потом сходил на короткую прогулку по району. Просто для того, чтобы выбраться на солнце, которого мне так не хватало последнюю неделю. А потом долго сидел на Яндекс.Кью, а сейчас собираюсь поиграть в Ведьмака.

Вчерашний день неприятностей

4X_Pro
Вчера был просто ужасный день. Во-первых, мощные магнитные бури (5—6 баллов, чего давно не видел). Во-вторых, хотел заснуть пораньше (около двух часов), но увидел в Instagram одно сообщение, из-за которого полночи не мог уснуть — обдумывал, что написать по его поводу в блоге. И в-третьих, ранний подъём из-за телефонного звонка в 9 утра. В-третьих, днём добавились ещё неприятности, из-за которых я психанул так, что чуть было не разбил со злости мобильник.
Впрочем, были и позитивные моменты. Во-первых, Tella подарила мне бумажную колоду Таро (собственно, курьер, который её доставлял, и позвонил в такую непотребную рань). Во-вторых, очень хорошо продвинулся в Ведьмаке: победил клекотуна возле замка Вронницы, и голема и гаргулью в подземелье в задании «На ощупь», а вечером прошёл и всё то задание почти до конца. Остался только второй голем перед выходом.
Впрочем, даже тут не обошлось без проблем. Когда первый раз победил клекотуна, это получилось на удивление легко. Сохранился, получил награду за задание, а потом у GeForce Now упал сервер и часа два назад был недоступен. Потом, когда я
Только вот из-за раннего подъёма голова не соображала, поэтому ничем, кроме игры в Ведьмака, нормально заниматься не мог. Даже в блог не написал на ту тему, о которой упоминал в начале сообщения.

День вторых мест

4X_Pro
В субботу в очередной раз выбрался на настолки. Собирался очень долго, почти как в кошмарах про выпадающее время. В результате вместо 18:30 или 19:00, как планировал изначально, приехал в 20:30. В «Остров кошек» поиграть не получилось. Хотел было поиграть в «Роскошь», но нас получилось пятеро, поэтому стали искать другие варианты. После долгих согласований сошлись на Ticket to ride. Я был очень этому рад, так как давно хотел поиграть в эту игру. И, надо сказать, она мне понравилась! Несмотря на то, что играл в первый раз и избегал рисков, поэтому не очень активно набирал карты маршрутов, занял второе место и построил самый длинный маршрут. Вообще, думал, что выиграю, но не учёл того, что там в конце учитываются очки за все построенные перегоны, а не только те, которые нужны для карт маршрутов.
Потом один из игроков ушёл, и мы сели играть в «Колонизаторов». Там я начал очень хорошо, долго уверенно лидировал, пока не допустил глупую ошибку из-за того, что давно не играл в бумажную версию. Ошибка была в том, что попытался построить за один ход дорогу и поселение, которое оказывалось на расстоянии единицы от поселения другого игрока, что недопустимо. И уже поставленную дорогу мне переставить уже не дали. Казалось бы, невелика потеря — всего 2 ресурса, но потом очень долгое время я не мог получить досок (перестала выпадать восьмёрка). Потом всё пошло наперекосяк: попал на разбойника и потерял пять карт, потом одна из участниц сыграла монополию на камни… В итоге отстал в развитии и закончил игру на втором месте с 8 очками. А вот если бы дорогу переставить дали, я бы гораздо раньше получил овечий порт, и всё пошло бы совсем иначе…
Удивительное дело: хотя «Колонизаторы» — одна из самых нервных игр сама по себе, тогда я воспринял это достаточно спокойно. Только после игры высказался на тему «если бы я тогда там не ошибся, победил бы однозначно». Но никто и не спорил. А вот сейчас пишу об этом и немного злюсь «вот нехорошие люди, должны были дать возможность исправить ошибку, так как ход на тот момент я не закончил».
Потом Ал.С. закончила в «Остров кошек» и стала собирать любителей бэнга. Их в этот раз оказалось на удивление мало: играли всего вчетвером. В первый раз Ал.С была сёгуном, я — самураем, и победили с разгромным счётом. Давно такого не было А второй игра пошла как-то странно: я был за ниндзя, но второй ниндзя периодически играл против меня. Итог немного предсказуем: проиграли.

Разочарование в Яндекс.Кью и возвращение к MLCE

4X_Pro
Моё отношение к Яндекс.Кью сменилось на какое-то противоречивое. С одной стороны, радуюсь тому, что постепенно растёт Q-карма (на данный момент уже 17). Также возникла мысль создать сообщество про IndieWeb, чтобы популяризовывать его идеи в Рунете. Сегодня даже хотел заняться переводом пары статей с InidieWeb wiki.
Но с другой — наступило некоторое разочарование. Очень уж много вопросов остаётся без ответа. По-моему, активно отвечают только на то, что задаётся в сообщество, а не просто по определённой теме. Причём, по-моему, дело в неудачном интерфейсном решении: очень далеко запрятан просмотр вопросов по списку тем, да и лента как-то странно работает — выводятся, в основном, вопросы из того сообщества по психологии, где был единственный вопрос, на который ответили. Опять что ли пытаются её оптимизировать с помощью всяких «умных» алгоритмов вместо последовательной выдачи всего, на что я подписался?
А самое главное — не могу комментировать ответы из-за нежелания указывать своё оффлайновое имя.
В общем, нужно всё-таки дописывать MLCE и делать своё собственное сообщество, как и собирался летом. Только вот никак не могу за него взяться — всё время сносит потоком жизни. Устроить что ли несколько дней оффлайна?

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

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