Дебаж 🪲 с ноги 🦶
367 subscribers
263 photos
47 videos
2 files
173 links
🪲Дебажу код,🐞отлаживаю жизнь
Download Telegram
Я несколько месяцев искал идеальный «бабушкофон» , куда можно поставить Telegram, VPN и аутентификаторы. Спойлер: покупать ничего не пришлось.

Сейчас мой сетап состоит из двух девайсов. Первый - iPhone 13 mini (основная звонилка и аутентификаторы). Второй - Android (рабочие/развлекательные чаты и банки). Но внимание всё равно постоянно утекает.

Я загорелся идеей купить кнопочный телефон, чтобы свести экранное время к минимуму. Но кнопочник с Android - это костыль. Телегу туда поставить сложно, затащить приложение из трех букв для обхода блокировок - тот еще квест. Да и совсем без смарта обойтись нереально, потому что есть жесткие ограничения:
💬 Telegram: для личной коммуникации.
🔐 Аутентификаторы: без них просто не пускает в корпоративную сеть на работе.
📷 Камера: отсканировать QR-код или сфоткать документ.
🚇 База в дороге: иногда нужно открыть банковское приложение в метро или построить маршрут в навигаторе.

Таскать с собой третий девайс в виде тупой звонилки - карманы не резиновые.

Но кто ищет, тот всегда найдет. Оказалось, что в iOS есть встроенная киллер-фича - «Упрощённый доступ» (Assistive Access).

Суть в том, что интерфейс системы становится максимально примитивным, и тебе доступны только те приложения, которые ты сам выбрал.

Мой iPhone 13 mini буквально превратился в тот самый «бабушкофон». И работает это гениально: в него просто не хочется лишний раз залезать. Во-первых, там нет никаких отвлекающих аппок. Во-вторых, во всех приложениях снизу висит гигантская кнопка «НАЗАД». Она мешает юзать клавиатуру, делает интерфейс топорным и физически отбивает желание бездумно скроллить.

Кстати, идея для пет-проекта: сделать такой же хардкорный лаунчер для Android. В базовых настройках мой Pixel так не умеет - там всё равно остается слишком много лазеек.

А как вы боретесь с думскроллингом? Покупаете кнопочные звонилки, ставите лимиты экранного времени (которые потом сами же скипаете) или забили?

👍 - упрощенный режим
🔥 - старая nokia

Дебаж 🐞с ноги 🦶

#толки
👍2
Наивно полагал, что OAuth Яндекса защитит меня от заявлений на обработку персональных данных. Типа, я же не собираю паспорта, просто прикрутил удобную авторизацию.

Оказалось, показалось. РКН считает персональными данными даже обычный email, и за отсутствие бумажки можно влететь на штраф до 300к. Даже если это просто условный nagibator99@mail.ru, прилетевший по API из ВК.

Сегодня убил 40 минут, заполняя ту самую форму регистрации оператора ПД. Если бы не ChatGPT, сдался бы на втором шаге. Там реально дикие вопросы в духе: «Укажите правовое основание обработки и категории субъектов...» Какое основание, алло? Я просто кнопку «Войти» повесил!

Но был один момент, который сломал мне мозг: за все 40 минут мата и заполнения полей меня ни разу не спросили, на каком конкретно сайте я собираю email'ы.

А потом я понял логику. РКН вообще плевать на мои эндпоинты, домены и формочки на фронтенде.

Статус оператора ПД для государства - это синглтон, который вешается на инстанс моего ИП. Как только в мою базу падает хоть один юзерский email, я получаю этот статус глобально. То есть я регистрирую не конкретный сайт, а самого себя как субъекта. Получается, что одна эта мучительная регистрация теперь автоматически покрывает все мои текущие и будущие пет-прожекты.

👍 - бегу заполнять форму
🔥 - пет-проект это рок-н-ролл

#пробую



Дебаж 🐞с ноги 🦶
👍3🔥3
За 2025 год в США появилось около 441 тысячи новых долларовых миллионеров. Это почти половина всего мирового прироста и больше чем в десять раз превышает результат Великобритании, занявшей второе место. Россия, кстати, попала в первую десятку с приростом примерно в 22 тысячи человек.

В США сейчас живёт больше 40% всех долларовых миллионеров мира. Примерно каждый пятнадцатый житель страны формально миллионер. Данные впечатляют, хотя значительная часть этого результата связана со стоимостью финансовых активов, а не с 441 тысячей новых гаражных стартапов.

Но мой личный вывод проще: в англоязычном интернете очень много денег и внимания. Пора перестать смотреть на него как на побочный канал.

Я уже веду X на английском, несколько раз заходил в Reddit, а теперь завёл аккаунты в Medium и Substack. И сразу столкнулся с неожиданной проблемой.

«Дебаж с ноги» невозможно нормально перевести.

Дословный перевод звучит криво, а английское название должно сохранить тот же характер: разработка без лишнего пафоса, эксперименты, продукты и периодическое решение проблем грубой силой.

Пока выбираю из трёх вариантов:

-Brute Force Debugging
-Shotgun Debugging
-Kick-the-Door-In Debugging
-Boot Force Debugging
Первый кажется самым понятным. Второй звучит весело, но слегка отдаёт хаотичным тыканьем. Третий ближе всего к оригиналу, но похож на название статьи, а не канала. Какой вариант вы бы выбрали? Или оставили бы Debug Leg и вообще ничего не переводили?

#пробую

Дебаж 🐞с ноги 🦶
Как Kubernetes, Jira и Keycloak не помогли выпустить продукт

Небольшой повод похвастаться: меня начали звать на технические аудиты не только по работе, но и просто как специалиста.

Первый кейс сразу интересный. Есть команда из трёх разработчиков, больше 30 репозиториев, Kubernetes, Helm, Argo CD, Keycloak, Jira и куча другой инфраструктуры. Нет только новой версии приложения, которую заказчик может нормально открыть в браузере.

У заказчика уже есть работающий продукт примерно на 3000 активных пользователей в месяц. Пользователи покупают подписку и получают доступ к текстам, фотографиям и видео.

Заказчик решил обновить приложение и нанял отдельную команду. Прошло довольно много времени, но внятного результата он так и не увидел.

Разработчики говорят, что проблема в непонятном ТЗ. Заказчик говорит, что команда не отвечает на вопросы, не доводит решения до конца, а то, что показывает, регулярно не работает.

Меня позвали разобраться.

Первым делом я попросил доступ к коду. Код лежит в собственном GitLab. Правда, сам GitLab периодически тоже лежит, поэтому попасть туда получилось не сразу.

Когда доступ появился, меня встретила авторизация через Keycloak.

Напомню: разработчиков трое.

Спрашиваю, как деплоят. Kubernetes, Helm, Argo CD. Открываю список репозиториев, а их больше 30. Часть занята общими библиотеками и Docker images, но большая часть приходится на отдельные сервисы.

Потом выяснилось, что у команды есть собственные registry, Jira, Grafana, VictoriaMetrics и ещё пачка инфраструктурных компонентов.

Всё это работает на мощностях заказчика. Точнее, периодически работает. То GitLab недоступен, то проблемы с кластером, то ломается ещё что-нибудь. А отдельных людей, которые могли бы постоянно следить за этим зоопарком, нет.

Старая версия приложения продолжает обслуживать пользователей. У новой тоже есть production-контур, но он сильно отстаёт от dev и пока не соответствует требованиям.

Frontend вроде бы существует. Но вживую я его до сих пор не видел, только на скриншоте.

Сколько функций действительно готово, тоже непонятно. Приёмочные испытания ещё не начались, потому что критерии приёмки всё ещё согласовывают.

Получается странная картина. Инфраструктура уже сложная. Репозиториев много. Инструментов ещё больше. А общего понимания, что считается готовым продуктом, до сих пор нет.

Дело не в том, что Kubernetes, Jira или Keycloak плохие. Вопрос в том, зачем всё это понадобилось именно сейчас и кто должен это обслуживать.

Если команда из трёх человек построила инфраструктуру, за которой не успевает следить, значит, сложность уже стала проблемой. Особенно когда она не помогает быстрее выпускать продукт.

Поэтому моя первая рекомендация заказчику простая: упростить инфраструктуру до уровня, который команда реально может поддерживать. Уменьшить количество движущихся частей и сначала научиться стабильно доставлять продукт пользователям.

Забавно, что это полная противоположность истории с The Signal.

Там ребята быстро выкатились на Vercel, но забыли настроить RLS в Supabase. А когда я поднял логи и метрики, мне сказали, что это уже какой-то очень серьёзный подход.

Тут всё наоборот. Логи есть. Метрики есть. Kubernetes есть. Даже Argo CD есть. А работающий frontend пока существует для меня только на скриншоте.

Обе крайности плохие. Можно месяцами строить идеальную инфраструктуру и не выпустить продукт. А можно выкатиться за вечер, забыв про безопасность, логи и бэкапы.

Нормальный вариант где-то между ними: работающий пользовательский сценарий, понятные критерии готовности, минимальная безопасность, логи, метрики и повторяемый деплой.

А вы в какой крайности?

👍 - инфра всему голова
🔥 - пользователь лучший тестер

#пробую

Дебаж 🐞с ноги 🦶
🔥5
Запустил новый канал про Java и JVM: «Байтить кодом»

Я активно занимаюсь JVM Backend Digest для The Signal. Но формат дайджеста предполагает короткий рассказ о главном, а интересных новостей, релизов и технических деталей заметно больше.

Поэтому в новом канале буду подробнее разбирать происходящее в JVM-мире: Java, Kotlin, библиотеки, инструменты, производительность и внутренности платформы. Не просто пересказывать новости, а добавлять контекст и объяснять, почему они заслуживают внимания.

Всё-таки я Kotlin-разработчик и давно хотел писать о JVM. В идеальном мире как Алексей Шипилёв, но по духу, пожалуй, ближе к Тагиру Валееву и Баруху Садогурскому.

Если вам тоже интересно, куда развивается JVM и что из происходящего действительно важно, подписывайтесь: @bite_code
👍1
Lemon Squeezy + Freedom Bank: как выводить деньги с бурж-трафика

Зашел в umami и обнаружил, что у моего расширения speech-to-text почти треть пользователей - из США. Но рост остановился ровно на 1000 WAU. Покопался в логах sentry, почитал комменты — оказалось, юзерам просто не хватает бесплатных лимитов, вот они и отваливаются.

Расширять лимиты на free-тарифе слишком дорого, оплачивать API из своего кармана я бесконечно не могу. Значит, надо прикручивать pay-wall.

Пошел искать варианты приёма платежей из-за рубежа:
Открываешь Stripe — просит EIN или LLC.
Открываешь PayPal — комиссия 4%, конвертация и вечный риск заморозки.
Открываешь Wise — не регистрируют РФ с 2022 года.

В итоге наткнулся на Polar и Lemon Squeezy. Они работают как MoR (Merchant of Record): продают продукт клиенту от своего имени, сами разбираются с VAT в Европе и sales tax в Штатах, а тебе платят чистый остаток.

Остался вопрос, как это выводить.

Первый вариант — гнать на Payoneer, а с него на валютный счёт ИП в РФ, и платить 6% налога. Подвох в том, что Payoneer периодически блокирует выплаты на 180 дней за любую «подозрительную активность». Держать там оборот больше месяца тупо страшно.

Второй вариант интереснее. У Lemon Squeezy есть прямой вывод на любой банк с IBAN (Грузия, Армения, Казахстан). А у меня как раз лежит карта казахского Freedom Bank.

Пока план звучит надежно: Lemon Squeezy -> прямой перевод по IBAN -> Freedom Bank.

Кто-нибудь уже работает по такой схеме с MoR-сервисами? Есть какие-то подводные камни с комплаенсом казахских банков при регулярных поступлениях?

👍 - надо пробовать
🔥 - план точный как швейцарские часы (ирония)

#bip #speech_2_text

Дебаж 🐞с ноги 🦶
👍4