Менеджер Stripe Кэмерон Маттис простым способом отфильтровывает ИИ-рекрутеров, он добавил в раздел «О себе» в LinkedIn простой промпт для нейросетей с просьбой вставить в сообщение рецепт испанского пудинга. Это работает, ему присылают рецепты в предложениях о работе.
Составили рекомендации, как безопасно разрабатывать ИИ‑агентов и мультиагентные системы
Команда Security Yandex Cloud опубликовала руководство по снижению рисков при разработке и внедрении агентов на базе LLM. Мы обобщили опыт создания агентов для ML, Security и других сервисов Яндекса, которые уже используют агентную систему и генеративные технологии компании.
Результатом этой работы стал подход к разработке модели угроз при внедрении, а также методы защиты для ключевых компонентов:
самих генеративных моделей,
модулей и баз знаний, которые используются в работе ИИ‑агентов.
Особое внимание мы уделили безопасности данных и предотвращению рисков, возникающих из‑за автономности агентов.
При подготовке рекомендаций мы также учли лучшие практики международных организаций, включая OWASP®, NIST и MITRE ATT&CK®.
Предложенные в документе принципы безопасной разработки используются на всех этапах при создании автономных или взаимодействующих между собой ИИ‑агентов в сервисах Яндекса. Команды безопасности ещё на стадии проектирования изучают будущую архитектуру и проверяет её на безопасность. Затем специалисты тестируют код на возможные уязвимости и проверяют на соответствие стандартам безопасной разработки.
Яндекс также изучает возможные способы атак на нейросети и разрабатывает защиту от потенциальных угроз. Антиробот Яндекса защищает ИИ‑сервисы от злоупотребления и эксплуатации уязвимостей. Сервис Yandex Smart Web Security теперь содержит ML WAF — технологию для защиты от веб‑атак на основе машинного обучения, которая даёт более широкое покрытие векторов атак за счёт сочетания сигнатурного анализа и ML. Центр мониторинга выявляет угрозы и анализирует подозрительную активность в инфраструктуре. Ещё один инструмент для проверки и усиления безопасности ИИ — направление программы Яндекса «Охоты за ошибками», связанное с генеративными нейросетями.
RCS (Rich Communication Services) — это эволюция SMS/MMS, протокол, который мобильные операторы и Google продвигают как «мессенджер по умолчанию». Если SMS = plain text, то RCS = полноценные интерактивные сообщения с кнопками, каруселями, картинками, видео, QR-кодами и встроенной аналитикой.
Ключевые моменты
Протокол: работает поверх IP, а не через старую SMS-сеть, но доставляется в «стоковое» приложение сообщений (Google Messages, Samsung Messages).
API: доступ через Google Jibe Hub (фактически, центр маршрутизации), плюс нужно согласование с операторами. Прямо в код «в лоб» не залезешь — всё через провайдеров/агрегаторов.
Безопасность и доверие: каждая компания-отправитель проходит верификацию бренда, чтобы на экране у пользователя сообщения выглядели не как «спам», а с логотипом и цветами бренда.
UX: разработчик не отправляет просто текст, а собирает карточку или интерактив через шаблон/SDK → пользователю приходит сообщение, похожее на push или мини-приложение внутри SMS.
То есть RCS = «SMS на стероидах», но с кучей бизнес- и бюрократических ограничений. Главная боль — доступ к API и вся регуляторка, поэтому на рынок вышли «коробочные» сервисы (как Smobi), которые берут эти сложности на себя
Google Labs запустила Mixboard — ИИ-платформу для создания интерактивных мудбордов
Google представила экспериментальную платформу Mixboard для визуального концептинга с поддержкой ИИ-генерации изображений. Сервис объединяет функциональность интерактивной доски с возможностями новой модели редактирования изображений Nano Banana, позволяя создавать и миксовать визуальный контент через естественные языковые команды.
Архитектура и функциональность
Mixboard построена на базе Google Labs как экспериментальная платформа для исследования применений генеративного ИИ в креативных процессах. Система использует открытый canvas-интерфейс с интегрированными возможностями генерации и редактирования изображений.
Основные технические возможности:
Генерация изображений из текстовых промптов
Редактирование через естественные языковые команды
Пакетная генерация связанного контента по теме
Комбинирование и миксование загруженных изображений
Контекстная генерация текста на основе визуального контента
Модель Nano Banana
Ключевая техническая особенность — интеграция новой модели редактирования изображений Nano Banana. Модель позволяет вносить точечные изменения в существующие изображения через текстовые команды без перегенерации всего контента.
Возможности Nano Banana:
Локальные изменения в определенных областях изображения
Комбинирование элементов из разных источников
Адаптация стиля и цветовой схемы
Сохранение общей композиции при внесении изменений
Интерфейс и workflow
Платформа предлагает два способа создания проектов: генерация с нуля из текстового промпта или использование готовых шаблонов. Система автоматически предлагает релевантные визуальные элементы и позволяет создавать вариации одним кликом.
Функции интерфейса:
Drag-and-drop размещение элементов на canvas
Инструменты "regenerate" и "more like this" для создания вариаций
Импорт собственных изображений с возможностью ИИ-обработки
Экспорт готовых мудбордов в различных форматах
Сравнение с конкурентами
Mixboard позиционируется как альтернатива Pinterest и Canva с акцентом на ИИ-ассистированное создание контента. В отличие от коллажного подхода Pinterest, платформа генерирует оригинальный визуальный контент без зависимости от существующих изображений.
Отличия от аналогов:
Pinterest — курирование существующего контента vs генерация нового
Canva — шаблонный дизайн vs свободное концептирование
Miro — collaborative whiteboarding vs ИИ-ассистированная визуализация
Figma — UI/UX дизайн vs креативное исследование идей
Технические ограничения
Платформа находится в публичной бета-версии с доступом только для пользователей из США. Это связано с ограничениями генеративных ИИ-моделей Google и требованиями локального законодательства по контенту.
Система работает через веб-интерфейс без возможности офлайн-использования. Качество генерации зависит от специфичности промптов и может требовать итеративного уточнения для достижения желаемого результата.
Практические применения
Для дизайнеров:
Быстрое создание концептуальных мудбордов
Исследование визуальных направлений проекта
Генерация альтернативных вариаций дизайн-решений
Для маркетологов:
Создание визуальных концепций кампаний
Тестирование креативных подходов
Подготовка материалов для брифинга агентствам
Для разработчиков продуктов:
Визуализация пользовательских сценариев
Создание референсов для UI/UX команды
Исследование визуальной идентичности продукта
Интеграция с экосистемой Google
Mixboard требует Google-аккаунт и интегрируется с другими сервисами Google Labs. Платформа использует инфраструктуру Google Cloud для генерации и обработки изображений, что обеспечивает масштабируемость и производительность.
Техническая интеграция:
Синхронизация проектов через Google Drive
Возможность встраивания в Google Slides и Docs
API для интеграции с внешними инструментами
Discord-сообщество для обратной связи и обновлений
Перспективы развития
Как экспериментальный продукт Google Labs, Mixboard служит полигоном для тестирования новых подходов к ИИ-ассистированному креативному процессу. Результаты могут быть интегрированы в
Читает ли кто-нибудь в современном мире диссертации или это считаетеся какой-то фигней чтобы поставить галочку? Вспомним что вся цифровая электроника, все айфоны, интернет-роутеры и ИИ-ускорители - построены на двух диссертациях: 1) магистерской диссертации Клода Шеннона, который в 1937 году повысил уровень абстракции проектировщиков с переключателей (на основе реле и ламп) до булевской логики и/или/не и 2) диссертации 1954 года Дэвида Хаффмана в MIT, который обобщил более ранние потуги и сформулировал модель Хоффмана для последовательностной логики: комбинационное облако вычисляет следующие значения элементов состояния (сейчас это в 99+% случаев D-триггеры), которые записываются по фронту тактового сигнала.
У истории были альтернативные ветки (например электроника могла бы строится на C-элементах Мюллера), но в нашей параллельной вселенной они не прижились.
Экспертно-аналитический центр InfoWatch выпустил исследование «Тенденции в обеспечении кибербезопасности сетевой инфраструктуры: 2025 год». Исследование показало, что самый востребованный инструмент в области сетевой безопасности — это межсетевые экраны нового поколения (NGFW), при этом требования к ним растут.
Комментирует главный аналитик ЭАЦ InfoWatch Сергей Слепцов:
«Будущее межсетевых экранов нового поколения предполагает более глубокую интеграцию искусственного интеллекта и машинного обучения — в первую очередь с точки зрения улучшения обнаружения угроз, мониторинга аномалий и автоматизации реагирования. Также мы ожидаем, что NGFW будут развивать поддержку гибридных сред, поскольку компании активно используют облачную инфраструктуру, но при этом многие крупнейшие предприятия обоснованно не готовы переносить из локальных сетей критически важные процессы».
Как правильно внедрить SRI и обезопасить свой проект от атак через CDN?
Subresource Integrity (SRI) — это функция безопасности, которая позволяет браузерам проверять, не были ли данные, загруженные посредством CDN, изменены. SRI — важный инструмент для повышения безопасности веб-приложений. Он защищает от атак, в которых злоумышленник может внедрить вредоносный код в сторонние ресурсы.
В статье «Как настроить SRI, если у нас микрофронты» рассказываем, что это такое и зачем он нужен, как устроена технология на практике и почему она особенно важна в проектах с микрофронтами. Если вы работаете с микрофронтами или хотите повысить безопасность фронтенда — эта статья поможет сделать всё грамотно и без лишних головных болей.
В Рег.облаке запустили облачные серверы с ИИ-ассистентом
В Рег.облаке стало доступно новое локальное решение для запуска и управления языковыми моделями LLM. Облачный сервис разворачивается за несколько минут и работает в изолированном окружении: данные и доступ полностью контролируются пользователем.
Что входит в образ:
Ollama — фреймворк для запуска и управления LLM-моделями;
Open WebUI — веб-интерфейс для работы через браузер;
предустановленные модели Gemma 3, DeepSeek и Grok, с возможностью подключения моделей из Ollama и Hugging Face.
Основные возможности:
интеграция через API во внутренние сервисы;
подключение документов и баз знаний для контекстных ответов;
параллельный запуск и сравнение нескольких моделей;
плагины Open WebUI для работы с файлами и данными;
работа с конфиденциальной информацией без передачи в публичные сервисы.
ИИ-ассистент доступен в конфигурациях с CPU и GPU. Для работы с несколькими моделями рекомендована конфигурация с NVIDIA A5000 (24 ГБ), 16 vCPU и 64 ГБ RAM. Заказать и протестировать сервер с ИИ-ассистентом можно уже сейчас на сайте Рег.облака.
Первая в России конференция про ускорение разработки с помощью ИИ: реальные кейсы, судьба разработчиков и риски спагетти-кода
На Хабре до сих пор спорят про пользу вайбкодинга и вымирание профессии программиста. Тем временем бигтех уже использует AI-агентов, которые берут на себя больше, чем написание кода. В T-Tech они ведут задачи в SDLC и общаются друг с другом без дейликов, а Яндекс и Магнит обучают агентов управлять продуктами без человека. Это не эксперименты, а рабочий продакшн: релизы не откладываются на месяцы, счет идет на дни.
Мы в Surf собрали на одной площадке тех, кто уже живёт в этой новой реальности: CTO, QA-лидов, техдиров и исследователей из Яндекса, Ozon, Surf, Сбера, T-Tech и других. Они расскажут и покажут всю подноготную своих проектов с ИИ 3 октября, на первой в России конференции по ускорению разработки с ИИ AI Boost 2025 в Москве.
Евгений Сатуров, CTO Mobile Surf покажет, как обучить вайбкодингу полсотню разработчиков и при этом не нажить врагов в команде.
Александр Поломодов, технический директор T-Tech расскажет, когда автономные ИИ-агенты становятся полноценными участниками SDLC и начинают взаимодействовать друг с другом. Разберём переход от привычных AI-ассистентов вроде Cursor к ИИ-агентам.
Мария Лещинская, Head of QA в Surf и кандидат технических наук по ИИ и ML объяснит, как shift-left подход и автогенерация автотестов помогают ускорять delivery и повышать качество продукта.
Александр Коренев, руководитель IT-проектов в Банке «Левобережный» поделится кейсом внедрения ИИ в банковские проекты с нуля: от обучения персонала до автоматизации рабочих процессов.
Альбина Галлямова, социобиолог из НИУ ВШЭ поделится научной подоплекой: выживут ли «обычные» разработчики в мире, где нейросети берут на себя всё больше задач?
Докладами не ограничимся — собрали экспертов на круглые столы, где обсудим самые горячие вопросы:
«Внедрение ИИ vs Безопасность» Эксперты из Ozon, Сбера, Positive Technologies и Surf обсудят, как сочетать скорость релизов с безопасностью, где прячутся уязвимости AI-решений и зачем компании вводят ограничения на LLM.
«ИИ в продакшн: спасение или новый спагетти-код?» Представители Магнита, Яндекса, Surf и Атол расскажут, как нейросети ускоряют релизы, можно ли доверять им архитектуру и сложные задачи и как можно в этих условиях вырасти от джуна до тимлида.
Кому будет полезно:
C-level и руководителям разработки — если ищете способы прокачать delivery и эффективность команд.
Тимлидам и senior-разработчикам — если хотите разгрузить команду от рутины, улучшить качество кода и внедрить AI-практики в ежедневную работу.
Продуктовым и проектным менеджерам — если планируете AI-проекты и хотите понимать, как реалистично оценивать сроки, риски и ресурсы на AI-разработку.
ИИ-энтузиастам — если хотите разобраться и перенять лайфхаки по работе с ИИ для себя и своих проектов. И неважно, джун вы или сеньор.
Формат и участие
Конференция пройдет 3 октября (пятница) в Москве, локация — ДК Рассвет. Начало в 12:00. Вас ждет 9 часов контента, нетворкинга и новых идей для своих проектов. А еще — возможность получить бесплатную консультацию с CTO Surf по внедрению ИИ-процессов в своих проектах.
🚀 Объём корпоративных данных растёт на десятки процентов в год, а специалистов всё так же не хватает. В статье для VC.RU мы вместе с Екатериной Ризановой рассказали, как ИИ-агенты помогают решать эту проблему: берут на себя рутинные задачи в хранилищах данных и BI-системах, ускоряют работу команд и экономят компаниям миллионы рублей в год.
ИИ-агент — это не чат-бот. Он сам выполняет действия: анализирует код витрин, строит lineage, генерирует SQL, находит инсайты и помогает сотрудникам сосредоточиться на действительно важных задачах.
Чем дольше живу, тем сильнее поражаюсь способности людей «заплетать» свои собственные мозги. И, кажется, программисты в этой области вне конкуренции. Уже писал некоторое время назад, как я завел цикл внутри цикла с тем же именем счетчика. Это было пару часов отчаяния, сопровождавшегося размышлениями о том, что фундаментальные законы мира внезапно изменились, а меня забыли поставить об этом в известность. Недавно я повторил этот трюк, правда с некоторыми занятными модификациями. Был у меня в проге цикл по объектам в списке. Там смысл в том, что при некотором условии новый объект добавлялся в конец этого самого списка. Все бы ничего, но в этот момент счетчик объектов инкрементировался. А он то как раз и служил верхней границей цикла… В общем, как легко понять, дело кончилось segmentation fault… Но эту бажину (хотя она даже более заморочная на мой вкус) , я нашел относительно быстро, не успев погрузиться в бездну отчаяния. Кода было немного, поэтому обошлось без смен компилятора и переустановок IDE… В этот раз, можно сказать, повезло. И бездна отчаяния меня миновала. Но тот, кто ищет проблем, обязательно их находит. И что самое удивительное, что я их нахожу всегда в одном месте. Я в-общем то хорошо знаю, что люди еще не придумали ничего хуже конечных автоматов (state machines). И вот уже 35 лет регулярно наступаю на одни и те же грабли… В этот раз мне всего-навсего нужен был один флаг. В задаче Винтика и Шпунтика используется нетривиальный алгоритм, многократно использующий рекурсию. Ну и мне нужен был этот флаг, как индикатор того, что некое событие произошло. А когда происходило другое событие, этот флаг сбрасывался. Стандартная, в-общем, ситуация, но внутренний голос немедленно поднял «красный флаг опасности» и зашептал в голове «Нахлебаешься, Валер, ой, нахлебаешься...» И вот тут бы мне остановиться и подумать, но я, как обычно, решил, что сейчас сделаю, а подумаю потом… Все дело в том, что эти флажки (или состояния конечного автомата) имеют дурное свойство размножаться, куда быстрее чем кролики. За первым флажком немедленно последовал второй — ну просто для того, чтобы обозначить функцию, которая первый флаг установила. А потом третий, чтобы обозначить функцию, которая его сбросила… И мне уже казалось, что вот они разверзающиеся врата ада, но, конечно же, это было еще не так. Ибо настоящий ад наступил, когда программа стала многопоточной. И это еще при том, что у меня есть хорошая привычка обкладывать модификацию всех этих флажков критическими секциями. Даже если не надо. Всегда легче потом убрать и удивиться тому, что все работает, чем сутками докапываться, почему нет. Это уберегло меня от многих проблем, но не уберегло от главной. Сейчас этих флажков в программе 12. И они живут своей собственной жизнью. Я уже не в состоянии отследить кто, где, когда и зачем их модифицирует. Начал думать о том, что надо бы ввести для каждого флажка некую структуру, которая будет содержать ответы на эти вопросы. Но тут уже внутренний голос встал на дыбы, и, как ни странно, в этот раз я его послушал. Вот сижу теперь и думаю над романом (или длинным рассказом) о программисте, который взялся за непосильной сложности алгоритм и постепенно сходит с ума. Хуже того, что он это сам понимает, и ему становится страшно. Но поскольку он программист, то свой мозг он считает конечным автоматом, и пытается его «отлаживать». Таким образом запускается бесконечная цепь рекурсий. И периодически ему приходит в голову мысль, что надо все бросить и написать заново. Но он боится потому что давно уже потерялся и не знает на каком уровне рекурсии он находится… Такой вот юмористический (а может и не юмористический) хоррор с элементами мистики. И легким флером безнадеги из набоковской «Защиты Лужина». Ну вот. Написал пост. Немного отвлекся. Пойду дальше код дебажить…😁
Помогает ли олимпиадное программирование в реальной разработке
Этот и ещё пять тезисов об олимпиадном опыте разобрали с бывшим олимпиадником, Антоном Чаплыгиным, и неолимпиадником, Мишей Усковым. Оба — ведущие инженеры-программисты в Контуре.
В тусовке олимпиадников существует определённая культура превосходства и часто эти ребята воспринимают неолимпиадников как менее квалифицированных программистов
Неолимпиадник: Да. Я ощутил это, когда учился на первых двух курсах универа: перед сессией ребята-олимпиадники говорили, что даже не будут готовиться к экзамену, потому что и так всё знают. 👌 Потом они, конечно, всё заваливали, шли на пересдачу, но гонора до этого момента было много. =) Со временем такие ребята стали проще.
Олимпиадник: Подтверждаю! Например, я пришёл в универ из регионального лицея и у меня были проблемы с неалгоритмическими предметами, например, матанализом. Те, кто уже учил его, считали, что они-то всё знают, а я — нет.
В олимпиадной среде есть соревновательный дух, на нём всё держится. Но считаю, когда попадаешь на учёбу, лучше этот гонор отложить в сторону и с людьми начать нормально общаться.
Олимпиадное программирование бесполезно в реальной разработке. 99% задач в индустрии не требуют сложных алгоритмов
Олимпиадник: Согласен с тезисом, что большая часть задач не требует каких-то алгоритмических подходов, особенно в продуктовых командах. В инфраструктуре этого обычно больше, и когда я сталкиваюсь с алгоритмами, кайфую от этого.
Неолимпиадник: Согласен, что в продуктах алгоритмических задач мало, но они часто критичные. Ты можешь делать 900 простых задач, но без сложных вообще никуда не уедешь. В Контуре есть своя база данных, своя очередь. Мы можем сделать в сервисе много красивых финтифлюшек, но если у нас не будет быстро работать база, мы никому не будем нужны.
Вот ты пользуешься какими-нибудь библиотеками, фреймворками, но при этом не знаешь, что происходит внутри, — это не прикольно. А олимпиадные задачи часто про структуры данных, про Computer Science, и это всё хорошо бы знать.
При этом я считаю, что где-нибудь в промышленной разработке лучший олимпиадник — далеко не всегда лучший программист. Ведь программист — это не только про «У меня есть задача, я превратил её в код», а скорее про «Я знаю, с кем поговорить, что уточнить».
Олимпиадников сложно переучить, они склонны оптимизировать несущественные вещи
Неолимпиадник: У нас в команде были олимпиадники, и когда они брались за задачи, было видно, что им интересно их «покопать», сделать из этого красивое решение, чтобы оно идеально работало. Это всё хорошо, но не всегда такое надо, особенно когда хочется уже быстрее получить результат. =) В этот момент приходилось немного поторопить человека. А потом подсластить ему пилюлю: например, дать прикольную задачу с Computer Science.
Олимпиадник: Считаю, что скорее всё зависит от человека. Бывают люди, которых в принципе трудно переучивать, а бывают те, которым можно объяснить один раз, и они всё поймут. Хорошо, что есть курсы и книжки по чистому коду, в которых ты можешь чему-то научиться и понять, как это применять. Так же, как ты научился писать алгоритмы когда-то.
Алгоритмические задачи на собеседованиях не всегда показывают реальные навыки разработчика
Олимпиадник: Люди во время собеса часто нервничают, из-за этого забывают какие-то элементарные вещи. Но потом, когда приводишь человека в чувство, успокаиваешь, становится понятно, что он всё знает, просто запаниковал тогда и из-за стресса наделал ошибок.
Неолимпиадник: Согласен с этим тезисом, потому что, во-первых человек может запаниковать, во-вторых — ему может попасться задача, с которой он ещё ни разу не сталкивался. Но он точно смог бы решить в спокойной обстановке, когда под рукой поисковик или нейронка. Поэтому считаю, что «валить» кандидата алгоритмами на собеседовании — не самый лучший способ проверить уровень его знаний.
ИИ против рутины: как изменится тестирование? Круглый стол на «Стачке»
2–3 октября в Санкт-Петербурге пройдёт XIV международная IT-конференция «Стачка», и мы рады сообщить, что Маргарита Трофимова, директор департамента тестирования и обеспечения качества ITFB Group, выступит модератором круглого стола «Применение ИИ в тестировании».
Маргарита — эксперт с более чем 17-летним опытом в области качества ИТ-систем, вице-председатель Russian Software Testing Qualification Board, спикер ведущих отраслевых конференций и идейный вдохновитель образовательного практикума «Академия тестирования».
На круглом столе вместе с представителями ДОМ.РФ, Альфа-Банка, Авито и других лидеров рынка участники обсудят, как искусственный интеллект трансформирует процессы тестирования, команды и бизнес-результаты.
Будет затронуты ключевые вопросы: — какие задачи уже сегодня эффективнее решают ИИ-системы, — где технологии пока остаются уязвимыми, — как измерить эффект от внедрения ИИ в QA.
Приглашаем QA-специалистов, разработчиков и продакт-менеджеров присоединиться к дискуссии и взглянуть на будущее профессии вместе с экспертами отрасли.
📍 Санкт-Петербург 📅 2–3 октября 🔗 Конференция «Стачка»
Как вайб-кодить с вайбом, а не с техдолгом и багами 👨💻✨
Разберемся в этом на вебинаре с нашим техническим экспертом Сашей Константиновым. Будет полезно всем, кто работает с кодом и данными — вы узнаете, как с помощью AI писать код быстрее и не проседать при этом в качестве.
Поговорим о том, как:
Научить IDE кодить в вашем стиле, предсказуемо и по нужным стандартам.
WB прикрыл лавочку с «публичными» данными. Больше никаких остатков, цен и рекламных ставок для сторонних аналитик. Всё, что парсилось годами и кормило десятки тысяч селлеров лайфхаками — превратилось в труху.
Что это значит: - Аналитические сервисы — парализованы - Те, кто строил бизнес на чужих данных, теперь либо переписывают продукт, либо закрывают офис - Селлеры — остаются один на один с личным кабинетом и API по токену - Хотите прогнозов и репрайсинга? Учитесь работать со своими данными, а не подглядывать у соседа. - Рынок — ждёт большая чистка - Выживут только те инструменты, что помогают реально автоматизировать процессы на основе внутренних цифр, а не «угадай цену конкурента»
Wildberries чётко дал понять: «мы зарабатываем на нормальных поставщиках, а не на охотниках за хитростями»
По итогу — больно будет аналитическим платформам, а для селлеров это сигнал взрослеть: прокачивать ассортимент, сервис и клиентский опыт
Всем привет, это Игорь Шпехт. Формально я «руководитель проекта Nebo», но звучит это странно — нас всего пятеро, и у каждого своя основная работа. По факту мне приходится одновременно и на саппорт отвечать, и дизайн делать, и прототипы собирать, и параллельно вести переговоры с фабриками в Китае.
Датчик NeboAir больше не производится (много накопленных проблем), и сейчас разрабатывается «новый датчик». Честно: дела с разработкой идут не так хорошо и я явно недооценил объём. Тут не только железо, но и новое ПО, приложения на двух платформах, база данных и куча всего вокруг. А выпустить устройство, которое будет ломаться и отваливаться, я точно не хочу.
Поэтому так: раз в неделю буду делиться короткими апдейтами. Даже если новостей будет мало — всё равно расскажу. Возможно это мало кому интересно, но так я буду держать себя и команду к рабочем настроении.
Возможно, это провал. Или нет. До встречи через неделю ✌️
Немного лекций с нашего митапа питонистов в Новосибирске - PythoNSK (https://t.me/python_in_nsk приходите, в ноябре планируем вторую встречу организовать).
«Найди то, не знаю что» среди миллиарда сущностей 😱
Примерно так звучат задачи специалистов, которые работают с LLM. В новом выпуске нашего подкаста «Кофе-брейк» развеиваем миф о том, что ИИ отберёт у всех нас работу (спойлер: не у всех), и обсуждаем, как вообще устроен поиск по ключевым словам. А помогает нам в этом Денис Шавейников — руководитель команды поиска VK.
Хочу поделиться небольшим скриптом, который мне хорошо экономит нервы при работе с современными оконными объектами Windows. Я "старый дроид" и поэтому предпочитаю, чтобы моя операционная система при переходе от версии к версии не меняла свой графический интерфейс. Не зря говорят: "раньше трава была зеленее". Вот так и у меня: при установке очередной версии Windows (начиная с 7) я каждый раз ставлю Classic Shell с пуском в стиле W95/98/XP. Почему я так люблю эти графические стили? Да потому что они были идеально рассчитаны на работу с мышью и годами приучали нас.
Одним из моментов, который не дает мне покоя в современной Windows, является постоянные эксперименты с заголовками окон в плане стилей: их то ужимают, то растягивают, то сливают по цвету с фоном. Например, если в браузере открыто много вкладок и он не в полноэкранном режиме, то сложно перетащить его мышкой за верхний край, потому что этого края нет—всё пространство занято вкладками. В Windows 98 и XP такой ерунды не было: при любом раскладе всегда был заголовок окна с приятным градиентом, за который ты мог перетаскивать окно. А сейчас посадили модных дизайнеров, и они испортили UI/UX.
Иногда какие-то умные программисты создают шикарные вещи—позволяют окно своего приложения таскать за любую его часть. Это очень удобно, и я захотел, чтобы у меня так работали все мои программы. Я перебрал несколько вариантов, на чём написать, и остановился на старом добром AutoIt. Идеальный язык автоматизации Windows с возможностью компилировать в относительно небольшой exe-файл. Из коробки идёт сворачивание приложения в трей.
Но просто так позволить окну перетаскиваться при зажатой левой кнопке‑это опрометчиво, ведь тогда перестанут работать скроллы, перетаскивание файлов и прочая drag‑and‑drop возня. Соответственно, нужно сделать горячую клавишу, при зажатии которой можно перетаскивать окна мышкой. На роль этой клавиши идеально подходит Alt. Побочным эффектом скрипта является то, что можно таскать абсолютно любое окно (потому что в Windows окнами сделано очень многое). Например, кнопка «Пуск»‑это окно, и её можно утащить куда угодно; она будет там висеть, пока не нажмете на клавишу Win, которая восстанавливает её координаты. Также можно двигать само меню «Пуск».
В общем, забавная фича‑баг, которую, конечно, можно отфильтровать, если указать скрипту список запрещенных к перетаскиванию окон. Но я этим не стал заморачиваться; специально я таскать их не буду, а случайно‑и подавно.
В итоге скрипт получился таким:
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <Misc.au3>
Global $hWnd = 0
Global $isDragging = False
While True
; Проверяем, зажата ли левая кнопка мыши
If _IsPressed('01') and _IsPressed('12') Then
; Получаем текущее положение мыши
Local $mousePos = MouseGetPos()
If _IsMouseOnWindow($mousePos[0], $mousePos[1]) Then
; Если окно не выбрано, выбираем его
If $hWnd = 0 Then
$hWnd = WinGetHandle("")
; Запоминаем начальную позицию курсора
$startX = $mousePos[0]
$startY = $mousePos[1]
$winPos = WinGetPos($hWnd)
$offsetX = $startX - $winPos[0]
$offsetY = $startY - $winPos[1]
EndIf
$isDragging = True
EndIf
Else
; Отпускаем окно при отпускании левой кнопки
If $isDragging Then
$hWnd = 0
$isDragging = False
EndIf
EndIf
; Если мы в режиме перетаскивания
If $isDragging Then
; Получаем текущее положение мыши
$mousePos = MouseGetPos()
; Перемещаем окно
WinMove($hWnd, "", $mousePos[0] - $offsetX, $mousePos[1] - $offsetY)
EndIf
Sleep(5)
WEnd
Func _IsMouseOnWindow($x, $y)
; Создаем область определения для поиска окна под мышью
Local $hWndUnderMouse = WinGetHandle("")
Return ($hWndUnderMouse <> "")
EndFunc
Теперь при зажатом Alt я, не задумываясь где мой курсор, спокойно перетаскиваю или просто сдвигаю активное окно куда мне нужно.