🎩 Когда примерил шапочку продакта
Одна из вещей, которая меня реально мотивирует, это когда я могу предложить идею, собрать вокруг неё движ, и она не умирает в чате, а доезжает до прода. 🚀
Недавний пример из Drinkit🐳
У нас был внутренний хакатон, я собрал команду, чтобы сделать AI-помощник в приложении, который помогает кастомизировать напиток: типа “хочу что-то освежающее, без лактозы, но не слишком сладкое” и дальше AI магия делает тебе напиток ☕️🤖
Мы выиграли хакатон, и фичу решили пустить в прод.
Забегая вперёд:
я думал, что это “ну дня 2–3 допилить”. По факту это превратилось в 1–2 недели. Но всеравно это быстро, я считаю.
Расскажу немного про фичу.
🔥 Техническая часть
На Android я взял Firebase SDK, где есть Firebase AI Logic (вышла в прошлом году).
Под капотом Gemini, и ты довольно быстро можешь подключить AI к своему приложению.
Для хакатона это идеальное решение.
Для прода мы тоже решили оставить это, единственное надо:
- нормально посчитать экономику 💸
- поставить гейты, чтобы нельзя было абьюзить
- и держать процесс под контролем
Сейчас фича тестируется в Казахстане 🇰🇿
Когда я начинал делать фичу, я думал “ну, будет запрос-ответ к LLM и всё”.
А в итоге это вылилось в маленький самописный агент в мобильном приложении с ReAct лупом.
То есть не просто ответь, а “подумай → вызови нужные тулзы → посмотри результат → уточни → собери ответ”.
Это вышло интересно для меня инженерно, не так скучно как я думал.
📊 А где продакт?
Конечно, как уважающий себя продакт, я сделал продуктовый даш:
- конверсии
- заказы с AI-помощником
- причины ошибок
- и прочие мелочи
Но честно: по продуктовым метрикам пока далеко до экономического успеха 😅 Мягко говоря.
Фича всё ещё в тестировании, будут доделки, посмотрим.
Но даже так, такие истории меня вдохновляют. Потому что это тот редкий момент, когда ты не просто написал код, а попробовал сделать штуку, которая может дать бизнес value.
🧠 Что дальше
Раз у нас получился (почти случайно) самописный агент, то у меня есть идея попробовать не писать ReAct луп руками, а заменить его на Koog SDK (чтобы меньше велосипедить).
Посмотрим, доедет ли это тоже до прода 😏
💬 Были у вас истории, где вы, будучи разработчиком, затащили что-то продуктовое?
Расскажите в комментах, люблю такие кейсы.
P.S. На фото я. Пью AI сгенерированный напиток!
#android #ai #product #drinkit #firebase #gemini #mobiledev
Одна из вещей, которая меня реально мотивирует, это когда я могу предложить идею, собрать вокруг неё движ, и она не умирает в чате, а доезжает до прода. 🚀
Недавний пример из Drinkit
У нас был внутренний хакатон, я собрал команду, чтобы сделать AI-помощник в приложении, который помогает кастомизировать напиток: типа “хочу что-то освежающее, без лактозы, но не слишком сладкое” и дальше AI магия делает тебе напиток ☕️🤖
Мы выиграли хакатон, и фичу решили пустить в прод.
Забегая вперёд:
я думал, что это “ну дня 2–3 допилить”. По факту это превратилось в 1–2 недели. Но всеравно это быстро, я считаю.
Расскажу немного про фичу.
🔥 Техническая часть
На Android я взял Firebase SDK, где есть Firebase AI Logic (вышла в прошлом году).
Под капотом Gemini, и ты довольно быстро можешь подключить AI к своему приложению.
Для хакатона это идеальное решение.
Для прода мы тоже решили оставить это, единственное надо:
- нормально посчитать экономику 💸
- поставить гейты, чтобы нельзя было абьюзить
- и держать процесс под контролем
Сейчас фича тестируется в Казахстане 🇰🇿
Когда я начинал делать фичу, я думал “ну, будет запрос-ответ к LLM и всё”.
А в итоге это вылилось в маленький самописный агент в мобильном приложении с ReAct лупом.
То есть не просто ответь, а “подумай → вызови нужные тулзы → посмотри результат → уточни → собери ответ”.
Это вышло интересно для меня инженерно, не так скучно как я думал.
📊 А где продакт?
Конечно, как уважающий себя продакт, я сделал продуктовый даш:
- конверсии
- заказы с AI-помощником
- причины ошибок
- и прочие мелочи
Но честно: по продуктовым метрикам пока далеко до экономического успеха 😅 Мягко говоря.
Фича всё ещё в тестировании, будут доделки, посмотрим.
Но даже так, такие истории меня вдохновляют. Потому что это тот редкий момент, когда ты не просто написал код, а попробовал сделать штуку, которая может дать бизнес value.
🧠 Что дальше
Раз у нас получился (почти случайно) самописный агент, то у меня есть идея попробовать не писать ReAct луп руками, а заменить его на Koog SDK (чтобы меньше велосипедить).
Посмотрим, доедет ли это тоже до прода 😏
💬 Были у вас истории, где вы, будучи разработчиком, затащили что-то продуктовое?
Расскажите в комментах, люблю такие кейсы.
P.S. На фото я. Пью AI сгенерированный напиток!
#android #ai #product #drinkit #firebase #gemini #mobiledev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍5❤2⚡1🦄1
🎧 Агентам тоже хочется послушать музыку
Сижу, усерднозаставляю работать агентов работаю. И тут бац, запрос от Курсора 😅
Видать, ему тоже больше в кайф работать под музычку🎧
Сижу, усердно
Видать, ему тоже больше в кайф работать под музычку
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25🤔7
📋 Мобильный DevCrowd возвращается! Го заполним!
Друзья, кто помнит DewCrowd?
C 2022 года не выходило исследований, и вот оно возвращается!😁
Встречайте!
👉 Большое исследование мобильных разработчиков - 2026 👈
В этот раз я принимал участие в создании этого опроса! Мне реально не хватает полной картины, что сейчас происходит и куда идет мобилка.
💡Вот примерно о чем там будет:
• кто победил — натив или кроссплатформа?
• AI уже пишет за вас или только мешает?
• Куда растут зарплаты и куда уходят люди?
Заполнение займет ~12 минут. А в апреле будет полный отчёт с цифрами!
Пересылайте друзьям и коллегам мобильным разработчикам! Тут важная фишка: чем больше ответов, тем точнее картина! Поэтому если мы все заполним, то мы потом сами увидим более реальную картину.
#devcrowd
Друзья, кто помнит DewCrowd?
C 2022 года не выходило исследований, и вот оно возвращается!
Встречайте!
👉 Большое исследование мобильных разработчиков - 2026 👈
В этот раз я принимал участие в создании этого опроса! Мне реально не хватает полной картины, что сейчас происходит и куда идет мобилка.
💡Вот примерно о чем там будет:
• кто победил — натив или кроссплатформа?
• AI уже пишет за вас или только мешает?
• Куда растут зарплаты и куда уходят люди?
Заполнение займет ~12 минут. А в апреле будет полный отчёт с цифрами!
Пересылайте друзьям и коллегам мобильным разработчикам! Тут важная фишка: чем больше ответов, тем точнее картина! Поэтому если мы все заполним, то мы потом сами увидим более реальную картину.
#devcrowd
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5👎3❤2
📱 Koog отлично подходит для мобилки
Последнее время я пробовал делать разные AI-фичи: писал ручные React loop’ы и параллельно щупал разные фреймворки. В том числе Google ADK и Koog от JetBrains.
И я поймал себя на мысли, что уже выработался довольно стабильный паттерн, как собирать AI-агента. Его можно описать буквально тем кодом, который на картинке.
Идея простая: агент собирается из building blocks.
Что обычно нужно:
• Executor — клиент, который общается с LLM-провайдером
• Model — какую модель используем
• Tool registry — набор инструментов, которыми может пользоваться модель
• Strategy — как именно агент работает: один вызов, последовательность шагов, граф и т.д. Можно использовать готовую стратегию, а можно писать свою.
• Ну и остальные настройки, типа system prompt и temperature
Дальше всё довольно гибко: захотели поменяли модель, захотели поменяли клиент, добавили/убрали tools, переключили стратегию. Даже если написали на клиенте, то управлять этим можно через некий конфиг. Код не разрастается, а поведение реально можно крутить.
Тут, конечно, особое внимание на безопасность на использование API ключей.
Отдельный плюс Koog: он Kotlin + KMP, поэтому нормально живёт в мобильной разработке. Я попробовал его на мобилке, гонял разные модели от OpenAI и Gemini до YandexGPT — в целом все складывается прикольно.
В итоге кода мало, эффект большой.
💬 А какие вы инструменты для написание агентов использовали? Писали руками? ADK? Koog? Что-то еще? Расскажите, мне это сейчас очень интересно!
#kotlin #kmp #ai #agents #koog #android #ios
Последнее время я пробовал делать разные AI-фичи: писал ручные React loop’ы и параллельно щупал разные фреймворки. В том числе Google ADK и Koog от JetBrains.
И я поймал себя на мысли, что уже выработался довольно стабильный паттерн, как собирать AI-агента. Его можно описать буквально тем кодом, который на картинке.
Идея простая: агент собирается из building blocks.
Что обычно нужно:
• Executor — клиент, который общается с LLM-провайдером
• Model — какую модель используем
• Tool registry — набор инструментов, которыми может пользоваться модель
• Strategy — как именно агент работает: один вызов, последовательность шагов, граф и т.д. Можно использовать готовую стратегию, а можно писать свою.
• Ну и остальные настройки, типа system prompt и temperature
Дальше всё довольно гибко: захотели поменяли модель, захотели поменяли клиент, добавили/убрали tools, переключили стратегию. Даже если написали на клиенте, то управлять этим можно через некий конфиг. Код не разрастается, а поведение реально можно крутить.
Тут, конечно, особое внимание на безопасность на использование API ключей.
Отдельный плюс Koog: он Kotlin + KMP, поэтому нормально живёт в мобильной разработке. Я попробовал его на мобилке, гонял разные модели от OpenAI и Gemini до YandexGPT — в целом все складывается прикольно.
В итоге кода мало, эффект большой.
💬 А какие вы инструменты для написание агентов использовали? Писали руками? ADK? Koog? Что-то еще? Расскажите, мне это сейчас очень интересно!
#kotlin #kmp #ai #agents #koog #android #ios
👍10🔥5
🇰🇿 Увидимся в Алмате!
Друзья, на следующей неделе я буду в Алмате и выступлю на митапе GDG Almaty Spring Meetup!
Всех приглашаю там затусить!💃
Я расскажу про Firebase AI, другие спикеры расскажут кучу всего интересного про AI! Приходите, пообщаемся, понетворкаемся!
Это будет:
• в среду, 11 марта, 19:00
• MOST IT Hub
• 📍 г. Алматы, ул. Ходжанова 2/2, БЦ Fortis
#GDG #Almaty #AI
Друзья, на следующей неделе я буду в Алмате и выступлю на митапе GDG Almaty Spring Meetup!
Всех приглашаю там затусить!
Я расскажу про Firebase AI, другие спикеры расскажут кучу всего интересного про AI! Приходите, пообщаемся, понетворкаемся!
Это будет:
• в среду, 11 марта, 19:00
• MOST IT Hub
• 📍 г. Алматы, ул. Ходжанова 2/2, БЦ Fortis
#GDG #Almaty #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍10😱2👏1🤮1
Недавно Google выпустили Android Bench. Это leaderboard о том, как разные LLM справляются с Android-специфичными задачами. На первом месте Gemini 3.1 Pro Preview, дальше Claude Opus 4.6 и GPT-5.2 Codex.
Score считается как средний процент успешно решённых 100 тест-кейсов по 10 запускам.
Здесь важно отметить вот что: этот бенчмарк меряет не просто модель, хотя в заголовке это выглядит как LLM leaderboard. Google используют здесь довольно стандартный подход, который состоит из двух частей: Inference Agent и Patch Verifier.
Inference Agent пытается решить задачу и сгенерировать patch. Если по-простому, это такой суперпростой опенсурсный агент.
Patch Verifier применяет этот patch к проекту и прогоняет тесты, чтобы понять, сработало решение или нет.
А дальше будет мое субъективное мнение.
В моём личном персональном leaderboard ситуация обратная:
1. Claude Opus
2. GPT-5.2
3. Gemini
И вот почему, как мне кажется, наши leaderboard’ы так отличаются.
Android Bench — это полезный и интересный leaderboard, но всё же не полный leaderboard реального developer experience. Потому что на практике важно не только то, как модель пишет код и как она делает это автономно на простом агенте. Важно ещё и то, как она декомпозирует задачу, как ходит по проекту, как держит контекст, как пережёвывает многошаговые loop’ы, как восстанавливается после неудачной попытки.
То есть в реальности мы выбираем не просто LLM, а целый AI product, такой как Claude Code, Cursor и другие подобные инструменты.
И вот по моим субъективным ощущениям, в реальной Android-разработке пока всё ещё сильнее выглядят Claude и Cursor продукты, чем Gemini.
Но хорошая новость в другом: если Google реально так прокачали свои LLM на Android-специфичных задачах, то как только они дожмут именно агентное приложение, agent layer, вполне возможно, что мы с вами все захотим на это перейти.
💬 А у вас как по ощущениям?
В реальной Android-разработке кто сейчас сильнее: Claude, GPT или Gemini?
#android #ai #llm #gemini #claude #gpt #cursor #androiddev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7💊3🔥2❤1😁1
🔮 За on-device моделями будущее?
Быстрый спойлер: на фото я с Мишей Рубановым (встретились на днях), и он как раз делает приложение с on-device AI! Ниже расскажу подробнее про это 👇
Я вчера попробовал на девайсе запустить и потыкать Gemini Nano.
То есть прям локально. Без похода в сеть, без облака, без вот этого всего. И, ну что, оно работает. Правда, скоуп пока очень ограниченный. По сути это история про только про:
- саммаризация
- рерайтинг
- proofreading
- описания картинки
И вот с такими задачами оно, кажется, справляется. Ну, по крайней мере на сколько я успел быстро потыкать. Google и сам сейчас говорит, что Gemini Nano именно как on-device модель для конкретных сценариев, а не как универсальный GPT.
Но есть нюанс. Даже два.
1) Gemini Nano сейчас есть мягко говоря не у всех 😅 Это пока история в основном для свежих флагманов и верхнего сегмента: Pixel, Galaxy S24/S25 и ещё небольшого числа моделей. У меня Google Pixel 10, у меня работает. Но если смотреть грубо на всю Android базу, то это типо считанные проценты или меньше. Google пишет, что доступность зависит от AICore и поддерживаемых девайсов.
2) Если вы хотите тащить локальную модель в свое приложение не через OS level, а самостоятельно, то это много гигабайт.
Но я тут подумал. Мне кажется, мы это уже много раз проходили.
- Когда-то Биллу Гейтсу казалось, что 640K памяти всем хватит.
- Когда-то скачать MP3, это было событие дня. Я реально сидел 2-3 часа и радовался, что скачал на комп целую песню (да, я такой динозавр 🦖).
А сейчас у каждого в кармане лежит какой-то суперкомпьютер по меркам прошлого, который мы используем для мемов про котиков😁 и чтобы смотреть онлайн 4K-видео и яро злиться если видео вдруг лагнуло на одну секунду 🙃
Вот и здесь, мне кажется, будет так же. Сейчас локальные модели редкие, дорогие, ограниченные и т.д.
Но я почти уверен, что через 3–5 лет у нас с вами в кармане будет лежать очень мощная on-device LLM, которая будет закрывать 80–90% повседневных задач. И это станет настолько базовой частью жизни, что мы просто перестанем это замечать.
На фото мы с Мишей. И вот Миша, например, сделал приложение с локальной AI моделькой, которая заменяет ваше лицо в любом видосе.
То есть можно, например, сделать серию Stranger Things, но с лицом вашего ребёнка. Или со своим 😄
Ну крутая же идея?! 🔥
Да, пока такие штуки могут весить много, местами работать не на всех устройствах и вообще работать вам заменой сковородки. Но это уже начало нового будущего. Через какое-то время, мне кажется, локальные модели станут просто незаметной базой для всех.
Вот такое у меня ощущение.
💬 А вы как думаете? За on-device моделями реально будущее?
#android #ai #llm #ondevice #gemininano #mobiledev
Быстрый спойлер: на фото я с Мишей Рубановым (встретились на днях), и он как раз делает приложение с on-device AI! Ниже расскажу подробнее про это 👇
Я вчера попробовал на девайсе запустить и потыкать Gemini Nano.
То есть прям локально. Без похода в сеть, без облака, без вот этого всего. И, ну что, оно работает. Правда, скоуп пока очень ограниченный. По сути это история про только про:
- саммаризация
- рерайтинг
- proofreading
- описания картинки
И вот с такими задачами оно, кажется, справляется. Ну, по крайней мере на сколько я успел быстро потыкать. Google и сам сейчас говорит, что Gemini Nano именно как on-device модель для конкретных сценариев, а не как универсальный GPT.
Но есть нюанс. Даже два.
1) Gemini Nano сейчас есть мягко говоря не у всех 😅 Это пока история в основном для свежих флагманов и верхнего сегмента: Pixel, Galaxy S24/S25 и ещё небольшого числа моделей. У меня Google Pixel 10, у меня работает. Но если смотреть грубо на всю Android базу, то это типо считанные проценты или меньше. Google пишет, что доступность зависит от AICore и поддерживаемых девайсов.
2) Если вы хотите тащить локальную модель в свое приложение не через OS level, а самостоятельно, то это много гигабайт.
Но я тут подумал. Мне кажется, мы это уже много раз проходили.
- Когда-то Биллу Гейтсу казалось, что 640K памяти всем хватит.
- Когда-то скачать MP3, это было событие дня. Я реально сидел 2-3 часа и радовался, что скачал на комп целую песню (да, я такой динозавр 🦖).
А сейчас у каждого в кармане лежит какой-то суперкомпьютер по меркам прошлого, который мы используем для мемов про котиков
Вот и здесь, мне кажется, будет так же. Сейчас локальные модели редкие, дорогие, ограниченные и т.д.
Но я почти уверен, что через 3–5 лет у нас с вами в кармане будет лежать очень мощная on-device LLM, которая будет закрывать 80–90% повседневных задач. И это станет настолько базовой частью жизни, что мы просто перестанем это замечать.
На фото мы с Мишей. И вот Миша, например, сделал приложение с локальной AI моделькой, которая заменяет ваше лицо в любом видосе.
То есть можно, например, сделать серию Stranger Things, но с лицом вашего ребёнка. Или со своим 😄
Ну крутая же идея?! 🔥
Да, пока такие штуки могут весить много, местами работать не на всех устройствах и вообще работать вам заменой сковородки. Но это уже начало нового будущего. Через какое-то время, мне кажется, локальные модели станут просто незаметной базой для всех.
Вот такое у меня ощущение.
💬 А вы как думаете? За on-device моделями реально будущее?
#android #ai #llm #ondevice #gemininano #mobiledev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤3👏3👎1
🎙️ Расскажу, как создать AI-фичу на митапе от hh.ru
26 марта в 18:30 выступаю на онлайн-митапе от hh.ru.
Поговорим про AI-фичи в мобильном приложении. Но не в формате “дернуть LLM-ку”. Я расскажу именно про архитектурный подход:
• обсудим трейд-оффы
• system design AI-фичи в мобилке
• и то, как вообще подходить к такой задаче инженерно.
Это будет совсем не то, что будет у меня на Mobius. Другой материал и другой фокус.
Приходите, должно быть интересно 👀
P.S. На картинке — слайд из моей презентации.
#android #ai #mobiledev #androiddev #llm #митап #hhru
26 марта в 18:30 выступаю на онлайн-митапе от hh.ru.
Поговорим про AI-фичи в мобильном приложении. Но не в формате “дернуть LLM-ку”. Я расскажу именно про архитектурный подход:
• обсудим трейд-оффы
• system design AI-фичи в мобилке
• и то, как вообще подходить к такой задаче инженерно.
Это будет совсем не то, что будет у меня на Mobius. Другой материал и другой фокус.
Приходите, должно быть интересно 👀
P.S. На картинке — слайд из моей презентации.
#android #ai #mobiledev #androiddev #llm #митап #hhru
🔥9👍2
Безопасность — одна из тем, с которой лучше разобраться заранее
TL;DR
Podlodka Android Crew — Безопасность
C 30 марта по 3 апреля
Промик от меня: mobilefiction_15
Друзья, ниже будет не какое-то рекламное объявление, а реально как я думаю про наш новый сезон подлодки про безопасность!
Ну вот честно, я сам чаще думаю про фичи, архитектуру, UI и влияние на продукт, чем про то, как одна неудачная строчка кода может сильно упростить жизнь атакующему.
Именно поэтому мне самому особенно интересен новый сезон Podlodka Android Crew про безопасность Android-приложений.
Мы в программном комитете старались собрать не просто теорию, а практичный инженерный сезон. Такой, где можно посмотреть на безопасность не абстрактно, а через реальные атаки, реальные уязвимости и реальные подходы, которые делают взлом сложнее и дороже.
Что лично мне особенно интересно в программе:
• кейсы от людей, которые реально занимаются пентестом и bug bounty
• тема атак через UI — область, про которую многие мобильные разработчики вообще не думают
• реверс-инжиниринг, потому что без понимания, как приложение ломают, сложно всерьёз говорить о защите
Я и сам не какой-то супер глубокий безопасник. Что-то знаю, а во что-то нужно отдельно садиться и вникать.
Поэтому для меня этот сезон тоже способ углубиться в тему вместе с сильными специалистами.
Сезон пройдет с 30 марта по 3 апреля.
Если тема вам тоже откликается — приходите.
Для подписчиков моего канала будет скидка 500 рублей по промокоду: mobilefiction_15
#podlodka #security
TL;DR
Podlodka Android Crew — Безопасность
C 30 марта по 3 апреля
Промик от меня: mobilefiction_15
Друзья, ниже будет не какое-то рекламное объявление, а реально как я думаю про наш новый сезон подлодки про безопасность!
Ну вот честно, я сам чаще думаю про фичи, архитектуру, UI и влияние на продукт, чем про то, как одна неудачная строчка кода может сильно упростить жизнь атакующему.
Именно поэтому мне самому особенно интересен новый сезон Podlodka Android Crew про безопасность Android-приложений.
Мы в программном комитете старались собрать не просто теорию, а практичный инженерный сезон. Такой, где можно посмотреть на безопасность не абстрактно, а через реальные атаки, реальные уязвимости и реальные подходы, которые делают взлом сложнее и дороже.
Что лично мне особенно интересно в программе:
• кейсы от людей, которые реально занимаются пентестом и bug bounty
• тема атак через UI — область, про которую многие мобильные разработчики вообще не думают
• реверс-инжиниринг, потому что без понимания, как приложение ломают, сложно всерьёз говорить о защите
Я и сам не какой-то супер глубокий безопасник. Что-то знаю, а во что-то нужно отдельно садиться и вникать.
Поэтому для меня этот сезон тоже способ углубиться в тему вместе с сильными специалистами.
Сезон пройдет с 30 марта по 3 апреля.
Если тема вам тоже откликается — приходите.
Для подписчиков моего канала будет скидка 500 рублей по промокоду: mobilefiction_15
#podlodka #security
👍3🔥3
🔓 Android-уязвимость, которая ломала lock screen через SIM-карту
Наткнулся на показательный кейс про НЕ новую (но прикольную) Android-уязвимость (CVE-2022-20465). За неё Google, кстати, заплатила исследователю $70k!
Суть такая: в некоторых версиях Android можно было взять заблокированный телефон, вставить свою SIM-карту, 3 раза неверно ввести SIM PIN, потом ввести PUK-код, и после этого телефон в определённом сценарии пропускал пользователя мимо lock screen.
То есть:
- PIN или пароль на экране блокировки есть
- отпечаток есть!
- шифрование есть!!
- а зайти в устройство все равно было можно из-за ошибки в логике
Это вот мое самое любимое. Проблема не в какой-то сложной криптографии и не в том, что кто-то подобрал защиту или забрутфорсил через квантовый компьютер.
А простые косяки: переход между экранами, состояние SIM, состояние keyguard, race condition, неправильная обработка dismiss.
Это очень хороший пример, почему безопасность это делко не всегд про что-то сложное и криптографичное для узких спецов.
Это самая практическая инженерная область, где наши day-to-day задачи и ошибки в них могут привести вот к таким проблемам.
Кстати, уже со следующей недели начинается новый сезон Podlodka Android Crew про безопасность! (какая внезапная подводочка 😅)
Как вы знаете, я в ПК, и мы правда постарались подготовить сильный сезон с полезными и прикладными темами.
Приходите 🙂
А вечером ещё объявлю розыгрыш халявного билета 👀
#android #security #androidsecurity #podlodka #infosec
Наткнулся на показательный кейс про НЕ новую (но прикольную) Android-уязвимость (CVE-2022-20465). За неё Google, кстати, заплатила исследователю $70k!
Суть такая: в некоторых версиях Android можно было взять заблокированный телефон, вставить свою SIM-карту, 3 раза неверно ввести SIM PIN, потом ввести PUK-код, и после этого телефон в определённом сценарии пропускал пользователя мимо lock screen.
То есть:
- PIN или пароль на экране блокировки есть
- отпечаток есть!
- шифрование есть!!
- а зайти в устройство все равно было можно из-за ошибки в логике
Это вот мое самое любимое. Проблема не в какой-то сложной криптографии и не в том, что кто-то подобрал защиту или забрутфорсил через квантовый компьютер.
А простые косяки: переход между экранами, состояние SIM, состояние keyguard, race condition, неправильная обработка dismiss.
Это очень хороший пример, почему безопасность это делко не всегд про что-то сложное и криптографичное для узких спецов.
Это самая практическая инженерная область, где наши day-to-day задачи и ошибки в них могут привести вот к таким проблемам.
Кстати, уже со следующей недели начинается новый сезон Podlodka Android Crew про безопасность! (какая внезапная подводочка 😅)
Как вы знаете, я в ПК, и мы правда постарались подготовить сильный сезон с полезными и прикладными темами.
Приходите 🙂
А вечером ещё объявлю розыгрыш халявного билета 👀
#android #security #androidsecurity #podlodka #infosec
👍12🔥9
🎟 Разыгрываю проходку на Podlodka Android Crew #15
Следующий сезон Подлодки про безопасность.
Это одна из тех штук, про которые лучше подумать заранее, а не когда уже что-то утекло 😅
Что будет в сезоне, если коротко:
• UI как точка взлома
• reverse engineering
• ошибки в обфускации
• passkeys и биометрия
• платежи и защита видео-контента
Не только база, но и очень прикладные темы, которые вполне можно утащить себе в работу уже на следующий день.
Сам сезон идет с 30 марта по 3 апреля, будет 5 дней и 10 сессий.
По традиции разыгрываю 1 проходку 🎁
Условия простые:
Напишите в комментариях что угодно на тему мобильной безопасности.
Например:
• сталкивались ли вы с этим в работе
• думаете ли об этом вообще регулярно или только когда прижмет
• может, в компании вас уже замучили AppSec’и
• или наоборот, их не хватает и все приходится тащить самим
В пятницу в 10:00 я рандомно выберу одного победителя 🙌
Погнали в комменты 👇
#android #security #appsec #podlodka #mobile #androiddev
Следующий сезон Подлодки про безопасность.
Это одна из тех штук, про которые лучше подумать заранее, а не когда уже что-то утекло 😅
Что будет в сезоне, если коротко:
• UI как точка взлома
• reverse engineering
• ошибки в обфускации
• passkeys и биометрия
• платежи и защита видео-контента
Не только база, но и очень прикладные темы, которые вполне можно утащить себе в работу уже на следующий день.
Сам сезон идет с 30 марта по 3 апреля, будет 5 дней и 10 сессий.
По традиции разыгрываю 1 проходку 🎁
Условия простые:
Напишите в комментариях что угодно на тему мобильной безопасности.
Например:
• сталкивались ли вы с этим в работе
• думаете ли об этом вообще регулярно или только когда прижмет
• может, в компании вас уже замучили AppSec’и
• или наоборот, их не хватает и все приходится тащить самим
В пятницу в 10:00 я рандомно выберу одного победителя 🙌
Погнали в комменты 👇
#android #security #appsec #podlodka #mobile #androiddev
👍5👎2🔥2🤣1
😨 У приложения миллионы загрузок, а секреты лежат в коде
Хочу поделиться с вами ещё одним кейсом из мобильной безопасности.
В октябре 2024 Symantec опубликовали исследование про популярные мобильные приложения, в которых нашли захардкоженные cloud credentials прямо внутри приложения. В их разборе были Pic Stitch, Crumbl, Meru Cabs и Videoshop. Речь шла и про Android, и про iOS.
Что именно нашли:
• у Pic Stitch — AWS production credentials
• у Crumbl — AWS credentials в plaintext
• у Meru Cabs — Azure connection string с account key
• у Videoshop — AWS credentials без защиты в приложении
Мне кажется, это хороший reminder для мобилки: если секрет уехал в клиент, значит он уже не секрет.
🎟️ И кстати, напоминаю, что у меня сейчас идёт розыгрыш проходки на Podlodka Android Crew #15. Есть запиненный пост, идите туда в комментарии.
Чтобы поучаствовать в розыгрыше, нужно просто написать что угодно на тему мобильной безопасности 🙌
#android #ios #security #appsec #mobilesecurity #aws #azure #podlodka
Хочу поделиться с вами ещё одним кейсом из мобильной безопасности.
В октябре 2024 Symantec опубликовали исследование про популярные мобильные приложения, в которых нашли захардкоженные cloud credentials прямо внутри приложения. В их разборе были Pic Stitch, Crumbl, Meru Cabs и Videoshop. Речь шла и про Android, и про iOS.
Что именно нашли:
• у Pic Stitch — AWS production credentials
• у Crumbl — AWS credentials в plaintext
• у Meru Cabs — Azure connection string с account key
• у Videoshop — AWS credentials без защиты в приложении
Мне кажется, это хороший reminder для мобилки: если секрет уехал в клиент, значит он уже не секрет.
🎟️ И кстати, напоминаю, что у меня сейчас идёт розыгрыш проходки на Podlodka Android Crew #15. Есть запиненный пост, идите туда в комментарии.
Чтобы поучаствовать в розыгрыше, нужно просто написать что угодно на тему мобильной безопасности 🙌
#android #ios #security #appsec #mobilesecurity #aws #azure #podlodka
👍4👏3
🔐 Неожиданности нового сезона Podlodka Android Crew про безопасность
Друзья, я подсвечу несколько особенностей, которые мне самому кажутся особенно интересными в нашем будущем сезоне подлодки по Android. Полностью программу можно посмотреть по ссылке, но я расскажу про особенности.
1️⃣ Pixnapping
Для меня это вообще одна из самых любопытных тем сезона, потому что штука довольно новая. Если очень грубо: вредоносное приложение может вытаскивать данные с экрана другого приложения, причём без специальных пермишенов.
2️⃣ Защита видеоконтента
Тоже необычная тема, которую не так часто встретишь в программе. Понятно, что это не для каждого приложения. Но как раз поэтому и интересно: будет разговор про довольно специфичную Android-область, про DRM и про то, как это вообще работает под капотом.
3️⃣ Passkeys на английском
У нас в этот раз будет англоязычный доклад от Emanuele Maso. Для Подлодки это скорее эксперимент, потому что обычно у нас все доклады на русском. Но тема хорошая, и мне кажется, что для IT-аудитории английский на слух обычно не проблема.
Ну и ещё из прикольного: в сезоне замутим игровую активность в формате bug bounty. Так что приходите не только послушать, но и немного потренироваться 🙂
🎟️ И кстати, напоминаю, что у меня сейчас идёт розыгрыш бесплатной проходки на Podlodka Android Crew #15. Есть запиненный пост, идите туда в комментарии.
Чтобы поучаствовать, нужно просто написать что угодно на тему мобильной безопасности 🙌
#android #androiddev #podlodka
Друзья, я подсвечу несколько особенностей, которые мне самому кажутся особенно интересными в нашем будущем сезоне подлодки по Android. Полностью программу можно посмотреть по ссылке, но я расскажу про особенности.
1️⃣ Pixnapping
Для меня это вообще одна из самых любопытных тем сезона, потому что штука довольно новая. Если очень грубо: вредоносное приложение может вытаскивать данные с экрана другого приложения, причём без специальных пермишенов.
2️⃣ Защита видеоконтента
Тоже необычная тема, которую не так часто встретишь в программе. Понятно, что это не для каждого приложения. Но как раз поэтому и интересно: будет разговор про довольно специфичную Android-область, про DRM и про то, как это вообще работает под капотом.
3️⃣ Passkeys на английском
У нас в этот раз будет англоязычный доклад от Emanuele Maso. Для Подлодки это скорее эксперимент, потому что обычно у нас все доклады на русском. Но тема хорошая, и мне кажется, что для IT-аудитории английский на слух обычно не проблема.
Ну и ещё из прикольного: в сезоне замутим игровую активность в формате bug bounty. Так что приходите не только послушать, но и немного потренироваться 🙂
🎟️ И кстати, напоминаю, что у меня сейчас идёт розыгрыш бесплатной проходки на Podlodka Android Crew #15. Есть запиненный пост, идите туда в комментарии.
Чтобы поучаствовать, нужно просто написать что угодно на тему мобильной безопасности 🙌
#android #androiddev #podlodka
🔥6👍3😁1
📺 Подключайтесь на Android-митап через 5 минут
Я расскажу, как подходить к архитектуре AI-фич. А если более подробно, мой доклад называется:
"AI в мобильных приложениях: архитектурный подход"
Я буду рассказывать про:
• где должна жить моделька
• как принять решение, где будет агентская логика
• что с безопасностью
• покажу пример с фреймворком Koog
А так же на митапе будет еще 2 доклада:
• Константин Дубинко (hh.ru) поделится опытом ухода от навигации на базе Fragment и Cicerone в сторону чистого Compose при помощи навигационной библиотеки Modo.
• Денис Конопелькин (Циан) расскажет, как ускорить проверки в Android‑проекте с помощью Impact‑анализа!
Залетайте на трансляции, будет интересно:
• ВК
• Ютуб
Начало в 18:30
P.S. Если кто-то видел мои выступления про фичу AI-ассистента в Дринките, то этот доклад совершенно про другое. А также максимально отличается от того, что у меня будет на Мобиусе в мае. Так что, эксклюзивный материал 😉
#meetup #hh #ai #koog
Я расскажу, как подходить к архитектуре AI-фич. А если более подробно, мой доклад называется:
"AI в мобильных приложениях: архитектурный подход"
Я буду рассказывать про:
• где должна жить моделька
• как принять решение, где будет агентская логика
• что с безопасностью
• покажу пример с фреймворком Koog
А так же на митапе будет еще 2 доклада:
• Константин Дубинко (hh.ru) поделится опытом ухода от навигации на базе Fragment и Cicerone в сторону чистого Compose при помощи навигационной библиотеки Modo.
• Денис Конопелькин (Циан) расскажет, как ускорить проверки в Android‑проекте с помощью Impact‑анализа!
Залетайте на трансляции, будет интересно:
• ВК
• Ютуб
Начало в 18:30
P.S. Если кто-то видел мои выступления про фичу AI-ассистента в Дринките, то этот доклад совершенно про другое. А также максимально отличается от того, что у меня будет на Мобиусе в мае. Так что, эксклюзивный материал 😉
#meetup #hh #ai #koog
👍7🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥19🎉4🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Я запустил Doom на AGSL-шейдерах
Принято считать, что AGSL-шейдеры довольно ограничены по возможностям. Ну типо что-то подкрасить, исказить, добавить эффект, поиграться с цветом и на этом всё.
Я тоже примерно так думал. Но после того, как сделал Upside Down-эффект в стиле Stranger Things, начал всё глубже и глубже ковыряться в AGSL. И в какой-то момент подумал: а почему вообще мы так недооцениваем шейдеры?
По сути, у нас есть доступ к каждому пикселю.
А значит, вопрос уже не в том, можно ли там делать только визуальные эффекты.
А что мешает засунуть туда вообще всю игровую логику?
Ну и дальше всё пошло по классике.
• Взял Doom.
• Взял AI.
• Попросил аккуратно перенести логику в код шейдера.
И, как оказалось, сделать это можно довольно спокойно за один вечер!
В итоге у меня получился Doom, который работает прямо внутри AGSL-шейдера, внутри modifier.
На видео результат ☝️
Вот полный исходный код на гитхабе, можете поиграться!🎮
Принято считать, что AGSL-шейдеры довольно ограничены по возможностям. Ну типо что-то подкрасить, исказить, добавить эффект, поиграться с цветом и на этом всё.
Я тоже примерно так думал. Но после того, как сделал Upside Down-эффект в стиле Stranger Things, начал всё глубже и глубже ковыряться в AGSL. И в какой-то момент подумал: а почему вообще мы так недооцениваем шейдеры?
По сути, у нас есть доступ к каждому пикселю.
А значит, вопрос уже не в том, можно ли там делать только визуальные эффекты.
А что мешает засунуть туда вообще всю игровую логику?
Ну и дальше всё пошло по классике.
• Взял Doom.
• Взял AI.
• Попросил аккуратно перенести логику в код шейдера.
И, как оказалось, сделать это можно довольно спокойно за один вечер!
В итоге у меня получился Doom, который работает прямо внутри AGSL-шейдера, внутри modifier.
На видео результат ☝️
Вот полный исходный код на гитхабе, можете поиграться!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🤣9🤡4🥴3👍2🍌1
Перестаньте уже называть словом TDD все что угодно, кроме самого TDD.
В последнее время все чаще и чаще вижу, как люди называют TDD что-то типа
“ну это когда ты сначала пишешь тесты”
Блин.
Я даю 99% гарантий, что человек, который так пишет, ни разу в жизни нормально не пробовал TDD. Просто увидел слова test-driven development, что-то у себя в голове достроил и пошел с этим что-то в интернете писать. И, как показывает практика, достроил он себе обычно какую-то фигню.
У меня, кстати, есть для вас реально полезный совет. Займет полтора часа.
1. На полчаса идете на YouTube и смотрите видео, что такое TDD.
Но обязательно с лайвкодингом!
2. Потом выделяете себе час.
Закрываете все Claude, ChatGPT, Copilot и прочие незаменимые приложения.
Берете TDD-кату и идeте программировать руками часик по TDD. Руками!
Все.
Можете не благодарить.
После этого вы хотя бы сможете употреблять слово TDD по назначению.
Но для тех, кому совсем лень это реально попробовать, я напишу тут коротко, чтобы вы просто запомнили.
TDD — это не когда вы сначала пишете все тесты, а потом код. Или спеки, а потом тесты, а потом код. Нет!
TDD — это когда вы пишете код и тесты одновременно (ну почти).
Вот слово одновременно тут намного важнее, чем многие почему-то думают.
Это итерационный способ написания кода через быстрые циклы:
🔴 red → 🟢 green → 🔄 refactor
Как это выглядит:
• пишете один тест
• он красный 🔴
• он может даже сначала не компилиться, это нормально
• потом вы пишете минимальный код, который делает этот тест зелёным 🟢
• код в этот момент может быть кривой, тупой, некрасивый, вообще не тот, который хотелось бы в финале, но он делает тест зеленым
• и только после этого вы рефакторите код и, если надо, тест 🔄
Все. Цикл завершился. Дальше следующая итерация, и опять по кругу.
Вот это TDD!
А не “я сначала написал все тесты, а потом пошёл писать реализацию”.
Спасибо за внимание.
Не благодарите.
#tdd
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥4👎2🫡2