Display scaling в Linux. Часть 2 — определение scale factor для X11 приложений
В первой части были рассмотрены системные настройки масштабирования, предоставляемые встроенными утилитами, и набор возможностей отличается кардинально. Почему? Потому что в Linux нет единого API для работы с масштабированием, каждое окружение конфигурирует по своему и каждый UI-toolkit определяет их по своему, в итоге шанс того, что что-то где-то будет отображаться криво очень велик.
В этой статье мы рассмотрим то, как определить коэффициенты масштабирования для X11 приложения самостоятельно.
Что делает центральный процессор, когда ему нечего делать
Мужик приходит устраиваться работать на стройку. Его спрашивает мастер:
— Что делать умеешь?
— Могу копать…
— А что еще?
— Могу не копать…
Не секрет, что современные процессоры работают очень быстро. Работа их заключается в постоянном извлечении из памяти инструкций и выполнения предписанных в них действий. Однако оказывается, по тем или иным причинам часто требуется притормозить этот процесс. В прикладных программах редко приходится задумываться о том, что при этом происходит с процессором. Но вот для создателей системного софта это далеко не праздный вопрос.
Неактивным процессор может быть не только для экономии энергии, но и в результате возникновения особых ситуаций, в процессе выполнения протоколов инициализации или как итог намеренных действий системных программ. Почему это интересно? При написании программных моделей (в том числе виртуальных машин) компьютерных систем, необходимо корректно моделировать переходы между состояниями виртуальных процессоров. В работе системных программ регулярно возникают ситуации, когда по тем или иным причинам ЦПУ должен «притормозить». Умение корректно использовать и моделировать эти ситуации зависит от знания и понимания спецификаций.
В статье фокус делается на программной стороне вопроса состояний процессора. Я не буду концентрироваться на деталях реализации (напряжения, пины, частоты и т.д.), так как 1) они существенно различаются между поколениями и моделями процессоров даже одной архитектуры, тогда как программный интерфейс остаётся обратно совместимым; 2) они не видны напрямую программам и ОС. Это попытка просуммировать информацию, разбросанную по многим страницам справочника Intel IA-32 and Intel 64 Software Developer Manual.
Начнём с простой и всем знакомой ситуации — процессор включён, бодр и весел.
Работа с устройствами печати в C# на примере реализации виртуального принтера
Как и в прошлый раз, статья будет полезна для ознакомления разработчикам младшего и среднего звена. В процессе изучения материала, Вы узнаете как можно обращаться к низкоуровневым DLL WinAPI в C# с помощью P/Invoke, как установить, настроить и удалить из системы мониторы печати, драйвера принтера, само устройство печати, открыть и связать порт для перенаправления входных данных с устройства печати на монитор, познакомитесь с ключевыми моментами применения маршалирования. Так же мы на практическом примере разберёмся, как с помощью нашего API можно удобно манипулировать устройствами печати в системе, узнаем как можно перехватить обработанные данные после печати с принтера и, например, отправить их на сервер.
Wi-Fi адаптер через OTG
Идея перевести сетевую карту телефона в режим монитора разрушилась по причине собственной наивности и незнания элементарной информации о том, что подавляющее большинство мобильных сетевых карт этот самый режим монитора и не поддерживают.
Идея реализации задумки с помощью внешнего беспроводного Wi-Fi адаптера или «свистка», поддерживающего желанный режим монитора, рушилась десятки раз из-за новых и новых ошибок и потери веры в то, что это вообще возможно, но переросла в данную статью.
Итак, как подключить внешний Wi-Fi адаптер к устройству на Android или бег с препятствиями на дистанции «вставил — netcfg wlan0 up»:
Samsung представила флагманский UHD-монитор 9-ой серии U32D970Q
Система мониторинга и записи сигналов для Arduino и не только
Шедевры мирового колонкостроения: эволюция трехполосного стандарта, студийный культ JBL
Речь пойдет об одной из самых популярных линеек студийных мониторов за всю историю электроакустики. Эволюционную преемственность в ней можно проследить с конца 60-х до настоящего времени. Иными словами, пост о мониторах JBL 4310 и разработках, созданных на их основе.
Именно благодаря решениям, реализованным в этих АС, к 1977-му году подавляющее количество звукозаписывающих студий в мире использовало студийные мониторы JBL. Более того по данным опроса Billboard, к концу 70-х общее количество студий, использующих оборудование JBL, превышало общее количество студий с оборудованием всех остальных брендов.
sRGB lives matter или как Chrome врал с цветами
Началось все с того что я решил обновить свой ноутбук и купил себе DELL G3, для работы и естественно поиграть. Конечно, монитор у него не ретина, но в принципе пойдет.
Затем как то, работая с нашим заказчиком, я обнаружил, что с удаленного рабочего стола цвета их логотипа выглядят совсем по-другому. После чего я решил открыть их сайт на разных браузерах и понял, что 2 из 4 браузеров показывают не правильно и это те что на хром движке к слову показывали правильно цвета – Mozila FireFox и Internet Explorer (внезапно! Но сайт их криво отрисовал но это уже другая история), а Google Chrome и Microsoft EDGE (на базе хром движка) не верно выводили цвета.