Вам когда-нибудь хотелось странного? Например запустить drozer в docker-контейнере и достучаться с него до эмулятора на том же хосте? Казалось бы задача предельно простая и понятная. Запускаем эмулятор, на нем drozer-agent, пробрасываем порты, заводим контейнер говорим drozer console connect —server <locahost ip> и…. ничего не происходит. При этом если попытаться таким образом подключиться на девайс, который висит на другом ip, то все будет хорошо. Давайте разбираться и чинить.
Повелители DOOM
Однажды Джей решил проверить, насколько Кармак сосредоточен, вставив кассету с порно в видеомагнитофон и включив фильм на полную громкость
Давненько я не читал таких хороших историй, как в этой книге. Зарождение и трансформация целой индустрии это вам не хрен собачий и путь компании id Software однозначно стоит внимания любого программиста, даже если он никогда не собирается работать в игровой индустрии. Не знаю был ли как-то специально идеализирован образ Джона Кармака в этой книге, но его подходы к работе впечатляют. В моем понимании так должен действовать каждый инженер-программист, который хочет делать что-то действительно стоящее внимания.
[Далее]Создаем reverse proxy с mTLS на Ktor
Если вы любите интегрироваться с внешними системами, которые придерживаются высоких стандартов безопасности, то наверняка сталкивались с такой штукой как Mutual TLS (aka взаимная TLS аутентификация или mTLS). Ничего особенно сложного в такой интеграции нет. За исключением двух нюансов:
- Интеграцию придется делать в каждом сервисе
- В каждый сервис нужно положить клиентские сертификаты для прохожения хэндшейка mTLS
И если с первым нюансом можно как-то жить и мириться, то второй уже вызывает гораздо больше проблем и приводит к грустным лицам вашей команды инфобеза. Чтобы сделать их снова счастливыми, а заодно ликвидировать потребность писать один и тот же код в каждом сервисе — можно сделать умный reverse proxy, который возьмет на себя все тяготы и лишения связанные с хэндшейком и возможно какой-то другой дополнительной логикой, которую накрутили авторы внешней системы. Делать это хозяйство будем на Ktor, потому что почему бы и нет ;)
[Далее]Kotlin ❤️ Backend
Какое-то время назад я проводил сравнение JVM фреймворков для разработки backend-сервисов. Задача оказалась довольно амбициозной и затратной по времени, поэтому я ее так и не доделал до конца. Но часть вещей все же удалось сравнить из описать. Я решил, что не пропадать же тексту зря и публикую здесь кусок который касается набирающего сейчас популярного фреймворка - Ktor.
[Далее]Вздулся аккумулятор на IQAir AirVisual Pro
Пару лет назад я загорелся идеей мониторинга качества воздуха и уровня углекислого газа. Решив, что у меня не так много свободного времени, я не стал как обычно колхозить свое ноу-хау и по советам в интернете после тщательного изучения вариантов купил AirVisual Pro.

Выглядело все страшно красиво и имело такую же страшную цену. Гарантию на сей девайс мне дали - 2 года. Хотя за его цену, как мне кажется, они должны давать лет 10 гарантии и пожизненную улыбку.
[Далее]Ретроспектива 2020
Лучше всего для меня этот год описан в этом коротком видео:
[Далее]Что нового я узнал на конференциях от JUG.RU
По роду своей деятельности мне повезло получить FullPass на все конференции, которые организовывают ребята из JUG.RU и хочется написать несколько слов о докладах, которые я послушал, покритиковать их или наборот рассказать о полезности.
Сразу скажу, что я не стремился посмотреть все доклады. Просто выбрал те, что мне показались наиболее интересными по названию/описанию, и посмотрел. Поэтому вся эта подборка лишь отражает круг моих интересов и может вам совершенно не пригодится. Если желание читать все еще осталось, то жмите “далее”.
[Далее]Старый Drozer MacOS не испортит
Drozer - The Leading Security Assessment Framework for Android.
Обычно я не использую Drozer, а еще реже (никогда) я использую его на MacOS. Обычно это все уже есть в Kali Linux и устанавливать ничего не нужно. Но необходимость появилась, а вместе с ней пришлось знатно покувыркаться и поправить скрипты самого Drozer-а чтобы все заработало. После чего я все удалил, потому что в системе было знатно насрано после всех этих замечательных туторилов и issue на гитхабе. В итоге стало понятно, что есть два нормальных способа установки. Через Docker, и так как показано ниже. Все остальное - зло, ад и слезы по бездарно потраченным часам жизни.
[Далее]Шифрование данных в Python без херни
Этот пост должен был выйти сильно раньше, но я не смог собрать Tink для Python-а и поэтому остался ждать релиза 1.4.0 где они пообещали добавить уже собранный пакет в PyPI. Наконец-то релиз настал, а с ним появилась возможность нормально покопаться в питонячьих биндингах для Tink и рассказать об этом вам.
Путь программиста
Мне тут дядя из Джанхота новую партию чая прислал, а под чай, как известно, хорошо пишутся всякие разглагольствования на тему будущего, прошлого и настоящего. Говорить сегодня будем о программистах, я же больше ни про кого ничего не знаю. Расскажу, как я вижу путь развития современного программиста и дам в меру безполезные советы о том как идти по этому пути.