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

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


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

t.me/4x_pro

Лог жизни

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


Моменты последних дней

4X_Pro
Опять накатило уплотнение жизни. Как-то слишком много задач по freelance посыпалось. Но в то же время есть и ощущение движения вперёд. Самое главное — я закончил тот многострадальный сайт, про который писал с августа. Вчера перенёс новый дизайн на основную копию. И при этом, несмотря на то, что главная сайта весьма плотно набита контентом, удалось выйти на показатель PageSpeed Insights в 85—90 (для desktopа)! Правда, для этого пришлось немало повозиться: сделать так, чтобы карта и ролики с YouTube грузились только в момент, когда пользователь до них докрутит, ReCAPTCHA подгружалась только если поставить курсор в соответствующую форму. И это я ещё никак не соберусь перевести сайт на HTTP/2, а также оптимизировать подгрузку font-awesome, чтобы грузились только те значки, которые реально используются на сайте, а не три файла шрифта сразу. Тогда, может быть, пару дополнительных пунктов получить удастся.
Ещё, пользуясь хорошей погодой, стал почти каждый день выходить на короткую прогулку сразу после пробуждения. Очень помогает проснуться! А доза яркого солнечного света улучшает настроение! Правда, потом сложнее настроиться на дела. Один раз во время такой прогулки даже получил неожиданную халяву — нашёл 2000 рублей, просто валявшихся на дороге.
Также исправил несколько мелких, но надоедливых багов в IntB. В частности, то, что после входа пользователь в первый момент всё равно показывается разлогиненным. Причина оказалась очень смешной: я предусмотрел в движке запрет кеширования, но при этом забыл вывести соответствующие заголовки, когда он был включён. И в итоге получался обратный эффект: страница оказывалась закешированной, а я никак не мог понять, почему. Ещё у меня на localhost было запрещено сохранение cookies в броузере, из-за чего меня постоянно разлогинивало из АЦ, а я думал, что это какая-то хитрая ошибка IntB.
10geek сегодня исправил ещё одну давнюю-давнюю ошибку на TypTest.Ru — нулевые веса у четвёртых функций в тесте по психософии. Причём и нашёл, и исправил очень быстро! Оказалось, веса терялись только при просмотре результата по ссылке, а не сразу после прохождения тестирования.
Ещё наконец-то определился, куда двигаться в плане разработки децентрализованной соцсети. Нужно написать универсальную коммуникационную библиотеку, которая будет давать единый интерфейс, чтобы выполнять типовые действия как для ActivityPub, так и для «больших» социальных сетей через их API: получение своего профиля, получения списка друзей, записей со стены, лайков, личных сообщений и т.п. И уже на её основе делать что-то дальше. Также всё больше и больше сомневаюсь, а правильное ли я решение принял, когда стал ориентироваться на ActivityPub. Может быть, всё же протокол Diaspora лучше?
Правда, есть и плохие новости. У этого моего сайта почему-то упала и посещаемость и, уже второй раз, показатель ИКС. Теперь 220. Почему — так и остаётся загадкой, может быть, ПФ проседают?

Осознание экзистенциального страха небытия

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

Разобрался с новой API Instagram

4X_Pro
Летом этого года в Instagram поменялась API, и мне пришлось выключить вывод последних фото оттуда внизу главной страницы своего сайта. Сегодня решил это исправить и стал разбираться с новой API. На первый взгляд, API вроде проста и понятна: авторизация через OAuth, получение долгосрочного tokenа и один запрос к /me/media.
Но, как всегда, на практике всё оказалось сложнее. Во-первых, оказалось, что developer-раздел в самом Instagram больше не работает. После некоторых поисков выяснилось, что нужно теперь создавать приложение на Facebook. И вот там-то и возникла главная загвоздка. Я чуть было не сломал себе мозг, прежде чем понял, что создав приложение для Facebook, нужно зайти в раздел Instagram Basic Display и уже в нём создать ещё одно приложение с помощью неприметной кнопки 'Create new app' в самом низу раздела. Причем перед ней идёт длинное-длинное предупреждение о том, что для использования нужно получить бизнес-аккаунт. И у этого «приложения в приложении» будет свой client_id и secret!
А я-то пытался пройти авторизацию OAuth с помощью client_id от основного, Facebook-приложения, и долго не мог понять, что же делаю не так, если делаю всё по инструкции.
И только отчаявшись, отправился на поиск в Google, очень скоро вышел на русскоязычный блог, где решали ту же задачу, и там на скриншотах увидел эту самую кнопку. Нажал её, и о чудо, уже через несколько минут всё работало как надо! К тому же выяснилось, что если приложение делается только для себя, то не нужны сложности с прохождением всей цепочки обмена токенов OAuth вручную, а можно добавить себя в тестировщики, нажать кнопку generate token и получить его в готовом виде.
Впрочем, чуть позже нашлась ещё одна сложность. В новой API нет ссылок на готовые thumbnails, только на полноразмерную картинку. Пришлось срочно дорабатывать модуль, чтобы добавить их генерацию на своей стороне.
В общем, как всегда, провозился полночи, застряв на ерунде, но зато вопрос решил: теперь на главной странице моего сайта снова выводятся последние фото из Instagram!
А вообще, как же плохо всё-таки жить в мире, где каждые несколько лет всё меняется и тем самым обесценивает полученные знания и результаты.

День бодрости

4X_Pro
Опять что-то странное творится со сном. Ночью сплю всего один цикл, потом досыпаю днём. В частности, сегодня встал в 6:40, где-то до 10:30 сначала завтракал, потом сидел в Сети. Потом снова заснул и проснулся уже в 18 часов, полностью проспав световой день. Зато встал очень бодрым, ощущение было, что горы сверну! Давно такого не было, по крайней мере, последний месяц точно. Впрочем, ещё сказывается биоритмический максимум.
За остаток дня посмотрел ещё часть курса по разработке приложений под Android, а также несколько видео по психологии. Потом потренировался на беговой дорожке, чего не делал, кажется, с сентября. Ещё из-за того, что с каналом дело снова застряло, вернулся к своей идее децентрализованной соцсети. Но во-первых, никак не могу определиться с чего вообще начинать работу над ней, во-вторых, есть сомнения в правильности выбора ActivityPub в качестве протокола. Но об этом, наверное, напишу отдельное сообщение.
А ещё сегодня наступила не только календарная, но и настоящая зима! Снова выпал снег. И судя по прогнозу погоды, это уже постоянный, который пролежит долго. И это очень радует: со снегом темнота по вечерам кажется не такой черной и беспросветной. Да и вообще, до Нового года осталось уже всего 30 дней, а до солнцеворота — и того меньше. И потом этот тяжелый год закончится!

Игра HearthStone и приезд DarLik

4X_Pro
На этих выходных ко мне в гости приезжали DarLik и П.Т. Как всегда, их присутствие подействовало успокаивающе. Мы собирались сходить в Измайловский парк, но увы, засветло так и не успели. А когда стемнело, решили просто прогуляться по окрестностям, и дошагали до Новогиреево. П.Т. показал мне игру под названием HearthStone — карточную по мотивам Warcraftа, с которой я даже зафанател. Кстати, как раз с её аналогом я сталкивался какое-то время назад в соревнованиях на CodinGame. Ещё обсуждали с П.Т. вопросы инвестиций. Он больше сторонник игры на росте акций, а не на дивидендах. Я же считаю, что такой подход уместен только тогда, когда инвестиции являются дополнительным источником дохода, а не основным. А ещё DarLik сделала то, что я считал невозможным — научила меня готовить курицу.
Сегодня сижу дома один. Теперь наслаждаюсь тишиной и покоем. Проснулся на удивление рано, но как всегда, ничего хорошего из этого не вышло, только написал небольшую заметку в раздел «О Сети и о жизни». Собирался было всё-таки выбраться на прогулку в дневное время, но погода была столь ужасной, что остался дома. Только вечером сходил на Пустую квартиру к отцу, так как нужно было кое с чем помочь.

День с бессонницей

4X_Pro
Сегодня внезапно проснулся в 7 утра, проспав перед этим всего один цикл сна (полтора часа) и никак не мог снова уснуть. Меня из сна буквально выкинуло! Решил чем-нибудь заняться. Сначала дочитал «Страну утраченной эмпатии» (ох, и мрачная же книжка!), а потом решил продлить цифровую подпись для Эльбы. Для этого пришлось перезагрузиться в Windows. Как всегда, при подписании заявления начались некоторые сложности с тем, что опять не было видно ключа, но быстро с ними справился. Зато теперь наконец-то выпустили подпись для мобильного приложения! Может, это и не самое лучшее решение, но, по крайней мере, работать с ней будет проще, чем с тем кривым решением, что есть сейчас, где то ключи теряются, то ещё какие проблемы.
Но после перезагрузки в Windows проблема повторилась: снова разрушились superblocks на Linux-разделах. К счастью, я уже знал, что делать, и спокойно починил за пять минут. Но всё равно мне это не нравится… И, кажется, понял, какой именно софт в этом виноват.
После всего этого смог снова заснуть где-то около 11 часов, и когда проснулся, оказался полностью дезориентирован во времени. Зато написал целых две заметки в компьютерный раздел своего мультиблога. Небольшую про выравнивание элементов — с нуля, а вторую — доделал то, что начинал писать ещё в октябре, в момент прошлого биоритмического максимума. Потом пошёл вынести мусор и немного прогулялся по району, но быстро замёрз и вернулся. Единственное, что впечатлило — это как падает снег в свете фонарей!

Возвращаюсь к нормальной жизни

4X_Pro
Два дня отсыпался и приходил в себя после всего произошедшего. Было какое-то ощущение полнейшей дезоринтированности во времени. И только сегодня возвращаюсь к нормальной жизни. Большую часть дня сидел и подбирал картинки для канала на Дзене, начал было писать ещё одну статью — про опоры личности, но дело идёт достаточно тяжело. А вечером начал смотреть курс по разработке для Android на Coursera. Всё же это гораздо удобнее, чем просто видео, найденные на YouTube или ВК!
Ещё сегодня впервые с Дня Большой Закупки (21 февраля) вошёл в плюс по акциям!

О разрушении жизни

4X_Pro
Сегодня очень близко столкнулся с тем, как проблемы с психикой способны разрушить жизнь в общем-то довольно благополучного человека всего за три недели. Последние несколько дней зрелище было жуткое, хотя до этого казалось, что человек просто немного поменялся. И самое главное, непонятно, с чего вдруг всё началось. То ли человек оказался не в силах выносить внутреннее противоречие, то ли куча негатива и изменений в жизни за последние три недели такой результат дали, то ли сглаз или какое-то подобное воздействие (там были моменты, когда могло произойти)…
Одно только радует: сделал расклад на Таро из двух карт, и там всё достаточно благополучно. Да и запас жизненных сил у человека такой, что можно верить, что выкарабкается. А заодно и переживёт тот самый «кризис одиночества», про который я недавно написал заметку, которую скоро опубликую на канале.

Безумная неделя

4X_Pro
Мда, эта неделя была просто безумной. Сначала казалось, что всё хорошо, жизнь налаживается. Потом вдруг полезли новые проблемы, причём каждая следующая была всё более и более неожиданной и масштабной, чем предыдущая. Причем получается так, что у всех есть какой-то кусочек правды, а вот целостная картина не складывается никак.

Начала решаться проблема с сайтом

4X_Pro
Внезапно решил проблему с тем самым сайтом, про который я столько писал в октябре. Вместо «костыля» с помощью transform: scale заменил все размеры на относительные в vw и vh, а для картинок применил downscale через CSS.
Изначально полагал, что возиться с перевёрсткой придётся очень долго, а кроме того, думал, что нельзя использовать размеры в vh и vw для font-size, из-за чего придётся прописывать шрифты для кучи разрешений экрана.
Но оказалось, что можно, и можно сделать это за вечер для главной страницы сайта. И это при том, что я не сразу догадался поискать онлайн-калькулятор. Потом нашёл его, и процесс пошёл значительно быстрее, а также сообразил сначала выписать все нужные селекторы CSS и их значения в конец файла, а уже потом конвертировать все сразу. В итоге вместо полной переверстки вопрос решился за два вечера, и получился результат, который и для меня является более-менее приемлемым (кроме downscale картинок), и заказчика устраивает. Правда, остаётся куча мелких доделок типа высоты стрелок для прокрутки, бессмысленность которых меня бесит, равно как и неконкретные сообщения «вёрстка не по макету». Но в любом случае, есть шанс, что ситуация с этим сайтом не закончится в духе Я-Ты-, как мне казалось ещё недавно.

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

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