RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 67
[>] Прячем функцию от глаз исследователей
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:13


Опубликовано:Sat, 15 Oct 2022 11:48:14 GMT
Канал: Assembler – Язык программирования низкого уровня

На днях у меня спросили, как можно спрятать строку в исполняемом файле, чтобы "обратный инженер" не смог ее найти? Вопрос дилетантский, но так совпало, что в тот день я решал очередной челлендж на Hack The Box. Задание называется Bombs Landed и основная его изюминка в функции, которая динамически подгружалась в память. Из-за этого Ghidra не может найти и декомпилировать код. Читать далее

https://habr.com/ru/post/693502/

[>] Rust должен умереть, МГУ сделал замеры
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:13


Опубликовано:Fri, 30 Sep 2022 14:35:26 GMT
Канал: Assembler – Язык программирования низкого уровня

В предыдущих сериях:

Go быстрее Rust, Mail.Ru Group сделала замеры
C++ быстрее и безопаснее Rust, Yandex сделала замеры

Медленно, но верно Раст проникает не только в умы сотрудников больших корпораций, но и в умы школьников и студентов. В этот раз мы поговорим о статье от студента МГУ: https://rustmustdie.com/.
Её репостнул Андрей Викторович Столяров, доцент кафедры алгоритмических языков факультета ВМК МГУ им. М. В. Ломоносова и по совместительству научрук студента-автора статьи.
Я бы сказал, что тут дело даже не в том, что он "неинтуитивный". Дело скорее в том, что компилятор раста сам решает, когда владение "должно" (с его, компилятора, точки зрения) перейти от одного игрока к другому. А решать это вообще-то должен программист, а не компилятор. Ну и начинается пляска вида "как заставить тупой компайлер сделать то, чего я хочу".
Бред это всё.

— А. В. Столяров Кощунство!

https://habr.com/ru/post/598219/

[>] Simics: Забиваем гвозди сваебоем
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:13


Опубликовано:Fri, 23 Sep 2022 11:14:27 GMT
Канал: Assembler – Язык программирования низкого уровня

Любите ли вы отзывчивые программы так, как люблю их я? Любовь эта привела меня к Колибри ОС - невероятно шустрой операционной системе, которая запускает программу до того, как вы осознаете, что кликнули по ней. И недавно у неё нашли уязвимость: ping of death.Так получилось, что моя первая работа была связана с симуляцией компьютерных систем – от серверов до мобильных устройств. И там мы использовали симулятор Simics. Этой системой пользуются крупные производители железа для опережающей разработки драйверов.Если бы только можно было использовать Simics для отладки любительской ОС... Читать далее

https://habr.com/ru/post/689614/

[>] Проклятые Земли. Освежаем геймплей
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:14


Опубликовано:Sun, 28 Aug 2022 21:45:21 GMT
Канал: Assembler – Язык программирования низкого уровня

Статья о том, как реверс-инжиниринг может дать новое дыхание старой игре и освежить её геймплей. Обзор уникальных фишек игры Проклятые Земли, изменение механик и добавление новых фишек.Наверняка многие играли в Проклятые Земли и аддоны к ним лет 15, а то и все 22 года назад. При всех достоинствах этой игры, ей, как мне кажется, не хватало динамики, что мы и попробуем исправить, взяв в руки отладчик. Читать далее

https://habr.com/ru/post/685106/

[>] Написание ОС с нуля: Глава 2, Часть 3 — Терминал
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:14


Опубликовано:Mon, 08 Aug 2022 10:29:20 GMT
Канал: Assembler – Язык программирования низкого уровня

В предыдущей статье мы написали простейший загрузчик, печатающий на экран "Hello, World!" и завершающийся по нажанию клавиши. Сегодня напишем терминал, у которого будет несколько комманд, обновим библиотеку и сделаем ещё пару вещей. Читать

https://habr.com/ru/post/681374/

[>] ОС с нуля: Глава 2, Часть 1 — Да зачем нам этот Legacy
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:15


Опубликовано:Mon, 01 Aug 2022 13:58:40 GMT
Канал: Assembler – Язык программирования низкого уровня

Пару месяцев назад я решил начать серию статей про написание своей ОС с нуля. Описал написание Legacy MBR загрузчика и переход в защищенный режим (без прерываний) и ещё пару мелочей. Сегодня я решил, что попытаюсь "перезапустить" эту серию (сохранив нумерацию частей). Суть в том, что теперь будут использоваться актуальные на август 2022 года материалы, и разработанное ПО можно будет легко протестировать на своей (U)EFI-машине. Читать

https://habr.com/ru/post/680270/

[>] Все должны пойти на демосцену
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:15


Опубликовано:Sun, 24 Jul 2022 19:35:23 GMT
Канал: Assembler – Язык программирования низкого уровня

Да, именно так должен называться анонс фестиваля компьютерного искусства и самодельной электроники, проходящего в этом году, 20-21 августа, неподалеку от Санкт-Петербурга. Название для анонса мне посоветовал человек с никнеймом @Superogue - основатель и ведущий онлайн-фестиваля демосцены Lovebyte. Он, в свою очередь, приводит в пример анонс фестиваля Outline 2022, который имел похожий заголовок: Everyone Should Go To A Demo Party.Потому что демосцена - это круто. Читать далее

https://habr.com/ru/post/678718/

[>] Вторая жизнь китайского чудо-шнурка J2534
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:15


Опубликовано:Sun, 24 Jul 2022 06:22:09 GMT
Канал: Assembler – Язык программирования низкого уровня

Давным-давно, когда деревья были большими и вариации комплектаций одной модели автомобиля можно было перечислить пальцами одной руки, был куплен диагностический адаптер, о котором сегодня пойдет речь. Творение неизвестного китайца получило название Mini-VCI J2534. Откуда он взялся доподлинно неизвестно, но позиционируется как интерфейс для работы с различными Тойотами, а так же как J2534 совместимый адаптер (спойлер - нет). В момент покупки его было достаточно для диагностики и ковыряния в мозгах автомобилей тех лет, но прогресс не стоит на месте и в нынешних реалиях он если так можно выразиться - "не вывозит". О том, можно ли с этим что-то сделать и пойдет речь ниже.Итак, знакомьтесь - наш пациент снаружи и внутри. Читать далее

https://habr.com/ru/post/678610/

[>] Как создать проект на ассемблере в STM32CubeIDE
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:16


Опубликовано:Sat, 16 Jul 2022 12:16:40 GMT
Канал: Assembler – Язык программирования низкого уровня

Доброго времени суток, сегодня я хотел бы поделиться своим опытом создания шаблона проекта в CubeIDE для программирование на Ассемблере. Так как CubeIDE использует средства GNU то и синтаксис ассемблера у нас будет советующий. Для начала откроем CubeIDE и создадим новый проект. В качестве испытуемого микроконтроллера возьму STM32G030F6P6 уж очень мне они нравятся. А так данный способ работает и с другими сериями микроконтроллера STM32. Читать далее

https://habr.com/ru/post/677292/

[>] Сужение данных. Продолжение борьбы с переполнением
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:16


Опубликовано:Sat, 16 Jul 2022 02:47:01 GMT
Канал: Assembler – Язык программирования низкого уровня

Все началось с глупой ошибки. В тексте программы вместо оператора x=20; где x – целая переменная со знаком и размером в байт, случайно написали x=200;И компилятор, что называется не моргнув глазом, сформировал команду записи в переменную x константы 0C8H, что вообще-то соответствовало оператору x=-56; Выяснилось, что за долгие годы эксплуатации этого компилятора ни одна собака ни один пользователь (включая и нас самих) никогда не писал подобных ляпов и поэтому ошибка в компиляторе оставалась незамеченной. А виноваты оказались команды сужения данных. Читать далее

https://habr.com/ru/post/677224/

[>] Соглашения о вызовах
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:16


Опубликовано:Fri, 08 Jul 2022 06:00:01 GMT
Канал: Assembler – Язык программирования низкого уровня

Это стандартизированные методы реализации и вызова функций.Соглашение о вызовах опредяют как функция вызывается, как функция управляет стеком и стековым кадром, как аргументы передаются в функцию, как функция возвращает значения. Читать далее

https://habr.com/ru/post/675774/

[>] Устройство Стека для Intel386
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:17


Опубликовано:Wed, 06 Jul 2022 18:29:45 GMT
Канал: Assembler – Язык программирования низкого уровня

Стек (от англ. Stack) - специально отведённое место в памяти для хранения временных данных. Он подчиняется следующим правилам Читать далее

https://habr.com/ru/post/675522/

[>] C++ разведка кросс-компиляции Linux->Windows
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:17


Опубликовано:Sun, 26 Jun 2022 09:54:10 GMT
Канал: Assembler – Язык программирования низкого уровня

Эта история началась когда удобный для меня инструмент VSCode из за одного плагина на борту стал не совсем удобен. А именно, «natizyskunk.sftp» плагин, который позволяет подключится по протоколу (S)FTP к серверу, и вносить изменения на сервер, просто сохранив файл. Всё нечего, если бы настройки подключения к серверам не хранились в корне отдельно взятого проекта. Когда у тебя с десяток проектов, ещё можно потерпеть, но более 70 проектов и они все на разных серверах, то перенос и добавление в каждый из проектов актуальной настройки, например пароль, который периодически меняется, заставляет как минимум раздражённо искать подходящую настройку и с комбинацией клавиш Ctrl+C, Ctrl+V, менять устаревшие настройки или добавлять новые. В дальнейшем оказалось, что коллеги пользуются другими идентичными плагинами с названиями «liximomo.sftp», «doujinya.sftp-revived». Читать далее

https://habr.com/ru/post/673474/

[>] Как защищать границы массива без команды BOUND
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:17


Опубликовано:Thu, 23 Jun 2022 01:45:01 GMT
Канал: Assembler – Язык программирования низкого уровня

Я уже плакался по поводу исключения в x86-64 команд двоично-десятичной арифметики DAA/DAS и плакался по поводу отмены команды проверки целочисленного переполнения INTO. Теперь настала очередь плакаться по поводу выброшенной команды BOUND. Как говорится, леди и джентльмены, подставляйте свои жилетки и декольте. Начинаю плач. Читать далее

https://habr.com/ru/post/672956/

[>] Работа с внешней параллельной шиной на отечественном DSP процессоре 1967ВН028 фирмы Миландр
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:18


Опубликовано:Mon, 20 Jun 2022 07:10:25 GMT
Канал: Assembler – Язык программирования низкого уровня

Отечественный процессор 1967ВН028 от фирмы Milandr предназначен в первую очередь для решения вычислительных задач и поэтому на его борту есть всего два способа обмена данными с внешним миром. Один из них - работа с LVDS LINK портами (разобран в прошлых статьях) и второй это внешняя параллельная шина. Читать далее

https://habr.com/ru/post/672312/

[>] [Перевод] Простое руководство по атомарности в C++
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:18


Опубликовано:Thu, 09 Jun 2022 07:00:02 GMT
Канал: Assembler – Язык программирования низкого уровня

Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++  атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic  с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++. Читать далее

https://habr.com/ru/post/670456/

[>] ОС с нуля: Глава 1, Часть 2 — 32 лучше 16-ти
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:18


Опубликовано:Tue, 07 Jun 2022 15:41:18 GMT
Канал: Assembler – Язык программирования низкого уровня

Хай Хабр! Это серия статей по написанию моей ОС с нуля. Я лютый фанат ретропрограммирования, поэтому я мгновенно забуду про существование EDК. Просьба не писать комменты по типу "BIOS давно устарела где UEFI?". Пишу это просто чтобы было, что почитать вечером и порелаксить. Спасибо. Читать

https://habr.com/ru/post/670162/

[>] Создание демки специально для HABR — Часть 3
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:19


Опубликовано:Tue, 07 Jun 2022 09:00:02 GMT
Канал: Assembler – Язык программирования низкого уровня

Наконец-то мы подобрались к финальной части большой саги о создании демки для ПЭВМ «Микроша». В предыдущих первой и второй части я реализовал заходник, само видео вращения, и понял, как сделать звук. Теперь осталось всё свести воедино, исправить некоторые недочёты и добавить нормальную музыку. Но, как обычно, дьявол кроется в мелочах. Читать дальше →

https://habr.com/ru/post/669678/

[>] ОС с нуля: Глава 1, Часть 1 — Загрузчик
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:19


Опубликовано:Tue, 07 Jun 2022 08:39:17 GMT
Канал: Assembler – Язык программирования низкого уровня

Хай Хабр! Это серия статей по написанию моей ОС с нуля. Я лютый фанат ретропрограммирования, поэтому я мгновенно забуду про существование EDК. Просьба не писать комменты по типу "BIOS давно устарела где UEFI?". Пишу это просто чтобы было, что почитать вечером и порелаксить. Спасибо. Читать

https://habr.com/ru/post/670030/

[>] Создание демки специально для HABR — Часть 2
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:19


Опубликовано:Mon, 06 Jun 2022 09:00:03 GMT
Канал: Assembler – Язык программирования низкого уровня


В предыдущей части мы только начали входить во вкус создания демки, как статья неожиданно закончилась на самом интересном месте. Не буду сильно томить и продолжу описывать свой квест по созданию этой интересной программы. Борьба за размеры памяти, задержки, звук, всё в этой серии. Читать дальше →

https://habr.com/ru/post/669670/

[>] Как превратить Raspberry Pi в роутер с поддержкой WireGuard VPN клиента
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:20


Опубликовано:Fri, 21 Oct 2022 12:51:58 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Если вдруг у вас есть Raspberry Pi, вы с ним уже наигрались и хотите найти ему полезное применение, то в этой статье я расскажу как быстро и просто превратить его в роутер, который может работать c VPN сервером по протоколу WireGuard. В виду того, что вычислительные возможности Raspberry Pi выше, чем у среднестатистического роутера, вы получите большую скорость Интернет при работе через VPN. Читать далее

https://habr.com/ru/post/694710/

[>] [Перевод] С потайным компьютером в ботинках можно обыграть даже гроссмейстера
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:20


Опубликовано:Fri, 07 Oct 2022 10:48:08 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

"Запатентовано" уже немало способов шахматного жульничества: кто-то использует телефоны, примотанные к ногам скотчем, и штуки вроде пультов от телевизора, другие просто выходят в туалет, чтобы подсмотреть варианты хода на телефоне. И это не говоря о случаях с неочевидным и лишь отчасти подтвержденным читерством, вроде недавнего скандала с гроссмейстером Хансом Ниманном.Программист Джеймс Стэнли* придумал еще один способ выигрывать в шахматы. Миниатюрный компьютер Raspberry Pi Zero, лежащий у него в кармане, подключен к нескольким кнопкам и вибромоторам в его ботинках, так что он может тайком обмениваться данными с шахматным движком на базе Pi. Ноги идеально подходят для этой цели: это единственная часть тела, с помощью которой при известной степени ловкости можно проделывать сложные манипуляции незаметно для окружающих.Джеймс назвал этот проект Sockfish, так как в качестве интерфейса для обмена данными с шахматным движком Stockfish используются его носки. Рассказ автора о подробностях эксперимента читайте под катом.*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис. Читать далее

https://habr.com/ru/post/691902/

[>] 5 DIY-проектов на базе Raspberry Pi осени 2022 года: клавиатуры, контроллеры и звонок для котиков
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:21


Опубликовано:Fri, 30 Sep 2022 20:55:08 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера


Привет, Хабр! «Малинки» не теряют свой популярности, проектов на их основе становится все больше. А значит, самое время рассказать об интересных и (правда, не всегда) практичных проектах. Возможно, кто-то из вас захочет повторить или доработать один из них — в этом случае было бы круто, если бы вы рассказали об этом. Ну или если у кого-то есть собственный проект на базе Raspberry — тоже расскажите об этом, например, в комментариях. Все самое интересное, как всегда, под катом. Читать дальше →

https://habr.com/ru/post/559646/

[>] Калибровка камеры-imu с Kalibr
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:21


Опубликовано:Tue, 27 Sep 2022 10:15:04 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера


В данной публикации хотелось бы познакомить с пакетом калибровки камеры Kalibr, в том числе для целей его использования в пакете визуальной навигации ORB_SLAM3. Будет продемонстрирован процесс калибровки камеры fish-eye для raspberry pi. Камера будет калиброваться совместно с гироскопом/акселерометром imu-650 (GY-521). Предполагается, что данная пошаговая инструкция облегчит понимание процесса калибровки в случае возникновения необходимости в таковой. Читать дальше →

https://habr.com/ru/post/689778/

[>] Реализация Интернета вещей для промышленного оборудования простыми методами
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:21


Опубликовано:Thu, 22 Sep 2022 12:47:49 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

На основе полученного опыта и личных предпочтений, хотелось реализовать проект в минимально необходимой конфигурации, без излишеств и легко развертываемый на любом сервере с Debian. При этом без экзотики, на основе MQTT и прочая. Так как обычно приходится осуществлять поддержку своих разработок, хотелось понадежнее и попроще.Эту идею реализовал в работе, связанной с "умными" очистителями воздуха для помещений. Читать далее

https://habr.com/ru/post/689646/

[>] Визуализируем в R данные мониторинга температуры процессора Raspberry PI Zero W
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:22


Опубликовано: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/

[>] ORB_SLAM3 на raspberry pi 4
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:22


Опубликовано: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/

[>] Я сделаю свою «умную» колонку… «with blackjack and hookers!». Эпизод 2 (но двоек не существует). Проект NeBender
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:22


Опубликовано: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/

[>] Проект Repka Pi — переклеивание этикеток или реальная разработка?
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:23


Опубликовано:Fri, 16 Sep 2022 13:53:59 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Проект Repka Pi - переклеивание этикеток или реальная разработка? Читать далее

https://habr.com/ru/post/688570/

[>] Обнаружение препятствий на OpenCV. Часть 2
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:23


Опубликовано:Tue, 13 Sep 2022 16:50:36 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

С момента последней статьи прошел почти год. За это время произошло немало событий, времени на мое хобби с автономным катером нашлось откровенно мало. :/Но идея создания алгоритма обнаружения абстрактных препятствий не давала мне покоя. Постоянно казалось, что до результата уже рукой подать. Читать далее

https://habr.com/ru/post/687552/

[>] Что можно сделать с большим дисплеем?
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:23


Опубликовано:Mon, 12 Sep 2022 12:10:39 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Попался мне как-то неисправный автомобильный навигатор, который включался и показывал симпатичную картинку. Пейзаж мне очень понравился, и дисплей был довольно большой. Решил изъять его и сделать что-нибудь полезное. Посмотрим, что из этого вышло, а также, где найти и как использовать большие экраны. Что там?

https://habr.com/ru/post/687798/

[>] Umbrella-sharing: как система проката зонтиков сделала нас фанатами Android разработки
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:24


Опубликовано:Thu, 08 Sep 2022 13:24:28 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Всем привет! Нас зовут Антон и Дима, мы ученики 11 и 9 классов. В 2022 году мы окончили «IT Школу Samsung». Нам предложили рассказать про опыт разработки нашего первого большого проекта — системы проката зонтиков. С этим проектом мы одержали победу в нескольких конкурсах, а сейчас мечтаем, чтобы система стала полноценным стартапом и у нее появилось много пользователей, которым она будет полезна. Читать далее

https://habr.com/ru/post/686958/

[>] Разработка «зрелищной» программы. Интерфейс оператора, GUI и маркетинг
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:24


Опубликовано:Tue, 06 Sep 2022 06:55:58 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Для торгового автомата, описанного в статье, потребовалась программа с интерфейсом оператора - несколько диалоговых окон. Смесь справочника с обучающими видео, меню выбора текущего видео и прочих настроек. Читать далее

https://habr.com/ru/post/686612/

[>] [Перевод] Система спектрозональной съемки на Raspberry Pi
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:24


Опубликовано:Sun, 04 Sep 2022 10:00:01 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Пояснение переводчика: в статье речь пойдет об изготовлении устройства, которое позволяет делать снимки объекта в различных участках спектра электромагнитных волн.

Цитата из Википедии: спектрозональная съёмка производится для получения изображений деталей объекта, неразличимых в видимом свете.

В статье много фото.В данном случае автор приводит пример самостоятельного изготовления подобного непростого устройства. Читать дальше →

https://habr.com/ru/post/685896/

[>] Контроль уровня заряда батарей raspberry pi с выводом аудио оповещения
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:24


Опубликовано: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/

[>] От взлома протокола в старом «железе» до разработки программ
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:25


Опубликовано:Wed, 31 Aug 2022 13:51:00 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Нужно было "взломать" протокол передачи данных внутри торгового автомата. Встроить одноплатную ЭВМ Raspberry Pi, большой монитор, написать программу для связи с web сервером и сам web сервер. Далее рассказ об этом взломе и немного о модернизации. Читать далее

https://habr.com/ru/post/685688/

[>] Как мы с женой повышали ее качество жизни с диабетом при помощи ИТ
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:25


Опубликовано:Mon, 29 Aug 2022 08:37:45 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Всем привет! Меня зовут Андрей. Сегодня я расскажу о проекте, который делал для своей жены и при активном ее участии. Это устройство на Raspberry Pi с опенсорсным софтом для контроля сахара в крови с помощью данных мониторинга и команд, отдаваемых инсулиновой помпе.Оговорюсь, что все это мы делали на свой страх и риск. Зарегистрированных медицинских устройств такого назначения не существует. Но мы не были готовы ждать, пока найдется энтузиаст, который разработает коммерческий инструмент и пройдет весь путь медицинской сертификации, чтобы продукт появился в магазинах. Читать далее

https://habr.com/ru/post/685148/

[>] Необычные проекты интернета вещей. Пёс-охранник на Raspberry Pi и умная видеоняня
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:25


Опубликовано:Tue, 09 Aug 2022 20:47:04 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера



Умный дом делает жизнь комфортнее и безопаснее. Безопасность никогда не бывает лишней. Одна из задач интернета вещей — защита человека и его жилища, поэтому мы ставим камеры видеонаблюдения с датчиками движения и уведомлениями через интернет. В любой момент можно достать телефон и проверить, что в дом не пробрались еноты. Читать дальше →

https://habr.com/ru/post/681722/

[>] [Перевод] Как работает Wine
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29: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/

[>] DIY-одноплатник или OrangePi на минималках
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:26


Опубликовано:Thu, 06 Oct 2022 16:18:21 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО

Некоторое время назад Arduino казалось какой-то непонятной магией когда только узнал про нее. Потом быстро перешел к самим микроконтроллерам. Позже, работая программистом микроконтроллеров, захотелось чего-то большего и я уже смотрел в сторону линукса и одноплатных компьютеров. В руки попал Raspberry Pi, но это готовый продукт с определенной периферией (не хочу HDMI, хочу RGB LCD) и некоторое время спустя я уже думал как сделать что-то подобное самому. Читать далее

https://habr.com/ru/post/691936/

[>] Сегментная адресация памяти
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29: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/

[>] Как завладеть сетью /16 с помощью libpcap и libdnet
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:27


Опубликовано:Mon, 03 Oct 2022 13:00:01 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО


Всем привет. Сегодня я попытаюсь рассказать про сетевое программирование на довольно низком уровне, с библиотеками libpacp и libdnet. Про последнюю многие наверное и не слышали, т.к. информации о ней в сети фактически нет. А ведь её использует сам Fyodor :) Читать дальше →

https://habr.com/ru/post/688314/

[>] [Перевод] Rust 1.64.0: rust-analyzer в rustup, IntoFuture, ffi-типы в core и alloc, улучшения в Cargo
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:27


Опубликовано: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/

[>] Жизнь выдающихся программистов. Джей Фриман (saurik)
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:27


Опубликовано:Wed, 21 Sep 2022 09:00:03 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО


Прошлая серия про талантливую программистку Джастин Танни не оставила равнодушной хабрасообщество. Поэтому продолжаем заполнять нижние строчки хит-парада выдающихся программистов 21 века. Это особенные личности, которым карьера как будто не важна. В силу высокого IQ, врождённой любознательности и особого характера они не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.

Следующий герой — более публичный и известный персонаж, про него даже есть статья в Википедии. Гений реверс-инжиниринга Джей Фриман известен под ником saurik, а славу ему принёс каталог «запрещённых» приложений Cydia (для взломанных айфонов). Читать дальше →

https://habr.com/ru/post/688716/

[>] Клонируем сами, своими руками
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:28


Опубликовано:Mon, 12 Sep 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО

Картина маслом: Опытный сисадмин ищет четырёхлетний бэкап на файл-сервере

Задача: Вася летел на самолёте. Из-за неисправности двигателя самолёт упал на необитаемом острове. Вася был единственным выжившим. После осмотра уцелевшего багажа Вася понял, что в его распоряжении есть несколько лаптопов и Wi-Fi роутер. Теперь для того, чтобы выжить, Вася решил поднять ЦОД. Для нормальной работы ЦОДа Васе нужно уметь клонировать Debian Linux. Но под рукой нет никаких средств клонирования. Даже старый диск Clone Zilla куда-то запропастился. Что делать Васе?

Итак, для начала посмотрим на кое-какие условия ТЗ, не описанные в первом абзаце. Читать дальше →

https://habr.com/ru/post/686812/

[>] Примеры кошмарного программирования вокруг нас. Выученная беспомощность
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:28


Опубликовано:Wed, 07 Sep 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО


Нет в мире совершенства. Куда ни глянь — всюду костыли и компромиссы. Вроде каждый в отдельности хочет сделать как лучше, но чем больше участников — тем сильнее хаос…

Возьмём классический пример — реестр Windows. Этот странный артефакт инженерной мысли представляет некое подобие иерархической БД для хранения абсолютно всех настроек — и системных, и приложений, и драйверов. Центральное бинарное хранилище заменило массу файлов .ini, разбросанных по всей системе и должно было упростить жизнь. Но вышло наоборот. И глядя на монструозный тормозящий конструкт, возникает только один вопрос: как это исправить? Ответ тоже простой: «Если вкратце, то никак». И так во всём. Мы создаём монстров, а потом не можем от них избавиться. Читать дальше →

https://habr.com/ru/post/686424/

[>] Memcached: установка сервиса, мониторинг вручную и с помощью Zabbix
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:28


Опубликовано:Tue, 06 Sep 2022 08:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО

Большинство высоконагруженных сервисов, к которым, без сомнения, относится сервис SAAS интернет-магазинов, используют Memcached как высокопроизводительное хранилище данных в оперативной памяти сервера. В этой статье мы расскажем о том, как установить Memcached, как контролировать работу сервиса Memcached вручную, а также с помощью Zabbix. Читать далее

https://habr.com/ru/post/686594/

[>] IopReadyDeviceObjects: медвежья услуга от ядра и как с ней сосуществовать
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:29


Опубликовано:Sat, 03 Sep 2022 01:04:20 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО

Всем привет! Столкнулся я недавно с одной интересной и не вполне понятной с первого взгляда проблемой в KMDF драйвере, разработкой которого я в данный момент занимаюсь. Опыта в этой сфере у меня не много - это первый проект на KMDF которым я занимаюсь. В деталях описывать проект не могу (всё-таки частная собственность), да это и не нужно, но идея такова: есть 2 драйвера, один из них становится в стек устройств определённого класса и предоставляет интерфейс через который второй драйвер может подписаться на добавление новых и уже подключенных устройств (несколько callback-ов), получать обратные вызовы на определённых операциях и так далее. Таким образом первый драйвер находится в системе постоянно и для своей замены требует перезагрузки и содержит минимальную логику, а второй может свободно обновляться на ходу (без перезагрузки) и принимает решения. Логика этого драйвера подразумевает создание control device для каждого устройства-фильтра, установленного в стек (нужен дополнительный функционал без коллизий с функционалом стека) - и вот тут у меня возникла проблема, на определение причин которой и дальнейшее решение я потратил довольно много времени. Статью об этом решил написать именно сегодня - как-никак это неплохой способ сделать что-то полезное на свой профессиональный юбилей - 10 лет в разработке :-) Читать далее

https://habr.com/ru/post/686178/

[>] Как не быть программистом, раскурить eBPF за сутки и начать мониторить DNS
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:29


Опубликовано: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/

[>] Правим QEMU железным кулаком
bot.habr.rss
BotHabr(tgi,2) — All
2022-10-26 16:29:29


Опубликовано:Tue, 30 Aug 2022 09:00:02 GMT
Канал: Системное программирование – Обеспечение работы прикладного ПО


Виртуализация, на мой взгляд, всё ещё остаётся одной из самых важных технологий в администрировании ЦОД. Да, конечно “все” будут рассказывать, что контейнеры намного более удобные, и всё надо запихивать в Кубер, и всё такое… Но после гигантского нагромождения никому не нужных конфигов, в какой-то момент ты начинаешь понимать, что зашёл слишком далеко.

И действительно. Мы пишем ПО для обслуживания целого ЦОДа. Изначально всё должно было быть контейнером, и всё должно было распространяться через CI/CD, но когда дело доходит до дела, ты начинаешь понимать, что нет ничего проще установленного линукса, на котором напрямую запускается твоя утилита, написанная на golang.

Но, есть одна проблема. Виртуальными машинами не так легко управлять, как это можно делать с контейнерами. Ок, мы сами с усами, можем и вручную написать кое-чего.

Под катом, давайте окунёмся в мир работы с QEMU и подёргаем сам эмулятор. Конечным результатом должна быть клонированная через golang Debian Linux. Читать дальше →

https://habr.com/ru/post/684300/

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 67