Разработка ждёт балета – Telegram
Разработка ждёт балета
1.66K subscribers
505 photos
4 videos
15 files
1.53K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://news.1rj.ru/str/+e2ND1tAa0lU2ZTli
Download Telegram
“Когда не выходит насухо, стоит прибегнуть к смазке”. Шило же дурного не посоветует. Хлеб похорошеет, если его смазать маслом. Место укуса комара можно смазать специальным средством, чтобы не чесалось. Ну а всякую работу с View и анимациями Chris Banes решил смазать корутинами.
Вот тут описано, что там куда можно присобачить, чтобы дожидаться следующего прохода layout или окончания анимации прямо без коллбэка и прямо в корутине.

#ui #view #coroutine
Тут показывают, чем Arrow-kt может помочь, если приходится делать множественные вложенные .copy на data class’ах.
Мне почему-то кажется, что если проделывать такое приходится действительно часто, то, возможно, где-то мы свернули не туда. Ну, случаи бывают разные, может быть для кого-то это и впрямь оправданно. Да и выглядят эти modify и @optics не прямо фу-фу-фу.

#arrowkt #fp #library
Вот тут очень здорово рассказывают, как работает оптимизация хвостовой рекурсии (tail call optimization / TCO). Surprise-surprise, она вполне хорошо применяется и к обычным функциям с вызовом функции и return в конце.

#compiler #optimize #recursion
Черновик JEP’а про Primitive Objects.
Если упрощать, то это такие неизменяемые классы, с объектами которых можно работать, как с обычными примитивами. При копировании такого объекта получается объект, полностью идентичный оригинальному. И в планах даже сделать примитивными объектами int, boolean, и т.п., и обновить должным образом дженерики. Всем по List<int>!

#java #jep #primitive
Когда-то давно мой отец занимался ремонтом телевизоров, видеомагнитофонов и всякой другой техники. И было у него много таких же приятелей-ремонтников. И вот как-то раз привезли им какой-то супер-навороченный и мега-современный телевизор. Не знаю, что там была за проблема, но чтобы решить её, им нужно было попасть в инженерное меню этой машины. Как в него попасть, не знал никто. Пробовали подходить по-разному, ни один способ не сработал. Кто-то из них взял телевизор домой, чтобы поковырять его вечерком. Ненароком оставив его на короткое время наедине с ребёнком, ремонтник с удивлением обнаружил, что дитятко что-то нажало на пульте, и попало в то самое инженерное меню. Повторить успех не мог никто, но задачу в итоге выполнили.

Это я всё к чему. В linuxmint/cinnamon-screensaver появился очень похожий и очень смешной issue: дети кликали и жмакали куда попало, находясь на экране блокировки, после чего скринсэйвер напрягся, крякнул и крашнулся, дав ребятишкам доступ в систему.

#linux #crash #cybersec
1 февраля стартует очередная Podlodka Android Crew.
Это такая онлайн-конференция, которая проходит капельку утром, и капельку вечером. И так 2 недели. В этот раз ребята фокусируются на двух темах: UI и алгоритмы.

В UI секции, помимо прочего, нам обещают рассказать:
- Как собрать дизайн-систему из говна и палок
- Как оптимизировать RecyclerView
- Какие-то глубинные хитрости Constraints

Ну, а на второй неделе из нас планируют сделать алгоритмических ниндзя. Чтобы любой собес был BTYANNG!, а любая задачка - GRRRAH!

#event
Contempt Culture
Интересно, а как у врачей? Презирают ли, скажем, онкологи отоларингологов? А отоларингологи - проктологов? И все вместе смеются над верстальщиками-терапевтами?
А если все резко станут онкологами, то кто заштопает мне задницу после очередного дня борьбы с Android SDK?

#community #culture
На последнем пирлабе @dsvoronin закинул ссылочку на доклад от Benno Rice (контрибьютор FreeBSD): The Tragedy of systemd. В тех кругах, насколько я понял, systemd принято хэйтить за сложность и ответственность за всё и вся. Benno попытался разобраться, откуда вся эта сложность, и не пора ли уже “принять и простить”.
Ну и в целом очень хороший доклад, даже хочется надёргать цитат. Положу их в комменты к посту.

P.S. наш пирлаб, кстати, проходит каждую последнюю пятницу месяца в 20:00. В мирное время - в одном из пабов Москвы. Сейчас - в Zoom. Заходите, у нас всегда весело и мы всем рады.

#linux #systemd #talk
С Kotlin 1.4.30 в бетку перешёл новый JVM IR бэкенд компилятора. И вот за этим самым бэкендом будущее. Он станет дефолтным с Kotlin 1.5, да и старый компилятор больше не будет развиваться.

И вот Команда Kotlin Компилятора (или Ко-Ко-Ко, как их ласково называют в народе), просит помочь им с тестированием. Нужно убедиться, что новый бэкенд действительно достаточно стабилен для публичного релиза.

Собственно, как помочь?
- Включить новый компилятор в своём конфиг файле и собрать проект хотя бы один раз
- В идеале - включить новый компилятор для своего поекта по умолчанию, потому что не только сборка, но и дебаг имеют значение для этого теста
- Любые найденные баги нужно репортить сюда
- Ну и можно репортить в публичный Kotlin Slack

#kotlin #compiler #test
Как-то раз в универе наш препод по диффурам рассказывал историю: на военных сборах он стоял в наряде на тумбочке. Внезапно подбегает сослуживец, и просит назвать ему какой-то там синус от какого-то неудобного числа. Ну, до какого-то знака препод, конечно, назвал, но для более высокой точности попросил бумагу и карандаш. Сослуживцу, однако, этой точности оказалось вполне достаточно. Штука в том, что снарядом нужно садануть не белке в глаз, а примерно в район белки. Не нужно точно, нужно достаточно точно.

Так вот. @istima поделился очень прикольным видео. Разработчикам Quake III в своё время нужно было считать много штук вида 1 / sqrt(x). Но работало это достаточно медленно. И тогда они закодили страшный с виду алгоритм, который давал не идеальную, но достаточную для их целей аппроксимацию этого выражения. И вот в видео этот алогоритм разбирается по шагам. Очень интересно и займёт всего 20 минут, посмотрите!

#gamedev #math #talk
Занесло меня на прошлых выходных посмотреть видео от Егора нашего Бугаенко про основы EOLANG в его текущем состоянии. Не возьмусь ни хвалить язык, ни ругать - не по Сеньке шапка.

Оно выглядит необычно. Как будто ФП, когда есть только функции, и всё неизменяемо, и строить что-либо можно только композицией. Но только функции эти - как бы объекты, и соответственно могут иметь атрибуты. В общем, взглянуть на это всё было интересным ментальным упражнением, посмотрите, может и вас развлечёт.

#oop #talk
Интересно, но не то чтобы очень: длинный пост на XDA со всеми слухами и спекуляциями про Android 12. Я по большей части на картинки там смотрел (скриншоты, к слову, симпатично выглядят), но ещё глаз зацепило:
- слухи про Material NEXT
- возможно, появится нормальная (ага, конечно) поддержка кастомных тем
- может появиться снималка скриншотов на всю длину списка (серьёзно? это прямо высокий приоритет?)

#android #os #update
Идея о том, что от части невалидных ситуаций можно отгородиться просто на уровне типов, вроде бы не нова и достаточно очевидна. Это, однако, не мешает снова и снова писать про эту идею в бложиках. Вот здесь страничка в Elm гайдах про представление типов через множества.

#type #programming #math
А вот тут та же статья, которую переписали другими словами и добавили два слова про LiveData.

#type #programming #math
Наша iOS команда расширяется и ищет себе ещё одного бойца. Если у вас под боком такие имеются, вы их потыкайте в бок, будьте любезны.

Описание вакансии.

✈️ App in the Air – персональный ассистент для путешественников. Если вы о нас не слышали, то только потому что мы завоевывали другие регионы. Теперь активничаем по всему миру. Подробности здесь.

В 2020 запустили букинг авиабилетов и отелей. Большинство пользователей из US, но география стремительно расширяется. Планы у нас амбициозные, сотрудники профессиональные, условия классные.

Писать @mityafromearth или по почте dmitry.gridnev@appintheair.mobi

#job #ios
А вот интересный замес: Брюс Эккель (наверняка его все знают, как минимум за книжку “Философия Java”) пожурил Gradle за всякое разное, а Седрик Шампо (делал Groovy, делает Gradle) аккуратно прошёлся по его тезисам и постарался их развалить. Ням!

#gradle #java #groovy
@yoni_levin зовёт нас всех на финальную часть Fundamentals курса от Android Academy - онлайн-хакатон. Формат простой - у команд по 2-4 человека есть 48 часов, чтобы накидать Android-приложение (причём пилить можно только Android и только на Java / Kotlin). Даже вон призы какие-то обещают!

Ссылки:
* Форма для регистрации
* Канал с информацией

Более детальное расписание:
* 1-7 марта - Регистрация и формирование команд
* 12 марта 19:00 - Старт хакатона
* 12-13 марта - Кодинг
* 14 марта 19:00 - Подведение итогов, награждение

#event #hackathon
Доклад чисто расслабиться вечерком от Тагира нашего Валеева: “Заменят ли роботы программистов?”
Про Иван Иваныча в комплишенах, автоматическую генерацию кода и тестов, и ещё много про что. В качестве тизера дам такую цитату:

Позвольте представиться, я Тагир Валеев, senior if-else developer в компании JetBrains. Я достаточно хорошо пишу if’ы, умею их вкладывать один в другой, аккуратно менять местами, группировать, и даже дописывать ветку else при необходимости. За это меня терпят и даже платят зарплату.

#talk #ai #bot