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

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


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

t.me/4x_pro

Лог жизни

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


Про SMath и немного про мобильники

4X_Pro
Сегодня ходил к отцу на Пустую квартиру. Нужно было помочь ему с программой SMath. Это очень сильно упрощённый, но зато бесплатный российский аналог MathCadа. Когда шёл туда, думал, что это займёт минут 10-15: нужно было решить систему уравнений и построить график. Сначала всё казалось просто: задал две формулы, задал переменные с известными значениями, и вызвал функцию roots, которой передал матрицу, где приравнял одно к другому. Но почему-то эта функция выдала деление на ноль. Сначала думал, что ошибка где-то в формулах. Кучу времени потратил на перепроверку, использовал несколько разных вариантов, но без толку: ошибка никуда не уходила.
В какой-то момент стал уже верить, что решения не существует в принципе. Хотел было прорешать эту систему уравнений вручную, но потом бросил эту затею. Зато вспомнил про систему Wolfram Online. Возникла мысль попробовать решить в ней. Правда, давно ей не пользовался и уже забыл, как там и что, но благодаря подсказкам сообразил очень быстро. Скопировал уравнения из SMath (кстати, вставились на удивление правильно, только = нужно было на == заменить), запустил, и оказалось, что решение таки существует. Посмотрев, чему оно равно, задал в SMath начальное приближение, примерно равное значениям из Wolfram. И, о чудо, всё посчиталось! Дальше оставалось только построить график, но это заняло всего пару минут.
Видимо, дело было в нехватке точности для чисел с плавающей запятой: вместо при написании SMath где-нибудь использовали обычный float вместо double. Или просто криво реализовали численные методы.
В общем, получилось как всегда: провозился почти два часа и за остаток дня почти ничего не успел. Единственное, что сделал — это перепрошил мобильник (уже месяц как висела эта задача), после чего стал корректно работать WiFi. А вот датчик отпечатков пальца, похоже, умер окончательно и бесповоротно. Видимо, нужно всё-таки покупать новый телефон. Уже начал присматриваться, но никак не могу найти ничего похожего в приемлемом ценовом диапазоне. Либо камера хорошая, но медленный flash-накопитель, либо наоборот. Либо нужно всё же залезть немного в не свой ценовой диапазон, причём единственный подходящий телефон оттуда имеет очень плохой моно-динамик и не имеет 3.5 мм разъёма. Конечно, есть извращённое решение в виде переходника OTG=>minijack, но хотелось бы обойтись без подобного… В какой-то момент даже стал думать, не купить ли Asus Zen 8, бывший флагманом в 2021 году. Но и тут не без проблем: судя по отзывам, сильно греется (традиционная проблема ASUS), да и камера не очень.
И ещё вечером успел немного поэкспериментировать с установкой Akkoma. Вроде всё шло хорошо, но потом возникла сложность с тем, что автоматически то ли не создаётся пользователь для Postgres, то ли ему не выставляется пароль. На этом пока и застрял, будет время — вернусь и продолжу.

Первый снег

4X_Pro
Уже больше половины суток за окном идёт снег. Уже вся земля стала белой! В этом году он выпал на удивление рано, на деревьях даже ещё не все листья облетели. Редкое зрелище: ещё жёлтые листья на фоне белого снега! А ещё теперь легче будет переносить недостаток солнечного света и доживать до Нового Года.
Но и обратная сторона у снегопада тоже есть. Голова соображает хуже, спать хочется. Впрочем, последнее может быть от недосыпа в предыдущие два дня… Хочется уйти в себя, предаваться slow life и созерцать Внутреннее Безмолвие

Ремонт окончен

4X_Pro
Свершилось! Вчера в кухне выполнили последние работы, и я подписал акт приёмки. Так что кошмар под названием ремонт, можно официально считать оконченным! Впрочем, справедливости ради, замечу что кошмаром реально был только начальный этап — запуск и начальная закупка. Дальше всё шло вполне хорошо, и итогом я весьма доволен. Впрочем, неудивительно: мне повезло, что ремонт делали неравнодушные люди, которые искренне хотели сделать качественно. Приятно такое видеть! В наше время победившего баблорубства это встречается редко… Ради этого можно даже смириться с огромными тратами на доставки (наверное, 4—5% от стоимости всего ремонта ушло именно на них, позже посчитаю точнее).
Ещё теперь в квартире буквально всё покрыто строительной пылью, видимо, оставшейся от резки плитки. Теперь предстоит долго и нудно всё это протирать и убирать. А мой кабинет вообще превратился в какой-то строительный склад: от ремонта осталось 7 мешков неиспользованных материалов, с которыми непонятно что делать, а также полотенцесушитель (его так и не стали менять) и ещё некоторые мелочи. Теоретически их можно сдать обратно в магазин. Но до магазина их нужно как-то доставить. Но каждый мешок весит по 30 кг, поэтому даже на такси отвезти — проблема (их нужно как-то спустить из квартиры и погрузить в такси, а потом ещё и выгрузить у магазина). Ещё вариант — попытаться продать на Авито самовывозом за две трети цены, но слишком непредсказуемо, купят ли и когда именно.
Так что переезд из далёкой абстракции, в которую он превратился в июне, когда стало ясно, что с ремонтом всё затягивается, снова становится реальностью ближайшего времени и вызывает противоречивые чувства. С одной стороны, там гораздо лучше по почти всем параметрам. Но с другой у меня, как у человека, всю жизнь прожившего на одном месте, просто не укладывается в голове, как можно взять и уехать навсегда в совершенно другое место, где я вообще никого не знаю, пусть и с возможностью изредка возвращаться… С третьей — ведь это же возможность начать жизнь почти с нуля, этакий оффлайновый Рестарт (ещё бы и оффлайновое имя сменить, но слишком уж сложная это процедура).

Движок DIscourse и непростой выбор

4X_Pro
Несколько дней назад наткнулся на движок под названием Discourse. В первый момент он произвёл очень положительное впечатление тем, как сделан интерфейс. Возникла мысль сделать сообщество идеалистов на нём, поставившая меня перед сложным выбором.
С одной стороны, выбрав Discourse, я бы смог запустить сообщество в самое ближайшее время, причём с хорошим мобильным интерфейсом (то, что всегда будет «хромать» в моих собственных проектах), push-уведомлениями об ответах и удобной загрузкой файлов. И сделав, почувствовал бы себя свободным человеком, над которым не висит долгосрочное «надо», а который может заниматься своими проектами по настроению: есть желание что-то написать — делаю, нет — переключаюсь на что-то ещё без всяких угрызений совести и третьего Будущего. Примерно так же, как сейчас занимаюсь сайтами 4xpro.ru и socionics.me.
С другой — Discourse изначально позиционировался как форумный движок. Более того, некоторые люди (в частности, Yuri) считали его конкурентом IntB. Поэтому такой выбор в качестве движка для сообщества, фактически, означал бы капитуляцию, признание «я не справился сам, раз пользуюсь продуктами-конкурентами». А ещё он написан на весьма прожорливом Ruby, для которого пришлось бы либо арендовать отдельный VDS, либо существенно повышать тариф на уже существующем.
В общем, выбор был между «поражение, свобода и быстрый результат» и «достойный путь, гордость собой, долгий и нудный труд, и результат неведомо когда». Размышляя над этим выбором, не мог позавчера уснуть до 8 утра. А на следующий день (вчера) создал тестовый аккаунт на discourse.group и несколько разочаровался. Как выяснилось, Discourse (по крайней мере, коробочная версия) всё же не умеет работать в режиме именно сообщества (в духе Pikabu или какого-нибудь VC или DTF), когда текст каждого первого сообщения темы выводится в категории, работающей в режиме ленты. И мне не нравится ни один из режимов показа главной страницы. Да ещё открыл статическую страницу, свёрстанную ещё летом 2021 года, когда я начинал делать MLCE, и понял, что то, что я сделал тогда, мне нравится больше (если немного доработать), чем то, как выглядят темы в Discourse.
В общем, от идеи использовать Discourse всё же откажусь, скорее всего. Хотя есть мысль поступить неожиданно: взять и сделать fork Discourse, который будет ориентирован именно на создание сообществ, а не форумов.

Осень в её худших проявлениях

4X_Pro
Вот и началась осень в её худших проявлениях. На улице серо и мрачно, выходить не хочется от слова совсем. Из-за всего этого, видимо, упало давление, и весь день еле ползаю, всё из рук валится. Более-менее проснуться помог только горячий душ. Да ещё ночью долго не мог уснуть — не давал покоя вопрос, как быть с сообществом идеалистов. Но об этом напишу в отдельном сообщении, когда приду в более адекватное состояние.

Нельзя полностью полагаться на автоматизацию backupов

4X_Pro
Опять убеждаюсь: нельзя полностью полагаться на автоматизацию backupов, за всем нужно следить и периодически вручную проверять. Только что обнаружил, что после переноса сайтов на новый VDS у меня не делались backupы на домашний компьютер. Во-первых, scp отказывался соединяться из-за изменившегося host fingerprint, во-вторых, новый ключ лежал в другом файле, а в cron я это исправить, естественно, забыл. В добавок ко всему этому я так до сих пор не включил ноутбук, выполняющий роль домашнего сервера, поэтому на нём backupов нет тоже. В общем, если бы что случилось с сайтами, было бы «весело».

Немного размышлений о творцах и творениях

4X_Pro
После очередного прохождения игры Sir Brante меня заинтересовало меня, что за человек смог придумать такой сеттинг и сюжет. Посмотрел его имя в титрах (зовут его Фёдор Слюсарчук), вбил в поиск, и, о чудо, попал на его страницу ВК. Но лучше бы я этого не делал. Почитал записи на стене, комментарии, и понял, что это человек «не наших», причём не просто, а упорото-воинствующий.
Что любопытно, аналогичное чувство было летом, когда посмотрел в Fediverse аккаунт Revertronа — создателя yggdrasil. Там тоже было примерно такое же, только в ещё более агрессивно-неадекватной форме. Очень удивляюсь, как так получается, что такие люди могут делать достаточно годные вещи. Причём в случае Revertronа это был к тому же некоммерческий проект.

Съездил на настолки и прошёл игру Sir Brante

4X_Pro
Продолжаю бездельничать восстанавливаться. Вчера всё же сходил на настолки. Встреча оказалась очень даже удачной: поиграли хорошо, но не в «Остров кошек», а в «Меч самурая» aka японский бэнг (куда же без него), причём в разных вариантах: и вчетвером, и впятером, и втроём, и в «Карту сокровищ», и в «Тайные камни» aka Azul. Последняя, правда, мне никак не даётся: занял последнее место, хоть и с минимальным отрывом: 12:13:13:14. В общем, очень доволен, что выбрался.
Сегодня наконец-то как следует отоспался. Потом полдня ушла непонятно куда, только на небольшую прогулку по району выбрался. А вечером снова сел играть в «Жизнь и страдания господина Бранте». Прошёл четвёртую и пятую главы. Но увы, с катастрофическими последствиями. В третьей главе я внезапно сменил направление развития персонажа, пустив его по духовному пути и в итоге став инквизитором. Думал, что с помощью инквизиторских возможностей и прокачанного красноречия получится предотвратить перерастание восстания в кровавые погромы. Но увы, из-за того, что персонаж получился примерно одинаково понемногу прокачанный во всех направлениях, где-то к середине четвёртой главы способностей на нужные действия стало не хватать. Из-за этого приходилось выбирать бездействие или явно плохие варианты. И кончилось всё просто катастрофически почти для всех, кто был с моим персонажем связан, за исключением его младшего брата.
В общем, до сих пор сижу под впечатлением! Игра вполне заслуживает своего рейтинга (около 90% положительных отзывов). Завтра, наверное, попробую пройти игру снова. Кстати, из титров узнал, что игра изначально сделана на русском языке, а на английский её перевели потом. Хотя изначально думал, что всё было наоборот.
А ещё эта игра заставила меня задуматься уже о своей жизни. Ведь у меня всё точно так же: не умею концентрироваться и двигаться в одном направлении, а мечусь между путём страдальца за правду, путём «человека многих знаний» и путём бездельника-гедониста. А в итоге не получается двигаться никуда.

Выпадание из жизни на три дня

4X_Pro
Как всегда, завершив какой-либо крупный проект, ушёл с совершенно неработоспособное состояние. Уже три дня ничего не делаю от слова совсем. Только сегодня начал отвечать на отложенные сообщения и сделал мелкое исправление в SuperMon_Bot.
Зато чувствую, что более-менее восстанавливаюсь. В четверг весь вечер играл сначала в Life and Suffering of sir Brante. Наконец-то собрался посмотреть эту игру нормально! Она сделана в духе текстовых квестов раннего Интернета, но очень удачно дополнена качественной и очень атмосферной почти статической графикой. И надо сказать, игра очень даже понравилась! Прямо радость для обладателя ЧИ. А кроме того, игра затрагивает такие вопросы, как чем вообще определяется жизнь человека, насколько существует свободная воля, и тому подобные.
Причём проходить я решил в максимально сложном режиме, когда не показывается ни информации о последствиях выбора, ни нет возможности откатиться назад и поменять его. Причём изначально я планировал развивать своего персонажа вполне определённым образом (в этакого благородного героя-дворянина, у которого есть шансы стать спасителем империи), но по факту пошёл существенно иным путём, потому иначе персонажу пришлось бы предавать интересы сестры и матери. В итоге во второй главе («Отрочество») прокачались совершенно другие качества, чем нужны для изначального замысла. И в итоге персонаж получился середина-наполовину, у которого, скорее всего, в итоге не хватит способностей ни на дворянский путь, ни на духовный. Но посмотрим, что выйдет…
Ещё игра стала для меня инструментом самопознания в плане вопроса «чем я мотивируюсь на самом деле и почему именно так принимаю решения». А сегодня сработал закон притяжения информации — 10geek нашёл где-то типологию, которая во многом пересекается с этим вопросом. Только вот никак не могу понять, кто я в ней: до Выгорания 2007—2008 годов был Бунтарём, потом безуспешно пытаюсь стать Поборником, но получается не очень.
Сегодня собираюсь после долгого перерыва выбраться на настолки. А то там, наверное, все, кроме Ал.С. уже и забыли о моём существовании. Снова планируется «Остров кошек». Правда, как всегда, сомневаюсь, правильное ли это решение или стоило отсидеться дома (чувствую себя слегка подзаболевшим, и просто общий упадок сил) и поиграть в того же Ведьмака.

Выложил IntB 3.05 и обновил сайты

4X_Pro
День сегодня получился какой-то бестолковый. Но тем не менее, главную задачу выполнил: обновил движок форума здесь и на официальном сайте IntB, а также создал тему о начале тестирования RC1. Не обошлось без last-minute-bug: в какой-то момент перестала работать короткая ссылка на Центр Администрирования. Часа два возился, наверное, вроде стало работать нормально, но что было не так — так и осталось загадкой. Возможно, дело в приоритетах правил или же просто что-то закешировалось.
Теперь можно устроить себе пару дней передышки (если, конечно, не посыпятся массово баги), сходить на прогулку или поиграть в старые игры, а то чувствую, что внутренний ресурс закончился. А потом — вернуться к прохождению курса по «белому хакерству», который я начал летом. И затем уже возвращаться к сборке окончательного релиза. Хотя уже пошли мысли, что ещё можно доделать…

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

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