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

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


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

t.me/4x_pro

Лог жизни

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


Эксперименты с 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 же придерживается позиции, что от нарушения равенства и ограничения свободы вреда больше, чем от злоупотребления ею. А если кто-то употребляет данную свободу себе во вред (именно себе, а не окружающим), то это его проблемы.
А сегодня возникла мысль, что такие позиции — это прямое следствие дихотомии «аскет/жизнелюб». Для меня как аскета неприемлем напрасный расход ресурса (пусть даже и чужого), а для неё это не столь важно.

Неожиданность от Тинькофф

4X_Pro
Сегодня случайно обнаружил, что у меня каким-то образом 6 октября подключился «Тинькофф Pro». Непонятно, то ли сам я не туда нажал по невнимательности и включил, то ли это самодеятельность банка. Первые два месяцам там бесплатные, так что решил пока подержать и отключить только первого декабря, поскольку это даёт удвоенный процент на остаток по карте. Теперь, главное, об этом не забыть. Даже поставил себе напоминание в мобильнике на всякий случай (тот редкий случай, когда я вспоминаю об этой функции).

Непростой выбор дистрибутива

4X_Pro
Сегодня большую часть дня занимался тем, что гонял разные benchmarks под Manjaro, Arch, загружаемыми с флешки и установленным на диске Mint. Всё началось с того, что однажды на YouTube попалось видео, где утверждается, что дистрибутивы на основе Ubuntu, сильно проигрывают Arch-подобным по пропускной способности кеша. Проверил это у себя с помощью pts/cachebench, но нет — разница составила чуть меньше 1%, но таки Arch и Manjaro быстрее (между собой у них расхождение на 0.1% где-то).
Потом решил потестировать пропускную способность памяти в целом. И вот тут разница куда серьёзнее: до 33%. Интересно, с чем это связано? То ли просто под Mint ядро старое (4.04) и хуже оптимизированное, то ли я начудил при его компиляции. На всякий случай даже дважды померил, но результат тот же самый. По-хорошему, нужно бы поставить стоковое из дистрибутива и перетестировать на нём, но как-то мотивация на все эти измерения уже заканчивается.
Также попытался искать чужие сравнения производительности Manjaro и Arch, но ясности это не добавило. В большинстве случаев разница в пределах погрешности. Но нашёл видео, где Manjaro устойчиво проигрывает (хоть и немного) чистому Arch и endeavourOS.
И теперь никак не могу определиться: что для меня важнее. Либо поставить дистрибутив, который условно будет считаться более быстрым, а также лучше соответствующим идеологии Настоящего Компьютерщика. Либо поставить систему, которой можно пользоваться из коробки и сэкономить кучу времени на настройке и подборе софта, но потерять какую-то долю производительности (и, самое главное, убеждение, что я выжал из своего «железа» всё, что можно).

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

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