Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Оптимизируем программный декодер JPEG для архитектуры RISC-V

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

Графический формат JPEG уменьшает размер изображений без особо заметной для глаза потери качества — упрощая тем самым их хранение и передачу. Студенты из БГУИР — Артём Подгайский, Сергей Буйвид, Юрий Наскевич и Дмитрий Степанчук — в  в рамках Зимней школы RISC-V YADRO изучили работу декодера JPEG для архитектуры RISC-V, нашли пути для его оптимизации и далее расскажут о своем проекте.

Читать далее

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели25K

Привет, Хабр!

Пожалуй, одним из первых устройств, которые подключаются к умному дому (конечно, после модуля управления освещением), является домашняя метеостанция. Вот и мне на новом месте и в новом умном доме потребовалось реализовать данное устройство. Но есть одна проблема: находясь вдалеке от своей домашней лаборатории, я имею минимальный набор инструментов и лишен таких благ цивилизации, как лазерный мини-ЧПУ для изготовления плат и 3D-принтер. Поэтому для реализации проекта будем работать по старинке, в режиме жесткого DIY-хардкора (или «Очумелых ручек»). Впереди много картинок и термоклея, так что включайте ваши паяльники и поехали!

Читать далее

Fury Messenger: От «семейного чата» до народного мессенджера (или как я перестал спать и начал фиксить баги)

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели26K

Всем привет! На связи снова тот самый парень, которому «коту делать нечего».

В прошлой статье я рассказывал, как психанул и за три недели на коленке собрал свой собственный мессенджер Fury Messenger — с шифрованием, маскировкой под мусорный трафик и полным отсутствием привязки к номеру телефона. Изначально план был надежен, как швейцарские часы: сделать удобную «болталку» для себя, жены и пары друзей, чтобы никакой DPI не был страшен, а интерфейс радовал глаз киберпанковской эстетикой.

Но что-то пошло не так... В хорошем смысле!

Я совершенно не ожидал, что моя поделка обретет такую любовь и популярность у абсолютно незнакомых мне людей! Хабр, ты — сила. Огромное спасибо всем энтузиастам, кто ломанулся тестировать приложение. Вы не просто качали APK, вы реально помогали: присылали логи, тыкали носом в баги и писали теплые слова, от которых хочется кодить даже в 4 утра.

Именно благодаря вашему мощному фидбеку проект не заглох, а наоборот — оброс мясом. За последнее время я выкатил пачку обновлений (с версии 0.45 до 0.61), и вот во что превратился наш уютный чатик.

Читать далее

«Горячие колеса» с BLE

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели17K

Здравствуй, Хабр! В этой статье я хочу поделиться своим опытом модификации популярной машинки в масштабе 1/64. Цель модификации — сделать машинку радиоуправляемой. В качестве пульта управления будет использоваться android телефон. В статье рассмотрим три основных этапа: разработка встраиваемого программного обеспечения для управления приводом поворота колес и ходового мотора, проектирование шасси и приложение для телефона.

Читать далее

Голос и микроконтроллер ESP32

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

Картинка: freepik.com - vecstock

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

В этой связи большинство идут самым простым путём: мигающие лампочки, светодиоды, мониторы разных мастей с выведением на них текстовой/графической информации…

Однако есть одна очень интересная тема, которую почему-то незаслуженно самодельщики обходят стороной — речь о микроконтроллерах!

Потому что, согласитесь, «мигание лампочек» — это, конечно, прекрасно и даже в некотором роде волшебно (особенно когда это происходит в первый раз в жизни и твоя программа наконец начинает работать :-) ). Но куда веселее, когда машина отвечает тебе голосом! :-) 

Поэтому посмотрим, какие здесь возможности имеются... 

Читать далее

История создания лидара: от первых экспериментов до квантовых разработок

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели17K

Лидар — понятие очень широкое, поэтому сначала о терминологии. Каноническое определение лидара такое. Лидар (Lidar — аббревиатура от Light Detection and Ranging (обнаружение и определение дальности с помощью света) или Laser Imaging, Detection, and Ranging (лазерная визуализация, обнаружение и определение дальности) — это метод определения расстояния до объекта с помощью лазера и измерения времени, за которое отраженный свет возвращается к его детектору. Это определение, объясняющее этимологию (происхождение) и семантику (смысл) термина «лидар», в разных вариациях за последние полвека повторялось тысячи раз в научных статьях и монографиях, курсовых работах студентов и диссертациях их преподавателей, учебниках, энциклопедиях и справочниках. Вчитайтесь в него. 

В первом его варианте нет упоминания «лазера». Тем не менее, пишут «ЛИДАР — лазерный локатор, произведено от начальных букв английского термина Light Detection and Ranging», то есть в аббревиатуре нет «лазера», но он все равно «лазерный». И ведь не только сейчас так пишут. Пишут так, повторим, как минимум уже полвека. В данном случае это была цитата из 3-го издания «Метеорологического словаря» инженер-майора С.П. Хромова 1974 года, а в первых двух его изданиях 1955 и 1963 гг. вообще нет никаких лидаров. Выходит, что пока не было лазера, не было и лидаров, а как появился лазер — тут же объявились лидары. Разумеется, это не так, лидары как приборы и как понятие уже были как минимум за четверть века до изобретения лазера, и назвались не как-то иначе, а ЛИДАР (Lidar). Но об этом чуть позже, а сейчас о лазерном лидаре.

Читать далее

Создание идеальной клавиатуры

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели22K

Работаю бекэнд разработчиком в оптово‑розничном онлайн‑ритейлере непродовольственных товаров с собственной IT‑инфраструктурой (участвую в разработке и поддержке внутренних корпоративных систем).

И так как большую часть времени провожу за компьютером, то чаще чем рядовой пользователь покупал и менял клавиатуры, пытаясь найти «ту самую» по удобству (определенный топ для себя я конечно же сформировал — будет ниже).

Первоначально это были грамозкие полноформатные мембранки и механики от совершенно разных производителей.

Потом их заменила 60-75% оптика и низкопрофильная механика NuPhy и Keychron.

В какой‑то момент мне попалась статья про ортолинейные раздельные (сплит) клавиатуры и их преимущества перед обычными клавиатурами (на тот момент я использовал Keychron на низкопрофильных оптических свичах), да и в целом о пользе для запястий.

Уже тогда (1-2 года назад) их было огромное количество всяких разновидностей, поэтому пришлось провести некий «research» чтобы определиться с выбором размерности, модели, прошивки и прочей функциональности.

И тут, как говорится — понеслось...

Читать далее

Решил сделать себе смартфон на Линукс. Linux phone Xiaomi Poco X3 NFC на Ubuntu Touch по шагам

Время на прочтение5 мин
Охват и читатели30K

Времена сейчас тяжелые, я как пользователь iPhone, давно чувствую себя неполноценным пользователем смартфона в нашей юрисдикции. А с недавнего времени возглавил команду линуксоидов и потянуло меня на всё линуксовое. Решил, так скажем, стать пингвином. Все началось с того, что выкинул свой макбук, которым пользовался с 2015 года, купил хороший ThinkPad на Ryzen 7 и накатил туда Linux Mint 22.2 и, знаете что, радости моей нет предела, я прям кайфую и пропитываюсь духом опенсорса. Все таки, когда клиентам показываешь преимущества миграции на линукс с мака, есть нотка недоверия к таким ребятам. И для пущей линуксовости, уже второй месяц подумываю пересесть на линуксфон, а еще все это недоверие к корпоратам, подогревает мой интерес. В общем если с тем, как накатить Минт на ноут в целом сложностей нет, то с линуксфоном, не все так просто… погнали разбираться

Читать далее

Yii3. Официальный релиз

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели26K

Это случилось! PHP-фреймворк Yii3 официально выпущен после многих лет интенсивной разработки и полировки.

Мы кратко рассмотрим основные моменты этого долгожданного релиза.

Читать далее

Кто сломал найм? Итоги 2025. Баги в HR Tech

Время на прочтение6 мин
Охват и читатели20K

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

Я решила разобрать одну из главных поломок 2025 года. Для этого вступила в несколько комьюнити кандидатов и HR. И поняла, что все они говорят об HR Tech. Поэтому копать решила в эту сторону.

Читать далее

Наш синтез для 20 языков теперь работает локально под Windows как экранная читалка (SAPI5) и в Балаболке

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели13K

Всё шло к этому. Мы решили задачу омографов в русском языке (мы уже готовим большое расширение). Мы попробовали насколько это физически возможно решить задачу ударения хотя бы для славянских языков (мы уже опубликовали модели-акценторы для русского, украинского и белорусского языков). Мы опубликовали синтез для 20 языков России и стран СНГ.

Вы уже много раз упоминали, что неплохо бы завезти наш синтез в SAPI5-интерфейс. Звёзды сошлись, нам написал разработчик, который занимается разработкой таких интерфейсов для Windows и всё завертелось.

Теперь пришло время попробовать соединить это всё воедино в виде SAPI5-интерфейса для синтеза для Windows. Основная фишка тут получается в том, что наш синтез настолько быстрый, что его можно использовать как локальный синтез в Windows на CPU, так и как экранную читалку. И да, вы верно всё поняли. Это также значит, что оно из коробки будет работать с Балаболкой и другими подобными программами (и не будет требовать GPU).

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

Протестируем!

С Новым 2026-ым как в 1992-ом

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели19K

Очередной Новый Год на носу, а значит, срочно нужно придумать очередной новогодний проектик и написать про него статью. И я придумал сделать интро-поздравление для ZX Spectrum. Да не современное, поражающее невообразимыми эффектами, а напротив, в максимально классическом стиле очень ранней демосцены. Заодно это повод рассказать про особенности национальных хакерских традиций в зимний и иные периоды. Сведём же новогодние олдскулы зарядом концентрированной ностальгии!

Читать далее

Ускоряем загрузку данных в BI в 2 раза: кейс команды VK

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.3K

Apache Superset — востребованное open-source решение для анализа данных, которое можно быстро установить и встроить в существующий технологический стек компании благодаря большому количеству коннекторов и видов визуализаций. Однако для высоконагруженных систем и сложных сценариев некоторые компании дорабатывают исходную версию, например внедряют инструменты автоматического кеширования и оптимизируют архитектуру хранения данных для построения графиков. По этому пути в своё время пошли и мы в VK.

Привет, Хабр. Меня зовут Никита Романов, лидирую разработку аналитических инструментов VK. В этой статье расскажу о нашем опыте оптимизации Apache Superset под свои задачи.

Читать далее

Ближайшие события

Деннис Ритчи. Человек, который подарил нам циклы и рекурсию

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели26K

Деннис Макалистер Ритчи (/dmr) родился в 1941 году в престижном пригороде Нью-Йорка, в семье известного учёного из Bell Labs Алистера Ритчи, соавтора учебника по теории релейных схем. Вскоре семья переехала в Саммит, Нью-Джерси.

Читать далее

Как устроено фаззинг-тестирование на Go, которое знает о ваших багах больше, чем вы сами

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

Привет, Хабр! Меня зовут Иван, я инженер по информационной безопасности в департаменте разработки общей платформы компании YADRO. Я занимаюсь фаззинг-тестированием уже два года, через мой фаззинг прошло много кода на языках C и Go. 

В этой статье будет и теория, и практика. Сначала разберемся, как устроен фаззинг, его алгоритмы и при чем тут ГОСТ. Затем я расскажу, как написать тулу для фаззинг-тестирования проектов на Go. В практической части я подробно опишу процесс разработки и покажу примеры кода, так что используйте статью как инструкцию.

Читать далее

Как интегрировать аудит-логи с SIEM: от теории к практике на Wazuh и RuSIEM

Время на прочтение19 мин
Охват и читатели11K

Недавно мы в Selectel запустили систему аудит-логов. Она предназначена для централизованного сбора и анализа событий, возникающих при работе сервисов Selectel. А также — обеспечивает единый доступ к операционным и административным действиям, фиксирует различные события с ресурсами аккаунта и помогает отслеживать потенциально подозрительные активности.

Важным фактором для удобства расследований и анализа является формат самих аудит-логов. Он должен быть структурированным и единообразным вне зависимости от части системы, где происходит события. При этом — достаточно информативным, чтобы можно было установить обстоятельства события.

При должном подходе аудит-логи — не просто набор технических сообщений, а инструмент, который помогает как предотвращаь проблемы, так и эффективно расследовать их при необходимости. Но чтобы начать анализировать события, которые происходят в системе, нужно сначала эти события получить и передать анализатору — SIEM-системе. Этому и будет посвящена данная статья.

Читать далее

Как на самом деле выглядит необработанное фото

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели31K

Вот фотография новогодней ёлки в том виде, в котором видит матрица камеры.

Она даже не чёрно-белая, а серо-серая.

Причина этого в том, что хотя аналогово-цифровой преобразователь (АЦП) камеры теоретически способен выдавать значения от 0 до 16382, данные не покрывают весь этот диапазон.

Читать далее

Итоги года развития NoDPI — открытого инструмента для свободного интернета

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели119K

Салют, Хабр! Прошел ровно год с момента публикации моей первой статьи про загрузку видео с YouTube. Бонусом к статье шла небольшая утилита для... кхм... модификации сетевых пакетов. Это был небольшой скриптик на Python, форкнутый от theo0x0/nodpi. Я не делал на него совершенно никаких ставок, но в комментариях посыпались восторженные (нет) отзывы, обсуждения и просьбы выложить на GitHub. Через полгода, в мае, я опубликовал статью с презентацией NoDPI и подробными объяснениями, что, как и почему. Публикация зашла, попала в топы Хабра, аудитория на GitHub стала расти. Еще через месяц вышел NoDPI for Android - немного сыроватый и неудобный, но вполне работающий и справляющийся со своей задачей.

И вот на дворе конец 2025 года. За окном мороз, падает снег, а значит самое время подвести небольшие итоги...

Читать далее

Делаем новогоднюю поздравительную открытку, используя только CSS

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели12K

Хабр, привет!

На носу Новый год. Все друг друга поздравляют. Мне это время очень нравится. Для меня Новый год — самый главный праздник.

В общем, мы же фронтендеры. Я подумал: а почему бы не придумать специальную открытку с поздравлением? Использовать я буду только HTML и CSS. Никаких картинок. Да-да, даже векторного SVG.

Единственным «хаком» будет шрифт — мы подберём красивый. Также у нас будет анимация снега. В общем, сделаем всё по красоте!

В ходе реализации я буду использовать все последние фишки CSS. Вдруг вы о них не слышали — заодно и что-то полезное для себя найдёте.

Давайте уже сделаем новогоднюю открытку!

Читать далее

Я прочитал руководство по составлению промптов для GPT-5.2 от Openai, чтобы вам не пришлось это делать

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели58K

Месяц назад ChatGPT дал «идеальный» ответ, который был бесполезен. Ответ выглядел убедительным, был хорошо отформатирован и в нем даже был план. Но он был неверным. Тогда-то меня и осенило: у большинства людей не «проблема с ИИ», а проблема с составлением промптов.

Официальное руководство OpenAI по написанию промптов для GPT-5.2 — это, по сути, план, как это исправить, особенно если вы используете ChatGPT для работы: написания текстов, учебы, исследований, планирования или ведения проектов. GPT-5.2 — более точная, организованная и умеющая лучше структурировать рабочие процессы модель. Но она все еще чувствительна к тому, как вы составляете запрос — по-прежнему имеют большое значение тон, длина и формат.

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

Читать далее