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

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


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

t.me/4x_pro

Лог жизни

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


Испытания PlayKey и LoudPlay

4X_Pro
Вчера пробовал PlayKey и LoudPlay на старом стационарном компьютере. Хотел сделать из него тонкий клиент для игр. В PlayKey подключение и запуск игр происходит очень быстро, зато тормозит сам игровой процесс: движения мышью даже в меню того же Ведьмака происходят с большой задержкой. Сначала посчитал, что проблема в том, что у меня видеокарта не поддерживает аппаратное ускорение (так как аналогичное наблюдалось на Play Now, когда слетала поддержка ускорения в Chromium на ноутбуке). Поставил DXVA checker, он написал, что карта поддерживает. Вычитал где-то, что иногда помогает установка KLite Codec Pack, тоже поставил. Запустил PlayKey ещё раз, но увы, всё то же самое. Причём после окончания сеанса PlayKey пишет, что хоть видеокарта и поддерживает аппаратное ускорение, но слишком медленная, и советует её заменить. Пытался что-то сделать в настройках по Ctrl+F2, переключался с аппаратного на программное декодирование и обратно, ужимал framerate до минимума, менял настройки пост-обработки, но всё без толку. Проблема оставалась даже тогда, когда изображение стало совсем некачественным.
С LoudPlay всё было иначе. Сначала очень долго (около 50 минут) ждал в очереди. Вот уж не думал, что на платных тарифах может быть такое время! Потом сервер запустился, но я никак не мог к нему подключиться — появлялся чёрный экран на пару секунд, потом пропадал, и ничего не происходило. Только когда отключил в настройках аппаратное ускорение, всё заработало. Что реально понравилось — это доступ к полноценному удалённому рабочему столу, где можно самому запустить нужный лаунчер или даже установить игру самостоятельно. Там был каталог с предустановленными играми, но почему-то Ведьмака запустить оттуда не удалось, пришлось ждать установки через Steam, на которую ушло почти полчаса. Зато когда запустил, играть было вполне комфортно! Только пару раз возникали необъяснимые проблемы со связью, когда картинка пропадала. Причём проблемы были явно на на моей стороне — обычный Интернет в эти моменты работал нормально. А ещё периодически качество видеопотока становилось таким, как будто я играл на средних, а то и низких настройках… Потом пытался установить World of Tanks, но увы, на это не хватило проплаченного времени (я для теста проплатил всего два часа). В общем, пользоваться можно, но GeForce Now по качеству связи и картинки проигрывает ощутимо…
Также нужно бы попробовать Drova.io, но на это уже не хватило сил и времени.
Ещё выяснил, что стационарный компьютер шумит не из-за плохого блока питания, как я думал раньше, а из-за слишком хлипкого корпуса. Вчера вывинтил его из корпуса и положил рядом, и оказалось, что уровень шума достаточно приемлемый. И даже процессорный кулер, когда корпус открыт, под нагрузкой шумит больше. Так что этот блок питания можно будет попробовать переиспользовать.
Также понял, что облачный гейминг с почасовой оплатой получается существенно дороже, чем я предполагал изначально. После небольших расчётов оказалось, что компьютер ценой 48 тыс. руб окупится всего через 800 часов. Если играть по 2-3 часа в сутки, то это всего год! Так что всерьёз задумался о возврате к варианту сборки Core i3 10105 + GeForce 1660 Super. Плюс облачный гейминг — это лишняя зависимость от Интернета. А я, как человек заставший модемные времена, считаю, что жить нужно с готовностью к тому, что Интернет может закончиться в любой момент.

Мечта, идейность или прагматизм?

4X_Pro
В ходе вчерашней дискуссии с Aksion осознал, что никак не могу определиться с тем, как быть с покупкой компьютера из-за того, что произошло столкновение между мечтой, идейностью и практикой.
Мечта заключается в том, что с давних пор хочу купить мощный стационарный компьютер, для которого самостоятельно выбрать хорошие комплектующие. Но чтобы использовать его в полной мере, нужно вернуться под Windows, что несколько противоречит моей идейности — желанию быть сторонником свободного софта.
С точки зрения идейности, простые игры следует запускать локально на wine, а те, на которые ресурсов компьютера не хватает — через облачный гейминг, на который потратить сэкономленное на покупке компьютера. Даже если брать безлимит, хватит на 8 лет в том же Play Now при годичной оплате. Правда, мне была бы выгоднее почасовая, так как играю не так уж много.
Кстати, нашёл ещё одно интересное решение: игры через SberPlay/СберБокс — устройство, вставляемое в телевизор. По деньгам существенно дешевле, но почему-то в СберБоксе не предусмотрели USB hubа, и играть можно только через Bluetooth-клавиатуры, равно как и разъёма для проводной сети. Если бы не это — счёл бы, наверное, лучшим решением.
И, наконец, практическая составляющая заключается в том, что реально мне хватило бы либо весьма среднего современного компьютера (на том же Core i3 10105), либо околотоповой конфигурации времён 2015-2016 года. И в этом случае самым правильным решением было бы купить б/у компьютер с такими характеристиками.

Эксперименты с VMWare Player

4X_Pro
Вчера всё же поставил Manjaro на старый диск. Установка прошла на удивление легко. С удивлением обнаружил, что в нём сразу встроен Steam-клиент. Но увы, Proton так и не работает нормально: подключил библиотеку с играми, попытался было запустить WoT и ещё одну игру, но безрезультатно. Решил поставить VMWare Player. В этот раз всё началось весьма неплохо: после того, как я обновил ядро, плеер быстро собрался и запустился без каких-либо проблем.
Начал устанавливать Windows 10 в виртуальной машине. Сначала тоже всё шло нормально, но когда копирование дошло где-то до 70%, процесс стал идти ну очень медленно. Запустил утилиту top и обнаружил, что процесс mount.ntfs съедает 100% процессорного времени. Мораль: не надо располагать файлы с виртуальной машиной на NTFS или exFAT-разделах, монтируемых через FUSE. Остановил виртуалку, перенёс файлы с ней на основной диск, перезапустил, установка пошла куда бодрее. По первым впечатлениям, Windows под VMPlayer работает очень даже шустро, особой разницы с обычным запуском не вижу (правда, на основной ноутбук я Windows 10 «вживую» никогда не ставил, предпочёл в своё время остаться на Win 7).
Убедившись в этом, решил приступить к benchmarkам. Сначала хотел было воспользоваться Basemark, но он отказался запускать тест, выдавая неизвестную ошибку. Тогда скачал Unigine Valley, который когда-то запускал через Phoronix на основной системе. Результат оказался разочаровывающий: во-первых, тест ужасно долго запускался, во-вторых, отображение было в режиме пошаговой стратегии, да ещё с очень сильной нагрузкой на процессор. Сначала я думал, что в фоне висит что-то ресурсоёмкое, типа обновлений. Выполнил их вручную, перезагрузился, и при запуске WM обнаружил сообщение о том, что поддержка 3D для данной машины не может быть включена.
Стал разбираться. Доустановил некоторые пакеты типа VD-PAU, но не помогло. Потом вычитал, что нужно прописать в файле VM (или в общем конфиге) строчку mks.gl.allowBlacklistedDrivers = "TRUE". И вот после этого и в броузере в about:gpu появилось сообщение о поддержке аппаратного ускорения, и Unigine стал запускаться приемлемо. Провёл измерения, и оказалось, что fps в виртуалке под VMPlayer составляет где-то 60% от производительности на хосте. В общем-то неплохо.
Потом захотел перезагрузиться в основную систему и запустить Windows из VirtualBox, а заодно на всякий случай запустить Unigine Valley из под неё. Но тут ждала неприятная неожиданность: система перестала запускаться. Выдавала несколько ошибок, и наглухо вставала на этапе запуска X Server. Не помогал даже nomodeset. Времени было уже около 6 часов, и я ушёл спать, так и не разобравшись, в чём дело.
Ответ на вопрос, что случилось, нашёлся только сегодня, когда запустил систему без графического режима, и обнаружил, что файловая система смонтирована в read only. Попробовал запустить fsck, но тот выдал, что не удаётся найти раздел с нужным UUID. Посмотрел выдачу blkid и обнаружил, что для основного раздела Linux он не совпадает с тем, который указан в /etc/fstab. Пришлось перезагрузиться в Manjaro, отредактировать fstab под ним и перезагрузиться обратно. После этого всё заработало как прежде.
Потом ещё поэкспериментировал с запуском того же образа Windows из под VirtualBox. На удивление, смену виртуальной машины он пережил. Но под VirtualBox Unigine Valley запустился только в режиме DirectX 9, и то измерить до конца ничего не удалось, через какое-то время он просто самопроизвольно закрылся.
В общем, стало ясно, что играть под виртуалкой на хорошей видеокарте вроде бы можно. Но ценой потери почти половины производительности. И возникает вопрос, нужно ли тогда тратиться на «компьютер-мечту» или всё-таки лучше купить б/ушный как дополнительный. Кстати, нашёл несколько фирм, которые собирают б/у копьютеры с гарантией, но почему-то у них нет сайтов, а есть только группы ВК, отзывы на Яндексе и объявления на Авито. Из-за этого возникает вопрос, стоит ли им доверять…

Игры без Windows: неудачные эксперименты

4X_Pro
Весь день занимался вопросом, можно ли на игровом компьютере обойтись без Windows. Сначала попытался было поставить VMWare Player, так как видел несколько отзывов, что в нём производительность оказывается лишь на десяток-другой процентов ниже по сравнению с запуском под обычной OS. Но безрезультатно: на основном Linux он у меня просто не запустился, хотя модули ядра загрузились и собрались. Хотел было попробовать под Manjaro с live-флешки, но тоже неудача: там не получилось собрать модуль ядра. Причём проблема в том, что загружаемое ядро имеет версию 5.15.60, а если попытаться поставить linux-headers, то качает версию 5.15.75. Если бы я установил Manjaro на жёсткий диск, вопрос бы решился легко: просто обновил бы ядро, но для этого нет места. Разве что поставить на старый SSD, где до сих пор остаётся linux-раздел на 25 Гб, который давно не используется.
Потом ещё раз попытался установить Wargaming Gaming Center под wine. Сам он установился, но вот запустить установку WoT не получается — какая-то бессмысленная ошибка. Затем попытался установить через Steam. Для этого пришлось включить VPN и поменять регион в Steam-клиенте — прикинуться немцем. Потом долго и нудно качал целых 32 Гб, но итог тот же самый: ничего не запустилось… Впрочем, сейчас нашёл, куда Steam ставит свой Proton, попытался запустить вручную, и получил ошибку, связанную с версией glibc. Возможно, она просто слишком старая. Видимо, придётся завтра всё же поставить Manjaro на тот самый раздел и повторить эксперименты.

HuggingFace — площадка для тех, кто интересуется машинным обучением

4X_Pro
Недавно, блуждая по Сети, наткнулся на блог некоего Vasilisk, где тот выложил примеры, как обработал фото с помощью нейросетей. Результаты обработки мне понравились, и сам захотел попробовать так же, но увы, каких-либо ссылок там не было, только примеры фото и названия алгоритмов. Стал искать по названиям, и наткнулся на сайт HuggingFace.co — аналог GitHubа, но специализированный именно на нейросетях по обработке текстов, фото и аудио. И нашёл там часть тех самых алгоритмов. Причём даже многие можно попробовать сразу же на самом сайте, без скачивания и установки нейросети у себя. Правда, результаты в итоге не очень впечатлили (пока затестировал keras-io/super-resolution и keras-io / lowlight-enhance-mirnet).
Но сам сайт очень понравился — думаю, весьма пригодится при изучении этой темы.

Бестолковая неделя

4X_Pro
На прошлой неделе был биоритмический максимум. Успевал и framewokrом для сайта-каталога заниматься, и вернулся к изучению машинного обучения, и статью про «мир школы и мир улицы» начал писать (правда, пока только на бумаге), и разбирал задачи от позапрошлого Yandex.Cup в тренировочном режиме.
С понедельника снова снесло потоком жизни в сторону. Сначала сделал несколько задач по freelance, потом два дня вне дома из-за затмения и прогулки, а на следующий день — настолок. В четверг из-за жёсткого недосыпа ничего не мог делать, только избавился от последней задачи по freelance. А вчера получился какой-то день быта, и только вечером поиграл в Heroine's Quest.
Сегодня опять весь день в состоянии жёсткого недосыпа. Вчера вернулся к вопросу покупки компьютера. Изучал, можно ли под wine или Proton запускать нужные мне игры. Как выяснилось, можно, но чтобы работало нормально, нужно ставить закрытый драйвер от nVidia вместо nouveau, что мне не особо нравится. Ещё нашёл руководство по пробросу в виртуалку одиночной видеокарты, но для этого всё равно потребуется останавливать X Server, что мало отличается от перезагрузки. В общем, всё же вариант с отдельным компьютером только для игр и ноутбуком для работы и повседневных нужд кажется мне более привлекательным.
Вдруг ночью возникла мысль, а что если не покупать б/у, а собрать новый, но с процессором не самого последнего поколения (всё равно я принципиально играю в игры, которые вышли пять лет назад и более). Поизучал, что есть в продаже. Обнаружил, что есть процессоры 10100F и 10105F ценой 5.5 тыс рублей, и возникла мысль собрать конфигурацию на нём и видеокарте 1660 Super. Идея так меня захватила, что не мог уснуть до 8 утра, всё крутил её в голове!
Встал в ужасном состоянии, весь день ничего делать не мог (хорошо, хоть над душой не висит никаких внешних задач). Но когда просчитал конфигурацию со всеми комплектующими, воодушевление сменилось разочарованием: в итоге получилось 52 тысячи рублей. А чтобы уложиться в 45 (психологический верхний предел для «дополнительного» компьютера), нужно во-первых, отказаться от NVMe, во-вторых, взять совсем дешёвые и примитивные матплату и блок питания — те части, на которых экономить на самом деле не желательно.
В общем, вернулся к тому, с чего начинал ещё в августе: либо всё же новый мощный компьютер на 12400, и пытаться гонять игры под wine/Proton, либо покупка того самого б/у на процессоре 4771, смирившись с памятью DDR3, но в три раза дешевле. Все остальные варианты как-то радости не приносят. В итоге остаток дня смотрел видео по сравнению производительности DDR33 и DDR4 в играх. Судя по всему, разница не такая уж и большая — где-то 2-4 FPS в большинстве случаев.

Солнечное затмение и прогулка в Кусково

4X_Pro
Сегодня я третий раз в жизни наблюдал солнечное затмение. Вчера опасался, что будет облачно, и ничего не удастся увидеть, как это было в 1999 году. Но день выдался солнечный, небо было почти идеально чистым. Стал искать, что можно использовать в качестве светофильтра. Вспомнилось, что пару лет назад видел в Сети, как кто-то додумался использовать дискеты. Начал их искать, но безрезультатно: судя по всему, их увезли на дачу, где есть единственный компьютер с дисководом.
Пришлось включать ЧИ и искать другие варианты. 10geek вчера советовал использовать старую фотоплёнку, но её тоже найти не удалось. В какой-то момент я запаниковал, что время идёт, затмение уже началось, а я всё никак не найду ничего подходящего. К тому же из-за жёсткого недосыпа сложно было сконцентрироваться. В итоге нашёл старые солнечные очки и старый пузырёк из под одеколона из дымчатого стекла. Думал, что этого может оказаться достаточно (в 2008 году хватало трёх пар солнечных очков) и отправился на улицу. Но там ждало жестокое разочарование: даже через всё это свет был слишком ярким.
Пришлось снова возвращаться домой и искать другие варианты. В какой-то момент хотел даже мешок для мусора использовать. Но вместо этого остановился на другом варианте — пластиковом поддоне от овсяного печенья. Как это ни странно, помогло! Получилось разглядеть «надкушенный» солнечный диск. Но вот сфокусировать фотоаппарат на такое и сфотографировать не смог. С несколькими перерывами я наблюдал это до достижения максимальной фазы (если верить Wikipedia), потом отправился вынести мусор и вернулся домой.
Но пока наблюдал, решил, что в такой замечательный день золотой осени не следует сидеть дома. Решил съездить в Кусково. Увы, как всегда, пообедать и собраться заняло очень много времени. Из дома выбрался только около 16 часов, когда уже самая солнечная часть дня осталась позади. И всё же прогулка получилась отличной. У меня получилось уйти в себя, и как бы впустить внутрь красоту и спокойствие осеннего леса. Домой вернулся совершенно умиротворённый, хотя до этого несколько дней был какой-то беспричинно раздражительный. И даже в Welltory были весьма впечатляющие показатели: 79% энергии, что для вечера совершенно нетипично.

Первый шаг сделан

4X_Pro
Хоть и с некоторым опозданием, но сделал первый шаг по созданию своего frameworkа. Сделал его основной «скелет», позволивший запустить простейший Hello world. Правда, пока без каких-либо проверок корректности, обработок ошибок и т.п. Немного необычно реализовал идею environments — для каждой — свой каталог www-что-нибудь для точки входа, типа www-dev, www-prod, и в тамошнем index.php загружается нужный конфиг. Это сразу же и мультисайтовость
Решил не писать свой autoloader, а использовать готовый из composer в соответствии с PSR-4. И тут столкнулся с первой неприятностью: ему нужно, чтобы регистр букв namespace совпадал с регистром букв каталогов с файлами. Но namespaces принято писать с заглавной буквы, а каталоги — полностью строчными. И теперь опять оказался перед мучительным выбором: либо писать namespces со строчной типа \MLFW\routers\Default, то ли каталоги переименовывать, чтобы назывались с заглавной буквы. И то, и другое мне кажется неэстетичным. Можно, конечно, отказаться от PSR-4 вообще и сделать свой autoloader или прописать пути для всех namespaces второго уровня вручную, но это тоже какие-то кривые решения.
Узнал, что для типовых задач frameworkа — кеширования, логгирования, обрабтки событий и т.п. существуют стандартные интерфейсы, описанные в разных PSR. Хорошо, что это произошло сейчас, а не после того, как уже сделал бы свои.
Пока не могу определиться с названием проекта (каталога сайтов). По-русски я решил назвать его «Народный обозреватель каталог», но вот с названием репозитория и доменом под него всё сложно. Сначала рассматривал вариант narcat, но очень уж неблагозвучно. Пока остановился его pcatalog (от people's catalog).
Ещё была мысль создать ВК группу, в которой вести dev-блог, где описывать то, что делаю.

День определённостей

4X_Pro
Сегодня на связь вышла Kitsune. Её появление помогло мне определиться с некоторыми вопросами, которые не дают мне покоя в последнее время. Во-первых, с тем, на какой Linux переходить: Arch, Manjaro или Debian testing. Kitsune спросила, есть среди них тот, который мне бы просто нравился, без всяких соображений по поводу совместимости софта, идеологии НК и т.п. Ответ был простой: Manjaro. На что она мне ответила «ну вот его и ставь!». Потом зашла речь о покупке компьютера. Она удивилась, как я могу столько времени планировать и не покупать. Хотя ответ очень прост: покупка б/у для меня — действие новое, а поэтому страшное, из-за чего всё время откладывается.
Потом посоветовала проверить, не появилось ли на Авито что-нибудь новое. Я сначала думал, что за неделю ничего стоящего не появится. Но оказался неправ: нашёл интересный вариант с процессором 10-ого поколения (правда, i3) и вполне приемлемой матплатой на H-чипсете и даже с NVMe-разъёмом (но пустым, диски — только обычные SATA). Только вот цена такая, что опасаюсь, нет ли там подвоха. И ещё блок питания сильно не нравится. Но тем не менее, этот вариант кажется более перспективным, чем тот, который я рассмаривал ранее с процессором 4-ого поколения.
А ещё сегодня совсем было собрался сесть за написание своего frameworkа и скрипта для каталога. Но с подачи Evgа решил было посмотреть один готовый вариант под названием OsClass. Сначала он было мне понравился. Я насоздавал категории, вместо формата попытался было использовать свойство «местоположение». Но когда начал создавать сами сайты, оказалось, что делать это ну очень неудобно. Так что завтра всё же сажусь за свой framework.

Размышления о свободе

4X_Pro
Вчера долго спорили с Tellой по идейным вопросам. В итоге выяснилось, что большая часть наших разногласий сводится к следующему. Я изначально занимаю жёсткую позицию Я+Вы- относительно способности большинства окружающих делать разумный и адекватный выбор, «жить по уму». (Хороший пример этого — существование всякого «инфоцыганства».) Поэтому считаю, что изначально свободы у каждого должен быть миниумум, но должен быть способ её заслужить через прохождение каких-то испытаний. Соответственно, в конечном итоге должно получиться иерархическое общество с несколькими уровнями гражданской свободы/ответственности. Tella же придерживается позиции, что от нарушения равенства и ограничения свободы вреда больше, чем от злоупотребления ею. А если кто-то употребляет данную свободу себе во вред (именно себе, а не окружающим), то это его проблемы.
А сегодня возникла мысль, что такие позиции — это прямое следствие дихотомии «аскет/жизнелюб». Для меня как аскета неприемлем напрасный расход ресурса (пусть даже и чужого), а для неё это не столь важно.

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

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