Почему разработчикам опенсорсных приложений для Android может не потребоваться подтверждать свою личность
Недавно Google анонсировала, что скоро смартфоны на базе Android будут работать только с приложениями, чьи разработчики подтвердили свою личность непосредственно Google. Но как это будут проверять? Напрашивается проверка по ключам подписи, но погодите-ка…
Если вы более-менее интересуетесь опенсорсом, наверняка вы слышали про “магазин” F-Droid. Что примечательно в нём — все приложения в его главном (единственном по умолчанию) репозитории собираются из исходников и подписываются одной сущностью — F-Droid. Эта особенность делает данный источник приложений уникальным в своём роде — в Google Play или RuStore каждый разработчик собирает и подписывает приложение сам.
Если Google не передумает и действительно введёт блокировку на “анонимных” разработчиков, вполне возможно, что F-Droid просто создаст единый аккаунт для своего ключа подписи, и продолжит спокойно предоставлять приложения даже на “сертифицированных” Android-девайсах.
Но наверняка вы скажете, что там распространяются приложения, неугодные Google, и будете правы. Однако они и так ломаются каждый месяц самой же корпорацией ввиду открытых исходников этих приложений и способов парсинга контента без официального API. Так что, думаю, обойдётся.
С учётом бурного роста популярности чат‑ботов вроде ChatGPT и того, что некоторые пользователи склонны слишком доверять информации, которую такие инструменты выдают, интересно посмотреть, откуда они её берут. Такие данные (по состоянию на июнь) есть у аналитиков Semrush по 150 тысячам цитирований.
В Visual Capitalist представили инфографику с ресурсами в сети Интернет, на которые чаще всего ссылаются ИИ‑модели вроде чат‑ботов ChatGPT. Некоторые пользователи склонны слишком доверять информации, которую такие инструменты выдают по запросу к ИИ-системам.
Самым популярным источником знаний для ИИ оказался Reddit — форум упоминается в 40% цитат. За ним с большим отрывом идёт «Википедия», дальше — YouTube и Google.
Оказалось, что ИИ-системы в основном модели полагаются на дискуссии на форумах и контент, курируемый сообществами модераторов, отмечают в Visual Capitalist. В связи с этим есть риск, что распространённые там взгляды, неточности и предвзятости могут перекочевать в ответы моделей и распространиться ещё шире.
Группировка Lab-Dookhtegan второй раз за год атаковала иранские танкеры — в результате была отключена связь на 64 судах.
У страховой компании Farmers Insurance утекли данные более 1 млн клиентов в результате кибератаки на одного из поставщиков.
Организатор автогонок NASCAR сообщил об утечке данных после кибератаки в апреле — пострадавшим клиентам предложили сервисы мониторинга кредитных отчетов на 1 или 2 года.
Власти Норвегии обвинили русских хакеров в кибератаке на плотину — после захвата управления шлюзом они устроили 4-часовой усиленный перелив воды в попытках вызвать наводнение.
Группировка Warlock взломала ИТ-системы телеком-компании Orange в Бельгии и похитила данные 850 тыс. клиентов. А украденные данные Colt Technology Services опубликовала в дарквебе.
Итальянское правительство подтвердило, что злоумышленник mydocs похитил ПДн тысяч людей, бронировавших номера в гостиницах летом 2025 г.
Валидация RAG с помощью RAGAS — доклад на IT-конференции GoCloud Tech 2025 ☁️
Retrieval-Augmented Generation — мощный инструмент, но вы уверены, что ваш RAG действительно работает? RAGAS — это метрика, которая даст ответ. По ходу доклада разберемся, как оценивать качество генерации, релевантность документов и достоверность ответов. Поговорим о метриках и пайплайнах, а также покажем, как найти слабые места в RAG-системе до того, как это сделает пользователь.
Трек: AI&ML — про AI-продукты нашей разработки и работу с GenAI. Узнаете, как устроены RAG-системы и мультиагентные ассистенты, а также, для чего они уже применяются и как начать их использовать.
App Clip в деле: сделали расписание транспорта без установки приложения и лишних мегабайт
В 2ГИС мы любим эксперименты с технологиями. Когда Apple представила App Clips — мини-версии iOS-приложений, — мы начали думать, что ж сделать такое полезное, быстрое и удобное. Появилась идея: а что если показать расписание транспорта прямо на остановке, без установки приложения? Идеально для ситуации, когда нужно получить информацию в моменте.
Пилотный проект начали с Екатеринбурга — на остановках в центре города уже появились QR-коды, по которым можно мгновенно получить расписание автобусов, трамваев и троллейбусов.
Реализация: просто, но есть нюансы
У нас была цель — запустить всё быстро и без лишней сложности. Поэтому мы пошли по самому простому пути. Однако не обошлось без сюпризов: мы столкнулись с интересной особенностью сборки и дистрибуции через App Store.
Когда собирается билд, бинарь App Clip попадает в общий application bundle — вместе с ресурсами, ассетами и иконками. Мы переживали, что это увеличит размер основного приложения для пользователей.
Однако на этапе загрузки в App Store Connect происходит app thinning (slicing) — бинарь анализируется и оптимизируется на стороне App Store. Получается, что из финальной сборки, доступной пользователю, App Clip удаляется. В результате конечный IPA, который скачивает пользователь, не увеличивается в размере, несмотря на то, что в исходном проекте ресурсы App Clip действительно включены в общий bundle.
Чтобы убедиться в этом, мы проверили это на практике:
Собрали билд, в котором бинарь App Clip действительно оказался в общем application bundle.
Загрузили его в App Store Connect.
После релиза скачали IPA напрямую из App Store и проанализировали содержимое.
Результат: в финальном бинаре bundle App Clip отсутствует. Пользователи получают приложение без дополнительного груза, а размер основного приложения не растёт. К слову, в официальной документации Apple этот момент описан довольно туманно, так что мы решили проверить всё на себе.
App Clips считаются не самой популярной фичей, но всё же было интересно покопаться, собрать, выкатить и посмотреть, как это работает в реальности.
Если вы пробовали App Clips — расскажите про свой опыт! Может, нашли нестандартные подходы или столкнулись с подводными камнями, о которых стоит знать другим?
Исследователи из Чикагского и Роттердамского университетов выяснили на базе изучения данных 67 тыс. собеседований, что при большой загрузке и текучке голосовые ИИ‑агенты более эффективно отбирают кандидатов на работу, чем люди.
Проблема человеческого фактора в рекрутинге — это усталость, предвзятость и непоследовательность.
Рекрутеры‑люди могут забывать задавать ключевые вопросы, особенно при массовом подборе. Исследование показало, что ИИ‑агенты, в отличие от людей, всегда придерживаются сценария, охватывая значительно больше важных тем. В результате у нанимающих менеджеров оказывается больше релевантной информации для принятия решения, а усталость, предвзятость и непоследовательность рекрутёров‑людей наоборот игнорируется с помощью ИИ.
Хотя ИИ‑агенты ускорили процесс назначения собеседований, рекрутерам‑людям требовалось в два раза больше времени на проверку результатов таких интервью. Выгода от использования ИИ в рекрутинге зависит от масштаба. Для крупных компаний с большим потоком кандидатов и высокими зарплатами рекрутеров экономия может быть значительной. Кроме того, более качественный подбор снижает текучесть кадров, что особенно важно в таких отраслях, как колл‑центры.
Если вы не читали статью, кратко напомню о чём речь: я написал небольшой можно сказать фреймворк для генерации HTML на стороне сервера на Kotlin. И поддержку строготипизированных routes для удобного создания ендпоинтов, ссылок на них и форм. Теперь Spring Views можно создавать на Kotlin и по крайней мере в моих проектах (а один из них очень большой - сотни отдельных страниц и десятки виджетов) это дало мне огромное удобство, уверенность, безопасность, рефакторо-пригодность, простое версионирование и переиспользование кода, например, теперь я точно не сделаю опечатку в URI или имени параметра и не смогу передать неверный тип данных на endpoint.
Одна из проблем которые до недавнего времени была в связи с использованием данного фреймворка - это CSS-стили. Приходилось либо инлайнить стили непосредственно для HTML элемента, либо мейнтейнить огромный (или несколько поменьше) CSS файл без возможности внятно следить за старыми более неиспользуемыми классами и селекторами. Кто создавал большие CSS файлы знает о чём я говорю - со временем количество классов накапливается и вычистить их не задев чего-то всё ещё нужного очень сложно. Вот так приходилось работать с CSS стилями раньше:
DIV("css-class-name") {...}
// или
DIV {
style("color: red;")
+"Hello World"
}
В принципе жить можно, но хотелось чего-нибудь:
что-то на подобии Styled-Components из ReactJS, но так же на Kotlin
по возможности поддержку JVM hot-reload в режиме отладки
как следствие кода на Kotlin - иметь возможность всегда отслеживать зависимости и удалять более неиспользующиеся CSS-правила.
Долго думал как это получше сделать, и пока что первая версия получила вот такой синтаксис:
То есть объявляем object который будет нести информацию о CSS свойствах элемента. И далее просто используем его в тех же местах где раньше можно было указать css-class-name. CssClass поддерживает массу "псевдоклассов" типа hover, active, firstOfType, before, after и так далее, так же можно добавлять media брейкпоинты и всякие другие штуки. Вот более насыщенный пример:
Вы наверняка заметили двойные скобочки ({...}) - в конструктор я передаю функцию-инициализатор стилей. Это нужно для того, чтобы в дебаг режиме JVM можно было на лету менять свойства CSS класса без перезапуска приложения: код который генерирует сам css-файл может быть запущен в режиме dev-mode, когда на каждый запрос файла будут выполнены все функции-инициализаторы ещё раз и файл будет собран заново.
Если по какой-то причине вам не нравится object - можно просто объявить class и использовать его:
@Component
class Container : CssClass({...})
...
DIV(Container::class) { ... }
Теперь в проекте порядок с CSS стилями - нет давно умерших, всегда можно найти точки использования, стили лежат рядом с виджетами и т.п.
Смотрите исходники тут. Фидбэк приветствуется, всем хорошего дня.
«ИИ не существует» или пять опасных заблуждений про ИИ, которые тормозят технологический прогресс
Когда речь заходит о внедрении ИИ, всегда находятся скептики. Они повторяют одни и те же фразы: на первый взгляд логичные, но на деле — тормозящие развитие. Такие установки демотивируют команды и мешают компаниям трансформироваться. Разберем пять самых популярных.
1. «ИИ — это просто статистика»
На первый взгляд — так и есть: нейросети действительно основаны на математике и вероятностях. Но по сути похожим образом работает и человеческий мозг: мы тоже оцениваем вероятности, ищем закономерности и строим прогнозы, хотя используем иной тип вычислений. Наш мозг до сих пор остается большой загадкой, а нейросети можно рассматривать как лабораторный макет мышления — упрощенный, но доступный для изучения.
Так современные исследования показывают, что модели обладают эмерджентными свойствами: они решают задачи, которым их не учили, а в скрытых слоях формируются целые стратегии. Да, «это просто статистика», но именно статистика лежит в основе прогноза погоды, медицины и экономики — и мы доверяем ей, потому что она видит больше, чем человек. И вот главный вопрос: когда машина учится понимать и предсказывать мир, чем ее деятельность принципиально отличается от нашей?
2. «Это все хайп, скоро пройдет и пузырь лопнет»
Удобно: можно ничего не менять и остаться в зоне комфорта. Но ИИ уже встроен в повседневную жизнь — от рекомендательных систем до банковского скоринга. Да, вокруг ИИ действительно завышенные ожидания — так всегда бывает с новыми технологиями (см. кривую Gartner). Но хайп не отменяет того факта, что компании уже перестраивают процессы и продукты, а выгоды измеряются миллиардами долларов. Подождать пару лет — значит отстать навсегда. Что опаснее — переоценить возможности ИИ или проспать момент, когда конкуренты перестроят рынок?
3. «Нейросети все равно ошибаются»
Да, ошибаются. Но и люди ошибаются — зачастую даже чаще. Отличие в том, что модели работают быстрее и дешевле. Ошибки — не повод отказываться от ИИ, а часть рабочего процесса. Грамотный подход — строить систему, в которой ИИ делает 80% работы, а человек проверяет критические 20%. Те, кто осваивает такие гибридные процессы, вырываются вперед. Кто победит — тот, кто ждет безошибочный ИИ, или тот, кто учится работать с его ошибками?
4. ИИ обесценивает опыт и знания людей
Люди подсознательно боятся, что машина быстро осваивает то, на что раньше уходили годы учебы и работы. Во время первой промышленной революции ткачи разрушали станки, боясь потерять работу. Но ИИ не обесценивает опыт — он меняет роли. Тогда исчезли ткачи, но появились инженеры, а сегодня ИИ забирает на себя рутину и освобождает место для управленческих и творческих задач. Ответственность все равно остается за человеком, а ИИ — лишь инструмент. Разве инструмент, который расширяет возможности мастера, обесценивает его опыт?
5. Российский контекст
В России нет полноценных LLM уровня флагманских моделей от OpenAI и Anthropic. Импортозамещение пока невозможно: собрать качественный датасет на русском сложно, вычислительные мощности ограничены санкциями, а многие таланты работают на западные компании. Доступ к зарубежным решениям закрыт, а открытые модели не дотягивают до флагманских. Если догнать в лоб нельзя, не пора ли проявить смекалку: научиться синтезировать данные и обучать модели децентрализованно?
Главная причина отрицания ИИ кроется не в самой технологии, а в человеке. Нам проще быть в зоне комфорта, но признать сегодняшнюю значимость ИИ — значит признать необходимость учиться и перестраивать привычный процесс работы. Это требует усилий, а мозг всегда ищет путь экономии. Иллюзия комфорта опаснее всего: она оборачивается отставанием — личным, профессиональным и национальным.
Будущее у нас заберет не ИИ, а привычка жить прошлым и отрицать перемены.
***
Если вы не хотите отставать от прогресса и смотрите в будущее — подписывайтесь на мой TG-канал, где я рассказываю как работают все эти ИИ-чудеса и как внедрять ИИ в бизнес.
В Cursor буквально сегодня увидел новую опцию. А именно: когда с ним работаешь по проекту и по ходу как-то его поправляешь, то внизу слева выскакивает пимпочка и предлагает занести такие вещи в User Rules.
Очень даже удобно. Не надо самому отдельно все записывать, а потом переносить.
Буквально через пару дней после нашего исследования активности группировки Goffee была проведена еще одна атака, о которой сейчас мы вам расскажем.
👋 Все начинается с письма от лица якобы ГУ МВД России, в котором во вложении находится PDF-документ со следующим содержимым:
В документе жертва находит ссылку на скачивание прилагаемых материалов, однако сама ссылка ведет на поддельный сайт МВД, на котором для загрузки просят пройти капчу. После прохождения капчи скачивается архив 182-1672143-01.zip, внутри которого, помимо трех документов-приманок, лежит полезная нагрузка с именем 182-1672143-01(исполнитель М.Д).exe*.
В качестве полезной нагрузки остались ранее известные .NET-загрузчики. И если ранее злоумышленники рандомизировали название mutex-ов, методов и типов следующего стейджа, то теперь модернизируются и сами GET-запросы.
🔄 Классические параметры в URL — hostname= и username= — заменили на рандомные строки. Например, в одном из загрузчиков был составлен URL следующего формата:
К тому же некоторые загрузчики могли содержать документ-приманку с названием input.docx, по содержанию не отличавшийся от одного из документов в архиве.
По аналогичным названиям всего удалось обнаружить четыре архива с вредоносным ПО, описанным выше. Найти архивы и атрибутировать эти атаки к группировке Goffee в том числе помогают выделенные в статье (и выступлении OFFZONE) особенности сетевой инфраструктуры:
🔺 Все найденные домены в загрузчиках имеют .com/.org TLD, и сами домены — второго уровня.
🔺 Во всех загрузчиках для получения следующей стадии цепочки атаки используются ссылки четвертого и более уровня вложенности.
🔺 Все домены зарегистрированы в Namecheap.
🔺 Все домены хостятся на российских IP-адресах.
Дополнительные поиски по особенностям исполняемых файлов (схожие названия, сохраненные Debug Path и другое) помогли определить еще ряд семплов, принадлежащих Goffee.
Компания «Форсайт» представляет новую версию своего флагманского продукта – «Форсайт. Аналитическая платформа» 10.9!
В новой STS-версии расширены возможности для создания отчетности и визуализации данных в веб-приложении: - пользователи смогут установить защиту листа, - использовать упрощенную настройку параметров печати в регламентных отчетах, - отменить изменение данных на активном листе или в отчете.
Теперь в веб-версии платформы доступен поиск по командам меню в регламентных отчётах, а также ввод и согласование данных в бизнес-процессах через регламентные отчёты.
Работа с алгоритмами расчета в вебе станет более удобной благодаря новым возможностям по выравниванию объектов и настройке смешанного форматирования текста при оформлении рабочей области.
Также в релизе 10.9:
расширены возможности менеджера безопасности и менеджера обновлений;
появился нативный драйвер к базе данных СУБД ClickHouse с возможностью write-back;
появилась возможность отладки веб-форм;
и многое другое!
Обратите внимание! В «Форсайт. Аналитическая платформа» 10.9:
повышена версия репозитория метаданных: при обновлении платформы необходимо обновить версию репозитория;
повышена версия метаданных регламентных отчётов: отчёты, созданные в 10.9, будут недоступны для открытия в предыдущих версиях.
STS-релиз – это промежуточный выпуск, включающий новые функции перед их интеграцией в LTS (Long Term Support) – релиз с долгосрочной поддержкой.
На GitHub вышел открытый проект SeedBox Lite, который позволяет развернуть аналог Netflix у себя дома. Решение предоставляет библиотеку контента с торрентов — в бесплатном доступе все фильмы мира. Мгновенный старт — смотрите сразу, не дожидаясь загрузки. Плеер как у стримингов: субтитры, фуллскрин, жесты. Работает на смартфоне, планшете и ПК и вообще всем, где есть браузер. Можно закрыть паролем. Устанавливается за минуты по простому гайду.
ML Impact — рассказываем, как компании внедряют ML и что из этого получается
Мы запустили ресурс о том, как эффективно использовать искусственный интеллект в рабочих задачах. Уже доступны материалы про настоящую роль ИИ в автоматизации и работу EDGE AI. Скоро появятся новые статьи!
Их можно использовать, чтобы обосновать коллегам или руководству целесообразность запуска ML-проекта. У вас под рукой будет готовый ресурс, которым можно просто поделиться — вместо тысячи слов и долгих объяснений.
Вышел Gonzo 0.1.6 - терминальный UI для анализа журналов в реальном времени. Написал на Go, вдохновлён k9s. Позволяет анализировать потоки журналов с помощью красивых диаграмм, аналитики и расширенной фильтрации — всё прямо в терминале.
Отчёт аналитиков из Стэнфорда под названием «Канарейки в угольной шахте?» утверждает, что ИИ уничтожает рабочие места молодых специалистов и выпускников колледжей.
Репозиторий react-bits содержит тысячи анимированных компонентов на React для создания веб-проектов и интерфейсов, а также большое количество элементов — кнопки, карточки, меню, необычные курсоры, анимированные списки и декоративные фишки. Каждый из компонентов можно протестировать в браузере — проверить работу и то, как он будет смотреться в вебе. Элементы интегрируются в проект за один клик.
И так предыдущий мой опыт привел к волшебному восстановлению работоспособности тырнетика на виртуалке и моей попыткой запечатлеть свои последние действия приведшие меня к (хоть и небольшому, но) успеху.
Сегодня оказалось, что тогда мне только казалось, а мои последние действия: выключения брендмауера и смена мак адреса на интерфейсе, не привели к повторению чудотворного действия на доступ в сеть.
А так как всякие дурацкие неудачи на моем, и без них тернистом пути, меня жутко демотивируют, то описание этого безобразия структурирует происходящее и дает ощущение законченности - вот ничего полезного не сделала, зато много букоф написала, поэтому не осуждайте сильно меня.
мое ДАНО: все та же машинка в VirtualBox, которую я бережно использую аки jump хост
(вообще вот если говорить за англицизмы то тут Jump host? Jump хост? джамп хост или защищённый промежуточный сервер, используемый для управления устройствами в другой зоне безопасности, например, в демилитаризованной зоне (DMZ)?)
Все тоже отсутствие тырнетика на машинке без особых на то причин (ну я их покрайней мере пока не нашла, но я еще не отчаялась и все еще ищу!) - вот он есть, а вот теперь он пропал. Дальше мои неразборчивые и импульсивные смены мак адресов, активных интерфейсов и типов подключения в VirtualBox и грязные манипуляции с брендмауером, который идет в дополнение к мелкомягкой, которые рано или поздно вернули интернет на виртуальную машину, но при этом VPNка (тоже из коробки мелкомягкой) типа SSTP (Secure Socket Tunneling Protocol значиццо) подключаться отказывается.
Молвит она мне, что не удается подключиться к удаленному компьютеру и возможно, потребуется изменение сетевых параметров соединения... Но каких параметров умалчивает, редиска.
При клонировании чистой виртуалочки и подключения оттуда - впн работает штатно - что означает проблема во мне в ОС самой виртуалке.
Окей, вот мы проблему локализовали до ОФИГЕТЬ КАК МНОГО ВАРИАНТОВ, теперь осталось определиться что с этим делать?
Ну первая мысль ползти в логи и надеяться там найти чуть побольше информации о происходящем. Легкий гугл мне подсказал, что логи подключения к VPNу живут в категории "Журналы Windows" -> Приложение. EventViewer вообще-то показал мне ошибку, но она мне не понравилась.
CoID={6856A21E-177B-0002-15A6-56687B17DC01}: Пользователь WINDOWS\brainy установил удаленное подключение, которое завершилось сбоем. Возвращен код ошибки 720.
Поэтому я снова пошла за помощью к ясеню гуглу! (а тот, между прочим, уже автоматически, даже если его не просить, на первом месте выдает ответ своей иишечки и сообщил мне, что код 720 означает, что удаленный доступ не смог согласовать сетевые протоколы. На этом моменте на моем лице появились знаки просветления, а я полезла шариться по следующим первым ссылкам тырнетика с надеждой, что там будет ответ на главный вопрос!
И он БЫЛ! О дивный новый мир! Самое интересное, что помогло именно удаление WAN Miniport (IP) (хотя там и WAN Miniport (SSTP) имелся) и заработало правда даже без перезагрузки.
Скорее всего виноваты и правда обновления, потому что при поиске справедливости разницы между виртуалочками было немного: Сборка ОС: 19044.1288 против 19044.6216 Загадошное Взаимодействие: Windows Feature Experience Pack 120.2212.3920.0 против Windows Feature Experience Pack 1000.19062.1000.0
А если сравнить установленные обновления из Центр обновления Windows и чуть ниже симпотишные часики с кликабельным просмотром журнала обновлений, разочароваться в большом количестве буков и жмакнуть в сердцах на удалить эти самые обновления, то виндовс покажет тебе более вразумительный список, удалить из которого можно только KBэхи, а вот на Servicing Stack можно только посмотреть (как на рыбов, только тут не красивое)
#ненавижувинду! И хоть руки у меня одинаково кривые с любой операционной системой, неудачи с виндой расстраивают меня в разы больше.
#РасследованияВедутКолобки
Вывод: пойти читать логи и гуглить код ошибки - тема рабочая =)
Обновлён репозиторий System Prompts Leaks с гайдами для большинства современных нейронок от Anthropic, Google, OpenAI, Perplexity, xAI до других топовых разработчиков, включая базу по всем моделям — как их обучали, что под капотом, бенчи, пределы возможностей и правила, по которым ИИ размышляет, а также лайфхаки, как обойти ограничения, цензуру и тормоза, пошаговые инструкции о том, как создать свою нейронку под конкретные задачи и сэкономить десятки рабочих часов на рутине.
Новая глава в твоей QA-карьере может начаться через три, два, один…
Упрощенная схема стенда для тестирования базовой станции LTE
Как насчет того, чтобы сменить привычную тестовую среду на что-то новое? Например, на тестовый стенд с BBU, RRU, симулятором ядра сети и т. д. И сделать это еще до осенних холодов.
Инженеры YADRO из дивизиона Телеком ищут коллег, которые присоединятся к тестировщикам-автоматизаторам. Нужны QА-инженеры с опытом работы в автоматизации тестирования от 2 лет и уверенным знанием Python. Приветствуется опыт работы с Linux и понимание сетей, базирующихся на TCP/IP.