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

Лог жизни

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


Таки я переболел COVID-19!

4X_Pro
Пару недель назад выяснилось, что Tella перенесла COVID-19 то ли в октябре, то ли в ноябре. Узнав об этом, я предположил, что в конце ноября и начале декабря тоже мог им болеть, так как было довольно много подозрительных симптомов: и одышка, и учащённое сердцебиение, и просто уставал так, что под вечер еле стоял на ногах (хотя ничего толком не делал), и в мышцах ломило. Тогда я списывал это на усталость, недосып, сокращение светового дня и нервные перегрузки, так как ноябрь был просто кошмарным.
Когда я узнал про Tellу, сопоставив одно с другим, я решил, что вполне мог и сам переболеть COVIDом в легкой форме. Но пойти и сдать анализ так и не решался, и только пару дней назад DarLik уговорила меня это сделать. Хотя анализ можно сделать бесплатно, но для этого нужно было ехать куда-то достаточно далеко, в район ул. Молостовых, а взятие крови из вены я переношу очень тяжело. Плюс DarLik запугивала на тему того, что если я всё же не болел, то шансы заразиться в обычной поликлинике весьма высоки. В общем, уговорила меня на платную лабораторию рядом с домом.
И вот вчера я сходил и сдал анализ. Итог оказался предсказуемым: на антитела к COVID результат положительный. Но и тут не обошлось без неприятностей. Дело в том, что там была акция, где делался комплексный анализ крови на 9 показателей, в том числе и на антитела. Но не учёл одного: анализ на антитела только суммарный и качественный, без деления на IgM и IgG (т.е. ответ будет только «да/нет»). Мне пытались это объяснить, когда я пришёл в лабораторию, и что по-хорошему нужно заказать ещё один анализ на антитела. Но из-за недосыпа и стресса я соображал плохо, поэтому сначала подумал, что кровь придётся сдавать два раза и отказался.
Само взятие крови прошло тяжело, но на этот раз хотя бы без обморока. Очень понравилась внимательность сотрудников лаборатории: когда стала кружиться голова, сразу уложили на кушетку, поднесли нашатырь, воды и дали несколько минут отлежаться, хотя это застопорило очередь.
А сегодня утром результаты пришли на Email. Как я и ожидал, тест оказался положительным. Остальные показатели более-менее в норме, только эозинофилы, моноциты и цинк повышенные. И витамин D ниже нормы.
Но увы, вместо облегчения и радости у меня начались сомнения. Вдруг я переболел не в ноябре, как предполагалось изначально, а заболел всего неделю назад. (Там был момент, когда начал кашлять по ночам с каким-то противным бульканьем, хотя днём чувствую себя вполне нормально.) Ответ дало бы количественное соотношение IgM/IgG, но увы, его у меня нет.
Впрочем, в любом случае, выжду ещё пару недель, и смогу спокойно перемещаться по городу на метро и заражать окружающих недолеченным COVIDом, а не стоять в пробках в такси! Смешно, никогда не думал, что возможность ездить на метро может меня обрадовать, но тем не менее, это так!

Антиюзабилити и masked input

4X_Pro
Сегодня столкнулся с примером антиюзабилити. В банке потребовалось ввести СНИЛС. Как обычно, горе-разработчики вместо того, чтобы сделать стандартное поле ввода и пост-обработку на сервере, навесили скрипт для так называемого masked input. То есть в поле ввода сразу есть прочерки на месте цифр и дефисы, т.е. что-то вроде ___-___-___-__.
Но самое ужасное не это. А то, что если ввести несколько цифр и переключиться в другое окно (где у меня был скан СНИЛСа), содержимое поля полностью сбрасывается! Пришлось переносить окно окно на второй монитор, чтобы иметь возможность ввести нормально.
В общем, ругался долго. Когда успокоился, в очередной раз удивился человеческой глупости. Зачем делать эти masked input, если можно сделать обычное стандартное поле ввода input type="text" и пост-обработку на серверной стороне на случай, если пользователь введёт номера с дефисами или пробелами (на PHP это был бы обычный str_replace, даже regexpы бы не потребовались). А если уж очень хочется показать пользователю в красивой и удобной форме, что он ввёл, то под полем ввода сделать повторный вывод уже с дефисами. (Тем более, что на том сайте для редактирования СНИЛСа показывалось отдельный блок, где места было достаточно.) Кстати, это решило бы и проблему с вставкой из буфера обмена, которая на masked inputах попадается очень и очень часто.
Но к сожалению, одно из несовершенств нашего мира заключается в том, что решения использовать подобное принимают технически безграмотные менеджеры, которые просто увидели это на каком-то другом сайте, а сами разработчики либо не хотят, либо не могут донести до них то, что так делать не надо, и вместо этого просто реализуют то, что сказали. И в результате плохие решения множатся и множатся…

Первые итоги канала на Дзене

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

Удалось наладить режим дня!

4X_Pro
Чудо всё-таки свершилось! Уже целую неделю я встаю гораздо раньше, чем прежде, где-то в промежутке с 9:30 до 11:30. Так что теперь застаю гораздо большую часть светового дня, и появилась возможность выбираться на улицу засветло, чем я несколько раз пользовался. Правда, как обычно, из-за этого меньше успеваю в плане дел. А вчера ещё возник сильный недосып, из-за чего день прошёл почти весь мимо. Теперь нужно выдержать ещё пару недель, чтобы привычка закрепилась.

О протоколе Gopher и техноархеологии

4X_Pro
Сегодня верстал макет одного клиентского сайта. Сайт сам по себе простой и ничем особенным мне бы не запомнился, если бы не необычное copyright-сообщение в «подвале»:
Никакая часть материалов с этого сайта не может быть размещена на каком-либо другом Интернет-, gopher- или FTP-сайте, системе BBS или другой электронной архивной базе данных, за исключением случаев, оговорённых в письменном соглашении с администрацией сайта

Уж не знаю, откуда клиенты взяли упоминания таких древностей как Gopher или BBS, да и публичные FTP сейчас редкость. Но первое, что мне пришло в голову по прочтении — это выяснить, а существуют ли ещё Gopher-сайты в наше время. Для тех, кто не в теме, поясню, что хотя я пришёл в Интернет в конце 2000 года, подобных сайтов в Рунете не застал, видел только упоминания о том, что такой протокол когда-то был. Сказано — сделано! В скором времени я узнал, что даже сейчас в Интернете существует около 150 Gopher-сайтов, но в современных броузерах поддержки протокола Gopher давно уже нет. Но, как выяснилось, в lynx она вполне себе работает, кроме того, есть шлюзы Gopher=>HTTP. Зашёл на один из сайтов (gopher.ratthing.com), посмотрел. Эх, как же классно: простые текстовые страницы, кое-где с ASCII-артом! Никакой рекламы, всплывающих блоков, ненужной графики. И самое главное — это ощущение какой-то «настоящести». А ещё обнаружилось, что в Gopher были даже гостевухи и локальный полнотекстовый поиск! Теперь даже задумался о том, а не поднять ли мне Gopher-сервер на своём VDSе, положив туда страницу «О себе», биографию, страницу личных достижений и т.п. Буду единственным человеком в Рунете, у которого такое есть! (Правда, оценят только единицы.)
И вообще задумался, что со своим первым Прошлым по темпористике я мог бы стать техноархеологом — знатоком старого железа, старых протоколов и тому подобного. Более того, можно попытаться даже предоставлять платные услуги по чтению данных со носителей типа дискет или IDE-дисков (а лет через десять таковыми станут и банальные CD-ROMы) и конвертации их из неподдерживаемых сейчас форматов. Всё интереснее, чем верстать сайты для Интернета, который в своём развитии ушёл куда-то явно не туда. Вопрос только в том, как в наше время раздобывать старое «железо», например, дисковод 5.25".

Канал на Дзене или Главный пуск года

4X_Pro
Сегодня случилось то, к чему я шёл последние четыре месяца! Мы с Tellой запустили свой канал на Дзене про гармонизацию жизни на основе Псибазиса — 7 первопричин психологических проблем. Первые три статьи я выложил вчера, сегодня добавил четвёртую и объявил о запуске канала в соцсетях.
Но увы, дальше ждало разочарование. Вчерашние статьи набрали несколько сотен показов, но сегодня показы почти прекратились. Хотя CTR вроде бы вполне приемлемый: от 2.4% до 4.4%. Попытался было добавить ещё одну, про дефицитарность, чтобы алгоритмы обучались и определяли тематику, но внезапно статья попала под блокировку. Сначала думал, что перестарался с провокационностью заголовка, поменял его на тот, который предполагался изначально («Дефицитарность как причина нелогичного поведения»), но и с ним блок повторился. Видимо, либо в тексте что-то не так, либо проблема с изображениями. Tella написала в техподдержку, но, как мне кажется, ответа не будет. Придётся определять, что не так, экспериментальным путём.
Ещё узнал о программах «Аврора» и «Нирвана», куда можно попытаться подать заявку, чтобы получить бонусные показы. Но для этого нужно хотя бы 10 записей создать, а у нас полностью готово только пять статей, и шестая — в полунаписанном состоянии.
Но вообще, читая рекомендации Дзена для начинающих авторов, я несколько разочаровался. Он всё же ориентирован на тех, кто блоггерством собирается зарабатывать. Пришла даже в голову неожиданная мысль — самому создать платформу на основе IntB для тех, кто пишет по принципу «не могу молчать», как во времена Старого Доброго Интернета. Там не будет монетизации в принципе, зато у каждого будет возможность быть увиденным и услышанным, не тратя на это денег. Но всё, как всегда, упирается в то, как набрать критическую начальную массу авторов.

Зимнее солнцестояние пережили!

4X_Pro
Вот и всё, зимнее солнцестояние позади! Теперь день начнёт удлиняться, а это сразу улучшает настроение и делает жизнь проще. Ещё позади очередной биоритмический минимум, последний этого года. И до Нового года уже меньше 10 дней. А с ним весь этот «год с вирусом» и кучей других неприятностей станет, наконец, историей.
А завтра состоится запуск канала на Дзене. Четыре месяца я шёл к этому!
И ещё мы с Tellой пытаемся налаживать режим дня совместно: ложиться в 2 часа, вставать в 10. Правда, получилось как всегда: лёг я почти сразу после полуночи, а проснулся в 3:20. Но обычно я в таких ситуациях пытаюсь чем-то заняться, а тут полежал где-то час и снова пошёл спать. В итоге проснулся тоже позже намеченного времени, а на связь вышел только в 12 часов дня. Но всё равно большой шаг вперёд сделан! Главное, сегодня лечь вовремя.

14 декабря, и этим всё сказано

4X_Pro
Биоритмический максимум, как всегда, закончился незаметно. В конце прошлой недели обратил внимание на то, что успевать снова стал меньше, а потом глянул на календарь и обнаружил, что вообще-то на следующей неделе уже минимум будет.
А сегодня ещё очень необычный день: годовщина Декабрьской трагедии 2001 года. Эх, горите в аду все причастные, а также те, кто предпочёл не вмешиваться! На этот раз этот день снова совпал с затмением. Правда, на этот раз солнечным, а не лунным, как тогда.
В остальном же всё идёт как обычно. Посмотрел вебинар по фотографии, доделал кое-какие мелочи по сайтам и побегал на доожке.

О метро и халяве

4X_Pro
Опять мир меняется в худшую сторону. На этот раз изменения коснулись метро, точнее, официального приложения для него на Android. Летом я получил от Города 4000 баллов халявы, которые можно было потратить либо на различные скидки, либо на пополнение карты Тройка. Но у Тройки есть ограничение, что баланс не может превышать 3000 руб. Изначально я думал, что запишу сначала 2000, потом потрачу, потом запишу ещё две. Но увы, из-за эпидемии я с сентября не пользовался никаким транспортом, а в конце декабря баллы сгорят.
Поэтому сегодня решил пойти другим путём — сделать себе ещё одну карту «Тройка». Это, конечно, потеря 50 руб (хотя теоретически их потом можно будет вернуть), но зато халява не пропадёт. Решено — сделано (ибо ничто не мотивирует так, как возможность получить халяву), и вот я уже дома с новой картой.
Запускаю приложение «Метро Москвы» и тут первая неожиданность: теперь нельзя взять и просто так им попользоваться, вместо этого нужно создать личный кабинет! Дальше ещё лучше: привязка карты — нужно либо пополнить её на 50 руб (что невозможно сделать из-за того, что я уже пополнил её баллами), либо указать станции входа двух предыдущих поездок. В общем, ругался я долго и тщательно. Уже даже хотел было идти ещё раз в терминал, где я её получил, чтобы записать пополнение там, а не телефоном. Потом обнаружил, что чуть ниже есть ссылка «Прочитать карту», которая позволяет сделать всё необходимое без всяких привязок, после чего 2000 баллов были благополучно зачислены на новую Тройку.
Вызывает недоумение только одно: зачем было так портить приложение, которое раньше было таким простым и удобным и отлично делало ровно то, что и должно было делать — пополняло карту и показывало маршрут.

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

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. Почему — так и остаётся загадкой, может быть, ПФ проседают?

Страницы:
Задать вопрос

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