Кто-то из вас знает, что я работаю над App in the Air. И работаю долго (неприлично долго по сегодняшним меркам) - без месяца 6 лет. Когда я пришёл, нас было ~10. Не так давно цифра перевалила за 80. И всё, что получилось за эти годы, мы строили вместе. Бесчисленное количество раз облажались, отдышались и пошли работать дальше. И многого добились. Но нужно больше! Нужно круче! Впереди назойливо маячит Фудзи, которую, вообще говоря, неплохо было бы и свернуть...
Это я всё к чему? Мы очень хотим усилить Android-команду, приходите строить с нами! Сейчас ищем людей middle+ уровня, а вот тут можно найти детальное описание того, кто мы, что мы, и зачем. Ну и можно напрямую дёргать нашего тим-лида @istima. Пишите!
#job
Это я всё к чему? Мы очень хотим усилить Android-команду, приходите строить с нами! Сейчас ищем людей middle+ уровня, а вот тут можно найти детальное описание того, кто мы, что мы, и зачем. Ну и можно напрямую дёргать нашего тим-лида @istima. Пишите!
#job
Люблю такие посты. В своей местной газете автор встретил задачку про разгадывание слов, после чего бессмысленно и беспощадно написал для неё решалку на трёх языках.
#algorithm #just4fun
#algorithm #just4fun
Stuff I've learned recently...
Solving the Daily Jumble
Solving a puzzle in Java, Groovy, and Kotlin. Also includes GraalVM and its native image tool.
Google запустил прикольную экспериментальную халабуду для удобного просмотра и анализа зависимостей разных open source библиотек. Работает и для Maven!
#google #oss #deps
#google #oss #deps
А вот ещё интересное с Reddit: можно пытаться набраться ума-разума, а можно чисто покекать. Пьяный пост чувака про то, чему он научился за 10 лет в разработке.
#software #developer
#software #developer
Reddit
From the ExperiencedDevs community on Reddit
Explore this post and more from the ExperiencedDevs community
Тут вот рассказывают про то, почему разработчикам стоит по минимуму отвлекаться. Все советы про то, как минимизировать эти самые interruptions, - такое себе, все уже так или иначе про это слышали и / или практиковали. Но мне очень понравились описание процесса построения картинки куска кода в голове и аналогия с карточным домиком.
#focus #programming
#focus #programming
Tellspin
Why interruptions are frustrating to developers | Tellspin blog
What's the real cost of interruptions? I illustrate all the context developers keep in their head and how it starts to decay immediately when interrupted.
Тут вот небольшой пост с обзором version catalog фичи в Gradle 7. Это чтобы собрать все свои зависимости со всеми их версиями в одном месте. Да, ещё один способ, чтобы собрать всё в одном месте. Да, в другом одном месте.
#gradle #deps
#gradle #deps
Хабр
Проекты в Gradle 7: как не зависеть от зависимостей
Привет! Меня зовут Ксения Кайшева, я пишу приложения под Android в компании 65apps. Сегодня расскажу о новой возможности, которая позволяет централизованно описы...
Интересный заход от гугла: показали альфу AppSearch. Это, грубо говоря, документная БД, заточенная под быстрый поиск по тексту прямо на устройстве. Мне правда немного странно, что это попадает в Jetpack, как будто необходимость быстро искать - достаточно редкий кейс. Но этим там виднее, наверное. Ну и not invented here, конечно же. Lucene - от лукавого.
#jetpack #library #appsearch
#jetpack #library #appsearch
Android Developers
AppSearch | Views | Android Developers
Рубрика "как страшно жить!"
В аппах, предустановленных на Samsung устройства, нашлась пачка дырок, позволяющая сделать всё, что угодно: от слежки и чтения файлов, до полного контроля над системой.
#cybersec #samsung #vulnerability
В аппах, предустановленных на Samsung устройства, нашлась пачка дырок, позволяющая сделать всё, что угодно: от слежки и чтения файлов, до полного контроля над системой.
#cybersec #samsung #vulnerability
News, Techniques & Guides
Two weeks of securing Samsung devices: Part 1
After spending two weeks looking for security bugs in the pre-installed apps on Samsung devices, we were able to find multiple dangerous vulnerabilities.
@istima поделился просто безумной ссылкой: чувак решил достичь "complete electronic independence", для чего наваял: свой assembly язык, свой assembler, свою схему процессора, а теперь грозится физически собрать этот самый процессор. ДЖАСТ БЕКОЗ ХИ КЭН
#talk #cpu #assembler
#talk #cpu #assembler
YouTube
I designed my own 8-bit computer just to play PONG
welcome to this week's episode of "Reinventing the Wheel" with jdh
CODE: https://github.com/jdah/jdh-8
TWITTER: https://twitter.com/jdah__
PATREON: https://www.patreon.com/jdah
EDITOR: NeoVim
VIMRC: https://gist.github.com/jdah/4b4d98c2ced36eb07b017c4ae2c94bab…
CODE: https://github.com/jdah/jdh-8
TWITTER: https://twitter.com/jdah__
PATREON: https://www.patreon.com/jdah
EDITOR: NeoVim
VIMRC: https://gist.github.com/jdah/4b4d98c2ced36eb07b017c4ae2c94bab…
Интересный доклад с небольшим погружением в историю ЯП, чисто расслабиться вечерком: "Why Isn't Functional Programming the Norm?"
#talk #fp #language
#talk #fp #language
YouTube
Why Isn't Functional Programming the Norm? – Richard Feldman
Richard is a member of the Elm core team, the author of Elm in Action from Manning Publications, and the instructor for the Intro to Elm and Advanced Elm courses on Frontend Masters. He's been writing Elm since 2014, and is the maintainer of several open…
Опять простой и понятный пост, название которого говорит само за себя: "What Every Programmer Should Know About SSDs".
#ssd #hardware
#ssd #hardware
Blogspot
What Every Programmer Should Know About SSDs
A blog by and for database architects.
Кратко и ёмко такое мне описать сложно, но я попробую: доклад с размышлениями создателя Clojure на тему всех этих
#talk #clojure #optional
Optional<String> и String?. И, собственно, к чему он пришёл для кложи: в разных местах нам нужно требовать разного от данных (где-то нужен User с firstName и lastName, а где-то - с id и address, и это всё ещё тот же User c optional полями), но делать это хочется как-то удобно и элегантно чтоли. #talk #clojure #optional
YouTube
Maybe Not - Rich Hickey
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Тут даже читать особо нечего, просто подход мне показался очень красивым: динамически меняем размер области тача клавиши на клавиатуре, в зависимости от того, насколько велика вероятность нажатия именно этой буквы следующей.
#keyboard
#keyboard
Хабр
Как мы ускоряли ввод текста на смартфоне: динамическая сетка в Яндекс.Клавиатуре
Нельзя быть полностью довольным своей клавиатурой. Кажется, абсолютное большинство людей недолюбливает этот инструмент и мечтает печатать быстрее. Особенно достаётся клавиатурам мобильных устройств: в...
Тут вот очень базовый пост про написание своего detekt правила. Обычно мне такие примитивные примеры не нравятся (всё, что там делают, это проверяют текст функции на наличие определённой подстроки), но в случае с анализаторами именно такие супер-простые правила зачастую превращают условные 20% усилий в условные же 80% результата, а это всегда очень приятно.
#detekt #lint #kotlin
#detekt #lint #kotlin
Хабр
Detekt — пишем свои правила
Мы в «Ситимобил», используем статический анализатор кода Detekt. Это инструмент, который при запуске проходит по проекту и показывает допущенные в коде code smell. И самостоятельно исправляет...
Не сказать, что невероятно увлекательный, но шишечки эдак на пол интересный разбор приоритетов потоков в Android.
#thread #cpu
#thread #cpu
Medium
How do thread priorities affect your Android app?
Introduction
26 июля стартует очередной сезон Podlodka Android Crew.
Первая неделя в этот раз очень общая - просто набор best practices в тестах, безопасности и т.п.
А вот вторую астрологи провозгласили неделей хранения данных, и тут я очень надеюсь, что у ребят получатся крутые доклады, потому что тема-то супер важная и залезать там можно глубоко. Я возлагаю наибольшие надежды на "Собеседование по архитектуре слоя данных" и "HowTo SQL-lite. Разберемся во всех тонкостях запросов, индексов и связей", но посмотрим, как там оно на деле выйдет. Сходите посмотрите, вдруг зацепит.
#event
Первая неделя в этот раз очень общая - просто набор best practices в тестах, безопасности и т.п.
А вот вторую астрологи провозгласили неделей хранения данных, и тут я очень надеюсь, что у ребят получатся крутые доклады, потому что тема-то супер важная и залезать там можно глубоко. Я возлагаю наибольшие надежды на "Собеседование по архитектуре слоя данных" и "HowTo SQL-lite. Разберемся во всех тонкостях запросов, индексов и связей", но посмотрим, как там оно на деле выйдет. Сходите посмотрите, вдруг зацепит.
#event
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #15
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
А тут вот безусловно потрясающая уязвимость в Kaspersky Password Manager - для стандартного пресета оно генерило одинаковые пароли всем на свете, опираясь только на текущую секунду. Более того, если нажать на кнопочку генерации несколько раз за секунду, пароль остался бы тем же. И тут нам на помощь приходят дизайнеры: давайте просто запилим красивую анимацию генерации, которая будет длиться чуть дольше, и никто ничего не заметит.
#cybersec #vulnerability
#cybersec #vulnerability
Ledger
Kaspersky Password Manager: All your passwords belong to us | Ledger
The password generator included in Kaspersky Password Manager had several problems. The most critical one is that it used a PRNG not suited for cryptographic purposes. Its single source of entropy was the current time. All the passwords it created could be…
Прямо очень захватывающий доклад про SQLite от, собственно, её создателя. Сходите посмотреть хотя бы просто ради удовольствия. Мне кажется, люди, горящие своим делом, заражают этим других даже через часовой ролик на ютубе.
#talk #sqlite #database
#talk #sqlite #database
YouTube
SQLite: The Database at the Edge of the Network with Dr. Richard Hipp
Dr. Richard Hipp—creator of SQLite—provides a great view into the history of SQLite and situations where it really shines. SQLite is a database designed to live at the edge of the network with no DBA to tend to it.
Пока не смотрел детально, но выглядит очень интересно: библиотечка Insetter, которой мы просто говорим, что обработать паддингами, а что маржинами, а дальше оно само все наши кнопочки подвинет. Что важно, эта штуковина может в будущем попасть в Jetpack.
#library #insets #jetpack
#library #insets #jetpack
Medium
Edge-to-edge support for your Android app with Insetter
With the appearance of edge-to-edge screens and gesture navigation, it can be frustrating to implement behaviours for all cases and…