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

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


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

t.me/4x_pro

Лог жизни

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


10 дней в полуоффлайне — быть или не быть

4X_Pro
Сегодня узнал, что сегодняшнее и завтрашнее задания КСИ будут доступны до 10 января. Так что наступает момент истины: либо я сегодня дописываю итоги года и ухожу на 10 дней в режим «в Интернет — только из метро», либо откладываю эту идею до лучших времен. Правда, нужно успеть не только итоги года дописать, но и еще много чего сделать, в частности, канал на Яндекс.Дзене, на котором буду публиковать впечатления, и скачать все, что мне потребуется для жизни в оффлайн-режиме.

Завершаю дела перед Новым Годом

4X_Pro
Сегодня разделался с большинством дел, в частности, дописал часть документацию по IntB и сделал рассылку о выходе новой версии. А также пометил ее как выполненную на SmartProgress. Как же все-таки приятно завершать дела! Правда, устал в последние дни ощутимо, да и нервов немало потратил. Плюс еще так и остаются накопившиеся недоделки по freelance-деятельности.
Но по сути, осталось только написать итоги года, и решить вопрос, устроить все же себе период жизни с Интернетом только из метро или же нет. Но это, видимо, будет только в воскресенье, когда прояснится обстановка с КСИ.

Главный пуск года и мелкие неприятности

4X_Pro
Сегодня состоялся главный пуск года! Я выложил дистрибутив новой версии Intellect Board 3.02, над которой работал последний месяц, если не больше. И очень доволен этим фактом! Снова чувствую себя настоящим Web-разработчиком, прямо таки творцом, как в славные времена IntB 2.x! Да и вообще снова появилось чувство своего места в жизни. Причем в отличие от 3.00, который я делал скорее из чувства долга, из-за того, что обещал, 3.02 я писал именно из желания сделать движок таким, каким я его хочу видеть. А еще я могу сказать, что реализовал в нем почти все замыслы, имевшиеся изначально (в 3.00 многое не успел, например, внешнюю аутентификацию или subactions). Теперь осталось только разделы новых типов добавлять, да интеграцию с соцсетями нормальную делать.
День начался с последних доделок. Казалось, их осталось совсем немного: добавить в SQL-файл обновления преобразование IP-адресов из числа в строку и сделать правильный редирект в блоге при переходе на сообщение с указанным номером. Где-то часам к 18 я начал думать что все, сейчас закончу, и вечером смогу спокойно отдохнуть.
Но в реальности процесс растянулся, и дистрибутив я смог собрать только к 21:40. Зато в процессе выловил очень неприятную и нетривиальную ошибку. Я решил сменить способ шифрования паролей — перейти на SHA-2 и добавлять к паролю случайное значение (так называемую «соль»). Но проблема в том, что для генерации значения я использовал mt_rand от 0 до PHP_MAX_INT. И не учел, что в 64-битных версиях PHP этот самый PHP_MAX_INT тоже 64-битный. Поэтому с высокой степенью вероятности генерировалось значение больше 232, уходило в MySQL, который обрезал его до 232-1, а потом я недоумевал, почему же хотя вроде все прошло хорошо, пароль не подходит. Возился с этим долго, пока не обратил внимание, что в столбце rnd все время одно и то же подозрительно знакомое значение. И только когда сделал отладочный вывод всех этапов, наконец, осознал, что же происходит.
Потом собрал дистрибутив, обновил свои сайты, и на эмоциональном подъеме от этого, начал писать инструкцию по обновлению. Уже почти было написал, но решил из простого перечисления пунктов сделать полноценный нумерованный список, выделил все, нажал кнопку, и выделение заменилось на undefined. Оказалось, что в более новой версии SCEditorа, который я обновил вместе с дистрибутивом, есть глюк, не позволяющий корректно преобразовывать выделение в списки. Самое неприятное, что после такого изменения отмена не работала. Эх, еще раз убеждаюсь, что все-таки нужно тексты писать в обычный файл на компьютере в Блокноте (или Leafpad в моем случае), а уже потом куда-то копировать. Да и обновлял я его зря, новая версия оказалась хуже (потом поймал еще одну мелкую ошибку, связанную с CKEditor).
Решил сделать перерыв, переключиться на другие задачи. В частности, пройти сегодняшние упражнения на Wikium. Но увы, то ли не успел перенастроиться, то ли просто устал, но реакция была хуже, чем обычно, а результаты — просто ужасные. Поймал огромный минус к показателям, в какой-то момент даже ниже 1250 упал. Вдобавок ко всему, пока я проходил эти упражнения, отцу вздумалось полезть ко мне с какой-то фигней. Это реально вывело меня из себя. (Эх, как же раздражает, когда он так ломится, совершенно игнорируя тот факт, что я могу быть занят, и необходимость расфокусировать внимание вызывает реальный дискомфорт, а то и вовсе головную боль.)
Чуть успокоившись, снова вернулся к IntB. Точнее, стал тестировать свои сайты, нашел еще пару мелких недоделок, из-за которых пришлось пересобрать пару раз дистрибутив снова. А еще создал группу IntB на Facebook и настроил автоматическую трансляцию в Twitter. И закончил где-то час назад.

Очень удачный игровой день

4X_Pro
Сегодня после долгого перерыва съездил на настолки к А.Ш. Начало встречи было запланировано на 16:00, и сначала я хотел поставить будильник, чтобы встать вовремя. Но потом получилось как всегда: сначала засиделся до 4 часов, доделывая IntB (и теперь до релиза остался только один пункт), потом еще почти час собирался ложиться спать, да еще и уснул не сразу. В итоге проснулся в 14:50. Было очевидно, что к 16:00 уже не успею, поэтому стал действовать по принципу «спешить не буду, когда доеду, тогда и доеду». И в итоге на месте был только в 17:30.
К счастью, на этот раз играли в игру под названием Лила Чакра, присоединяться к которой можно почти в любой момент. Игра по сути дела эзотерически-психологическая, направленная на выработку новых взглядов при движении к цели. И еще в ней, что мне очень понравилось, нет конкуренции между игроками, каждый идет к своей цели, не мешая другим. На каждом шаге там предлагается определенная тема для размышления и несколько вариантов реакции. Но плохо то, что от выбора вариантов зависит мало, а гораздо больше — от кубика. Причем в особо тяжелых случаях может отбросить назад совсем до нуля, причем совершенно неожиданно и непредсказуемо. Впрочем, с другой стороны, это тренирует такое качество как упорство и готовность продолжать движение, несмотря на неблагоприятные обстоятельства.
Но для этой игры нас было слишком уж много. В нее хорошо играть вдвоем-втроем. А тем количеством, которое было у нас, приходится слишком долго ждать своего хода. Многим начинает надоедать, начинаются сторонние разговоры, которые еще больше отвлекают.
Еще меня удивили цели других игроков. Две участницы в качестве таковых назвали такие суммы денег, что я реально удивился «да зачем вам столько вообще». И даже хотел заняться полутроллингом на тему «вы просто экономить не умеете». Но не стал, поскольку переубедить бы все равно не удалось, а ругаться не хотелось.
Через пару часов стало ясно, что это надолго, и доиграть мы не успеем (так и вышло). Тут я предожил распараллелить процессы, и играть еще одновременно в «японский бенг» (хотя правильно эта игра называется «Меч самурая»). Идею поддержали, и параллельно с Лила Чакра мы еще сыграли три кона в «бенг». Что любопытно, все три раза роль сегуна получала Ал. С. А я по очереди попробовал себя во всех трех ролях: самурая, ниндзя и ронина. За самурая мы с Ал. С. выиграли, за ниндзя я проиграл, а выиграла Н.П., игравшая ронином и сильно оторвавшаяся в самом начале. А на третий кон мне досталась роль ронина. Раньше, когда это случалось, меня вычисляли очень быстро и тут же выводили из игры. Но на этот раз я в первый ход никак не стал себя проявлять. В результате А.Ш. атаковал Н.П., они нанесли друг другу повреждения, а потом я быстро использовал это, чтобы забрать у них по жетону. А вскоре после этого игра закончилась, и я победил.
В общем, встреча получилась очень приятной и позитивной, почти такой же по духу, какими были самые первые. И я очень доволен!

Необычный, но позитивный день

4X_Pro
День сегодня получился весьма необычным, но весьма позитивным. Началось все с весьма странного сна. Происходящее сильно напоминало серию книг «Коты-воители», которую я читал несколько лет назад, только жили они не в лесу, а в городе, причем ни где-нибудь, а в окрестностях Института, где я учился. И вот в этих местах начала действовать какая-то секта, которая стала отравлять сознание не только людей, но и котов, подталкивая их на всякие гнусные поступки, например, плевать на интересы своего племени. Но одному из котов каким-то образом удалось сначала попасть под влияние этой секты, а потом преодолеть это в себе, и стало ясно (только не знаю, почему и как), что теперь он сможет помочь и другим. И проснулся я с каким-то ощущением прорыва, глобального изменения, выхода на другой уровень.
Но проснулся, как обычно, очень поздно даже по своим меркам, чуть раньше 15 часов. А в 17 мы договорились с Tellой встретиться на Шабловской и отправиться в Нескучный сад. Поэтому за время после подъема я успел сделать только поесть, собраться и посмотреть обстановку в Интернет.
С Шаболовской мы пошли к Андреевскому мосту (тому, который пешеходный), а от него вдоль реки. Потом свернули в глубину сада, поднялись вверх и обнаружили красивую елку, которую тут же сфотографировали. Потом еще посмотрели вблизи Большой Гротескный мост, и снова спустились к реке. Дошагали до Новоандреевского моста и решили идти не к метро, как планировали изначально, а к Воробьевым горам. Не знаю почему, но до этой части реки я за время своих прогулок почти никогда не добирался, за исключением одного раза в 2010 году. Как выяснилось, зря! Там весьма крутой спуск к реке и деревья с очень красивой подсветкой. А еще, уже придя домой и поизучав карту, я узнал, что там есть еще два пруда: Большой и Малый Андреевские, которые мы так и не заметили. Пожалуй, надо будет туда вернуться как-нибудь весной и днем. В общем, прогулка получилась отличная! Заодно и мозги разгрузил от постоянной работы над IntB. Правда, устал весьма ощутимо, хотя прошли не так уж и много — по карте я намерил чуть больше 4.5 км.
А вот остаток дня прошел бестолково. Ничего не успел толком сделать, только обновил прошивку на телефоне, крайне неудачно выполнил тренировку на Wikium (об этом хотел отдельное сообщение, но уже не успею), и сделал расклад на Таро о том, чего ожидать от релиза новой версии Intellect Board. Но впервые столкнулся с тем, что совершенно не понимаю, как интерпретировать результат.

Вчерашний всплеск активности

4X_Pro
Вчера вдруг случился всплеск активности. Вдруг начали писать те люди, от которых не было вестей больше года. Причем писали по вопросам, связанным с программированием. Точнее, активность была только ВК, на сайтах все было как обычно. Только в соционической сети Aliszka откомментировала множество тем и вызвала некоторое оживление. Все же как много может зависеть от одного человека! А еще подумал, что если бы удалось собрать на форуме всех тех, кто проявил себя там активно, в одно и то же время (в частности, Gita, Слава, kain1stkainit, Оранжевый Гельгард, Ascolta, a_shulga, Вячеслав, dasurg, ну и конечно же, goblincat и Tella), то этих людей вполне оказалось бы достаточно, чтобы форум набрал критическую массу. Но увы, непонятно, как это сделать. Точнее, как вернуть тех, кто перестал ходить из-за спада активности.
А еще я почти доделал IntB. Осталось только три пункта, но вот как-то плохо представляю, как их реализовать. Поэтому всячески отвлекаюсь и откладываю: то в Сети сижу, то созерцаю, как падает снег за окном. Он сегодня шел почти весь день! И теперь все деревья покрыты им.

Доделки IntB почти закончились

4X_Pro
К моему удивленю, доделки по IntB все же почти закончились. Правда, остался вопрос, переносить ли в subactions всякие блоки с объявлениями, списком присутствующих или оставить как есть. С одной стороны, лишняя работа, с другой, то, как есть сейчас (отдельные настройки для каждого блока и его жесткая закодированность в определенном месте форума), не очень красиво с точки зрения соционической БЛ. К тому же, сегодня Infoweb (тот самый знакомый, про которого уже упоминал недавно) помог найти еще пару неожиданных багов, которые тоже пришлось на ходу исправлять.
Завтра буду тестировать режим обновления в инсталляторе. И если все пройдет хорошо, обновлю официальный сайт IntB. И у меня остается еще больше 10 дней в запасе до ухода в оффлайн (если я все же решусь на challenge, о котором писал вчера)!

КСИ: есть восьмое задание!

4X_Pro
Уфф, только что закончил восьмое задание КСИ. Оно было реально сложным, на использование старинных методов шифрования! Причем, в отличие от предыдущих заданий, самым сложным вопросом был первый. Что я только с ним не делал, даже программу для перебора пытался быстро набросать. Но так и не справился (отчасти из-за того, что пошел ложным путем в самом начале, предположив неправильный метод и потратив на это 20 минут). Так и ткнул наугад в один из ответов, который казался подходящим по косвенным признакам. Но из двух часов, отведенных на задание, на него потерял где-то больше часа. Поэтому остальные пункты пришлось доделывать в спешке и в состоянии жуткой нервозности, расшифровывая лишь самое начало сообщения. Поэтому во втором пункте тоже до конца не уверен, правильно ли я его решил, так как одна из шести расшифрованных букв не совпадала. И только на третий вопрос ответил уверенно, зная, что другие варианты не подходят от слова совсем.

Яндекс.Дзен и возвращение к идее «Интернет — только из метро»

4X_Pro
Решил посмотреть один курс по ведению канала на Яндекс.Дзен. И тут вспомнил свою давнюю идею устроить себе испытание — месяц жизни с доступом в Сеть только из метро, и понял, что именно Дзен для выкладывания отчетов об этом подойдет гораздо лучше, чем Golos.Io, который я предполагал использовать для этих целей изначально. Правда, из-за КСИ и freelance-деятельности придется сократить период до 14 или даже 12 дней и сделать его на новогодних праздниках.
Идея мне так понравилась, что даже сделал первый шаг: зарегистрировал канал и набросал вступительный текст. Подожду еще пару дней и начну публикацию.

Странности в соционической сети

4X_Pro
Заметил у своей соционической сети странное свойство: уже третий раз сталкиваюсь с тем, что людей там заносит, что называется, на ровном месте. Первый случай был с cold_air, которая в ответ на «я не вижу твой тип» обиделась так, что удалилась отовсюду без каких-либо объяснений. Второй — с Prime Inkwine, которая тоже с кем-то поругалась на форуме на пустом месте (кажется, с HH aka Venreaver), а потом удалилась, предварительно стерев весь свой блог. Третий — Tau Svetvechnogo, который обиделся на то, что никто не пришел на созданную им встречу, хотя из Волгограда, кроме него, на тот момент просто никого не было, и начал писать всякие гадости про форум. И вот теперь пару дней назад Aliszka обиделась на мою фразу, что типированием здесь не занимаются.
Самое любопытное, что на предыдущих форумах подобного не наблюдалось. На Социоклубе, правда, другое было: то и дело начиналась вражда между группировками, с которой было непонятно что делать, но там хотя бы были понятны причины. На Tipiruem иногда прибегали неадекваты, которых сразу было видно, но долго не задерживались (кроме разве что Unkasа). А тут вот люди приходят вроде нормальные, а потом вдруг такое… Интересно, в чем дело? Я стал более недовольным и раздражительным в последнее время, чем их и провоцирую, сайт так оформлен, что это как-то провоцирует или просто «место проклятое»?

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

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