Как стать автором
Обновить
2
0.1

Пользователь

Освобождение робота-пылесоса, который стал моим другом

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 25K
Немного доп. оборудования, несколько команд Linux и вуаля! Пылесос свободен! Фото Cath Virginia / The Verge

В целом роботы-пылесосы мне нравятся. Для меня это эдакий небольшой друг, который чистит за меня пол. Просто фантастика. Но, к сожалению, есть одна проблема — я им не доверяю. Эти девайсы постоянно отправляют отчёты на серверы, что может представлять угрозу для безопасности и тайны личной жизни. Мне такое не по духу, и я подумал, что кто-то уже должен был хакнуть эту схему. После недолгих поисков в интернете я понял, что прав. Мне попался проект Valetudo, нацеленный на освобождение роботов-пылесосов от связи с облаком.
Читать дальше →
Всего голосов 115: ↑114 и ↓1 +113
Комментарии 44

Метадерево как инструмент для выбора средства визуализации

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.6K

От качества и эффективности визуализации зависит успешность восприятия и анализа информации, что, в свою очередь, влияет на принятие решений при разработке и проектировании информационных систем.

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

В данной статье я попытался заполнить этот пробел и предложить своё видение решения.

Поехали
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 3

Неограниченный доступ к знаниям: библиотека Стандартных Шаблонных Конструкций

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 21K

Есть много причин почему доступ научным статьям и книгам должен быть свободным:

Во-первых, это прекрасно

Во-вторых...
Всего голосов 54: ↑54 и ↓0 +54
Комментарии 8

Обучающая основам программирования и робототехники настолка «Битва Големов» — качаем, печатаем и играем

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 4.5K

Я решил сделать детям, родителям и преподавателям подарок. Встречайте BIG BOX PNP по классической версии моей игры о боевых программируемых роботах "Битва Големов", который можно свободно скачать, распечатать и играть.

Читать далее
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 3

Действующий процессор на 13 микросхемах стандартной логики

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 19K


Привет, Хабр! Для меня было просто невозможно пройти мимо этого схемотехнического чуда. Горстка деталей на небольшой двусторонней плате выполняет команды машинного языка и выводит результат в виде двоичного кода!

Действующая модель называется "TD4 CPU", является проектом с открытыми исходниками, реально работает и позволяет понять устройство и принцип работы процессора.
Читать дальше →
Всего голосов 111: ↑110 и ↓1 +109
Комментарии 53

30 фильмов про IT и киберпанк, которые можно пересмотреть на новогодних праздниках

Время на прочтение 10 мин
Количество просмотров 46K
На новогодних праздниках можно позволить себе отдохнуть и посмотреть старое и новое кино. Фильмы про IT подбирал так, чтобы можно было найти на любой вкус. Ниже список, которым решил с вами поделиться.

Читать дальше →
Всего голосов 62: ↑45 и ↓17 +28
Комментарии 99

Крякнул софт? Суши сухари

Время на прочтение 5 мин
Количество просмотров 39K

Именно так считает "товарищ майор", и с подобным утверждением порой соглашается российское правосудие.

С 1997 года в своде законов российских дремлет статья 273 УК РФ (Создание, использование и распространение вредоносных компьютерных программ), карающая не чтившего уголовный закон наказанием вплоть до семи лет лишения свободы.  Судебную практику по данной статье объективно не назовешь обширной, но изучение реальных случаев её применения должно вызывать дрожь и трепет у всякого, возложившего руки на клавиатуру.

Читать далее
Всего голосов 76: ↑65 и ↓11 +54
Комментарии 188

Даня снова в «Хакере»! Выясняем у Дани Шеповалова, где он пропадал 20 лет и при чем тут гуси

Время на прочтение 13 мин
Количество просмотров 27K

Это не шутка: Даня Шеповалов, когда-то писавший термоядерные креативы для раннего журнала «Хакер», после многолетнего скитания возвращается к истокам. Но на этот раз — в чуть более серьезной роли: Даня будет брать для «Хакера» интервью у выдающихся личностей, часть из них будет публиковаться и на «Хабрахабре». Однако мы прекрасно понимаем, что у читателей накопилась куча вопросов к самому Дане. Так что нулевым спикером выступит он сам и расскажет о бурной молодости и о том, как судьба сложилась после «Хакера».

Читать интервью
Всего голосов 70: ↑69 и ↓1 +68
Комментарии 25

Bash отладчик с поддержкой произвольных точек останова

Время на прочтение 4 мин
Количество просмотров 9.2K

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

Читать дальше →
Всего голосов 52: ↑52 и ↓0 +52
Комментарии 6

Неожиданная находка, которая освобождает 20 GB неиспользованного индексного пространства

Время на прочтение 14 мин
Количество просмотров 30K

Раз в несколько месяцев мы получаем предупреждения от системы мониторинга базы данных о том, что свободное место скоро закончится. Обычно мы просто выделяем больше места и забываем об этом, однако в этот раз мы мы были на карантине и система была нагружена меньше, чем обычно. И тут мы подумали, что это хорошая возможность провести чистку.

Начнем с конца: в итоге нам удалось освободить более чем 70 GB не оптимизированного и неиспользуемого пространства без удаления индексов и данных. 

Читать далее
Всего голосов 60: ↑57 и ↓3 +54
Комментарии 9

Indoor «GPS» с точностью +-2см

Время на прочтение 5 мин
Количество просмотров 60K
День добрый, коллеги!

Все началось с того, что мы, как и многие, тоже делали роботов — автономных, мобильных, с кучей сенсоров и огромным потенциалом. Вообще-то, мы все еще продолжаем их делать. Но в очередной раз столкнувшись с одной из ключевых задач роботов — определением своего положения в пространстве и навигацией в помещении — мы решили сфокусироваться на решении этой задачи. Вот, что из этого получилось.
Читать дальше →
Всего голосов 45: ↑40 и ↓5 +35
Комментарии 65

Лезем в сорцы компилятора — как работает goscheduler (Часть I)

Время на прочтение 8 мин
Количество просмотров 6.5K

Каждый раз, когда я открываю новую книжку о golang, обязательно лезу в главу о горутинах и в очередной раз читаю, как беспощадно прекрасен голанг. Подумать только, вместо того, чтобы создавать потоки для обработки параллельно выполняемых задач, мы будем пользоваться внутренними инструментами языка!

Всё это замечательно, и большинство книг и курсов по golang приводят множество примеров того, насколько быстр го и как он запросто может справиться с бесконечным количеством задач. К сожалению, все эти книги не рассказывают, что же происходит под капотом голанга. Что же, давайте откроем сорцы суслика и посмотрим, что там внутри.
Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 11

Подружить QtTest с GCOV/LCOV для покрытия кода используя сборочную систему QBS

Время на прочтение 17 мин
Количество просмотров 4.5K

Интеграция утилит покрытия кода gcov/lcov в проект на базе сборочной системы QBS.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 3

Необычный дуалбут: ноутбук с «двойным дном»

Время на прочтение 15 мин
Количество просмотров 79K

Не так давно на Habr Q&A я наткнулся на интересный вопрос — как сделать, чтобы два жестких диска не видели друг друга? Чтобы вирус, попав на одну систему, никоим образом не мог заразить другую. В ответах предлагали достаточно стандартные способы — использовать полнодисковое шифрование, отключить диск в диспетчере устройств и даже поставить переключатель на питание. Но что если взглянуть на задачу совершенно с другого угла и сделать всё средствами самого HDD? Да-да, сегодня мы снова погружаемся в пучины модификации прошивок и реверс-инжиниринга!
Узнать подробности
Всего голосов 361: ↑357 и ↓4 +353
Комментарии 122

Оптический удлинитель HDMI. 300 метров

Время на прочтение 5 мин
Количество просмотров 38K
Доброго времени суток, Хабр!



Разработка волоконно-оптического удлинителя HDMI на 300 метров. Отказ от обратного канала (передача данных по одному волоконно-оптическому кабелю). Клонирование EDID с монитора.
Читать дальше →
Всего голосов 103: ↑103 и ↓0 +103
Комментарии 104

USB на регистрах: isochronous endpoint на примере Audio device

Время на прочтение 13 мин
Количество просмотров 5.5K
image<картинка с платой и наушниками>
Еще более низкий уровень (avr-vusb): habr.com/ru/post/460815
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: interrupt endpoint на примере HID

Сегодня рассмотрим последний тип конечных точек, изохронный. Он предназначен для передачи данных, критичных к времени доставки, однако не гарантирует ее успешность. Самый классический пример — аудиоустройства: колонки, микрофоны.

Как ни странно, этот тип конечной точки оказался самым мозговыносящим (и это после всего, что я успел повидать с stm'ками!). Тем не менее, сегодня мы сделаем аудиоустройство и заодно чуть-чуть допилим ядро библиотеки USB. Как обычно, исходные коды доступны:
github.com/COKPOWEHEU/usb/tree/main/4.Audio_L1
github.com/COKPOWEHEU/usb/tree/main/4.Audio_F1
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 9

Современный C++ нас не спасет

Время на прочтение 5 мин
Количество просмотров 22K

Я часто критикую небезопасные при работе с памятью языки, в основном C и C++, и то, как они провоцируют необычайное количество уязвимостей безопасности. Моё резюме, основанное на изучении доказательств из многочисленных крупных программных проектов на С и С++, заключается в том, что нам необходимо мигрировать нашу индустрию на безопасные для памяти языки по умолчанию (такие как Rust и Swift). Один из ответов, который я часто получаю, заключается в том, что проблема не в самих С и С++, разработчики просто неправильно их готовят. В частности, я часто получаю в защиту C++ ответ типа: "C++ безопасен, если вы не используете унаследованную от C функциональность" [1] или аналогичный, что если вы используете типы и идиомы современного C++, то вы будете застрахованы от уязвимостей типа повреждения памяти, которые терзают другие проекты.

Хотелось бы отдать должное умным указателям С++, потому что они существенно помогают. К сожалению, мой опыт работы над большими С++ проектами, использующими современные идиомы, заключается в том, что этого даже близко недостаточно, чтобы остановить наплыв уязвимостей. Моя цель на оставшуюся часть этой заметки - выделить ряд совершенно современных идиом С++, которые порождают уязвимости.

Читать далее
Всего голосов 52: ↑32 и ↓20 +12
Комментарии 313

Stm32 + USB на шаблонах C++. Продолжение. Делаем HID

Время на прочтение 11 мин
Количество просмотров 7.4K

В прошлый раз показал один из способов распределение ресурсов между конечными точками, а именно регистров EPnR, памяти под дескрипторы буферов и под сами буферы. Предлагаю продолжить начатое и рассмотреть написанную библиотеку на примере создания простого HID-устройства, позволяющего управлять светодиодом.

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 13

Реализация конечного автомата для автоматизации процессов

Время на прочтение 5 мин
Количество просмотров 7.4K

Каждый уважающий себя техлид \ архитектор ПО \ руководитель разработки,

должен написать в своей жизни хотя бы одну CRM

народная мудрость

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 11

Информация

В рейтинге
3 104-й
Зарегистрирован
Активность