5 Aug 2026, 17:26 UTC906 views22 reactionsread 7 August 2026 Photo
Как читать плохо пропечатанные коды
В прошлый раз я упомянул, что returnErrors в ZXing подготавливает почву и для других препроцессингов. Сегодня разберём ещё один пример препроцессинга для исправления плохой печати.
Речь про коды, у которых модули (те самые чёрные и белые квадратики, из которых состоит DataMatrix) напечатались с разрывами.
1️⃣ Первый шаг кажется максимально контринтуитивным: чтобы прочитать код,…
🔥16❤6
Signed Alex Panov
3 Aug 2026, 09:03 UTC≈1,070 views8 reactionsread 7 August 2026 Photo
Собираем бэкенд-комьюнити на JVM Day
Бэкендеры, 29 августа в Москве пройдет хардкорная конференция. Ждут своих: Java-, Scala- и Kotlin-разработчиков, архитекторов и тимлидов.
Здесь выступят и расскажут:
— Андрей Кулешов — что нового в мире JVM за год.
— Сергей Петрелевич — разработка по Mechanical Sympathy.
— Александр Ланцов — Java после Loom: другие модели concurrency.
— Антон Курако — как бенчмарки вводят в забл…
😡4❤3🥱1
Signed Alex Panov
1 Aug 2026, 11:11 UTC≈1,490 views72 reactionsread 7 August 2026 Photo
Перспективное отображение
Продолжаю заниматься сканером и хочу поделиться одним интересным инсайтом, как улучшить качество сканирования кодов маркировки.
Базовый пайплайн выглядит так:
1. Кадр с камеры уходит в детектор (tflite-модель), который находит на нём координаты потенциальных кодов.
2. По каждому боксу вырезается ROI с небольшим паддингом, переводится в grayscale и отдаётся в декодер, например, ZXing.
То …
🔥53👍19
Signed Alex Panov
22 Jul 2026, 07:43 UTC≈2,170 views20 reactionsread 7 August 2026 Photo
Как сделать свой SDK для Remote Config
Если вы используете Firebase Remote Config для работы с фиче-флагами, то, возможно, для вас он станет платным, и кто-то начнёт искать альтернативу.
Мы, на самом деле, уже давно с него мигрировали на другое стороннее решение из-за высоких рисков блокировки, а теперь полностью переходим на собственный сервис. Хочется поделиться особенностями разработки такого SDK.
Начать стоит …
👍20
Signed Alex Panov
20 Jul 2026, 10:00 UTC≈1,740 views8 reactionsread 7 August 2026 Новые AI модели и инструменты выходят каждую неделю, городские сумасшедшие хоронят программирование, а кто-то, обложившись сотней агентов, создает супер-успешные проекты. Как с этим жить, решительно непонятно.
Чтобы помочь с этим справиться, ребята из подкаста Подлодка запустили закрытое сообщество инженеров, которые уже активно используют AI в работе и хотят делать это системно. Вот кому туда стоит подключиться:
👉…
🥱8
Signed Alex Panov
18 Jul 2026, 07:50 UTC≈2,050 views35 reactionsread 7 August 2026 Страх начать сначала
Три месяца назад я пытался улучшить сканер кодов маркировки на Android, и первый подход не дал мне ровным счётом ничего, что даже загнало меня в некоторую апатию. Тогда пришлось перейти к тяжёлой артиллерии, а именно к написанию кастомного пайплайна на C++ с использованием MediaPipe. Это было то ещё приключение: весь код, разумеется, писался агентами, а я пытался понять, что там вообще происходи…
🔥35
Signed Alex Panov
8 Jul 2026, 13:31 UTC≈2,100 views33 reactionsread 7 August 2026 Особенности безопасной реализации локального пин-кода
Когда-то давно мы реализовали локальный пин-код на основе этой библиотеки. Со временем эта реализация морально устарела, поэтому мы переписали модуль на KMP и Compose Multiplatform. Однако принципы безопасной реализации локального пин-кода остаются актуальными:
🟢В идеале вообще не использовать локальный пин-код. Но если приложение работает только в офлайн, то ос…
❤17👍8🤔8
Signed Alex Panov
6 Jul 2026, 13:51 UTC≈1,950 views49 reactionsread 7 August 2026 Photo
Обманчивая легкость из-за AI
Продолжая тему захода в чужие роли с помощью AI, в комментариях справедливо отметили, что AI лишь создает иллюзию легкости. И это действительно так, особенно когда речь идет о легаси-проектах, в которых весь контекст хранится в головах разработчиков.
Мне нужно было всего лишь вынести в публичное API некоторую функциональность из Telegram-бота. При этом бэкенд был написан на Kotlin 🏝
Ка…
👍43💯3🥱2👏1
Signed Alex Panov
29 Jun 2026, 05:31 UTC≈2,040 views22 reactionsread 7 August 2026 Photo
Насколько AI ускоряет TTM в большой компании
🧠 Мы запустили первое приложение, которое целиком написано с помощью AI: от прототипов и бэкенда до мобильных приложений. И хочется обсудить, насколько это реально ускорило общий TTM.
Можно услышать сотни историй о том, как вайбкодеры одновременно работают над десятком проектов и пишут по 30 тысяч строк кода в день. Это всё работает, пока ты делаешь это один. Но в большо…
👍21❤1
Signed Alex Panov
11 Jun 2026, 07:59 UTC≈2,530 views16 reactionsread 7 August 2026 Как сделать аналог availability check из iOS в KMP
В Swift есть специальный механизм проверки доступности API на разных версиях ОС:
if #available(iOS 17.4, *) {
newAPI()
} else {
legacyAPI()
}
Это позволяет выполнять код только на определённых версиях ОС, где нужный API гарантированно существует.
Но, к сожалению, такого механизма нет в Kotlin Native при работе над KMP-проектами. И если мы хотим реализов…
👍11🥴2😁2❤1
Signed Alex Panov
10 Jun 2026, 07:04 UTC≈2,040 views26 reactionsread 7 August 2026 ✅ kmp-telegram-login
Решил реализовать пример работы с OAuth 2.0 в KMP, как и обещал, но делать просто пример в вакууме не хотелось, и я вспомнил про недавно вышедший android-telegram-login. Подумал, что было бы полезно адаптировать его под KMP.
Но что бы вы думали? Разумеется, кто-то уже навайбкодил это до меня здесь, причём всего пару дней назад 💅
В целом код из репозитория и наша реализация довольно схожи, за и…
👍22❤4
Signed Alex Panov
25 May 2026, 15:32 UTC≈2,800 views25 reactionsread 7 August 2026 Photo
Решили тут перейти в дизайн-системе на state-based TextField, чтобы порешать разные проблемы предыдущей версии. И, как говорится, что же могло пойти не так 😐
Какие плюсы получили:
🟢Упростилась работа с курсором — страшные хаки больше не нужны
🟢Перестали лагать быстрые изменения текста на старых устройствах
🟢VisualTransformation теперь разделился на InputTransformation и OutputTransformation, что позволяет гибче рабо…
😁20🤯3❤2
Signed Alex Panov
Showing the 12 most recent of 20 posts we hold for @kotlin_adept. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.