Как хранили данные в PROM начала 1970-х, когда один бит буквально зависел от состояния микроскопической плавкой перемычки? Кен Ширрифф разобрал MMI 5300 и показал устройство кристалла изнутри: от массива на 1024 бита и схемы адресации до высоковольтного программирования и хитростей, которые использовали для тестирования таких микросхем.
Разобрать PROMВ этой статье я покажу, как использовать IAsyncEnumerable в WPF‑приложении для асинхронных операций. Код полностью рабочий, его можно скопировать и запустить.
Для команд используется библиотека Prism (NuGet: Prism.WPF). Если у вас нет Prism, команды можно реализовать вручную, но в примере используется стандартный подход из Prism.
Предположим нам нужно выполнить поиск устройств по протоколу Modbus RTU или любую другую операцию с результатами.
Часто первым решением становится использовать асинхронную операцию или поток в совокупности с событиями для проброса данных. Но тогда нам необходимо будет управлять подписками на события, пробрасывать данные из внешнего потока в основной UI через Dispatcher.Invoke.
В начале пути я, как и многие, использовал асинхронные операции с событиями, методами‑обработчиками и Dispatcher.Invoke для проброса данных в основной поток. Но если данных много и\или они часто меняются, это создает дополнительные сложности. Так же куча событий, делает код более запутанным и менее масштабируемым.
Начиная с C# 8, появилась возможность использовать IAsyncEnumerable, позволяющие реализовать код профессионального уровня с линейной сигнатурой и преимуществами такими как:
Читать полностьюЕсли вы ведете pet‑проекты, требующие большого количества вычислений, то наверняка сталкивались с проблемой их - вычислений - оркестрации. Содержать личный кластер позволить себе могут далеко не все, а каждая арендная платформа имеет свой специфический инструментарий интеграции и свои ограничения, а хуже всего, что ни одна из них не имеет гарантий полного выполнения. Вдобавок к этому, еще и не хотелось бы завязываться на одну конкретную площадку, как минимум потому, что некоторые провайдеры дают бесплатные возобновляемые квоты, и тратить их, вместо своих кровно заработанных, гораздо приятнее. В данной статье будет рассматриваться пример с арендными GPU, однако все основные тезисы полностью переносимы и на другие сценарии использования.
У вас, скорее всего, уже открыт десяток разнообразных вкладок: какая‑нибудь платформа с бесплатными недельными лимитами, вроде Kaggle; что‑нибудь с бесплатными возобновляемыми кредитами, на подобии Lightning AI; возможно, пара площадок со спотовыми машинами по цене чашки кофе, например Vast, но с оговоркой — никто не обещает, что машину не заберут, или у ее владельца не отвалится сеть.
Каждый вариант в отдельности выглядит как «ну, на пару экспериментов может быть и хватит» с различной долей допущения. Все вместе они выглядят как кластер. Нюанс в том, что кластером они становятся не сами: между «у меня есть пяток площадок» и «моя задача точно доедет до конца и не ляжет в непредсказуемый момент» находится довольно много инженерной работы, и почти вся она — не про площадку, а про грамотную оркестрацию.
Эту работу я выполнил для своего проекта и хочу поделиться тем, из чего она состояла. Многие решения оказались неочевидными, а добрая половина появилась лишь после того, как самый явный вариант сломался.
Итак, приступаем...
Где взять гарантию, которая не существует?Как сжать данные на диске на компьютере/ноутбуке?
Почему нажимать эту кнопку не стоит?
Что использовать вместо этой кнопки?
Я хочу знать большеОтчужденность — это чувство внутреннего разрыва человека с миром, людьми, трудом.
В разговоре с другими людьми вы чувствуете себя отдельно от них. Ваш труд перестает отражать вас, в нём больше не видно вашего следа. Вокруг всё меняется быстрее, чем вы успеваете подстроиться — мир становится немым.
Обратное чувство — назовём его отзвучностью: человек слышит мир, и он ему откликается. Немецкий социолог Хартмут Роза называет такое отношение резонансом.
Под катом — попытка разобрать эту метафору как механизм: камертоны, метрономы и смерть осциллятора; нейросеть, где вместо нейронов — осцилляторы; мозг как химера ритмов и внимание, которое оказывается не лучом, а стробоскопом; живые нейроны, выучившие Pong ради предсказуемого мира; семь признаков, отличающих отчужденность от одиночества, фрустрации и апатии. И вывод, который спорит с самим Розой: отчужденность — не противоположность резонанса.
Читать далееУ меня браузерный генератор вывесок: человек набирает надпись, получает STL-модель корпуса под светодиодную ленту. Всё считается на его же машине, файл никуда не уходит. Однажды пришёл вопрос, который сломал мне неделю: надпись 500 мм, стол принтера 256×256. Что делать?
Стандартный ответ — «режьте в слайсере». Слайсер режет плоскостью, и это честно работает ровно до момента, когда вы забираете со стола две половинки со стеклянно-гладкими срезами и понимаете, что совместить их нечем. Клей по гладкому PLA держит на честном слове, при склейке половинки едут, и на видном месте остаётся ступенька.
Я решил сделать рез внутри генератора: чтобы части сразу выходили с замками и собирались без клея. Дальше — про то, как я трижды всё переделал, и про шесть граблей, каждая из которых стоила мне вечера.
Читать далееПолтора года назад в России появились оборотные штрафы за утечки персональных данных. За это время Роскомнадзор назначил штрафов на 2,6 млн рублей (при 1,58 млрд утёкших записей). Почему угроза штрафа изменила поведение бизнеса сильнее, чем сам штраф? И как посчитать риск утечки в рублях?
Читать далееКак-то незаметно прошла новость, что иена упала до минимального за 40 лет значения к доллару. Ну, казалось бы: упала, так упала. Тем более что объяснение везде одно и то же.
Мол, ставка Банка Японии — 1%, а у ФРС США — 3,5–3,75%, и значит, делают вывод: глобальные инвесторы занимают в иенах, потом их продают, меняют на доллары и вкладываются в долларовые активы — акции и облигации на Уолл-стрит.
Называется эта игра на ставках, или кэрри-трейд. Ну, а раз иену сбрасывают, вот она и катится по наклонной.
Читать далееНеважно, что делает LLM. Задача все равно приходит словами, и одно пропущенное не может испортить уже вполне материальное действие. Смотрю на LLM глазами лингвиста и разбираюсь, как языковед проверяет LLM от токенизации до прагматики и что разработчик может превратить из этого филологического занудства в код, метрики и тесты.
Читать далееКогда говорят о DuckDB, обычно вспоминают аналитику: локальные запросы к Parquet, быстрые агрегации, ноутбуки. Но у него есть свойство, к аналитике отношения не имеющее: он умеет соединять источник и приёмник данных внутри одного SQL-плана. С расширениями для Oracle и PostgreSQL перенос данных сводится к одному запросу — без Instant Client, без OCI, без Python и без промежуточных файлов. А если одной сессии Oracle мало, чтение разбивается на параллельные шарды, читающие один согласованный снимок по единому SCN.
Читать далееПолгода назад я поддерживал TypeScript SDK для одной панели администрирования. Обычная библиотека: сгенерированный из OpenAPI клиент, авторизация, ретраи, вебхуки. И в какой‑то момент я поймал себя на том, что рутинные вопросы к панели — «у кого истекает доступ на этой неделе», «почему нода отвалилась», «сколько трафика съел вот этот аккаунт» — я решаю одинаково: открываю редактор, пишу пятнадцать строк скрипта на своём же SDK, запускаю, читаю, удаляю.
Мысль напрашивалась: SDK уже типизирован, схемы уже есть, значит модель может вызывать его сама. Так появился marzban-mcp.
Дальше выяснилось, что «обернуть SDK в MCP» — это примерно 10% работы. Остальные 90% — ответ на вопрос, который в обычной библиотеке вообще не стоит: что можно доверить модели делать с боевой инфраструктурой, а что нельзя, и как эту границу выразить в коде.
Читать далееМеня зовут Павел, я разработчик в R77.AI. В статье расскажу, почему Python-библиотеки для ML могут незаметно ходить в интернет, как находить такие скрытые загрузки и что с ними делать в закрытом контуре.
Читать далееНа мероприятиях по сетевой безопасности всё чаще обсуждают, как правильно соотносить показатели производительности сетевых средств защиты информации (СЗИ) с потребностями организации. Новые функции и продукты в условиях импортозамещения появляются с умопомрачительной скоростью. И с такой же скоростью для них разрабатываются новые методики, показатели, измерительные средства. Но эта гонка касается не только потребителей и интеграторов. Разработчикам нужно как успевать создавать и модернизировать продукты на уровне конкурентов, так и качественно проверять, отлаживать свои решения.
Особенно остро этот вопрос стоит для NGFW — самого сложного и полнофункционального продукта в линейке сетевых СЗИ. Наши коллеги уже делились опытом в этой области. Мы расскажем о своём подходе: как мы сопровождали разработку и тестировали режимы работы сетевых СЗИ с помощью собственного генератора трафика.
Читать далееВ пятницу, 21 августа, миллиардеру Сергею Брину исполнилось 53 года. Он известен как сооснователь компании Google. По данным Forbes, в 2026 году состояние Брина оценивается в $260 млрд, что делает его четвёртым богатейшим человеком мира.
История Брина выделяется на фоне других сверхбогатых предпринимателей, поскольку он стал самым успешным в бизнесе и технологиях выходцем из СССР.
Читать далееВ июле 2026 года OpenAI заметно изменила голосовой режим ChatGPT и запустила GPT-Live-1 — модель для более естественного разговора в реальном времени.
Теперь ChatGPT умеет слушать во время собственной речи, реагировать на перебивания, ждать окончания мысли, работать с веб-поиском, памятью, текстом и изображениями в одном диалоге. Сложные вопросы он при необходимости может передавать более мощной модели для отдельного анализа.
Но вместе с этим появились и новые особенности: Live может отлично держать длинный контекст, а через минуту внезапно перейти на «угу», перебить пользователя или додумать то, чего он не говорил.
В статье разберём, как устроен новый голосовой режим, почему он иногда кажется «зубчатым» и, главное, как с ним разговаривать так, чтобы получать более точные, содержательные и естественные ответы.
Читать далееПродолжение статьи «От монолита и чатов к FMS и FMS App». Читать первую часть не обязательно — нужные вводные дам по ходу, но с ней будет вкуснее.
Всем привет! Меня зовут Даня Сухарев, я директор по продукту внутренних сервисов в каршеринге Ситидрайв. Герой этой статьи — один из таких сервисов: FMS, Fleet Management System. Полтора года назад, ещё в роли продакта FMS, я написал первую статью — про то, как мы за три квартала с нуля построили систему управления автопарком и мобильное приложение FMS App, чтобы победить два монолита, чаты и онлайн-таблички.
Читать далееКак вы себе представляете работу OCR? Страничка сканируется, программа находит области с буквами, распознает их и выдает текст. Старый добрый Tesseract так и пашет. А вот новый baidu/Unlimited-OCR делает финт ушами: он вообще не ищет буквы. Он берет всю страницу как картинку, жмет ее в горстку визуальных токенов и скармливает языковой модели, которая разворачивает их обратно в структурированный текст. Звучит как извращение, но… работает.
Это прямой наследник идеи DeepSeek-OCR. Сегодня коротко разложу: что это, как устроено, что умеет и как запустить у себя. Будет полезно всем, кто хочет распознавать многостраничные документы за одну проходку или вписать такую функцию в свой проект.
Читать далееПривет, Хабр!
Собрать Lakehouse на слайде несложно. Берём S3-совместимое хранилище, добавляем Iceberg, Spark, Trino, Kafka, Airflow и каталог данных. Получается современно, масштабируемо и архитектурно красиво. Гораздо сложнее сделать так, чтобы эта конструкция работала в определенных корпоративных сценариях. В статье попробуем отделить архитектурную концепцию от маркетинга и разобраться, как на самом деле идут проекты внедрения Data Lakehouse в России: какие решения доступны на рынке, какие проблемы платформа не решает, когда её внедрение имеет смысл и как выбрать подход к миграции.
Читать далееКогда я только начал изучать рынок разработки в США, меня в первую очередь заинтересовали их зарплаты. И такие зарплаты американских Software Engineer, как $150k, $180k, $200k+ в год, для меня, на тот момент обычного middle‑разработчика из РФ, выглядели непривычно большими. И у меня быстро возник вопрос: А за что, собственно, американская компания готова платить такие деньги?
Неужели просто за знание React, Node.js, TypeScript и AWS?
И после глубокого изучения американского рынка я пришёл к такому выводу, что высокая компенсация связана не столько с количеством технологий в резюме, сколько с тем, какую часть инженерной ответственности разработчик способен взять на себя. Но сначала про их зарплаты.
В США имеет смысл различать два понятия: Base Salary — фиксированная зарплата и Total Compensation (TC) — общая годовая компенсация, которая обычно включает base salary, бонус и акции/RSU. TC нельзя напрямую сравнивать с зарплатой в РФ: equity может быть существенной частью компенсации, а её структура и ликвидность отличаются. По актуальным данным из Levels.fyi, на август 2026 года медианная Total Compensation Software Engineer в США составляет около $195k. 25-й перцентиль — около $137k, 75-й — около $282k, и это данные по Software Engineer всех уровней. Поэтому я сделал выборку с конкретными уровнями, которые можно приблизительно сопоставить с Middle.
Читать далееСегодня компании все чаще используют нейросети не только для отдельных запросов, но и для выполнения целых цепочек задач. ИИ-агент может самостоятельно найти информацию, написать код, обратиться к внутренней системе и подготовить результат. Чем больше таких действий система выполняет без участия человека, тем важнее становится контроль за ее работой и тем выше цена ошибки.
На третьем фестивале True Tech Friends эксперты обсудили реальные случаи внедрения ИИ-агентов и ситуации, в которых автоматизация начинала работать не так, как от нее ожидали. В центре дискуссии оказался практический вопрос: где агенту действительно нужна автономность, а какие задачи лучше оставить обычным алгоритмам.
В обсуждении приняли участие Ярослав Лосев, руководитель команды фронтенд-разработки «Яндекс Путешествий», Сергей Курбанов, руководитель исследований и разработок MWS, и Даниил Слюсарь, руководитель разработки PT Application Inspector в Positive Technologies.
Читать далее