Категория: Разработка

Хак турбобуста на Jingyue X99-8D3/2.5G Server

Уже продолжительное время в основе моей рабочей станции лежит китайская двухпроцессорная материнская плата — Jingyue X99-8D3/2.5G Server. Сравнительно редкий зверь, если сравнивать, например, с Huananzhi X99-T8D, но у неё есть свои плюсы: сильная подсистема питания (8 фаз на каждый CPU), большое количество PCI-E слотов, два 2.5Gbit/s сетевых адаптера на Intel I225-V. Единственный момент который меня напряг — это процедура модификации BIOS для анлока турбобуста, именно на этой плате у меня никак не получалось собрать работоспособный BIOS после удаления микрокода 06F2 — ни с DXE, ни с EFI драйвером. Судя по обсуждениям этой платы (вернее, её собрата с DDR4) на форумах — другие энтузиасты тоже столкнулись с этой проблемой. На решение я наткнулся почти что случайно — все нужные модификации корректно заработали на RC-версии BIOS.

ЧИТАТЬ ДАЛЕЕ


Imagick для PHP 8.2.3 под Windows

В декабре прошлого, 2022-го года, вышла очередная версия PHP за номером 8.2. Спустя некоторое время народ начал потихоньку обновляться, правда, оказалось, что после обновления перестал загружаться модуль Imagick, а в логах поселилась ошибка:

PHP Warning: PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20210902
PHP compiled with module API=20220829
These options need to match
in Unknown on line 0

Эта же ошибка встречалась и при использовании популярных пакетов типа WAMP, XAMP и т.д., причем исправлять её никто не спешил. Проблема очевидна — нужно собирать Imagick для актуальной версии PHP. Ниже я привожу ссылки на билд Imagick 7.1.0-62 для PHP 8.2.3, Thread Safe и Non Thread Safe. Традиционно — для платформы MS Windows:
Imagick 7.1.0-62 для PHP 8.2.3 (Win64, NTS)
Imagick 7.1.0-62 для PHP 8.2.3 (Win64, TS)
Собрано в VC16, нужны соответствующие распространяемые наборы библиотек.


Уводим в сон китайские материнки X79-X99

Владельцы многих китайских плат на серверных (и не только) чипсетах часто жалуются на то, что не могут корректно увести систему в сон. Модели верхнего уровня, как правило, обладают рабочим режимом сна из коробки; модели среднего класса, если более-менее популярные, имеют поддержку сообщества, для них выложены разные прошивки BIOS, написаны мануалы — словом, решения есть. Все остальные, как правило, остаются со своей проблемой один на один.

По вот этой ссылке можно скачать маленькую утилиту которая должна корректно уводить в сон большинство китайских материнок — даже с хаком турбобуста.


Утилита для создания симлинков

Удивительно, но в штатной поставке MS Windows отсутствуют удобные (читай — графические) инструменты для создания символических ссылок и точек соединения NTFS. Гипотетическому пользователю, которому захотелось бы провернуть нечто подобное, пришлось бы оперировать командной строкой — не худший из возможных вариантов, однако, когда количество операций превышает пару-тройку десятков, то поневоле задумываешься о более удобном способе.

На коленке была написана утилита которая позволяет создавать симлинки и точки соединения NTFS буквально в несколько кликов мыши. Скачать её можно здесь, для установки нужно распаковать архив и запустить файл Install.bat (который только и сделает, что положит исполняемый файл по пути %ProgramFiles(x86)%\MakeSymLink\MakeSymLink.exe, да добавит пару пунктов в контекстное меню). Важно! Необходимы права локального администратора.

ЧИТАТЬ ДАЛЕЕ


BAT-файл: разные действия в зависимости от времени запуска

Недавно столкнулся с небольшим кейсом по автоматизации, если не вдаваясь в детали, то заказчик хочет чтобы один и тот же сценарный файл (BAT) выполнял разные действия в зависимости от того, в какой временной промежуток он запущен. Предположим, что временные интервалы у нас 21:00-9:00 (условно ночь) и 9:00-21:00 (условно день). Как известно, в bat-файлах оператора OR нет, но вместо этого можно сделать конструкцию из двух IF таким образом, что по результатам условий (которые просто можно перечислить построчно) мы присвоим булево значение некоему флагу, а потом, в зависимости от значения флага, перейдем через GOTO на разные секции и выполним разные действия.

ЧИТАТЬ ДАЛЕЕ


Кастомная микросборка WinXP

Несмотря на то, что прошло уже более 20 лет, мне все еще нравится Windows XP. Нравится её быстродействие, нравится отсутствие всяких дурацких ограничений (вроде невозможности в старших сборках Windows 10/11 указать в файле hosts адреса серверов MS куда отправляется телеметрия) и многие другие вещи. Конечно, использовать Windows XP на современном железе — дело по многим причинам сомнительное, однако я частенько с удовольствием создаю виртуальные машины под управлением Windows XP для различного рода проектов — а в качестве установочного образа использую специальную самопальную сборку. Нет, это не какой-нибудь ZverCD, где стараниями какого-то «сборщика Васяна» стабильность работы отсутствует по умолчанию, а количество «интегрированного» софта превышает все мыслимые пределы; отнюдь, я хочу показать крайне минималистичный образ из которого вырезано практически все.

ЧИТАТЬ ДАЛЕЕ


SIP звонок через GET-запрос

На компьютерах под управлением MS Windows я обычно пользуюсь SIP-клиентом PhonerLite. Недавно вышло обновление этой замечательной звонилки — теперь она оснащена Telnet-сервером, к ней можно подключаться удаленно и отдавать такие команды, как «положить трубку», «ввести номер в наборное поле», «начать дозвон» и другие. А тут как раз один из заказчиков обратился с запросом возможности совершать SIP звонок на GSM-контроллер нажатием на кнопку в HTML-странице — в общем, все звезды сошлись.

Вот маленькая самописная утилита, которая с одной стороны принимает GET-запросом номер абонента, а с другой стороны — подключается к PhonerLite через Telnet и отдает последнему команду на набор ранее полученного номера. Никаких фреймворков не требует, в конфигурационном файле задаются некоторые параметры (порт на котором стартует веб-сервер, да реквизиты Telnet на случай, если утилита и PhonerLite запущены на разных устройствах). Возможно, кому-то она сослужит такую же хорошую службу, как и мне.