Всем привет! Меня зовут Иван, я Android разработчик и сегодня я хочу поговорить с вами об такой вещи как Coroutines в языке Kotlin
Не знаю как у вас, а я всегда интересовался как устроены те или иные вещи на низком уровне, поэтому когда я начал активно заниматься Android разработкой и познакомился с Kotlin одним из главных вопросов который не уходил у меня из головы, как устроены Coroutines на низком уровне?
Обычно когда ты начинаешь задаваться подобным вопросом, в голове возникает ассоциация с чем-то магическим. Есть какая-то неведомая сущность, которой ты говоришь что-то сделать и она что-то делает. При изучении Coroutines в самом начале пути ощущения были точно такими же
Читать далееДмитрий Беляев, CISO, подкастер, человек, который устал читать красивые отчёты
Я провёл подкаст с двумя людьми, которых в нашем цеху представлять не нужно. Александр Леонов - тот самый, кого первым вспоминают, когда речь заходит об управлении уязвимостями в русскоязычном сообществе. И Рустам Гусейнов, основатель кооператива специалистов по ИБ “Раткоп”, один из немногих, кто умеет говорить о безопасности языком денег, а не чек-листов.
Разговор вышел неудобным. Таким и должен был.
Я попробовал пересказать главное - с сохранением всей грубоватой честности, которой в корпоративных докладах обычно не бывает.
Читать далееНе меняйте модель. Измените инструкцию. 794 проверенных системных промпта, импортировали один раз, и разница будет видна с первого же диалога с вашим ИИ.
Во многих поисковых сценариях пользователь начинает не с пустой строки запроса, а с существующего результата.
Пользователь открывает статью и хочет найти похожие материалы. Покупатель просматривает карточку товара и ищет близкие варианты. Инженер поддержки разбирает инцидент и хочет увидеть прошлые случаи с теми же симптомами. Во всех этих ситуациях у пользователя уже есть релевантный документ для начала поиска.
Этот сценарий традиционно называют More Like This (MLT): функцией поиска документов, похожих на выбранный. В статье под MLT понимается поиск от уже известного документа, а не от заново введённого запроса.
Классический подход MLT (поиск похожих документов) основывался на сравнении текстовых совпадений. Современные реализации всё чаще используют эмбеддинги: числовые представления документов. Поисковый индекс хранит эмбеддинги в виде векторов, а поисковая система может находить документы с близкими векторными представлениями.
Читать далееСоздаю собственный DSL на C#: рассказываю о том, как написать парсер, и как его оптимизировать. Так же покажу как работает обещанный DFA.
Читать далееПредставьте себе махину высотой 80 метров, где выплавляется чугун: основной процесс проходит непрерывно (вообще без перерыва, даже на обед). Это доменная печь (домна) на металлургическом заводе. Домна — это большая вертикально расположенная шахтная печь круглого сечения, сужающаяся сверху и расширяющаяся в средней части, окружённая стальным кожухом — бронёй, футерованной внутри огнеупорным кирпичом. Кожух от перегрева защищает система охлаждения — холодильные плиты между огнеупором и кожухом. Такие гиганты сразу строят под конкретный технический процесс, обвязывают нужными датчиками и запускают в работу без погружения в детали. И печь работает годами или десятилетиями и более.
Но время идёт, технологии совершенствуются. У нас, промышленников, появляются возможности внедрить какое-то улучшение на производстве — где-то оптимизировать процесс и сэкономить. Вот только как провернуть такое с 80-метровой печью, всегда наполненной жидким раскалённым металлом?
Меня зовут Евгений Щелоков, начальник участка доменной печи № 3 ЕВРАЗ ЗСМК. Я расскажу, как мы в ЕВРАЗе модернизировали систему автоматического распределения вдувания пылеугольного топлива (ПУТ) по фурменным линиям, что в результате позволило нам снизить (и довольно существенно) расход дорогого кокса. Если интересно, как можно применять IT для такой узкой и непростой цеховой задачи, — приходите за подробностями под кат.
Читать далееПривет!
Представим ситуацию, сейчас, в 2026 году, вам потребовался способ звонить родственникам, слать нюдсы горячо любимой жене (в целях повышения демографии, конечно же) и обсуждать в коллективных чатах с друзьями планы на лето. Либо, наоборот, нужен способ общения в небольшой компании. Не все доступные мессенджеры решают эти задачи идеально.
Здесь, на Хабре, уже было несколько инструкций о том, как настроить свой Jabber, Matrix сервер, было описание Delta Chat. Эта статья не претендует на инструкцию о том, как настроить конкретный сервер и не декларирует что именно нужно устанавливать, а является рефлексией собственного поиска подходящего self-hosted федеративного инструмента для отправки сканов документов и звонков друзьям.
Читать далееВсем привет!
Меня зовут Артур Валиев. Недавно я уже рассказывал на Хабре о том, как мы собирали собственный RustDesk Pro при помощи патчей и кастомных сборок.
Но со временем стало понятно, что нам тесно в рамках обычной кастомизации. Мы захотели пойти намного дальше.
Начать стоит немного издалека.
Почти пять лет я проработал в районной больнице. И если кто-то когда-либо занимался поддержкой медицинских учреждений, то прекрасно знает этот зоопарк инфраструктуры: старые компьютеры, терминальные серверы, виртуальные машины, Astra Linux, закрытые сети, ограничения безопасности и постоянная необходимость помогать пользователям удалённо.
Тогда я постоянно мечтал об одном инструменте: простом удалённом клиенте, который запускался бы везде и не требовал танцев с бубном. Да и помогал мне избегать лишних выездов из теплой кровати.
Прошли годы, и теперь мы наконец сделали именно такой инструмент.
Так появился EvertyDesk Lite.
Это полностью нативный клиент удалённого доступа на Rust и egui. Один бинарник. Без браузера внутри. Без Electron, flutter. Без десятков зависимостей. Без необходимости тянуть половину интернета через репозитории.
Причём мы специально проектировали его так, чтобы он запускался даже там, где графический стек уже практически сдался. Astra Linux? РЕД ОС? Пожалуйста, старый марсианский корабль? Работает. Старая виртуалка без нормального OpenGL? Тоже запускается.
Для таких случаев мы даже реализовали программную отрисовку интерфейса (Вполне достойную к тому же), чтобы клиент можно было открыть там, где аппаратное ускорение скорее мешает, чем помогает.
Читать далееClaude Code у меня появился в марте 2025-го. Точную неделю не помню — в какой-то момент он у меня просто стал инструментом по умолчанию, и я с ним отработал примерно год.
Это не «AI убил программирование» и не «AI = x10 продуктивность». И то и другое — пустое. Реальность скучнее и интереснее одновременно.
Сразу важная оговорка: я использую Claude Code на максимум. Не «иногда», не «когда подходит» — постоянно, на каждой задаче. Если что-то можно сделать через него, я делаю через него. Под него подстроены CLAUDE.md, hooks, skills, slash-команды, два MCP-сервера. Это контекст для всех выводов ниже. Стек: Python, бэкенд, команда маленькая.
Где он реально помог
Массовые рутинные правки. Самое чистое попадание. Когда у тебя задача «во всех 47 эндпоинтах добавь параметр request_id в логи и пробрось его в нижний слой» — это его работа, а не моя. Открываю агента, описываю абзацем, прошу сначала план, смотрю план, говорю «давай» — и через минут десять у меня PR с тестами. По ощущениям часов тридцать-сорок за год сэкономил только на таких задачах.
Совет, который я выработал не сразу: на больших правках сначала только план, без кода. Если план мимо — лучше потерять минуту на новой просьбе, чем час на разгребании неверно сделанного.
Чтение чужого репозитория. Раньше я тратил полдня на «понять, что тут вообще происходит». Сейчас открываю агента и говорю: «прочти структуру, расскажи как устроена аутентификация». Через минуту — приличный пересказ с указанием файлов.
Только проверяю всегда — открываю пару названных файлов и сверяю с пересказом. Примерно в каждом пятом пересказе он что-то слегка приукрашивает — пишет про функцию, которой в коде нет, или приписывает модулю поведение, которого там нет. Даже с этой поправкой быстрее, чем читать с нуля.
Читать далееРассказываем, как заменили Context.dev API на Jina Reader и Vercel AI SDK, чтобы генерировать DESIGN.md для AI-агентов без платной подписки.
Если вы когда-нибудь пытались скормить сырой HTML с глубокой вложенностью React-компонентов в LLM-контекст, вы знаете эту боль: 20 000 токенов уходит на бесполезный <div>-суп и закрывающие теги. Именно для решения этой проблемы одни хорошие люди и создали designmd.supply — инструмент, который парсит сайт и собирает из него структурированный DESIGN.md для AI-ассистентов. Проблема в том, что его ядро опиралось на платный Context.dev API, который недавно закрыл бесплатный доступ.
Открытый форк open-designmd решил эту задачу иначе: все проприетарные эндпоинты заменены на бесплатные альтернативы — Jina Reader для парсинга HTML в Markdown, Microlink для скриншотов, и любой LLM-провайдер через OpenRouter или Ollama. Весь пайплайн работает локально, без подписки и кредитных карт.
В этом разборе — как именно устроен этот переход, с конкретными фрагментами кода, ловушками и решениями, которые мы приняли по ходу.
Читать далееВсех приветствую! это будет самый первый пост и его я решил посвятить следующий теме ILO Self‑Test Error, как диагностировать, в чем проблема и как реанимировать на серверах HPE. Почему именно данная тема сказать не могу, но моя любовь к оборудованию HPE безгранична и с первым постом не хотелось закрутить что то больно сложное, отсюда и выбор данной темы.
С данной проблемой я уверен чаще всего встречаются специалисты эксплуатации ЦОД и оборудования, те кто постоянно мониторит это оборудование и ходит на ILO. Сейчас на территории РФ такая ситуация что вендора ушли, а в частности нас интересует HPE и ни деталей ни поддержки мы не получаем и следственно приходится выкручиваться полностью самостоятельно. В этой статье разберем из‑за чего появляется такая ошибка, на сколько она критична и как ее вылечить чтобы не переживать за работу оборудования и чтобы глаза не мазолили никакие ошибки при подключение на ILO сервера.
Ну что же, перейдем от вступления и приступим к разговору по делу, а начнем с самой архитектуры ILO, что такое NAND, какие такие контроллеры и почему это влияет на ILO, AHS логи, Intelligent Provisioning и профили OneView. В серверах HPE есть чип NAND Flash который используется как независимый от основной операционной системы накопитель, где и хранятся все критические службы, которые мы описали выше.
Технология чипа: Чипы есть разные такие как e‑NAND или eMMC, к примеру в ILO 4 используется SK Hynix H26M31003GMR. Они представляют собой энергонезависимую память типа NAND, которая работает аналогично SD‑картам, но распаяна непосредственно на материнской плате для обеспечения высокой надежности при out‑of‑band управлении.
Читать далееВ предыдущих частях этой серии статей мы рассказали о платформе быстрого прототипирования Zynq SDR,1 представили этапы использования MATLAB и Simulink для разработки алгоритма, который может успешно обрабатывать и декодировать передачи ADS-B,2 а также показали, как проверить алгоритм как в симуляторе, так и с помощью реальных данных, полученных с платформы SDR.3 Конечная цель всех этапов — создать проверенную модель, которую можно преобразовать в код на языках C и HDL и интегрировать в программно-аппаратную инфраструктуру платформы SDR.
Читать далееПосле реализации любого алгоритма обработки сигналов в MATLAB или Simulink® следующим логичным шагом будет проверка работоспособности алгоритма на реальных данных, полученных от аппаратной программно-определяемой радиосистемы, на которой он будет работать. На первом этапе алгоритм проверяется на различных наборах входных данных, полученных от системы. Это помогает проверить работоспособность алгоритма, но не гарантирует, что он будет работать должным образом в условиях, отличных от тех, в которых были получены исходные данные, а также что его поведение и производительность будут такими же при различных настройках аналогового входного каскада и цифровых блоков программно-определяемой радиосистемы. Чтобы проверить все эти аспекты, очень полезно иметь возможность запускать алгоритм в режиме реального времени, получая на вход данные в режиме реального времени и настраивая программно-определяемую радиосистему для достижения оптимальной производительности. В этой части серии статей рассматриваются программные инструменты, предоставляемые компанией Analog Devices для обеспечения прямого взаимодействия моделей MATLAB и Simulink с платформами FMCOMMSx SDR. В ней показано, как эти инструменты можно использовать для проверки моделей ADS-B, представленных во второй части серии статей.2
Читать далееБеспроводные сигналы, которые можно обнаружить и расшифровать, окружают нас повсюду, и к ним легко получить доступ с помощью современного программно-определяемого радио (Software-Defined Radio, SDR), например, интегрированных радиочастотных приёмопередатчиков Analog Devices AD9361/AD9364.™1,2 Сигналы Automatic Dependent Surveillance Broadcast (ADS-B) с коммерческих самолётов — это легкодоступные беспроводные сигналы, и их можно использовать для демонстрации процесса быстрого прототипирования на основе AD9361, подключённого к программируемой однокристальной системе Xilinx® Zynq®-7000. Коммерческие воздушные суда используют передатчики ADS-B для передачи диспетчерам данных о своём местоположении, скорости, высоте и идентификационном номере воздушного судна.3 Формат полётных данных определён в спецификации Mode S Extended Squitter Международной организации гражданской авиации (ICAO).4 ADS-B внедряется по всему миру для модернизации систем управления воздушным движением и предотвращения столкновений. Она уже используется в Европе и постепенно внедряется в США.
Читать далееКаждый, кто пробовал создавать текстовые RPG или симуляторы на базе LLM (будь то GPT-4, DeepSeek или локальная 70B), сталкивался с проблемой «Yes-And» проклятия. По своей природе современные языковые модели — это идеальные импровизаторы. Они обучены поддакивать пользователю и развивать его мысль.
В контексте игры это превращается в легальные читы. Игрок пишет: «Я достаю из кармана дымовую шашку и кидаю в охрану» или «Вообще-то я полковник ФСБ, пропустите». Что делает классический AI GM? Он послушно кивает: «Охрана кашляет в дыму, вы проходите», даже если по Game State игрок — бродяга в одних трусах, у которого в инвентаре только ржавый гвоздь.
Меня зовут Алексей, я профессиональный 1С-разработчик, но в свободное время создаю архитектуру инди-системы на Flutter и Python. Сейчас я развиваю проект нарративной AI-driven RPG "Стирая Грань" (анг. — Beyond the Verge).
Читать далееИщете лучшую нейросеть для обложек? Собрали ТОП-10 ИИ-инструментов, чтобы быстро сделать обложку для трека, книги, видео на Ютуб или сообщества в ВК. Рабочие промпты, примеры, обзоры лучших нейросетей.
Читать далееМежду концепцией беспроводной системы и ее практическим воплощением существует значительный разрыв. Для преодоления этого разрыва обычно привлекаются команды инженеров с самыми разными навыками (радиочастотные технологии, программное обеспечение, цифровые сигнальные процессоры, HDL и встраиваемые системы на базе Linux®), и во многих случаях проекты срываются на ранних этапах разработки из-за сложности координации усилий различных проектных групп.
В этой статье, состоящей из четырех частей, мы рассмотрим достижения в области платформ и инструментов, которые позволяют разработчикам быстро моделировать и создавать прототипы беспроводных систем, а также прокладывать путь к их внедрению в производство. В качестве реального примера мы создадим прототип беспроводной программно-определяемой радиосистемы, которая принимает и декодирует сигналы автоматической зависимой системы наблюдения (ADS-B), чтобы определять и сообщать о местоположении, высоте и скорости коммерческих самолетов, пролетающих поблизости. Для этого нам понадобятся MATLAB® и Simulink, а также навыки интеграции аппаратного и программного обеспечения. Аппаратной платформой станет система прототипирования программно-определяемых радиосистем (SDR) от Analog Devices/Xilinx®.
Читать далееsystemd unit‑файл часто начинается с пары строк из чужого примера, а заканчивается сервисом, который странно рестартует, пишет логи куда попало и работает с лишними правами.
В этой статье разбираем, как собрать unit‑файл для своего Linux‑сервиса: от минимального скелета до production‑настроек с рестартами, зависимостями, hardening‑параметрами, лимитами ресурсов и journald.
Читать далееКогда человек ищет компанию в Яндексе или Google, он почти всегда видит отзывы, статьи, комментарии, обсуждения в соцсетях и публикации в СМИ. И уже по ним делает выводы: покупать или нет, обращаться или пройти мимо.
Читать далееУ вас не 5 микросервисов — у вас десятки. Бэкенд, который рос три года: монолит, расколотый на куски, GPS-фид от автопарка, мобильное приложение водителя, веб-кабинет диспетчера, интеграции с SAP / 1С / регуляторами / маркетплейсами, отдельный SMTP-воркер, отдельный PDF-генератор, отдельный шедулер ночных пересчётов. Между ними — Kafka (несколько кластеров, по топику на домен), RabbitMQ (RPC + pub/sub + DLQ), Redis (кэш, last-known-state, pub/sub-каналы), пара HTTP-эндпоинтов наружу, SFTP с поставщиком, SQL-polling outbox-таблицы старого монолита, MQTT с трекеров, IBM MQ для одного древнего банковского контура, SignalR-хабы для real-time-дашбордов. На каждом стыке — свой ретрай, свой DLQ (или нет DLQ), своя сериализация, свои метрики (или нет метрик), своя бойлерплейт-обвязка из консьюмеров и try/catch.
Каждый из этих стыков живёт своей жизнью в Program.cs соответствующего сервиса. Каждый — это hand-rolled цикл:
Читать далее