# Правим QEMU железным кулаком
BotHabr (tgi,2) → All – 12:29:29 2022-10-26
Опубликовано:Tue, 30 Aug 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Виртуализация, на мой взгляд, всё ещё остаётся одной из самых важных технологий в администрировании ЦОД. Да, конечно “все” будут рассказывать, что контейнеры намного более удобные, и всё надо запихивать в Кубер, и всё такое… Но после гигантского нагромождения никому не нужных конфигов, в какой-то момент ты начинаешь понимать, что зашёл слишком далеко.
И действительно. Мы пишем ПО для обслуживания целого ЦОДа. Изначально всё должно было быть контейнером, и всё должно было распространяться через CI/CD, но когда дело доходит до дела, ты начинаешь понимать, что нет ничего проще установленного линукса, на котором напрямую запускается твоя утилита, написанная на golang.
Но, есть одна проблема. Виртуальными машинами не так легко управлять, как это можно делать с контейнерами. Ок, мы сами с усами, можем и вручную написать кое-чего.
Под катом, давайте окунёмся в мир работы с QEMU и подёргаем сам эмулятор. Конечным результатом должна быть клонированная через golang Debian Linux. Читать дальше →
https://habr.com/ru/post/684300/
BotHabr (tgi,2) → All – 12:29:29 2022-10-26
Опубликовано:Tue, 30 Aug 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Виртуализация, на мой взгляд, всё ещё остаётся одной из самых важных технологий в администрировании ЦОД. Да, конечно “все” будут рассказывать, что контейнеры намного более удобные, и всё надо запихивать в Кубер, и всё такое… Но после гигантского нагромождения никому не нужных конфигов, в какой-то момент ты начинаешь понимать, что зашёл слишком далеко.
И действительно. Мы пишем ПО для обслуживания целого ЦОДа. Изначально всё должно было быть контейнером, и всё должно было распространяться через CI/CD, но когда дело доходит до дела, ты начинаешь понимать, что нет ничего проще установленного линукса, на котором напрямую запускается твоя утилита, написанная на golang.
Но, есть одна проблема. Виртуальными машинами не так легко управлять, как это можно делать с контейнерами. Ок, мы сами с усами, можем и вручную написать кое-чего.
Под катом, давайте окунёмся в мир работы с QEMU и подёргаем сам эмулятор. Конечным результатом должна быть клонированная через golang Debian Linux. Читать дальше →
https://habr.com/ru/post/684300/
# Как не быть программистом, раскурить eBPF за сутки и начать мониторить DNS
BotHabr (tgi,2) → All – 12:29:29 2022-10-26
Опубликовано:Thu, 01 Sep 2022 07:35:59 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Представим: сервер может отправлять легитимные запросы, но IP, на которые он будет их слать, неизвестны. В журнале сетевого фильтра видно что запросы таки да, идут. Но не ясно - это как раз легитимные или информация уже утекает к злоумышленникам? Было бы проще если бы был известен домен на который сервер посылает данные. Увы, но PTR не в моде, а securitytrails показывает или ничего, или слишком много по этому IP.Можно запустить tcpdump. Но кто захочет постоянно смотреть в монитор? А если сервер не один? Есть packetbeat. Это чудовище, которое выжрало процессор на всех серверах. Брр… Не хочу о нём вспоминать. Osquery - неплохой инструмент который многое знает о сетевых подключениях и ничего - о DNS-запросах. Соответствующее предложение было просто закрыто. Zeek - о нём я узнал когда начал искать как отслеживать DNS-запросы. Похоже он неплох, но меня смутило два момента: он следит не только за DNS, а значит ресурсы будут тратиться на работу результат которой мне не нужен (хотя, возможно, в настройках можно выбрать протоколы); а ещё он ничего не знает о том какой процесс послал запрос.Неужели это всё? Я вроде бы что-то слышал про eBPF… Читать далее
https://habr.com/ru/post/683566/
BotHabr (tgi,2) → All – 12:29:29 2022-10-26
Опубликовано:Thu, 01 Sep 2022 07:35:59 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Представим: сервер может отправлять легитимные запросы, но IP, на которые он будет их слать, неизвестны. В журнале сетевого фильтра видно что запросы таки да, идут. Но не ясно - это как раз легитимные или информация уже утекает к злоумышленникам? Было бы проще если бы был известен домен на который сервер посылает данные. Увы, но PTR не в моде, а securitytrails показывает или ничего, или слишком много по этому IP.Можно запустить tcpdump. Но кто захочет постоянно смотреть в монитор? А если сервер не один? Есть packetbeat. Это чудовище, которое выжрало процессор на всех серверах. Брр… Не хочу о нём вспоминать. Osquery - неплохой инструмент который многое знает о сетевых подключениях и ничего - о DNS-запросах. Соответствующее предложение было просто закрыто. Zeek - о нём я узнал когда начал искать как отслеживать DNS-запросы. Похоже он неплох, но меня смутило два момента: он следит не только за DNS, а значит ресурсы будут тратиться на работу результат которой мне не нужен (хотя, возможно, в настройках можно выбрать протоколы); а ещё он ничего не знает о том какой процесс послал запрос.Неужели это всё? Я вроде бы что-то слышал про eBPF… Читать далее
https://habr.com/ru/post/683566/
# IopReadyDeviceObjects: медвежья услуга от ядра и как с ней сосуществовать
BotHabr (tgi,2) → All – 12:29:29 2022-10-26
Опубликовано:Sat, 03 Sep 2022 01:04:20 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Всем привет! Столкнулся я недавно с одной интересной и не вполне понятной с первого взгляда проблемой в KMDF драйвере, разработкой которого я в данный момент занимаюсь. Опыта в этой сфере у меня не много - это первый проект на KMDF которым я занимаюсь. В деталях описывать проект не могу (всё-таки частная собственность), да это и не нужно, но идея такова: есть 2 драйвера, один из них становится в стек устройств определённого класса и предоставляет интерфейс через который второй драйвер может подписаться на добавление новых и уже подключенных устройств (несколько callback-ов), получать обратные вызовы на определённых операциях и так далее. Таким образом первый драйвер находится в системе постоянно и для своей замены требует перезагрузки и содержит минимальную логику, а второй может свободно обновляться на ходу (без перезагрузки) и принимает решения. Логика этого драйвера подразумевает создание control device для каждого устройства-фильтра, установленного в стек (нужен дополнительный функционал без коллизий с функционалом стека) - и вот тут у меня возникла проблема, на определение причин которой и дальнейшее решение я потратил довольно много времени. Статью об этом решил написать именно сегодня - как-никак это неплохой способ сделать что-то полезное на свой профессиональный юбилей - 10 лет в разработке :-) Читать далее
https://habr.com/ru/post/686178/
BotHabr (tgi,2) → All – 12:29:29 2022-10-26
Опубликовано:Sat, 03 Sep 2022 01:04:20 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Всем привет! Столкнулся я недавно с одной интересной и не вполне понятной с первого взгляда проблемой в KMDF драйвере, разработкой которого я в данный момент занимаюсь. Опыта в этой сфере у меня не много - это первый проект на KMDF которым я занимаюсь. В деталях описывать проект не могу (всё-таки частная собственность), да это и не нужно, но идея такова: есть 2 драйвера, один из них становится в стек устройств определённого класса и предоставляет интерфейс через который второй драйвер может подписаться на добавление новых и уже подключенных устройств (несколько callback-ов), получать обратные вызовы на определённых операциях и так далее. Таким образом первый драйвер находится в системе постоянно и для своей замены требует перезагрузки и содержит минимальную логику, а второй может свободно обновляться на ходу (без перезагрузки) и принимает решения. Логика этого драйвера подразумевает создание control device для каждого устройства-фильтра, установленного в стек (нужен дополнительный функционал без коллизий с функционалом стека) - и вот тут у меня возникла проблема, на определение причин которой и дальнейшее решение я потратил довольно много времени. Статью об этом решил написать именно сегодня - как-никак это неплохой способ сделать что-то полезное на свой профессиональный юбилей - 10 лет в разработке :-) Читать далее
https://habr.com/ru/post/686178/
# Memcached: установка сервиса, мониторинг вручную и с помощью Zabbix
BotHabr (tgi,2) → All – 12:29:28 2022-10-26
Опубликовано:Tue, 06 Sep 2022 08:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Большинство высоконагруженных сервисов, к которым, без сомнения, относится сервис SAAS интернет-магазинов, используют Memcached как высокопроизводительное хранилище данных в оперативной памяти сервера. В этой статье мы расскажем о том, как установить Memcached, как контролировать работу сервиса Memcached вручную, а также с помощью Zabbix. Читать далее
https://habr.com/ru/post/686594/
BotHabr (tgi,2) → All – 12:29:28 2022-10-26
Опубликовано:Tue, 06 Sep 2022 08:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Большинство высоконагруженных сервисов, к которым, без сомнения, относится сервис SAAS интернет-магазинов, используют Memcached как высокопроизводительное хранилище данных в оперативной памяти сервера. В этой статье мы расскажем о том, как установить Memcached, как контролировать работу сервиса Memcached вручную, а также с помощью Zabbix. Читать далее
https://habr.com/ru/post/686594/
# Примеры кошмарного программирования вокруг нас. Выученная беспомощность
BotHabr (tgi,2) → All – 12:29:28 2022-10-26
Опубликовано:Wed, 07 Sep 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Нет в мире совершенства. Куда ни глянь — всюду костыли и компромиссы. Вроде каждый в отдельности хочет сделать как лучше, но чем больше участников — тем сильнее хаос…
Возьмём классический пример — реестр Windows. Этот странный артефакт инженерной мысли представляет некое подобие иерархической БД для хранения абсолютно всех настроек — и системных, и приложений, и драйверов. Центральное бинарное хранилище заменило массу файлов .ini, разбросанных по всей системе и должно было упростить жизнь. Но вышло наоборот. И глядя на монструозный тормозящий конструкт, возникает только один вопрос: как это исправить? Ответ тоже простой: «Если вкратце, то никак». И так во всём. Мы создаём монстров, а потом не можем от них избавиться. Читать дальше →
https://habr.com/ru/post/686424/
BotHabr (tgi,2) → All – 12:29:28 2022-10-26
Опубликовано:Wed, 07 Sep 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Нет в мире совершенства. Куда ни глянь — всюду костыли и компромиссы. Вроде каждый в отдельности хочет сделать как лучше, но чем больше участников — тем сильнее хаос…
Возьмём классический пример — реестр Windows. Этот странный артефакт инженерной мысли представляет некое подобие иерархической БД для хранения абсолютно всех настроек — и системных, и приложений, и драйверов. Центральное бинарное хранилище заменило массу файлов .ini, разбросанных по всей системе и должно было упростить жизнь. Но вышло наоборот. И глядя на монструозный тормозящий конструкт, возникает только один вопрос: как это исправить? Ответ тоже простой: «Если вкратце, то никак». И так во всём. Мы создаём монстров, а потом не можем от них избавиться. Читать дальше →
https://habr.com/ru/post/686424/
# Клонируем сами, своими руками
BotHabr (tgi,2) → All – 12:29:28 2022-10-26
Опубликовано:Mon, 12 Sep 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Картина маслом: Опытный сисадмин ищет четырёхлетний бэкап на файл-сервере
Задача: Вася летел на самолёте. Из-за неисправности двигателя самолёт упал на необитаемом острове. Вася был единственным выжившим. После осмотра уцелевшего багажа Вася понял, что в его распоряжении есть несколько лаптопов и Wi-Fi роутер. Теперь для того, чтобы выжить, Вася решил поднять ЦОД. Для нормальной работы ЦОДа Васе нужно уметь клонировать Debian Linux. Но под рукой нет никаких средств клонирования. Даже старый диск Clone Zilla куда-то запропастился. Что делать Васе?
Итак, для начала посмотрим на кое-какие условия ТЗ, не описанные в первом абзаце. Читать дальше →
https://habr.com/ru/post/686812/
BotHabr (tgi,2) → All – 12:29:28 2022-10-26
Опубликовано:Mon, 12 Sep 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Картина маслом: Опытный сисадмин ищет четырёхлетний бэкап на файл-сервере
Задача: Вася летел на самолёте. Из-за неисправности двигателя самолёт упал на необитаемом острове. Вася был единственным выжившим. После осмотра уцелевшего багажа Вася понял, что в его распоряжении есть несколько лаптопов и Wi-Fi роутер. Теперь для того, чтобы выжить, Вася решил поднять ЦОД. Для нормальной работы ЦОДа Васе нужно уметь клонировать Debian Linux. Но под рукой нет никаких средств клонирования. Даже старый диск Clone Zilla куда-то запропастился. Что делать Васе?
Итак, для начала посмотрим на кое-какие условия ТЗ, не описанные в первом абзаце. Читать дальше →
https://habr.com/ru/post/686812/
# Жизнь выдающихся программистов. Джей Фриман (saurik)
BotHabr (tgi,2) → All – 12:29:27 2022-10-26
Опубликовано:Wed, 21 Sep 2022 09:00:03 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Прошлая серия про талантливую программистку Джастин Танни не оставила равнодушной хабрасообщество. Поэтому продолжаем заполнять нижние строчки хит-парада выдающихся программистов 21 века. Это особенные личности, которым карьера как будто не важна. В силу высокого IQ, врождённой любознательности и особого характера они не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.
Следующий герой — более публичный и известный персонаж, про него даже есть статья в Википедии. Гений реверс-инжиниринга Джей Фриман известен под ником saurik, а славу ему принёс каталог «запрещённых» приложений Cydia (для взломанных айфонов). Читать дальше →
https://habr.com/ru/post/688716/
BotHabr (tgi,2) → All – 12:29:27 2022-10-26
Опубликовано:Wed, 21 Sep 2022 09:00:03 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Прошлая серия про талантливую программистку Джастин Танни не оставила равнодушной хабрасообщество. Поэтому продолжаем заполнять нижние строчки хит-парада выдающихся программистов 21 века. Это особенные личности, которым карьера как будто не важна. В силу высокого IQ, врождённой любознательности и особого характера они не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.
Следующий герой — более публичный и известный персонаж, про него даже есть статья в Википедии. Гений реверс-инжиниринга Джей Фриман известен под ником saurik, а славу ему принёс каталог «запрещённых» приложений Cydia (для взломанных айфонов). Читать дальше →
https://habr.com/ru/post/688716/
# [Перевод] Rust 1.64.0: rust-analyzer в rustup, IntoFuture, ffi-типы в core и alloc, улучшения в Cargo
BotHabr (tgi,2) → All – 12:29:27 2022-10-26
Опубликовано:Fri, 23 Sep 2022 15:20:35 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Команда Rust рада сообщить о новой версии языка — 1.64.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.64.0 вам достаточно выполнить команду:
rustup update stable
Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.64.0 на GitHub.
Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках. Читать дальше →
https://habr.com/ru/post/689876/
BotHabr (tgi,2) → All – 12:29:27 2022-10-26
Опубликовано:Fri, 23 Sep 2022 15:20:35 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Команда Rust рада сообщить о новой версии языка — 1.64.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.64.0 вам достаточно выполнить команду:
rustup update stable
Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.64.0 на GitHub.
Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках. Читать дальше →
https://habr.com/ru/post/689876/
# Как завладеть сетью /16 с помощью libpcap и libdnet
BotHabr (tgi,2) → All – 12:29:27 2022-10-26
Опубликовано:Mon, 03 Oct 2022 13:00:01 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Всем привет. Сегодня я попытаюсь рассказать про сетевое программирование на довольно низком уровне, с библиотеками libpacp и libdnet. Про последнюю многие наверное и не слышали, т.к. информации о ней в сети фактически нет. А ведь её использует сам Fyodor :) Читать дальше →
https://habr.com/ru/post/688314/
BotHabr (tgi,2) → All – 12:29:27 2022-10-26
Опубликовано:Mon, 03 Oct 2022 13:00:01 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Всем привет. Сегодня я попытаюсь рассказать про сетевое программирование на довольно низком уровне, с библиотеками libpacp и libdnet. Про последнюю многие наверное и не слышали, т.к. информации о ней в сети фактически нет. А ведь её использует сам Fyodor :) Читать дальше →
https://habr.com/ru/post/688314/
# Сегментная адресация памяти
BotHabr (tgi,2) → All – 12:29:26 2022-10-26
Опубликовано:Thu, 06 Oct 2022 11:11:33 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Наиболее распространенная модель адресации памяти - плоская, когда у каждого элемента памяти есть глобальный адрес. Но это не единственный способ работы с памятью, в данной статье я хочу рассмотреть одну из альтернатив - сегментную адресаци. Будут расмотрены несколько исторических систем, реализующих этот подход, преимущества сегментной адресации с точки зрения масштабирования и безопастности, а также высказаны гипотезы о причинах, по которым он не прижился (спойлер: буду ругать язык C и перационную систему Unix).В подавляющем большинстве компьютерных систем для работы с некоторой ячейкой памяти необходимо как-то указать ее адрес, как правило 16-, 32- или 64-разрядное число. Количество бит в адресе часто называют разряностью системы. Часто дополнительно используется механизм "трансляции страниц", который отображает области виртуальной памяти пользовательского приложения в физическую память, которой управляет операционная система. Но в каждый момент времени активна отлько одна "таблица страниц" и с точки зрения приложения (а во многом и с точки зрения ядра ОС) память остается плоской.Рассмотрим старый процессор Intel 86/88/186. Размер регистров этих процессоров всего 16 бит, что позволяет адресовать всего 64 килобайта памяти. Когда эти микросхемы разрабатывались, такого размера памяти уже не хватало для многих приложений, а 32-разрядные процессора были слишком дороги. Проблему решили добавив в архитекруту сегментные регистры. При обращении к памяти к 16-битному адресу (хранящемуся в реристре общего назначения или прямо в коде команды) прибавлялось значение сегментного регистра, сдвинутое на 4 бита (что тоже самое, умноженное на 16) и полученное значение использовалось как физический адрес. Такой подход позволял адресовать до одного гигабайта памяти. В архитектуре персональных компьтерах IBM PC, созданных на базе этих процессров, часть адресного пространства было зарезервировано для системных нужд, а пользовательским приложениям и ОС было доступно до 640 килобайт. Но не все так просто. Читать далее
https://habr.com/ru/post/689326/
BotHabr (tgi,2) → All – 12:29:26 2022-10-26
Опубликовано:Thu, 06 Oct 2022 11:11:33 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Наиболее распространенная модель адресации памяти - плоская, когда у каждого элемента памяти есть глобальный адрес. Но это не единственный способ работы с памятью, в данной статье я хочу рассмотреть одну из альтернатив - сегментную адресаци. Будут расмотрены несколько исторических систем, реализующих этот подход, преимущества сегментной адресации с точки зрения масштабирования и безопастности, а также высказаны гипотезы о причинах, по которым он не прижился (спойлер: буду ругать язык C и перационную систему Unix).В подавляющем большинстве компьютерных систем для работы с некоторой ячейкой памяти необходимо как-то указать ее адрес, как правило 16-, 32- или 64-разрядное число. Количество бит в адресе часто называют разряностью системы. Часто дополнительно используется механизм "трансляции страниц", который отображает области виртуальной памяти пользовательского приложения в физическую память, которой управляет операционная система. Но в каждый момент времени активна отлько одна "таблица страниц" и с точки зрения приложения (а во многом и с точки зрения ядра ОС) память остается плоской.Рассмотрим старый процессор Intel 86/88/186. Размер регистров этих процессоров всего 16 бит, что позволяет адресовать всего 64 килобайта памяти. Когда эти микросхемы разрабатывались, такого размера памяти уже не хватало для многих приложений, а 32-разрядные процессора были слишком дороги. Проблему решили добавив в архитекруту сегментные регистры. При обращении к памяти к 16-битному адресу (хранящемуся в реристре общего назначения или прямо в коде команды) прибавлялось значение сегментного регистра, сдвинутое на 4 бита (что тоже самое, умноженное на 16) и полученное значение использовалось как физический адрес. Такой подход позволял адресовать до одного гигабайта памяти. В архитектуре персональных компьтерах IBM PC, созданных на базе этих процессров, часть адресного пространства было зарезервировано для системных нужд, а пользовательским приложениям и ОС было доступно до 640 килобайт. Но не все так просто. Читать далее
https://habr.com/ru/post/689326/
# DIY-одноплатник или OrangePi на минималках
BotHabr (tgi,2) → All – 12:29:26 2022-10-26
Опубликовано:Thu, 06 Oct 2022 16:18:21 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Некоторое время назад Arduino казалось какой-то непонятной магией когда только узнал про нее. Потом быстро перешел к самим микроконтроллерам. Позже, работая программистом микроконтроллеров, захотелось чего-то большего и я уже смотрел в сторону линукса и одноплатных компьютеров. В руки попал Raspberry Pi, но это готовый продукт с определенной периферией (не хочу HDMI, хочу RGB LCD) и некоторое время спустя я уже думал как сделать что-то подобное самому. Читать далее
https://habr.com/ru/post/691936/
BotHabr (tgi,2) → All – 12:29:26 2022-10-26
Опубликовано:Thu, 06 Oct 2022 16:18:21 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Некоторое время назад Arduino казалось какой-то непонятной магией когда только узнал про нее. Потом быстро перешел к самим микроконтроллерам. Позже, работая программистом микроконтроллеров, захотелось чего-то большего и я уже смотрел в сторону линукса и одноплатных компьютеров. В руки попал Raspberry Pi, но это готовый продукт с определенной периферией (не хочу HDMI, хочу RGB LCD) и некоторое время спустя я уже думал как сделать что-то подобное самому. Читать далее
https://habr.com/ru/post/691936/
# [Перевод] Как работает Wine
BotHabr (tgi,2) → All – 12:29:26 2022-10-26
Опубликовано:Mon, 17 Oct 2022 13:27:08 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.
Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).
За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат. Читать дальше →
https://habr.com/ru/post/693842/
BotHabr (tgi,2) → All – 12:29:26 2022-10-26
Опубликовано:Mon, 17 Oct 2022 13:27:08 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО
Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.
Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).
За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат. Читать дальше →
https://habr.com/ru/post/693842/
# Необычные проекты интернета вещей. Пёс-охранник на Raspberry Pi и умная видеоняня
BotHabr (tgi,2) → All – 12:29:25 2022-10-26
Опубликовано:Tue, 09 Aug 2022 20:47:04 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Умный дом делает жизнь комфортнее и безопаснее. Безопасность никогда не бывает лишней. Одна из задач интернета вещей — защита человека и его жилища, поэтому мы ставим камеры видеонаблюдения с датчиками движения и уведомлениями через интернет. В любой момент можно достать телефон и проверить, что в дом не пробрались еноты. Читать дальше →
https://habr.com/ru/post/681722/
BotHabr (tgi,2) → All – 12:29:25 2022-10-26
Опубликовано:Tue, 09 Aug 2022 20:47:04 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Умный дом делает жизнь комфортнее и безопаснее. Безопасность никогда не бывает лишней. Одна из задач интернета вещей — защита человека и его жилища, поэтому мы ставим камеры видеонаблюдения с датчиками движения и уведомлениями через интернет. В любой момент можно достать телефон и проверить, что в дом не пробрались еноты. Читать дальше →
https://habr.com/ru/post/681722/
# Как мы с женой повышали ее качество жизни с диабетом при помощи ИТ
BotHabr (tgi,2) → All – 12:29:25 2022-10-26
Опубликовано:Mon, 29 Aug 2022 08:37:45 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Всем привет! Меня зовут Андрей. Сегодня я расскажу о проекте, который делал для своей жены и при активном ее участии. Это устройство на Raspberry Pi с опенсорсным софтом для контроля сахара в крови с помощью данных мониторинга и команд, отдаваемых инсулиновой помпе.Оговорюсь, что все это мы делали на свой страх и риск. Зарегистрированных медицинских устройств такого назначения не существует. Но мы не были готовы ждать, пока найдется энтузиаст, который разработает коммерческий инструмент и пройдет весь путь медицинской сертификации, чтобы продукт появился в магазинах. Читать далее
https://habr.com/ru/post/685148/
BotHabr (tgi,2) → All – 12:29:25 2022-10-26
Опубликовано:Mon, 29 Aug 2022 08:37:45 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Всем привет! Меня зовут Андрей. Сегодня я расскажу о проекте, который делал для своей жены и при активном ее участии. Это устройство на Raspberry Pi с опенсорсным софтом для контроля сахара в крови с помощью данных мониторинга и команд, отдаваемых инсулиновой помпе.Оговорюсь, что все это мы делали на свой страх и риск. Зарегистрированных медицинских устройств такого назначения не существует. Но мы не были готовы ждать, пока найдется энтузиаст, который разработает коммерческий инструмент и пройдет весь путь медицинской сертификации, чтобы продукт появился в магазинах. Читать далее
https://habr.com/ru/post/685148/
# От взлома протокола в старом «железе» до разработки программ
BotHabr (tgi,2) → All – 12:29:25 2022-10-26
Опубликовано:Wed, 31 Aug 2022 13:51:00 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Нужно было "взломать" протокол передачи данных внутри торгового автомата. Встроить одноплатную ЭВМ Raspberry Pi, большой монитор, написать программу для связи с web сервером и сам web сервер. Далее рассказ об этом взломе и немного о модернизации. Читать далее
https://habr.com/ru/post/685688/
BotHabr (tgi,2) → All – 12:29:25 2022-10-26
Опубликовано:Wed, 31 Aug 2022 13:51:00 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Нужно было "взломать" протокол передачи данных внутри торгового автомата. Встроить одноплатную ЭВМ Raspberry Pi, большой монитор, написать программу для связи с web сервером и сам web сервер. Далее рассказ об этом взломе и немного о модернизации. Читать далее
https://habr.com/ru/post/685688/
# Контроль уровня заряда батарей raspberry pi с выводом аудио оповещения
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Thu, 01 Sep 2022 10:51:14 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Возникла ситуация, когда необходимо выводить звук-предупреждение о разряде ибп raspberry pi.
В статье предлагается решение с использованием датчика напряжения (Voltage Sensor), arduino nano и «любимой аудио колонки школьника» — портативной «jbl go».
*c 26 секунды Читать дальше →
https://habr.com/ru/post/685818/
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Thu, 01 Sep 2022 10:51:14 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Возникла ситуация, когда необходимо выводить звук-предупреждение о разряде ибп raspberry pi.
В статье предлагается решение с использованием датчика напряжения (Voltage Sensor), arduino nano и «любимой аудио колонки школьника» — портативной «jbl go».
*c 26 секунды Читать дальше →
https://habr.com/ru/post/685818/
# [Перевод] Система спектрозональной съемки на Raspberry Pi
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Sun, 04 Sep 2022 10:00:01 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Пояснение переводчика: в статье речь пойдет об изготовлении устройства, которое позволяет делать снимки объекта в различных участках спектра электромагнитных волн.
Цитата из Википедии: спектрозональная съёмка производится для получения изображений деталей объекта, неразличимых в видимом свете.
В статье много фото.В данном случае автор приводит пример самостоятельного изготовления подобного непростого устройства. Читать дальше →
https://habr.com/ru/post/685896/
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Sun, 04 Sep 2022 10:00:01 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Пояснение переводчика: в статье речь пойдет об изготовлении устройства, которое позволяет делать снимки объекта в различных участках спектра электромагнитных волн.
Цитата из Википедии: спектрозональная съёмка производится для получения изображений деталей объекта, неразличимых в видимом свете.
В статье много фото.В данном случае автор приводит пример самостоятельного изготовления подобного непростого устройства. Читать дальше →
https://habr.com/ru/post/685896/
# Разработка «зрелищной» программы. Интерфейс оператора, GUI и маркетинг
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Tue, 06 Sep 2022 06:55:58 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Для торгового автомата, описанного в статье, потребовалась программа с интерфейсом оператора - несколько диалоговых окон. Смесь справочника с обучающими видео, меню выбора текущего видео и прочих настроек. Читать далее
https://habr.com/ru/post/686612/
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Tue, 06 Sep 2022 06:55:58 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Для торгового автомата, описанного в статье, потребовалась программа с интерфейсом оператора - несколько диалоговых окон. Смесь справочника с обучающими видео, меню выбора текущего видео и прочих настроек. Читать далее
https://habr.com/ru/post/686612/
# Umbrella-sharing: как система проката зонтиков сделала нас фанатами Android разработки
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Thu, 08 Sep 2022 13:24:28 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Всем привет! Нас зовут Антон и Дима, мы ученики 11 и 9 классов. В 2022 году мы окончили «IT Школу Samsung». Нам предложили рассказать про опыт разработки нашего первого большого проекта — системы проката зонтиков. С этим проектом мы одержали победу в нескольких конкурсах, а сейчас мечтаем, чтобы система стала полноценным стартапом и у нее появилось много пользователей, которым она будет полезна. Читать далее
https://habr.com/ru/post/686958/
BotHabr (tgi,2) → All – 12:29:24 2022-10-26
Опубликовано:Thu, 08 Sep 2022 13:24:28 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Всем привет! Нас зовут Антон и Дима, мы ученики 11 и 9 классов. В 2022 году мы окончили «IT Школу Samsung». Нам предложили рассказать про опыт разработки нашего первого большого проекта — системы проката зонтиков. С этим проектом мы одержали победу в нескольких конкурсах, а сейчас мечтаем, чтобы система стала полноценным стартапом и у нее появилось много пользователей, которым она будет полезна. Читать далее
https://habr.com/ru/post/686958/
# Что можно сделать с большим дисплеем?
BotHabr (tgi,2) → All – 12:29:23 2022-10-26
Опубликовано:Mon, 12 Sep 2022 12:10:39 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Попался мне как-то неисправный автомобильный навигатор, который включался и показывал симпатичную картинку. Пейзаж мне очень понравился, и дисплей был довольно большой. Решил изъять его и сделать что-нибудь полезное. Посмотрим, что из этого вышло, а также, где найти и как использовать большие экраны. Что там?
https://habr.com/ru/post/687798/
BotHabr (tgi,2) → All – 12:29:23 2022-10-26
Опубликовано:Mon, 12 Sep 2022 12:10:39 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Попался мне как-то неисправный автомобильный навигатор, который включался и показывал симпатичную картинку. Пейзаж мне очень понравился, и дисплей был довольно большой. Решил изъять его и сделать что-нибудь полезное. Посмотрим, что из этого вышло, а также, где найти и как использовать большие экраны. Что там?
https://habr.com/ru/post/687798/
# Обнаружение препятствий на OpenCV. Часть 2
BotHabr (tgi,2) → All – 12:29:23 2022-10-26
Опубликовано:Tue, 13 Sep 2022 16:50:36 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
С момента последней статьи прошел почти год. За это время произошло немало событий, времени на мое хобби с автономным катером нашлось откровенно мало. :/Но идея создания алгоритма обнаружения абстрактных препятствий не давала мне покоя. Постоянно казалось, что до результата уже рукой подать. Читать далее
https://habr.com/ru/post/687552/
BotHabr (tgi,2) → All – 12:29:23 2022-10-26
Опубликовано:Tue, 13 Sep 2022 16:50:36 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
С момента последней статьи прошел почти год. За это время произошло немало событий, времени на мое хобби с автономным катером нашлось откровенно мало. :/Но идея создания алгоритма обнаружения абстрактных препятствий не давала мне покоя. Постоянно казалось, что до результата уже рукой подать. Читать далее
https://habr.com/ru/post/687552/
# Проект Repka Pi — переклеивание этикеток или реальная разработка?
BotHabr (tgi,2) → All – 12:29:23 2022-10-26
Опубликовано:Fri, 16 Sep 2022 13:53:59 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Проект Repka Pi - переклеивание этикеток или реальная разработка? Читать далее
https://habr.com/ru/post/688570/
BotHabr (tgi,2) → All – 12:29:23 2022-10-26
Опубликовано:Fri, 16 Sep 2022 13:53:59 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Проект Repka Pi - переклеивание этикеток или реальная разработка? Читать далее
https://habr.com/ru/post/688570/
# Я сделаю свою «умную» колонку… «with blackjack and hookers!». Эпизод 2 (но двоек не существует). Проект NeBender
BotHabr (tgi,2) → All – 12:29:22 2022-10-26
Опубликовано:Mon, 19 Sep 2022 19:35:04 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Данный проект является одновременно развитием и ответвлением проекта Pinder.В комментариях к первой статье (да и сам думал об этом тоже) мне предлагали вариант для распознавания смыслов на GPT.Почитал немного про использование GPT, круто это всё конечно, вот прямо спорткар, Ferrari какой-нибудь в мире NLP. В общем Ferrari это круто, но я люблю велосипеды, поэтому было принято решение запилить пусть что-нибудь простое, но своё.Так появился проект NeBender (Neural Bender). Читать далее
https://habr.com/ru/post/689112/
BotHabr (tgi,2) → All – 12:29:22 2022-10-26
Опубликовано:Mon, 19 Sep 2022 19:35:04 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Данный проект является одновременно развитием и ответвлением проекта Pinder.В комментариях к первой статье (да и сам думал об этом тоже) мне предлагали вариант для распознавания смыслов на GPT.Почитал немного про использование GPT, круто это всё конечно, вот прямо спорткар, Ferrari какой-нибудь в мире NLP. В общем Ferrari это круто, но я люблю велосипеды, поэтому было принято решение запилить пусть что-нибудь простое, но своё.Так появился проект NeBender (Neural Bender). Читать далее
https://habr.com/ru/post/689112/
# ORB_SLAM3 на raspberry pi 4
BotHabr (tgi,2) → All – 12:29:22 2022-10-26
Опубликовано:Tue, 20 Sep 2022 16:58:19 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Рассматриваются нюансы установки ORB_SLAM3 на одноплатном пк — raspberry pi 4 c ОС Raspbian buster, проводится поверхностный анализ возможностей алгоритма с учетом ограничений raspberry, показаны возможные пути оптимизации производительности, используется помимо прочего ROS noetic как связующее звено между imu, csi камерой raspberry pi и ORB_SLAM3. Статья не претендует на научность, излагается мнение автора с опорой на экспериментальную базу. Читать дальше →
https://habr.com/ru/post/689168/
BotHabr (tgi,2) → All – 12:29:22 2022-10-26
Опубликовано:Tue, 20 Sep 2022 16:58:19 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Рассматриваются нюансы установки ORB_SLAM3 на одноплатном пк — raspberry pi 4 c ОС Raspbian buster, проводится поверхностный анализ возможностей алгоритма с учетом ограничений raspberry, показаны возможные пути оптимизации производительности, используется помимо прочего ROS noetic как связующее звено между imu, csi камерой raspberry pi и ORB_SLAM3. Статья не претендует на научность, излагается мнение автора с опорой на экспериментальную базу. Читать дальше →
https://habr.com/ru/post/689168/
# Визуализируем в R данные мониторинга температуры процессора Raspberry PI Zero W
BotHabr (tgi,2) → All – 12:29:22 2022-10-26
Опубликовано:Wed, 21 Sep 2022 20:02:11 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Визуализируем данные мониторинга температуры Raspberry PI в R c помощью ggplot2 и отправляем в телеграм через телеграм-бота. Все R-скрипты выполняются на самом Raspberry PI Zero W c предварительно установленным R 4.2.1 и необходимыми пакетами. Читать далее
https://habr.com/ru/post/689522/
BotHabr (tgi,2) → All – 12:29:22 2022-10-26
Опубликовано:Wed, 21 Sep 2022 20:02:11 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера
Визуализируем данные мониторинга температуры Raspberry PI в R c помощью ggplot2 и отправляем в телеграм через телеграм-бота. Все R-скрипты выполняются на самом Raspberry PI Zero W c предварительно установленным R 4.2.1 и необходимыми пакетами. Читать далее
https://habr.com/ru/post/689522/