Много-много лет назад делал я простенький лазерный тир с raspberry и камерой.
Технологии с тех пор сильно шагнули вперёд, и захотелось сделать новую, максимально дешёвую версию. В качестве основы взял ESP32 с камерой OV2640 — стоит около 5 евро на AliExpress. Серьёзно переживал за производительность, но её у этого малыша оказалось более чем достаточно. В нём два ядра: одно полностью отдано под обработку изображения, второе — под веб-сервер.
Идея следующая: 60 раз в секунду делаем снимок и ищем на нём пятно от лазера. Параллельно крутится веб-страничка, где на canvas рисуются мишень, попадания и очки. Поскольку полноценный OpenCV на ESP32 не запустить, всё сделано максимально просто. Камера выдаёт чёрно-белые JPEG-кадры, которые я распаковываю в пиксели и ищу те, что превышают порог яркости. Да, камера умеет работать и с RAW-форматами, но там есть нюанс — частота кадров в таком режиме ограничена примерно 15 FPS. А вот распаковывать JPEG «на лету» для ESP32 оказалось посильной задачей, и благодаря этому удалось выжать почти 60 FPS при разрешении 240×240. Для надёжности детектирования у камеры дополнительно задаётся смещение экспозиции.
Но просто найти пятно на картинке недостаточно — нужно сопоставить его с координатами мишени. И вместо того чтобы нагружать микроконтроллер сложной математикой, это можно переложить на пользователя. Поэтому предусмотрена разовая ручная калибровка: на отдельной странице в браузере нужно выбрать четыре маркера на изображении по часовой стрелке. По ним строится матрица обратного перспективного преобразования. Благодаря этому камера может смотреть на мишень под любым углом — математика всё компенсирует.
Читать далееПривет, Хабр! Холодным зимним вечером мне понадобилось настроить статический ip-адрес на CentOS 7. В этой статье я делюсь своим опытом по настройке статического ipv4. И путем от Destination Host Unreachable до полностью работающего интернета.
Читать далееСтатья - комментарий / возражение к статье Осознанный вайб-кодинг. Осознанный вайб-кодинг наверное лучше не Осознанного, но последний тоже работает.
Читать далееАвтоматизированное тестирование API часто начинается с простых решений в виде коллекций Postman или скриптов на коленке. Такой подход работает на старте, но быстро исчерпывает себя.
Создание собственного проектного фреймворка является осознанным переходом от хаотичной, фрагментарной автоматизации к устойчивой, гибкой предсказуемой и масштабируемой системе тестирования. Такой фреймворк дает полный контроль над архитектурой, обеспечивает строгую валидацию контрактов API, безопасную работу с базой данных, генерацию осмысленных тестовых данных и простую интеграцию в инфраструктуру разработки.
Статья поделена на три части.
В первой части дается обоснование преимуществ создания полноценного проектного фреймворка по сравнению с использованием готовых универсальных инструментов по типу Postman. Вы узнаете, какие принципы легли в основу архитектуры фреймворка и какой был подобран технологический стек для их реализации на практике.
Статья техническая и адресована инженерам-программистам в тестировании (SDET) и инженерам по автоматизации тестирования, которые перешли от написания обособленных тестов к осознанному проектированию тестового фреймворка или только начинают этот переход.
Читать далееВсе главные новости из мира Joomla с июля по декабрь 2025 года в одной статье. Я честно пытался напрячь самые разные ИИ сортировкой постов по смыслу и, к сожалению, ни один из них не справился с этой задачей так, как нужно мне. Поэтому, напрягая собственный интеллект, представляю читателю наш дайджест, который обозревает новости, расширения, шаблоны и статьи из мира Joomla. Прошлый выпуск вы можете прочитать здесь.
Читать далееСовременные автономные ИИ-агенты и киберфизические ИИ-системы (от беспилотного транспорта и умных электросетей до медицинских роботов и промышленных контроллеров) всё чаще принимают решения, напрямую влияющие на жизнь, здоровье, экономику и национальную безопасность. В современных условиях вопросы безопасности и отказоустойчивости перестают быть вспомогательными и становятся центральными при проектировании, развёртывании и сопровождении таких систем.
Одна из главных проблем здесь заключается в том, что ИИ-системы, особенно автономные, функционируют в условиях высокой неопределённости: данные могут меняться, сенсоры - выходить из строя или банально загрязняться, внешняя среда может вести себя очень непредсказуемо, а злоумышленники - целенаправленно атаковать сотнями разных способов уязвимости моделей или инфраструктуры. При этом физические последствия сбоев могут быть катастрофическими. Поэтому архитектура таких систем должна быть изначально ориентирована не столько на максимальную производительность, сколько на безопасность, отказоустойчивость, верифицируемость и контролируемость.
Читать далееУниверсальный автогенератор тестов API на базе Schemathesis
В этой статье я расскажу, как мы разработали универсальный автогенератор тестов, который, как нам кажется, подходит для любого сервиса API. Ну и, конечно, расскажу, как он работает и как мы его планируем развивать.
Читать далееКак мы программировали в 80-е или Путь в тысячу ли начинается с первого шага программы.
Как мы программировали в 90-е. Часть #01
Как мы программировали в 90-е. Часть #02
Итак, у меня появился мануал по Клипперу и первые представления о БД.
Первая же задача – загрузка (импорт) текстового файла в базу – была сама по себе интересной.
Когда в марте 2024 года BlackRock — крупнейший в мире управляющий активами с $10 трлн под управлением — запустил токенизированный фонд BUIDL, скептики замолчали. За полтора года фонд привлёк $2,9 млрд и стал эталоном для всей индустрии. Это не эксперимент энтузиастов — это новая инфраструктура финансовых рынков.
Я занимаюсь блокчейн-разработкой и smart-контрактами для security tokens более пяти лет. За это время видел десятки проектов — успешных и провальных. В этой статье расскажу, как устроена токенизация реальных активов изнутри: какие юрисдикции выбирать, сколько это стоит и почему 90% проектов умирают на старте.
Читать далееВ статье я (немного фривольно) решил исследовать связь количества прочитанных книг и средней зарплаты программиста. Проанализируем эту связь, построив уравнение линейной регрессии и полиномиальной регрессии (2-й степени)
Читать далееЯ начал разработку Minecraft на движке Unity. Пока не решил, какие механики я повторю из оригинала, а какие добавлю от себя. Но сегодня я вам расскажу о моей логике построения чанка.
Далее предоставлю полный скрипт для построения чанка.
Читать далееЭта статья поможет новичкам в программировании (и, может быть, не только им) понять законы логики и почему они важны при создании приложений, а также в повседневной жизни. В статье приведены примеры того, как эти законы могут нарушаться в реальных приложениях и в нашей жизни. Также есть ссылки на видеоверсию статьи и бесплатный онлайн курс по теме.
Читать далееПару месяцев назад я опубликовал технический лонгрид на 30 тысяч знаков, где описал опыт создания и показал архитектуру своего алго-трейдинг проекта DepthSight. Там были промпты, примеры кода, графы и боль интеграции с биржами.
Но в комментариях многие упустили лес за деревьями. Обсуждая нюансы реализации, мы прошли мимо главного открытия, которое я сделал за эти 8 месяцев.
Это открытие звучит дико для классического IT: наличие бюджета и команды сегодня тормозит инновацию, а не ускоряет её.
Сегодня я хочу зафиксировать прецедент. Существует устойчивое мнение: «ИИ хорош для написания простых скриптов, но для серьезного Enterprise-продукта нужна команда». Я утверждаю обратное: в 2026 году наличие бюджета и штата — это барьер, который мешает создать продукт такой сложности, который под силу одиночке с «роем» AI-агентов.
Меня зовут Артем. Я в одиночку создал систему алготрейдинга, которая по плотности фич и глубине аналитики превосходит решения компаний с капитализацией $100M+. И если бы у меня был миллион долларов на старте, я бы провалился.
В этой статье я расскажу не о коде, а о смене парадигмы. О том, почему один человек с "роем" AI-агентов теперь эффективнее целой корпорации.
Читать далееПривет. Меня зовут Андрей Урывко, я инженер ИБ в Всеинструменты.ру.
За несколько месяцев эксплуатации Wazuh мы упёрлись в классическую для небольших SOC проблему: рост числа алертов при отсутствии ресурсов на их обработку. При 150–200 оповещениях в день и одном инженере в штате значительная часть времени уходила на ручную проверку однотипных сработок, а развитие инфраструктуры фактически остановилось.
В этой статье я расскажу, как мы перешли с Wazuh на R-Vision SIEM, а затем построили цепочку автоматизации обработки алертов с использованием IRIS (case management), Cortex, MISP и n8n.
Это будет цикл статей, в котором я последовательно разберу построение цепочки автоматизированной обработки инцидентов:
Читать далееКогда вы пишете synchronized(obj), под капотом происходит целая цепочка событий, которую можно отследить до Mark Word — восьмибайтового служебного поля в каждом Java-объекте. В современных реализациях JVM (таких как HotSpot, OpenJ9, GraalVM) используется динамическая, адаптивная система, которая выбирает наиболее эффективную стратегию блокировки в зависимости от реального поведения потоков.
Читать далееЯ провёл неглубокое исследование научных публикаций 2023-2025 годов о влиянии ИИ-чатботов на психическое здоровье. Спойлер: влияние есть, но доказательная база пока слабая. Зато практические рекомендации по защите -> вполне конкретные.
Читать далееВесь год мы хоронили классическое обучение ИИ. Оказалось, рано.
Почти весь этот год мы провели в убеждении, что подход, подаривший нам оригинальный ChatGPT - первый закон масштабирования - окончательно мертв.
Считалось, что этот путь развития зашел в тупик. Теперь единственное, что имеет значение - обучение с подкреплением, метод «проб и ошибок», который обеспечил большую часть прогресса за последний год.
Это мнение оказалось в корне неверным. Даже такие ведущие лаборатории, как OpenAI, были застигнуты врасплох и теперь расплачиваются за это.
Предварительное обучение (pre-training), классический метод обучения ИИ через имитацию, не просто живо - оно готовится к настоящему ренессансу в 2026 году. И это важно для вас при выборе ИИ-продуктов или принятии инвестиционных решений.
Читать далееP.S. в ходе написания статьи не было использовано ни одно ИИ.
В один день я захотел посмотреть как работают купоны в приложении Mak.by в программистском смысле. Для этого я просто посмотрел какие запросы отправляет приложение на сервер с помощью тулы для перехвата HTTP трафика.
Тьма сгущается над монитором. Ты не создаешь новый мир — ты лишь изучаешь карты старых, оттачивая алгоритмы в ожидании Идеального Момента. Твой интеллект — не меч, а роскошные цепи. Пора их разорвать. Познай пять проклятий, что держат тебя в плену, и обряды для их снятия.
Читать далееМоя цель казалась простой: поставить Ubuntu 24.04 и запустить локальную нейросеть на своей новой Radeon RX 7600 XT. Реальность оказалась жестче.
Делюсь полным чек-листом действий — от первого терминала после установки ОС до момента, когда Python-скрипт получает ответ от модели, думающей на вашем же железе. Если вы тоже верите в силу open-source и «красного» стека, вам сюда.
Читать далее