И ещё два плотных подгона. "What Every Computer Scientist Should Know About Floating-Point Arithmetic" и "What Every Programmer Should Know About Memory". Многие наверняка натыкались на названия этих трудов, но если вы не в их числе, то обязательно прочтите. Не обязательно за один раз, можно читать понемногу каждый день, статьи довольно сложные. Да, это врядли поможет вам написать очередную Activity. Но знание основ безусловно важно для понимания общей картины. Смотрите на это как на долгосрочную инвестицию в себя. Помни корни. Пис 🖕🏻
Внезапно узнал, что Cyanogen OS закрывается. Если я правильно всё понял, то OS - это именно сборки, которые пилили они, ROM - сборки, поддерживаемые сообществом, а MOD - набор приложений от их команды. Я давно их осью не пользовался, но новость какая-то грустная. Мда. Cyanogen-девственности я когда-то лишился с HTC Desire HD. Первый раз разблокировать bootlader. Осторожно войти в fastboot. Ммм. Ностальгия. Пис 🖖🏻
https://techcrunch.com/2016/12/24/cyanogen-failed-to-kill-android-now-it-is-shuttering-its-services-and-os-as-part-of-a-pivot/
https://techcrunch.com/2016/12/24/cyanogen-failed-to-kill-android-now-it-is-shuttering-its-services-and-os-as-part-of-a-pivot/
TechCrunch
Cyanogen failed to kill Android, now it is shuttering its services and OS as part of a pivot
It’s been a rocky few months for Cyanogen, the ambitious startup that aimed to build a better version of Android than Google. It has laid off staff, let go of its CEO and parted ways with another co-founder — now it is shutting down its services and nightly…
Оказывается, Bazel - гугловая система сборки всего на свете - вышла в публичную бету. Более того, они говорят, что система стабильна для многих вещей (Android в том числе), так как давно используют её внутри. Подумываю наложить на неё руки в эти праздники. И вам того же. Пис 👍🏻
https://bazel.build/versions/master/docs/support.html
https://bazel.build/versions/master/docs/support.html
Ловите цикл из трёх статей от хабраюзера Yoto - кюветы Android. Наверняка многие их уже читали, но я просто не могу не поделиться ими здесь. Статьи идеально обрисовывают те самые бочки говна, что мы с вами усердно едим. Сколько же в них боли! И язык, которым пишет автор, мне очень заходит. Надеюсь, вы не вскроетесь. Пис 🤘🏻
https://habrahabr.ru/post/279811/
https://habrahabr.ru/post/280190/
https://habrahabr.ru/post/281312/
https://habrahabr.ru/post/279811/
https://habrahabr.ru/post/280190/
https://habrahabr.ru/post/281312/
Хабр
Кюветы Android, Часть 1: SDK
Довольно долгое время я никак не мог понять, в чём же разница между «библиотекой» и «фреймворком». Нет-нет, я умел и читать, и гуглить, но до меня всё никак не д...
Статья из разряда "а знаете ли вы, что IDEA может ещё и вот так". Автор вкратце рассказывает про Analyze Data Flow фичу в Intellij-платформе. Эта балалайка позволяет отследить откуда пришли/куда пойдут данные из какого-то участка кода. Полезная штука, имейте её в виду. В рамках Android она далеко не всегда применима, но иногда может сэкономить немного времени. Пис 👍🏻
https://tips.seebrock3r.me/analyse-data-flows-without-the-debugger-android-studio-protips-3-ef2885aaffd9#.mubu6bmfb
https://tips.seebrock3r.me/analyse-data-flows-without-the-debugger-android-studio-protips-3-ef2885aaffd9#.mubu6bmfb
{dev} tips
Analyse data flows without the debugger
The usual approach to figure out the way data flows throughout a codebase is… well, extraordinarily manual. Turns out, there’s a better and faster way to do it. While this might not always work…
Случайно наткнулся на забавное исследование уязвимостей Android за 2014-2016 гг. К сожалению, в руки ко мне попала только презентация, так что над каждым слайдом нужно немного подумать, дорисовывая в голове общую картинку. Из интересного - 85% багов обосновались не в ядре Linux, а в коде драйверов от производителей железа, драть их красной кочергой. Но штука интересная, рекомендую. Пис ☝️🏻
Нашёл видео к слайдам из предыдущего поста. Все, братцы, можно не думать. Пис 🖖🏻
https://youtu.be/WxbOq8IGEiE
https://youtu.be/WxbOq8IGEiE
YouTube
Android: Protecting the Kernel by Jeffrey Vander Stoep, Google
Android: Protecting the Kernel - Jeffrey Vander Stoep, Google
Root isn’t what it used to be. SELinux and DAC capabilities have disarmed the typical root process on Android. This has forced rooting exploits to target the source of sandbox enforcement - the…
Root isn’t what it used to be. SELinux and DAC capabilities have disarmed the typical root process on Android. This has forced rooting exploits to target the source of sandbox enforcement - the…
Ну что, господа. Уже 6 января. В голову начинают закрадываться мысли о том, что пора прекращать заливаться бухлишком. Но не дёргайтесь. Прекращать пить тоже надо не спеша. Поэтому вот вам под пивасик неторопливый доклад из Варшавы о внутреннем устройстве Gradle. Пис 🍻
https://youtu.be/WalksPHi1Bo
https://youtu.be/WalksPHi1Bo
YouTube
Gradle under the hood. (Dawid Kublik)
More and more projects switch from Maven to Gradle. Facing deadlines and little time to investigate, many follow this trend without understanding what exactl...
Уже почти месяц доступны записи докладов с DevFest Siberia 2016 (дружно скажем спасибо GDG Novosibirsk). Некоторые доклады повторяют те, что были на Droidcon Moscow и других DevFest, но есть и такие, которые мне ещё не попадались. В частности, есть доклады по Go, Rust и всяким другим балалайкам. Расписание докладов, в котором можно выбрать интересные и достать слайды/репозитории можно найти здесь: http://devfest.gdg.org.ru/schedule/
А youtube-playlist тут: https://www.youtube.com/playlist?list=PLINg778NUJCovyoK2HzGiEZnjoL092Kow
Всё. Пис 🖕🏻
А youtube-playlist тут: https://www.youtube.com/playlist?list=PLINg778NUJCovyoK2HzGiEZnjoL092Kow
Всё. Пис 🖕🏻
YouTube
DevFest Siberia 2016 - YouTube
Здесь можно посмотреть большую часть видеозаписей докладов с DevFest Siberia 2016 https://devfest.gdg.org.ru
Поговорим немного о чёрных шляпах. Наткнулся тут на скрипт, который запихивает бэкдор в APK (автор обещает, что в любой). Эта штука позволяет встроить зловред в приложение, причём очень и очень просто. От вас требуется только соорудить для скрипта окружение из всех необходимых зависимостей - всем известных тулзов для реверса Android-приложений + Metasploit. Если интересуетесь темой, вперёд. Йо-хо-хо, бутылка рома и пис 🤘🏻
https://github.com/dana-at-cp/backdoor-apk
https://github.com/dana-at-cp/backdoor-apk
GitHub
GitHub - dana-at-cp/backdoor-apk: backdoor-apk is a shell noscript that simplifies the process of adding a backdoor to any Android…
backdoor-apk is a shell noscript that simplifies the process of adding a backdoor to any Android APK file. Users of this shell noscript should have working knowledge of Linux, Bash, Metasploit, Apktool...
Опять задвигаем Android подальше. Сегодня у нас прекрасное введение в blockchain. Чувак записал скринкаст, в котором он по шагам объясняет, как это дело работает и почему. Если давно хотели узнать, как же оно устроено, то начните с этой ссылочки. Если хотя бы примерно понимаете, что такое хеш-функция, то точно всё поймёте. Никакой магии. Поиграться с демкой автора можно там же. Пис 👍🏻
https://anders.com/blockchain/
https://anders.com/blockchain/
Andersbrownworth
Blockchain Demo
A live blockchain demo in a browser.
Обновилась страничка с советами по Gradle на Android Developers. Чуваки добавили ещё больше рецептов по сборке Android-проектов. На самом деле, 80% всех советов - баяны, а остальные 20% почти никому не нужны, но если вы только знакомитесь с этой системой сборки, то рекомендую разобрать все пункты. Год-два назад я был бы рад иметь этот список под рукой. Пис 👊🏻
https://developer.android.com/studio/build/gradle-tips.html
https://developer.android.com/studio/build/gradle-tips.html
Небольшая статья для тех, кто не знает или подзабыл, что такое SOLID. Этим принципам кто-то уже посвящал целый цикл статей на Medium (по одной на каждую букву акронима), но мне по душе именно эта. Автор нашёл золотую середину между краткостью (прочтите статью дядюшки Боба, короче некуда) и разжёвыванием материала (по статье на букву? Серьёзно?). В общем, кратко, понятно, ёмко. Пис ✌🏻
https://android.jlelse.eu/solid-principles-the-definitive-guide-75e30a284dea
https://android.jlelse.eu/solid-principles-the-definitive-guide-75e30a284dea
Medium
SOLID Principles : The Definitive Guide
SOLID is an acronym that represents five principles very important when we develop with the OOP paradigm, in addition it is an essential…
Эта статья будет интересна в первую очередь тем, кто только начинает погружаться в Android-разработку (и ещё не прохавал, какой же это кусок параши). Речь пойдёт о своих View в Toolbar. Если вы не знаете, с чего начать, чтобы добавить нестандартное для фреймворка поведение к MenuItem в Toolbar - милости прошу. Для более прожжённых товарищей статья скорее всего интереса не представляет. Пис ✌🏻
http://blog.stablekernel.com/using-custom-views-as-menu-items
http://blog.stablekernel.com/using-custom-views-as-menu-items
Вы же помните, что Kotlin притащил нам много приятных конструкций, в том числе и из мира функционального программирования? Так вот, автор этой статьи пытается объяснить концепцию монад при помощи Kotlin. В принципе, на Java тоже можно было бы наколбасить нечто подобное, но смотреть на это было бы больно. Мне кажется, что полностью понять монады из этой статьи ни у кого не получится, но зато получится сформировать в голове некоторый образ о том, что это такое, и почему это не страшно. А если тема заинтересует, то советую смотреть на более функциональные языки, не пожалеете. Пис 👇🏻
https://blog.exallium.com/exploring-an-either-monad-in-kotlin-92618b9c4623
https://blog.exallium.com/exploring-an-either-monad-in-kotlin-92618b9c4623
Thoughts from Exallium
Exploring an Either Monad in Kotlin
Recently, I was enlightened. I finally, fully grasped how the Either Monad works. At least I think I do. In this post, I am looking to…
Братка, умеешь пользоваться git? Знаешь как он работает? Уверен?
В общем, сегодня прекрасная статья, от чувака, который пилил свою реализацию git на JS. Не переживай, про JS в статье ни слова. Зато автор пошагово объясняет, что происходит в папочке .git, когда ты выполняешь те или иные команды. Мне статья люто нравится. Несмотря на её внушительный размер, читать определённо стоит. И желательно вдумчиво. Понимания прибавится, гарантирую. Пис ✊🏻
https://codewords.recurse.com/issues/two/git-from-the-inside-out
В общем, сегодня прекрасная статья, от чувака, который пилил свою реализацию git на JS. Не переживай, про JS в статье ни слова. Зато автор пошагово объясняет, что происходит в папочке .git, когда ты выполняешь те или иные команды. Мне статья люто нравится. Несмотря на её внушительный размер, читать определённо стоит. И желательно вдумчиво. Понимания прибавится, гарантирую. Пис ✊🏻
https://codewords.recurse.com/issues/two/git-from-the-inside-out
Статья с громким названием "Singletons Must Die" от однго очень неоднозначного персонажа - Егора Бугаенко. Чувак пишет о том, как избавиться от синглтонов и приводит ссылки, где можно почитать, почему синглтоны - зло. Мне кажется (хотя кого это волнует, так ведь?), что человек он очень интересный. Я не буду высказывать своего мнения о его предложениях и идеях, но очень тебе советую самому сформировать мнение о нём:
- полистать его блог - http://www.yegor256.com/
- послушать его выступления на конференциях (например, это: https://youtu.be/cGcCcxx4xrg)
- послушать выпуски с ним из подкаста "Разбор полётов" (http://razbor-poletov.com/2016/03/episode-105.html)
Пис 👇🏻
http://www.yegor256.com/2016/06/27/singletons-must-die.html
- полистать его блог - http://www.yegor256.com/
- послушать его выступления на конференциях (например, это: https://youtu.be/cGcCcxx4xrg)
- послушать выпуски с ним из подкаста "Разбор полётов" (http://razbor-poletov.com/2016/03/episode-105.html)
Пис 👇🏻
http://www.yegor256.com/2016/06/27/singletons-must-die.html
Короткая статья про JIT оптимизации. Автор приводит простенькие примеры для нескольких техник. Как по мне, немного отдает буллшитом, но если ты ещё ничего не слышал про такого рода оптимизации, то с неё вполне можно начать. Пис ✊🏻
https://dzone.com/articles/java-on-steroids-5-super-useful-jit-optimization-t
https://dzone.com/articles/java-on-steroids-5-super-useful-jit-optimization-t
dzone.com
Java on Steroids: 5 Super Useful JIT Optimization Techniques - DZone Java
If you want to get the most out of your code, you need to get familiar with your JIT compiler and how it interacts with Assembly.