Рубрика «android» - 110

Представляем вам перевод серии статей посвященных глубокому обучению. В первой части описан выбор фреймворка с отрытым кодом для символьного глубокого обучения, между MXNET, TensorFlow, Theano. Автор подробно сравнивает преимущества и недостатки каждого из них. В следующих частях вы узнаете о тонкой настройке глубоких сверточных сетей, а также о сочетании глубокой сверточной нейронной сети с рекуррентной нейронной сетью.

Deep Learning: Сравнение фреймворков для символьного глубокого обучения - 1
Читать полностью »

Это лето выдалось очень богатым на путешествия, поэтому почти вся техника из моих последних обзоров была испытана в самых суровых походных условиях. На этот раз я решил рассказать о сетевом хранилище, которое проехало несколько тысяч километров, отработало на двух съемочных площадках и развлекало нас в редкие минуты отдыха. А так как условия эксплуатация были необычными, то и NAS тоже был выбран необычный — сразу с двумя ОС. Мне удалось поработать с двумя моделями этого накопителя. Встречаем: QNAP TAS-168 и QNAP TAS-268.

Один NAS, две ОС. Как это работает? - 1
Читать полностью »

Не могу сказать, что я почувствовал большое воодушевление, когда мне предложили поучаствовать в проекте «Device Lab от Google», однако без сомнения интерес присутствовал. Когда-то я делал проект с различными взаимодействиями через Bluetooth и у меня получились крайне интересные реализации. Однако оказалось, что в ходе манипуляций с Bluetooth все телефоны, владельцы которых по недосмотру отставили их включенными в радиусе работы Bluetooth, теряли заряд в три раза быстрее, чем обычно. Коллеги, само собой, не очень радовались. Проект пришлось закрыть. В связи с этим мне давно хотелось подержать в «цепких» руках маячки последнего поколения. И проект Device Lab мне такую возможность предоставил.

Universal Mobile Electronic Key - 1

Статья автора Дмитрия Сенашенко, в рамках конкурса «Device Lab от Google».
Читать полностью »

На этой неделе много всего интересного про потребление батарейки, про интерфейсы и HomeKit, про стикеры и рынок приложений, про грабли VK и работу в компаниях. И это лишь самая малая часть нового дайджеста.

Дайджест интересных материалов для мобильного разработчика #176 (17-23 октября ) - 1Читать полностью »

Security Week 42: зима на подходе, взрывающиеся свиньи, зашифрована половина интернета - 1Как вы наверное уже поняли, этот выпуск еженедельного дайджеста новостей в сфере инфобезопасности посвящен борьбе с желтыми заголовками. Исследователь Джон Сойер нашел уязвимость в ряде моделей смартфонов на базе Android, выпускаемых компанией Foxconn (новость, исследование). Уязвимость произошла из-за ошибки производителя, поставляющего для части клиентов также собственную версию ОС: там имелся отладочный модуль, позволяющий без труда получить привилегии рута и полный доступ к смартфону.

Несмотря на то, что ошибка оказалась достаточно серьезной, Сойер в своем исследовании высказался против использования уязвимостей «для пиара» — не в том смысле, что о них не стоит сообщать публике, а в том, что не нужно раздувать опасность обнаруживаемых дыр ради шеров и лайков. Отсюда и название уязвимости, пародирующее иные попытки брендировать уязвимости вплоть до создания логотипа, флага и рингтона: «Свиной взрыв».

Эксплуатируется Security Week 42: зима на подходе, взрывающиеся свиньи, зашифрована половина интернета - 2 проще простого. Достаточно подключить телефон к компьютеру, ввести пару команд через отладчик и готово. Впрочем, не совсем так. Исследователь обнаружил, что через стандартную консоль adb ввести комнаду не получится и слегка модифицировал софт так, чтобы отправлять на телефон необходимую последовательность символов. Результат: загрузка телефона в режиме отладки, с полным доступом к системе. Это не позволяет напрямую читать зашифрованную информацию, но дает массу возможностей для брутфорса или других специализированных мероприятий.
Читать полностью »

Доброго времени суток! Работая над одним проектом, обнаружил, что через связку retrofit2 и retrofit2 adapter-rxjava нельзя реализовать batch loading в одном потоке.

Приведу пример. Имеем описание retrofit-сервиса:

interface Api {
    @GET("query.json")
    Observable<List<SomeEntityServerView>> getAll(
        @Query("first") int first, 
        @Query("max") int batchSize);
}

Загрузка одного пакета:

service.getAll(0,20).map(list -> ...).observeOn(...).subscribe(...);

Для загрузки всех сущностей с сервера, нам придется каждый раз создавать новый observable для загрузки очередного пакета. Кроме того, как запихнуть все эти observable'ы в один поток, представляется крайне сложным.

Для решения это проблемы, предлагаю достаточно простой подход.
Читать полностью »

Несколько Gradle фишек для вашего Android приложения - 1

В одну из последних рассылок Android Weakly попала статья, в которой упомянули интересные особенности организации сборки проекта. После ее прочтения мне захотелось поделиться кое-чем из того, что использую я для настройки сборки Android проекта.
Читать полностью »

Привет! Недавно понадобилось интегрировать соц. сеть в проекте для Android. Выбор пал на ВК и, соотвественно, их офиц.библиотеку VKCOM/vk-android-sdk. Использовал ее раньше и ещё тогда не был от неё в восторге из-за малого количества примеров. Сейчас смотрю в исходный код, а он всё также далеко не идеален.

Обычно всегда просматриваю ключи в преференсах при запуске приложения и увидел такое вот (после авторизации):

Ключ: VK_SDK_ACCESS_TOKEN_PLEASE_DONT_TOUCH
Значение: scope=offline&https_required=1&access_token=e5cd068be722caafd3c449557e19c19eeed3f54c295a65cd097ed087f61c44394bd985975364fc34641cc&expires_in=0&created=1476876628588&user_id=220436550

Насторожило. Не думаю, что это хорошо хранить такие данные в открытом виде. Вообще, ещё после первого знакомства думал о возможности считывания вводимых данных при авторизации. Почему бы нет?
Читать полностью »

Что такое филиппинский кроссворд.

Цветные филиппинские кроссворды — такой вид головоломок, в сетке которой с помощью чисел зашифрована картинка. Каждое число, расположенные в сетке, кроме единицы, имеет пару. Необходимо подобрать и соединить пары чисел линиями так, чтобы линии удовлетворяли следующим условиям:

— длина каждой линии должна соответствовать числам, расположенным на ее концах;
— линии не должны пересекаться друг с другом и проходить через одни и те же клетки;
— линии могут идти в вертикальном и горизонтальном направлениях, могут преломляться, но не могут проходить по диагонали;
— соединяемые пары чисел должны быть одного цвета.

Так как единица не имеет пары, то она закрашена по умолчанию. В результате решения кроссворда, когда все пары чисел (кроме единиц) соединены линиями, получается рисунок.

Филиппинские кроссворды. Доработка мобильной 2D головоломки для работы с цветными кроссвордами - 1
Читать полностью »

В новом дайджесте история нелюбви к iOS, исследование поисковых запросов в App Store, танцы с Tango, трата $2 млн в игре и последующее разочарование в ней, безопасность IoT и много других интересных материалов.

Дайджест интересных материалов для мобильного разработчика #175 (10-16 октября ) - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js