Был в Сети 21 дек. 2024 г., 14:10
Кратко о себе: 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 года.
Бронзовая лига взята
Что ж, после ещё одного вечера программирования я вышел на CodinGame в бронзовую лигу (на данный момент это высшая, серебряная откроется только 30 мая). Причём из «дубовой» лиги выходил очень тяжело, никак не мог понять, в чём дело. Один раз почти получилось, но потом посыпалась череда поражений, и в итоге застрял на 13 месте. А потом выяснилось, что в программе была ошибка: я не реализовал сохранение уже построенных маршрутов в свойствах игрока. Из-за этого новые маршруты добавлялись далеко не всегда оптимальным образом. Как только с этим разобрался, сразу же прорвался в бронзовую лигу (на данный момент более высокие ещё не открыты) и поднялся там до 431 места. Завтра буду пробовать дальше: уже есть мысли, что ещё можно сделать…
CodinGame: новое соревнование
Вчера зарегистрировался на новом конкурсе CodinGame. Долго не мог определиться, стоит ли ради него отвлекаться от разработки MLFW. С одной стороны, раз отвлёкшись, сложно вернуться. С другой — сейчас всё равно период, когда плохо представляю, что именно делать дальше. В итоге решил сделать то же, что и в 2021 году: выйти хотя бы в серебряную лигу, а дальше — как пойдёт, но не устраивать себе бессонных ночей с одержимостью, как это было в 2018—2019 годах.
Но вчера день оказался какой-то неэффективный: кое-как вник в условия конкурса, но не написал ни одной строчки кода. Занялся этим только сегодня, и то как-то весьма неспешно. Но зато понял, что изучение алгоритмов зря не прошло: сам подход существенно поменялся. Хотя и сама конкурсная задача тоже стала сложнее. Раньше я в бронзовую лигу выходил легко (однажды даже написал код, который сразу проскочил и первый, и второй дивизион дубовой). А сегодня писал и отлаживал код весь день. Из второй дубовой вышел после первой же отправки, а вот в первой с тем же кодом даже до середины не поднялся. Правда, там и существенные изменения в условиях игры происходят: появляются новые правила и более жёсткие ограничения. В общем, судя по всему, завтра придётся код основательно переписывать. Заодно и в плане оформления улучшу… Правда, не знаю, хватит ли времени: кроме этого, собирались с отцом съездить на новую квартиру.
Но вчера день оказался какой-то неэффективный: кое-как вник в условия конкурса, но не написал ни одной строчки кода. Занялся этим только сегодня, и то как-то весьма неспешно. Но зато понял, что изучение алгоритмов зря не прошло: сам подход существенно поменялся. Хотя и сама конкурсная задача тоже стала сложнее. Раньше я в бронзовую лигу выходил легко (однажды даже написал код, который сразу проскочил и первый, и второй дивизион дубовой). А сегодня писал и отлаживал код весь день. Из второй дубовой вышел после первой же отправки, а вот в первой с тем же кодом даже до середины не поднялся. Правда, там и существенные изменения в условиях игры происходят: появляются новые правила и более жёсткие ограничения. В общем, судя по всему, завтра придётся код основательно переписывать. Заодно и в плане оформления улучшу… Правда, не знаю, хватит ли времени: кроме этого, собирались с отцом съездить на новую квартиру.
Заметка в Instagram от May 24, 2023 at 09:11PM
Вчера снова побывали с @natalia_tella в Ногинске. Сначала пошли на главную городскую площадь (увы, так её и не сфотографировал), потом — спустились к реке, на то же самое место, где были в самый первый приезд. Площадь очень понравилась! И вообще, по общему впечатлению, Ногинск мне чем-то напомнил сильно уменьшенный Ярославль. Во-первых, вкусной едой, во-вторых, тем, что площадь вызвала то же ощущение полноты жизни, какое было в Ярославле в последний день. Ещё Ногинск —это город фонтанов: они есть и на главной площади, и на привокзальной, и даже в реке (см. второе фото). А последний фонтан расположен на другом берегу, где находится современная часть города.
#ногинск #мост #фонтан
Смотреть все фото
#ногинск #мост #фонтан
Смотреть все фото
На нас напали!
Недавний скан сайта не прошёл бесследно. Сегодня зашёл в Метрику и обнаружил, что просел траффик, а 19-ого числа было 20 тысяч заходов! И все — боты из Эстонии, проведшие на сайте по 5 секунд. Пришлось срочно добавить тег rel=canonical на сайт, и теперь ещё несколько дней займёт переиндексация. А сегодня утром прилетело уведомление от ВК о том, что кто-то попытался зайти в мой аккаунт с iPhone. Проверка последних сессий показала, что безрезультатно.
В общем, кто-то решил в Сети со мной повоевать. Судя по данным Метрики, это лицо в возрасте 24-35 лет мужского пола и явный эпплузер (заходы с компа тоже с Apple-техники, если только у него не хватило мозгов подделать User-Agent). Остаётся только вопрос, кто это и что ему вообще нужно. Пока рабочая версия — та же команда, что докопалась до abrbusа.
А пока предупреждаю всех: если вдруг получите сообщение от моего имени и оно покажется вам каким-то странным (например, просьба денег в долг) — задавайте контрольный вопрос, чтобы удостовериться, что это действительно я. Так победим.
В общем, кто-то решил в Сети со мной повоевать. Судя по данным Метрики, это лицо в возрасте 24-35 лет мужского пола и явный эпплузер (заходы с компа тоже с Apple-техники, если только у него не хватило мозгов подделать User-Agent). Остаётся только вопрос, кто это и что ему вообще нужно. Пока рабочая версия — та же команда, что докопалась до abrbusа.
А пока предупреждаю всех: если вдруг получите сообщение от моего имени и оно покажется вам каким-то странным (например, просьба денег в долг) — задавайте контрольный вопрос, чтобы удостовериться, что это действительно я. Так победим.
Об MLFW и slow life
В конце прошлой недели вернулся к работе над MLFW (MindLife framework) и достаточно неплохо продвинулся. Сделал авторизацию по фиксированному списку пользователей (когда список хранится не в базе, а задаётся непосредственно в настройках приложения) и подключение логгеров по стандарту PSR-3. Причём когда делал авторизацию, пришлось принять тяжелое решение — увеличить минимально требуемую версию PHP с 7.0 до 7.1, чтобы можно было делать type hinting для нескольких типов сразу.
Когда решал этот вопрос, заглянул на официальный сайт PHP и с удивлением обнаружил, что там последняя официально поддерживамая версия уже давно вообще 7.4. Какой кошмар! Куда все так торопятся? В том же Ubuntu 18.04, срок жизни которого ещё не закончился, официальная версия — 7.2 (и без костылей типа PPA её не обновить), у какого-нибудь CentOSа, наверное, ещё более старая. Мир стал слишком быстро меняться, и непонятно, как его притормозить!
Ещё понял, что моя работа над MLFW — это как раз то самое творение в режиме slow life, каковым оно и должно быть: с долгим размышлением над тем, какое решение будет максимально правильным, с изучением стандартов и мнений, как делать лучше. А ещё возврат и переделка неудачных решений.
В частности, вчера половину вечера потратил на то, чтобы определиться, в каком формате нужно писать лог. В итоге пришёл к выводу, что лучше использовать tsv вместо csv, предусмотрел возможность указывать не просто имя файла, а с возможностью подстановки даты, хоста и серьёзности лога. А также выбрал формат даты, который автоматически распознаётся LibreOffice Calc при импорте tsv.
В общем, из серьёзных доделок, по сути, остаётся только работа с формами, планировщик с поддержкой надёжных задач и кеширование. Из более мелких — лента RSS, всякие минификаторы CSS (и склейка в один файл) и HTML, но это можно позаимствовать из разработок 10geekа или моего проекта 2seconds (нужно будет ещё сравнить, чей вариант эффективнее). Начинаю верить, что когда-то я всё это всё же доделаю! Вообще, написание этого frameworkа подобно строительству средневекового собора: результат будет виден очень нескоро, но само занятие этим даёт чувство наполненности жизни смыслом.
Когда решал этот вопрос, заглянул на официальный сайт PHP и с удивлением обнаружил, что там последняя официально поддерживамая версия уже давно вообще 7.4. Какой кошмар! Куда все так торопятся? В том же Ubuntu 18.04, срок жизни которого ещё не закончился, официальная версия — 7.2 (и без костылей типа PPA её не обновить), у какого-нибудь CentOSа, наверное, ещё более старая. Мир стал слишком быстро меняться, и непонятно, как его притормозить!
Ещё понял, что моя работа над MLFW — это как раз то самое творение в режиме slow life, каковым оно и должно быть: с долгим размышлением над тем, какое решение будет максимально правильным, с изучением стандартов и мнений, как делать лучше. А ещё возврат и переделка неудачных решений.
В частности, вчера половину вечера потратил на то, чтобы определиться, в каком формате нужно писать лог. В итоге пришёл к выводу, что лучше использовать tsv вместо csv, предусмотрел возможность указывать не просто имя файла, а с возможностью подстановки даты, хоста и серьёзности лога. А также выбрал формат даты, который автоматически распознаётся LibreOffice Calc при импорте tsv.
В общем, из серьёзных доделок, по сути, остаётся только работа с формами, планировщик с поддержкой надёжных задач и кеширование. Из более мелких — лента RSS, всякие минификаторы CSS (и склейка в один файл) и HTML, но это можно позаимствовать из разработок 10geekа или моего проекта 2seconds (нужно будет ещё сравнить, чей вариант эффективнее). Начинаю верить, что когда-то я всё это всё же доделаю! Вообще, написание этого frameworkа подобно строительству средневекового собора: результат будет виден очень нескоро, но само занятие этим даёт чувство наполненности жизни смыслом.
Как потерять полчаса напрасно
Сейчас попытался улучшить Интернет на даче. Сначала думал, проблема в недостаточной мощности WiFi в роутере. Спустил его на первый этаж, подключил к ноутбуку через USB, но лучше от этого не стало. Решил переключиться с 4G на 3G из соображений, что последний меньше загружен. Сначала скорость выросла, но через пару минут связь отвалилась вообще и наглухо. Обратно роутер тоже отказался переключаться с неведомой ошибкой. В итоге попытался включить/выключить передачу данных через Web-интерфейс, но получилось только отключить. Потом роутер перезагрузил, 4G снова включился, но я очень долго не мог понять, почему траффик не идёт. Перезагружал несколько раз роутер, компьютер, снова переключался на 3G и обратно, но ничего не помогало: траффик был нулевой. И только потом увидел в Web-интерфейсе, что мобильная передача данных выключена. Включил — и всё заработало!
Перебрался на первый этаж
Опять не успеваю писать в блог. То дни настолько эффективные, что на это не остаётся времени. Так, в частности, было 17-ого (в тот день, когда я писал про рассвет) и вчера (об этом ещё напишу сообщение). То, наоборот, дни проходят мимо, и не успеваю почти ничего, да ещё и не высыпаюсь. Так, например, было в пятницу. Впрочем, тогда кое-что успел: выбрались с Tellой в Посад и посмотрели там часть города западнее площади Революции. Место там очень уютное и какое-то радостное, если можно так выразиться: старые двухэтажные деревянные домики и тихая речка Вохонка.
А сегодня начал лето досрочно: перенёс ноутбук на первый этаж. Обычно делаю это 1-2 июня (и именно этот момент и считаю началом лета), но теперь решил, что первый этаж уже достаточно прогрелся. Насколько же тут комфортнее: и кресло нормальное, и экран большой, и клавиатура внешняя.
А сегодня начал лето досрочно: перенёс ноутбук на первый этаж. Обычно делаю это 1-2 июня (и именно этот момент и считаю началом лета), но теперь решил, что первый этаж уже достаточно прогрелся. Насколько же тут комфортнее: и кресло нормальное, и экран большой, и клавиатура внешняя.
Рассветное созерцание
Сейчас наблюдал рассвет. Вернее даже, сосредоточился не на самом рассвете (он был вполне обычным), а на том, как поднимается туман над ближайшим водоёмом. И ещё на птицах, встречавших новый день. Это было Созерцание в самом настоящем смысле этого слова, то, которого так часто мне не хватает. Давно не чувствовал такую включеность в мир и какую-то наполненность!
Заметка в Instagram от May 15, 2023 at 10:50PM
Хотел сегодня отправиться на прогулку на закате и сфотографировать его. Но, как всегда, немного опоздал и вышел слишком поздно. Из-за этого был весьма раздраженный, но природа действует успокаивающе. И хотя застал только последние моменты, в целом прогулкой остался доволен. Видел, как противоположный берег Клязьмы покрылся туманом. В кустах на берегу уже поют соловьи, да и комары появились!
#клязьма #вечерняярека #рекавечером #закат #закатнадводой
Смотреть все фото
#клязьма #вечерняярека #рекавечером #закат #закатнадводой
Смотреть все фото
Слово об утерянном контакте с высшими силами
В последнее время много размышляю над тем, чем я-теперешний отличаюсь от того я, каким был до Выгорания 2008 года. Вроде и производительность восстановил, и гармонию с миром регулярно удаётся почувствовать, и идеи порой появляются, но всё равно чего-то не хватает. И вдруг понял одно очень важное отличие. Тогда я жил с ощущением того, что некий контакт с высшими силами совсем-совсем близко. Что стоит ещё немного времени провести в медитации или пройти какое-то инициационное испытание или даже просто встать однажды солнечным утром и отправиться в некое архетипическое путешествие, и произойдет некое Откровение. Что-то вроде того, что описано в «Пророке» Пушкина:
Моих ушей коснулся он, —
И их наполнил шум и звон:
И внял я неба содроганье,
И горний ангелов полет,
И гад морских подводный ход,
И дольней лозы прозябанье.
То есть я увижу что-то, что недоступно для восприятия обычным людям, что даст мне какие-то необычные способности. В чём именно они будут, я не знал. Либо в необычном взгляде на мир, который даст возможность совершить прорывное открытие. Либо в способности предчувствовать будущее, которая даст необычайную удачливость в различных играх (в том числе, трейдинге на бирже или на Forex или в профессиональном покере). То ли даже просто в том, что я вдруг пойму «вот этот вид деятельности — моё, и действовать тут нужно так-то», после чего за пару-тройку месяцев обучения и тренировок добьюсь каких-то выдающихся результатов, которые дадут мне то самое недополученное формальное признание.
А после Выгорания это исчезло и так и не восстановилось. Хоть я и продолжаю пробовать разные виды деятельности, но делаю это чисто механически, без ощущения подсказки свыше «иди сюда, это — твоё». И результаты получают соответствующие — в лучшем случае на уровне твёрдого хорошиста. В худшем — просто бросаю, видя, что толком ничего не выходит. Причём если где-то до 2019 года я ещё верил «ничего, хоть и нет подсказки от высших сил, просто буду пробовать разное вслепую, авось чего и нащупается», то потом исчезла вера даже в это, потому что чем больше пробовал, тем больше закрывалось «дверей возможностей». Но как восстановить этот контакт с высшими силами (или хотя бы просто понять, почему он пропал) — остаётся загадкой…
Единственное, что удалось понять, так это то, что мои творческие способности сильно ограничены заваленным пятым уровнем ТУАИ, страхом рисковать и действовать нешаблонно.
Моих ушей коснулся он, —
И их наполнил шум и звон:
И внял я неба содроганье,
И горний ангелов полет,
И гад морских подводный ход,
И дольней лозы прозябанье.
То есть я увижу что-то, что недоступно для восприятия обычным людям, что даст мне какие-то необычные способности. В чём именно они будут, я не знал. Либо в необычном взгляде на мир, который даст возможность совершить прорывное открытие. Либо в способности предчувствовать будущее, которая даст необычайную удачливость в различных играх (в том числе, трейдинге на бирже или на Forex или в профессиональном покере). То ли даже просто в том, что я вдруг пойму «вот этот вид деятельности — моё, и действовать тут нужно так-то», после чего за пару-тройку месяцев обучения и тренировок добьюсь каких-то выдающихся результатов, которые дадут мне то самое недополученное формальное признание.
А после Выгорания это исчезло и так и не восстановилось. Хоть я и продолжаю пробовать разные виды деятельности, но делаю это чисто механически, без ощущения подсказки свыше «иди сюда, это — твоё». И результаты получают соответствующие — в лучшем случае на уровне твёрдого хорошиста. В худшем — просто бросаю, видя, что толком ничего не выходит. Причём если где-то до 2019 года я ещё верил «ничего, хоть и нет подсказки от высших сил, просто буду пробовать разное вслепую, авось чего и нащупается», то потом исчезла вера даже в это, потому что чем больше пробовал, тем больше закрывалось «дверей возможностей». Но как восстановить этот контакт с высшими силами (или хотя бы просто понять, почему он пропал) — остаётся загадкой…
Единственное, что удалось понять, так это то, что мои творческие способности сильно ограничены заваленным пятым уровнем ТУАИ, страхом рисковать и действовать нешаблонно.
Страницы:
- 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
- 138
- 139
- 140
- 141