Был в Сети 12 окт. 2024 г., 22:42
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb, slow lifer.
- Перово, Москва, Россия
- me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proЛог жизни
Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.
Снова болею
Всё-таки я заболел. Температура 38 °C и выше, ничего делать нормально не могу и злюсь на то, что время проходит напрасно. Вчера попытался было писать заметку для сайта с мобильника, но безрезультатно. Точнее, всё застряло на том, что нужно скопировать и отредактировать кусок текста со своего второго сайта, а с мобильника делать это не очень-то удобно. Сейчас попытался сесть за компьютер, но сил хватило только на то, чтобы проголосовать.
Прогулка и размышления наедине с собой
Выбрался сегодня на длинную прогулку в Измайловский парк. В отличие от недавней прогулки в Терлецкий, которая почти ничем не запомнилась, эта получилась в лучших традициях Истинных времён — с одной стороны, созерцание ранней весны, с другой — время, проведённое в размышлениях наедине с собой.
Изначально я вообще рассматривал возможность отправиться в Кусково. Но потом подумал, что сейчас, наверное, там ещё не сошёл снег и не освободился ото льда пруд, поэтому выбираться туда рановато, лучше где-нибудь на следующей неделе. Поэтому отправился всё же в Измайловский. Прошёл от Новогиреевской улице по косой аллее к пасеке, затем выбрался к Серебрянке — тому месту, где когда-то был мост, но потом его смыло. Его до сих пор не восстановили. Прошёл оттуда немного вверх по течению, сфотографировал несколько раз реку, потом развернулся, и пошёл в другую сторону — там есть ещё два моста. По второму из них всё же перешёл на другой берег, побродил немного там (в частности, прошёл по туевой аллее), и отправился к второму Декоративному и Красному прудам. А от Красного пруда решил возвращаться домой через лес. К этому времени солнце уже пошло к закату, и снег стал оранжево-фиолетовым: оранжевые отблески от солнечных лучей и фиолетово-синие тени там, куда лучи не попадают. Жаль, не пришло в голову это сфотографировать!
Пока шёл к пасеке, задался вопросом, чего же я хочу от жизни на самом деле. Потом стал крутить в голове заметку о том, насколько каждый может быть собой, которая вызревает у меня в голове уже два месяца, но всё никак не соберусь сесть и начать её писать. И только уйдя на другой берег Серебрянки, вдруг получил ответ, чего же я хочу на самом деле. Ответ достаточно ожидаемый: жить в мире, где оценка (в широком смысле этого слова) даётся только через аспекты БЛ, ЧИ и ЧЭ (и, может быть, БИ и БС как второстепенные), но из оценивания исключены БЭ, ЧС и ЧЛ. Но увы, если раньше эти аспекты были важны только в оффлайновом мире, но без них прекрасно можно было обходиться в Сети, то сейчас это не так, и надежд на какое-либо улучшение не видно…
Изначально я вообще рассматривал возможность отправиться в Кусково. Но потом подумал, что сейчас, наверное, там ещё не сошёл снег и не освободился ото льда пруд, поэтому выбираться туда рановато, лучше где-нибудь на следующей неделе. Поэтому отправился всё же в Измайловский. Прошёл от Новогиреевской улице по косой аллее к пасеке, затем выбрался к Серебрянке — тому месту, где когда-то был мост, но потом его смыло. Его до сих пор не восстановили. Прошёл оттуда немного вверх по течению, сфотографировал несколько раз реку, потом развернулся, и пошёл в другую сторону — там есть ещё два моста. По второму из них всё же перешёл на другой берег, побродил немного там (в частности, прошёл по туевой аллее), и отправился к второму Декоративному и Красному прудам. А от Красного пруда решил возвращаться домой через лес. К этому времени солнце уже пошло к закату, и снег стал оранжево-фиолетовым: оранжевые отблески от солнечных лучей и фиолетово-синие тени там, куда лучи не попадают. Жаль, не пришло в голову это сфотографировать!
Пока шёл к пасеке, задался вопросом, чего же я хочу от жизни на самом деле. Потом стал крутить в голове заметку о том, насколько каждый может быть собой, которая вызревает у меня в голове уже два месяца, но всё никак не соберусь сесть и начать её писать. И только уйдя на другой берег Серебрянки, вдруг получил ответ, чего же я хочу на самом деле. Ответ достаточно ожидаемый: жить в мире, где оценка (в широком смысле этого слова) даётся только через аспекты БЛ, ЧИ и ЧЭ (и, может быть, БИ и БС как второстепенные), но из оценивания исключены БЭ, ЧС и ЧЛ. Но увы, если раньше эти аспекты были важны только в оффлайновом мире, но без них прекрасно можно было обходиться в Сети, то сейчас это не так, и надежд на какое-либо улучшение не видно…
И ещё три дня вне дома
Опять несколько дней провёл вне дома. В субботу сначала отправился на короткую прогулку в Терлецкий парк, а вечером — на настолки. Прогулка получилось не столь короткой, как планировал изначально. Во время неё пытался максимально сосредоточиться на здесь и сейчас, но периодически «улетал» в свои мысли, особенно когда уже шёл обратно.
На настолках тоже ничего интересного не было. Причём получилось так: я никак не мог собраться и приехал достаточно поздно (около 20 часов), но играть ещё толком не начинали. И вообще, успели сыграть только два раза в «Меч самурая», и всё. Потом хотели пойти в ближайший KFC и продолжить игру там, но что-то слишком уж долго собирались, и в итоге я решил уехать домой.
В воскресенье снова сходили с отцом на лыжах. Я повторил тот же результат, что показал в пятницу. И была даже идея поехать на третий круг, но тогда нужно было первые два ехать спокойнее. В общем, результаты тренировки сказываются.
Но из-за того, что слишком мало сижу за компьютером, накапливается внутренняя напряжённость из-за чувства, что опять отстаю от жизни. Поэтому сегодня даже возникла некоторая внутренняя борьба: с одной стороны, хотелось не упускать весну и съездить либо в Кусково, либо куда-нибудь в Нескучный сад или на Воробьевы горы, с другой — отсидеться дома, заняться наконец-то мобильным сообществом, поиграть в StarCraft, в общем, всем тем, что называется «догнать жизнь».
На настолках тоже ничего интересного не было. Причём получилось так: я никак не мог собраться и приехал достаточно поздно (около 20 часов), но играть ещё толком не начинали. И вообще, успели сыграть только два раза в «Меч самурая», и всё. Потом хотели пойти в ближайший KFC и продолжить игру там, но что-то слишком уж долго собирались, и в итоге я решил уехать домой.
В воскресенье снова сходили с отцом на лыжах. Я повторил тот же результат, что показал в пятницу. И была даже идея поехать на третий круг, но тогда нужно было первые два ехать спокойнее. В общем, результаты тренировки сказываются.
Но из-за того, что слишком мало сижу за компьютером, накапливается внутренняя напряжённость из-за чувства, что опять отстаю от жизни. Поэтому сегодня даже возникла некоторая внутренняя борьба: с одной стороны, хотелось не упускать весну и съездить либо в Кусково, либо куда-нибудь в Нескучный сад или на Воробьевы горы, с другой — отсидеться дома, заняться наконец-то мобильным сообществом, поиграть в StarCraft, в общем, всем тем, что называется «догнать жизнь».
Непонятное состояние
В последние дни со мной творится что-то непонятное. Сплю по 6–6.5 часов в сутки, потом просто выкидывает из сна без видимых причин. Как это ни странно, голова более-менее работает, нет того ощущения «шестерёнки в мозге еле скрипят», которое обычно бывает при недосыпе. Но постоянно испытываю ощущение «не успеваю, ничего не успеваю». И физически почти всё время чувствую сильную усталость, и Welltory даже сразу после пробуждения показывает меньше 60% энергии (хотя стресс и здоровье в норме). Никак не могу понять, то ли со мной что-то не так, то ли просто организм на смену сезонов так оперируе реагирует и более раннее начало светового дня. Или же это просто результат слишком большой затраты ресурсов на разработку мобильного сообщества...
Хаотичная активность последних дней
Как всегда, после дня активного продвижения вперёд наступил спад эффективности. Вместо этого занимаюсь какой-то хаотичной активностью. В среду вместе с Tellой съездил на встречу с RauRом. Сначала общались очень классно и позитивно, но потом RauRу не понравилось, что я его считаю на самом деле СЛИ-«Габеном» (и зачем тогда было спрашивать версию вообще?). Ну и плюс, как выяснилось, непонятно, чего он вообще хочет от встреч.
В четверг хотел было вернуться к работе над движком сообщества, но получилось только подобрать несколько вариантов цветовой гаммы с помощью MyColor.Space и нарисовать прототип главного экрана карандашом в блокноте. Также решил вопрос, как быть с репостами: понял, что нет смысла делать локальные репосты вообще, так как движок предназначен для небольших сообществ без персонализированной ленты в принципе. (Только возможность подписыаться уведомления о новых записях по пользователю/хештегу). Вот когда вернусь к работе над MLCE, там всё будет иначе…
Сегодня ходили с отцом на лыжах. Снова прибавил в скорости! Но тут сказывается обледенелось лыжни: и толкаясь двумя палками, и идя коньковым ходом, легко получить мощный прирост в скорости. Правда, из-за такого темпа совершенно не было ресурса на созерцание природы, за исключением одного момента возле Красного пруда.
Остаток дня прошёл мимо. Пытался заняться frontend-частью сообщества, но почти без толку. Даже шрифт со значками на каком-нибудь Fontello не сделал. Зато наткнулся на сайт LocalFirstWeb.dev/. Оказывается, не я один являюсь сторонником того, что приложения должны уметь работать в оффлайне. Правда, у меня причина другая, чем у большинства: нормально могу сосредоточиться только с выключенным Интернетом. Что ж, будем надеяться эта тенденция победит, по крайней мере, в среде технически продвинутых людей.
Ещё прошёл ту карту в Starcraft, на которой застрял полгода назад, и следующую за ней. Вернее, даже не застрял, а просто как-то перестал в него играть (отчасти из-за возникших проблем с Wine, отчасти из-за увлечения игрой Sir Brante, отчасти просто из-за уплотнения жизни).
В четверг хотел было вернуться к работе над движком сообщества, но получилось только подобрать несколько вариантов цветовой гаммы с помощью MyColor.Space и нарисовать прототип главного экрана карандашом в блокноте. Также решил вопрос, как быть с репостами: понял, что нет смысла делать локальные репосты вообще, так как движок предназначен для небольших сообществ без персонализированной ленты в принципе. (Только возможность подписыаться уведомления о новых записях по пользователю/хештегу). Вот когда вернусь к работе над MLCE, там всё будет иначе…
Сегодня ходили с отцом на лыжах. Снова прибавил в скорости! Но тут сказывается обледенелось лыжни: и толкаясь двумя палками, и идя коньковым ходом, легко получить мощный прирост в скорости. Правда, из-за такого темпа совершенно не было ресурса на созерцание природы, за исключением одного момента возле Красного пруда.
Остаток дня прошёл мимо. Пытался заняться frontend-частью сообщества, но почти без толку. Даже шрифт со значками на каком-нибудь Fontello не сделал. Зато наткнулся на сайт LocalFirstWeb.dev/. Оказывается, не я один являюсь сторонником того, что приложения должны уметь работать в оффлайне. Правда, у меня причина другая, чем у большинства: нормально могу сосредоточиться только с выключенным Интернетом. Что ж, будем надеяться эта тенденция победит, по крайней мере, в среде технически продвинутых людей.
Ещё прошёл ту карту в Starcraft, на которой застрял полгода назад, и следующую за ней. Вернее, даже не застрял, а просто как-то перестал в него играть (отчасти из-за возникших проблем с Wine, отчасти из-за увлечения игрой Sir Brante, отчасти просто из-за уплотнения жизни).
Большой шаг в работе над движком мобильного сообщества
Сегодня получился очень результативный день в плане работы над движком мобильного сообщества! Сам удивляюсь, что столько можно сделать всего за день, причём ещё кучу времени потерял на то, чтобы обеспечить проброс порта с локального компьютера на сервер с добавлением HTTPS. Перепробовал Tailscape, port forwarding в Visual Studio Code, но у каждого нашлись недостатки. В итоге решил вопрос своими силами, сделав проброс на VDS, где крутится сайт идеалистов, и там получил с помощью certbot сертификат для одного из поддоменов, который и использую для тестирования.
Фактически, базовые функции (регистрация/вход/выход пользователя, написание и показ сообщений и ответов) готовы. Осталось добавить поиск сообщений и удаление, и можно будет переключиться на frontend-часть. А уже потом добавлять лайки, хештеги, профили пользователя и тому подобное.
Видимо, сказалось, что перед этим неделю обдумывал всё, когда неделю жил на той квартире, хотя при этом не написал ни единой строчки кода.
Фактически, базовые функции (регистрация/вход/выход пользователя, написание и показ сообщений и ответов) готовы. Осталось добавить поиск сообщений и удаление, и можно будет переключиться на frontend-часть. А уже потом добавлять лайки, хештеги, профили пользователя и тому подобное.
Видимо, сказалось, что перед этим неделю обдумывал всё, когда неделю жил на той квартире, хотя при этом не написал ни единой строчки кода.
Лишился трансляции из Instagram
Полез было на IFTTT, чтобы выяснить, что с трансляцией из Instagram, но долго не мог вспомнить ни пароль, ни адрес регистрации. Только приехав сюда, зашёл с этого компа, и обнаружил, что тут до сих пор залогинен. Стал разбираться, в чём дело, и обнаружилось, что IFTTT пошёл по пути Zappier — тоже сделал произвольные HTTP-запросы платными. Так что теперь надо либо переделывать систему импорта, либо просто забить на Instagram, создать фотораздел прямо тут, и публиковать в нём. Всё равно в Instagram мои записи регулярно просматривает всего человек пять…
Но вообще, эта ситуация в очередной раз показывает, как плохо зависеть от сторонних сервисов.
Но вообще, эта ситуация в очередной раз показывает, как плохо зависеть от сторонних сервисов.
Большая прогулка и окончание слишком активной недели
Из десяти последних дней полностью дома провёл только два: позапрошлую субботу и прошлую пятницу. Для меня это слишком! Сегодня вернулся в Москву, буду сидеть дома и приходить в себя… Впрочем, полностью не получится: в среду всё же договорился пересечься с RauRом по поводу соционических встреч.
Зато вчера выбрался просто на потрясающую прогулку по северо-западной части Посада. Вышел к Клязьме, и оказалось, что почти упустил ледоход: река была уже совершенно чистой, только иногда проплывали небольшие льдинки. Потом прошёл в какой-то новый район, где идёт активная коттеджная застройка. Причём в некоторых местах коттеджи полностью одинаковые, из-за чего складывается впечатление, будто бы находишься не в Посаде, а в каком-нибудь американском пригороде.
Затем вышел к Филимоновскому карьеру. Но там сейчас ничего интересного нет, он пока ещё весь покрыт льдом и снегом.
А оттуда — вышел в собственно Филимоново, к тем самым большим домам, в которых изначально и хотел поселиться, но высшие силы решили иначе. Как и в первый раз, то место снова дало какое-то ощущение радостности, приподнятого настроения. Но теперь обратил внимание, насколько там более шумно, оживлённо и многолюдно по сравнению с тем местом, где живу сейчас. Если сравнивать с Москвой, то разница примерно такая же, как между Перово в районе Владимирских улиц и Зелёным проспектом в Новогиреево. Так что, может быть, всё получилось и к лучшему…
В целом прогулка получилась прямо в духе Истинных времён, когда я уходил из дома на полдня, проходил огромные расстояния (и в этот раз набегал более 10 тысяч шагов). Вернулся домой прямо каким-то наполненным весной, впечатлениями и солнечным светом. Устал жутко, но очень доволен, что выбрался. Хотел выложить две серии фото с этой прогулки, но обнаружил, что перестала работать трансляция из Instagram. Поэтому и описал её в этом сообщении.
Зато вчера выбрался просто на потрясающую прогулку по северо-западной части Посада. Вышел к Клязьме, и оказалось, что почти упустил ледоход: река была уже совершенно чистой, только иногда проплывали небольшие льдинки. Потом прошёл в какой-то новый район, где идёт активная коттеджная застройка. Причём в некоторых местах коттеджи полностью одинаковые, из-за чего складывается впечатление, будто бы находишься не в Посаде, а в каком-нибудь американском пригороде.
Затем вышел к Филимоновскому карьеру. Но там сейчас ничего интересного нет, он пока ещё весь покрыт льдом и снегом.
А оттуда — вышел в собственно Филимоново, к тем самым большим домам, в которых изначально и хотел поселиться, но высшие силы решили иначе. Как и в первый раз, то место снова дало какое-то ощущение радостности, приподнятого настроения. Но теперь обратил внимание, насколько там более шумно, оживлённо и многолюдно по сравнению с тем местом, где живу сейчас. Если сравнивать с Москвой, то разница примерно такая же, как между Перово в районе Владимирских улиц и Зелёным проспектом в Новогиреево. Так что, может быть, всё получилось и к лучшему…
В целом прогулка получилась прямо в духе Истинных времён, когда я уходил из дома на полдня, проходил огромные расстояния (и в этот раз набегал более 10 тысяч шагов). Вернулся домой прямо каким-то наполненным весной, впечатлениями и солнечным светом. Устал жутко, но очень доволен, что выбрался. Хотел выложить две серии фото с этой прогулки, но обнаружил, что перестала работать трансляция из Instagram. Поэтому и описал её в этом сообщении.
Когда избыток знаний тормозит разработку
Как уже писал, никак не получается вернуться к своим проектам. Ни доделать релиз IntB (а для этого — добавить поддержку PostgreSQL и SQLite и исправить кое-какие мелочи), ни вернуться к мобильному сообществу. Причём на последнем я застрял на проблеме избыточного выбора. Нужно реализовать простейшую задачу (выборка данных о сообщениях и их авторах, самый обычный LEFT JOIN по id), но в голове крутится целых 6 вариантов реализации (не считая неприемлемого — использования стороннего ORMа), и никак не могу определиться, какой лучше. Точнее даже так: вижу плюсы и минусы каждого, но никак не могу выбрать, чем пожертвовать: красотой и логичностью кода или возможностью выдернуть все данные одним запросом, а не несколькими.
Эх, вспоминаю, как всё просто было во времена IntB 2.x: там я в каждой таблицы для каждого столбца делал префикс с одинарным или двойным подчёркиванием (например, для пользователей все поля начинались на u_ или u__ в зависимости от того, может ли их менять сам пользователь, для сообщений — на p_), и по этому префиксу на стороне PHP поля было элементарно разделить (а также это защищало от одинаковых имён столбцов в одном запросе). Сейчас такое решение воспринимается как топорное и «студенческое». Но все те решения, которые воспринимаются как нормальные, имеют свои недостатки: либо нужно делать как минимум два запроса, либо где-то хранить список полей в самом классе, либо использовать attributes, которые появились только в PHP 8. Впрочем, пока я это писал, пришла в голову новая мысль: использовать Reflection и проверять с его помощью, в каком из классов есть соответствующее поле. Для простых случаев типа мобильного сообщества этого будет достаточно.
Эх, вспоминаю, как всё просто было во времена IntB 2.x: там я в каждой таблицы для каждого столбца делал префикс с одинарным или двойным подчёркиванием (например, для пользователей все поля начинались на u_ или u__ в зависимости от того, может ли их менять сам пользователь, для сообщений — на p_), и по этому префиксу на стороне PHP поля было элементарно разделить (а также это защищало от одинаковых имён столбцов в одном запросе). Сейчас такое решение воспринимается как топорное и «студенческое». Но все те решения, которые воспринимаются как нормальные, имеют свои недостатки: либо нужно делать как минимум два запроса, либо где-то хранить список полей в самом классе, либо использовать attributes, которые появились только в PHP 8. Впрочем, пока я это писал, пришла в голову новая мысль: использовать Reflection и проверять с его помощью, в каком из классов есть соответствующее поле. Для простых случаев типа мобильного сообщества этого будет достаточно.
Результативность повседневности
Сегодня впервые с воскресенья просидел дома почти безвылазно. Всё-таки каждый день куда-то выбираться для меня — это слишком. Догонял жизнь, приходил в себя. В целом день получился довольно результативный (плюс ещё встал рано по своим меркам), но занимался, в основном, повседневно-бытовыми вещами, а также настройкой одного из компьютеров. Хотел ещё поиграть в StarCraft или Prince of Persia 2, но так и не успел. А вот вернуться к своим проектам не получается. Но об этом — в следующем сообщении.
Страницы:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137