31 декабря 2018 – 6 января 2019

@artem_zin

San Francisco, CA
31 декабря 2018Понедельник
13 твитов
6:26

mobileunderhood.onNext("Артем Зиннатуллин")

мы начинаем очередной эпизод подкаста без звукоинженера и в гостях у н… twitter.com/i/web/status/1…

8:23

Кидайте вопросы, но лучше в релевантный день:

День 1: как me пришел в и ушел из мобильной разработки
День 2: оупен… twitter.com/i/web/status/1…

8:31

@mobileunderhood inb4 день 6 будет оба последних дня

вот зачем спойлерить, a

кстати, каждый ответ будет в форме ретвита на манер @abroadunderhood twitter.com/0leGG/status/1…

8:36

В общем история у меня такая: лет с 14 начал тыкать PHP, чтобы поднять торрент трекер в локальной сети провайдера… twitter.com/i/web/status/1…

8:40

За год до этого, в школе, я вообще не мог понять программирование

Очень любил математику, а тут тебе пишут x = x +… twitter.com/i/web/status/1…

8:49

Дальше как-то полегчало, и захотелось сделать что-то, чем будут пользоваться реальные люди

На тот момент у моего п… twitter.com/i/web/status/1…

8:52

Был какой то оупенсорсный (тогда я еще не понимал, что такое oss) движок для торрент трекеров на PHP, на нем тогда… twitter.com/i/web/status/1…

8:55

сайт проработал несколько месяцев, в пике получал 2k пользователей в день и сотню онлайн, что имхо успех учитывая,… twitter.com/i/web/status/1…

8:59

после этого стало понятно, что надо мутить стартапы и я начал писать соцсеть и тут я узнаю про vk и он набирает дик… twitter.com/i/web/status/1…

9:21

После этого и других подработок я строго следую правилу "никогда не работай на знакомых, родственников и друзей", всем рекомендую

9:32

Дальше был фриланс на PHP, у меня появился первый Android телефон → решил учить Java чтобы сделать первое приложени… twitter.com/i/web/status/1…

9:35

После пары простых Android приложений для себя, я устроился делать энтерпрайз систему на Java для управления бизнес… twitter.com/i/web/status/1…

21:09

// Ну шо

new Year()!!

// Пришлите хоть фоток салатов и бутербродов с икрой, я по ним скучаю ппц

2 января 2019Среда
32 твита
5:00

Ну, можно сказать что день про оупен сорс потрачен

в принципе, это все что нужно знать про оупен сорс от меня

5:04

Потом было много компаний и проектов, кидания на зарплаты, плохие и оч классные коллеги и вот это всё, хлебнул норм… twitter.com/i/web/status/1…

5:07

Это как me пришел в мобильную разработку, давайте про то как я ушел оттуда (ну почти)

В общем, так получилось, что… twitter.com/i/web/status/1…

5:29

Со временем это стало занимать 10-20% рабочего времени и на 3х последних работах я искал любые предлоги, чтобы зани… twitter.com/i/web/status/1…

5:40

Взрослые люди, конечно, находились компромиссы.

Но копилась депрессия, которую до этого я резетил частой сменой р… twitter.com/i/web/status/1…

5:44

Вообще, если вы живете работой, менять её без рефлексии о проблемах в вашей голове и отпуска, это такое.

Есть плю… twitter.com/i/web/status/1…

5:48

Тем не менее, в этот раз я осознанно сменил направление деятельности и занимаюсь тулингом:

системы сборки (Gradle… twitter.com/i/web/status/1…

8:49

Давайте немного про оупен сорс таки

Так получилось, что с 2011 года я на гитхабе, с того момента жизнь как-то пошла под откос

8:51

Оупен сорс это одновременно одна из лучших и худших вещей в моей жизни

Со временем обрастаешь проектами и обязател… twitter.com/i/web/status/1…

8:54

В идеале, активные oss проекты в которых вы участвуете, должны быть частью вашей оплачиваемой работы

Во-первых хре… twitter.com/i/web/status/1…

9:00

Также удачные примеры — конкретно по работе нужно сделать патч в используемую библиотеку/тул.

Тут надо, однако, ко… twitter.com/i/web/status/1…

9:03

Все остальные проекты — сложна

Как правило, рабочий контракт говорит следущее: всё что вы пишете в рабочее время и… twitter.com/i/web/status/1…

9:06

вооот

соответственно — оставляйте рабочий ноут на работе, если вы не on-call и не работаете удаленно, так еще кста… twitter.com/i/web/status/1…

9:09

@mobileunderhood Куда ты дела кота со своей аватарки?

Это кошка, она, к сожалению, умерла года 3 назад :( twitter.com/k0mn1n/status/…

9:15

Дальше возникает проблема энергии/мотивации, я чот в последние 1.5 года оч редко могу писать код после работы

это… twitter.com/i/web/status/1…

9:20

@mobileunderhood Лолшто? Утаскивание рабочего ноута домой позволяет писать код в дороге — это ж единственный шанс д… twitter.com/i/web/status/1…

Это проходит)

но это мое личное, я ноут таскаю, часто on-call по какой-то инфраструктуре, но всех стараюсь отучить… twitter.com/i/web/status/1…

9:22

с другой стороны, если хотите быть тем самым "10x engineer" (которых сейчас в долине разносят в пух и прах, мол при… twitter.com/i/web/status/1…

9:26

про 10x engineer еще добавлю (я не 10x если шо)

очень помогают подкасты, со многими технологиями, которые я активн… twitter.com/i/web/status/1…

9:28

а еще, подкасты можно слушать на Nx скорости, у меня это 2.7x (норм, привыкните)

то же самое с видео, до 2x можно… twitter.com/i/web/status/1…

9:30

Про open source: в целом это оч полезно по многим причинам, в том числе карьерный и персональный буст

но цена шото… twitter.com/i/web/status/1…

9:34

За переработку в лучшем, в ЛУЧШЕМ случае, вам заплатят (мне ни разу не платили, сидел часто до 11, нахрена?)

Потом… twitter.com/i/web/status/1…

9:42

Хороший способ оценить масштаб проблем перед присоединением к разработке какого-то проекта — подпишитесь на его изм… twitter.com/i/web/status/1…

9:47

Оупен сорс плохо совмещается с проблемами в личной жизни, депрессиями и всем таким

Вы (всмысле я) не читаете письм… twitter.com/i/web/status/1…

9:55

@mobileunderhood А промоутить тебя за то, что ты больше других делаешь, не хотели?)

Промоутят за скоуп работы и набор ответственностей обычно (у меня так), за уровень вклада не было

Постоянные перер… twitter.com/i/web/status/1…

9:59

Так что, надо пробовать!

Через пару лет очнетесь с десятком проектов, сотнями имейлов, бокалом виски, вас будет то… twitter.com/i/web/status/1…

10:03

Понятно, что это вопрос баланса, у многих получится и надо пробовать (серьезно)

Более того вы не должны боятся ска… twitter.com/i/web/status/1…

10:04

Вот, если у вас есть какие-то вопросы/комменты про оупен сорс — задавайте (вот мой гитхаб, если это важно для диску… twitter.com/i/web/status/1…

10:11

@mobileunderhood Это не про переработки, а про свои проекты и опенсорс.
Вообще не вижу смысла перерабатывать.

Как правило, рабочий контракт делает всё что вы пишете на рабочем оборудовании и/или в рабочее время собственностью… twitter.com/i/web/status/1…

10:15

@mobileunderhood Это верно только про ситуацию «чо бы мне такого накодить?», что уже бредово.
У тебя есть проблема… twitter.com/i/web/status/1…

Супер дельный коммент (серьезно)

Всё что я обсуждал подразумевало не "чо бы мне такого накодить", это бред 100%, п… twitter.com/i/web/status/1…

10:17

@mobileunderhood Зачем у тебя столько форков? Так сразу и не понять, чем отличаются от оригиналов.

Форк на гитхабе необходим для внесения патчей в апстрим, очень редко форкаю для других целей (только если боюсь, чт… twitter.com/i/web/status/1…

10:20

@mobileunderhood Одним из самых часто задаваемых вопросов (в том числе и самому себе) будет, я думаю - как начать?… twitter.com/i/web/status/1…

Подпишитесь на изменения проекта, помониторьте, поймите насколько строгие мейтенеры, например в RxJava все строго д… twitter.com/i/web/status/1…

10:25

Проблема "нет сил" не так проста, как выглядит :(

В нее включена "стоимость" поддержки (время, ментальные ресурсы)… twitter.com/i/web/status/1…

3 января 2019Четверг
22 твита
8:44

Давайте быстренько про "рабочие процессы, выгорание, смена работы, собеседования" пока я не уснул

8:46

Рабочие процессы буду рассказывать про инфраструктурно-ориентированную разработку: архитектура, библиотеки/фреймвор… twitter.com/i/web/status/1…

8:49

Как обычно, с разработкой таких вещей всё печально

Начнем с Архитектуры. Со временем я пришел к выводу, что не хоч… twitter.com/i/web/status/1…

8:52

Начнем с примеров:

8:59

Архитектурные задачи я вижу так:

9:06

У Библиотек и Тулинга меньше скоуп, поэтому я предпочитаю писать их.

Понятно, что к Архитектуре можно и нужно подх… twitter.com/i/web/status/1…

9:08

Поэтому всем рекомендую писать код против интерфейсов, а не реализаций, и начинать с проработки интерфейсов (или си… twitter.com/i/web/status/1…

9:14

В бекенде всё оч похоже

Писали монолиты по 100k+ строк кода, и шото как-то тяжело пошло, работает медленно, скейли… twitter.com/i/web/status/1…

9:19

Про организацию инфраструктурной разработки

Ожидание:

9:25

Реальность:

9:30

У меня есть понимание двух потенциально хороших ситуаций:

1) У вас на проект маленькая команда профессионалов

Тог… twitter.com/i/web/status/1…

9:33

2) У вас большая (10-20 уже большая имхо) команда средней руки разработчиков на проекте

Тогда инфраструктура будет… twitter.com/i/web/status/1…

9:35

1й вариант хорош потому что:

9:37

2й вариант хорош потому что:

9:50

Про выгорание/депрессию: в любом раскладе можно схватить

тут я не большой эксперт по тому как этого избежать, друг… twitter.com/i/web/status/1…

9:58

Смена работы это легко, имхо.

Но, потом бывает грустно иногда, особенно тепло вспоминаю Яндекс.Почту и Juno.

В о… twitter.com/i/web/status/1…

10:02

Плюсы/минусы частой смены работы:

10:07

Про собеседования: тонкая штука, я их не любил, но со временем пришло шото понимание что от этого зависит с кем буд… twitter.com/i/web/status/1…

10:21

@mobileunderhood Ты всё ещё считаешь что алгоритмические задачки на собеседованиях спрашивать бесполезно?

Чисто алгоритмические задачки я все еще считаю ~бесполезными

Интереснее оценить/показать инженерную культуру/урове… twitter.com/i/web/status/1…

10:25

Добавлю еще про Lyft: мы отказались от "секционных" собеседований для мобильных разработчиков

Было:

10:27

Стало Project Based: секции связаны

10:28

Если есть вопросы/комменты по этим темам — пишите, завтра будет "тулинг, CI и девопс"

5 января 2019Суббота
10 твитов
22:41

@mobileunderhood ты где пропал?

сорен, у меня то тут работа со 2го января, устал, счас буду писать twitter.com/MojoIvan/statu…

22:45

@mobileunderhood CI на своих мощностях разворачиваете? Или облачную покупаете?

В Lyft есть общий CI и отдельная команда которая его обслуживает, это система поверх нескольких кластеров Jenkins,… twitter.com/i/web/status/1…

22:52

@mobileunderhood Насколько полезна архитектурная часть? Реально можно понять что-то о человеке?

Очень полезна, понять можно много. Стараюсь проходить по всему стеку технологий/решений и сравнивать решения с альт… twitter.com/i/web/status/1…

22:57

@mobileunderhood Тогда как удалось работать в одних из топовых компаний с явным хейтом алгоритмических задач? Прихо… twitter.com/i/web/status/1…

В Яндекс я проваливал раза 2 именно алгоритмы, потом перехотел туда вообще (классно HR поработали да)

Через n лет… twitter.com/i/web/status/1…

22:59

Специально не зубрю алгоритмическую еботень, если компании/собеседующим это очень принципиально, значит мы с ними н… twitter.com/i/web/status/1…

23:02

@mobileunderhood А вот это интересный подход! Можешь побольше деталей рассказать о каждом шаге? Какие требования, на что обращаете внимание?

Архитектуру уже описал
Кодинг — даем лаптоп (можно на своем), интернет, показываем кухню/туалет, переодически чекае… twitter.com/i/web/status/1…

23:03

@mobileunderhood Mainframe 3 ещё не готов?

Mainframer 3.x еще в разработке, прогресс можно отслеживать тут github.com/buildfoundatio… twitter.com/alexeikorshun/…

23:07

@mobileunderhood А почему именно LRU cache на твой взгляд заслуживает внимания?

LRU кеш это пример, но имхо он хорош потому что

23:10

@mobileunderhood Какой CI посоветуешь? тревис, сёркл тд?

Не люблю такие вопросы, но между Travis и Circle выбираю Travis

CI дает шедулинг, вещи типа логгирования, API, кон… twitter.com/i/web/status/1…

23:16

Добавлю, что я уважаю людей разбирающихся и увлекающихся алгоритмами и алг задачами (есть онлайн соревнования)

Про… twitter.com/i/web/status/1…

6 января 2019Воскресенье
76 твитов
0:12

------ BEGIN ------

"тулинг, CI и девопс"

0:16

Тулинг — комплексное понятие, может подразумевать:

0:20

CI — Continuous Integration

В идеале (для меня) это пайплайн реагирующий на любое изменение в апстриме системы кон… twitter.com/i/web/status/1…

0:22

@mobileunderhood А что например просите накодить?

Например, загрузить что-то по сети и показать этот контент

Цепляется стек от сети до UI, можно и нужно использоват… twitter.com/i/web/status/1…

0:26

CI — точка интеграции разных тулов, легко упереться в его гибкость/масштабирование

Конфигурация CI пайплайна в иде… twitter.com/i/web/status/1…

0:34

На какие CI системы можно посмотреть (селфхостед и as service):

0:39

Типичные стейджи билда (могут быть объединены в один):

0:41

CI при этом может:

0:44

Но это не самый сок от CI

Если CI имеет такую вещь как Submit/Merge Queue и гарантирует целостность master/target… twitter.com/i/web/status/1…

0:48

Имхо, если вы думаете что у вас Extreme Programming, но нет автоматического мержа — у вас не XP

К сожалению, задач… twitter.com/i/web/status/1…

0:50

CI пайплайн который я делал в Juno подробно описывал тут github.com/gojuno/enginee…

Сейчас там не Jenkins тк его надо… twitter.com/i/web/status/1…

0:54

Про CI можно говорить долго, скажу последние пару мыслей

0:57

Про Devops

В индустрии имхо до сих пор нет четкого понимания скоупа задач, тк есть еще SRE

В моем понимании девоп… twitter.com/i/web/status/1…

1:00

Очень легко прийти к состоянию "Jack of all Trades, Master of None" тк стек технологий и спектр проблем огромный

П… twitter.com/i/web/status/1…

1:03

Девопс это естественное развитие технологий

Из-за доступности AWS и подобных облаков, мы пришли к миру где разверт… twitter.com/i/web/status/1…

1:07

Но девопс это тупой путь, хоть и интересный

Скоуп ну слишком большой:

1:10

Есть еще SRE — Site Reliability Engineer

Это больше про тех кто пришел из сисадминов в девопс, то есть в программи… twitter.com/i/web/status/1…

1:12

@mobileunderhood Автомердж можно и со стороны хранилища кода сделать, например bitbucket

йеп,

Submit/Merge Queue может и имхо должна быть вообще отдельной системой которая мониторит VCS и CI, кидает зад… twitter.com/i/web/status/1…

1:15

@mobileunderhood И тесты тоже могут быть параллельными, что уж там

Параллельным должно быть все внутри и снаружи (сборка, тесты, статический анализ) пока от параллельности оверхед не… twitter.com/i/web/status/1…

1:18

------ END ------

"тулинг, CI и девопс"

пишите вопросы/комменты, мне мало осталось до конца воскресения по Мск

п… twitter.com/i/web/status/1…

9:37

@mobileunderhood Ага, у пары команд даже есть специальный бот, который назначает ревьюверов в зависимости от их загруженности

Если что, это кстати Ильдар, глава мобильной разработки в персональных сервисах Яндекса (ну то есть примерно во все… twitter.com/i/web/status/1…

9:41

@mobileunderhood Именно на iOS интересует. С Android гораздо меньше проблем.

я не мейтейню iOS CI, только консультирую, консультируюсь и общаюсь с теми кто это делает

9:57

------ BEGIN ------

"Корутины против Rx"

suspend fun discussion() {
podgoret(getPopki())
}

10:16

я Кайл из 2k64, Корутины победили Rx, осталось небольшое реактивное сопротивление

Сара, они отправили coroutineSco… twitter.com/i/web/status/1…

10:20

Дисклеймер, я biased в сторону Rx, поэтому не принимайте всё сказанное за объективную реальность. Итак, начнем.

У… twitter.com/i/web/status/1…

10:26

Почему мне не нравятся Корутины:

10:32

  • На железном уровне, асинхронность это прерывание и передача управления другому коду. Корутины скрывают это, в то… twitter.com/i/web/status/1…
  • 10:36

  • Требуют специальной поддержки на стороне компилятора, Rx это библиотека, есть разные реализации: Project Reactor,… twitter.com/i/web/status/1…
  • 10:42

  • API Корутин, это частный случай Rx, это Single и Completable + PublishSubject
  • 10:47

  • После долгой беседы с @relizarov, я подостыл. Мы идем к более лучшему будущему с разных путей, Корутины дают прос… twitter.com/i/web/status/1…
  • 10:49

    Сейчас многие Kernel и stdlib I/O API сихронны, хотя в железе они асинхронны

    Только путем перевода большего кода н… twitter.com/i/web/status/1…

    10:54

    Почему вредны синхронные Kernel и stdlib I/O API? Потому что ваш поток блокируется, а скейлить потоки дорого.

    Кор… twitter.com/i/web/status/1…

    10:57

    Вот и нынешний @mobileunderhood туда же. Вот зачем сравнивать теплое с мягким. Rx вот ни разу ни про асинхронность.… twitter.com/i/web/status/1…

    Про асинхронные потоки данных, асинхронность в Rx это ключевой момент. Rx это push-based стриминг

    Если аргумент не… twitter.com/i/web/status/1…

    11:01

    Благо в бекенд мире есть "хайлоад" и проблемы типа C10k,

    которые заставили разработчиков OS, а затем и стандартны… twitter.com/i/web/status/1…

    11:08

    I've been thinking about learning curves of RxJava and Coroutines lately, but I don't have enough experience with c… twitter.com/i/web/status/9…

    Давайте теперь про минусы и потом плюсы Rx:

    11:14

    @mobileunderhood Стоит ли ожидать реализацию 'RxKotlin' с корутинами под капотом (и последующим применением в MPP)… twitter.com/i/web/status/1…

    кек, стоит, stay tuned, это логичный шаг

    Беспокоит пара моментов:

    11:18

  • Требует смены мышления, хотя сейчас есть Single/Completable/Maybe которые не требуют
  • Логику иногда тупо сложно… twitter.com/i/web/status/1…
  • 11:23

    @mobileunderhood Нет общего предка у Observable, Maybe, Single, Completable etc

    Это проблема и не проблема одновременно, тк есть toObservable() и остальное на каждом из них.

    Это кстати, еще и ос… twitter.com/i/web/status/1…

    11:26

    Теперь про плюсы Rx:

    11:31

  • Легко делать код параллельным и в целом прыгать между потоками, subscribeOn/observeOn (есть нюансы конечн, наприм… twitter.com/i/web/status/1…
  • 11:34

    @mobileunderhood @relizarov Не забывай, что всё твоё сравнение не очень валидно в корне. Корутины — это компоненты… twitter.com/i/web/status/1…

    Про в корне не соглашусь, Корутины тоже имеют свою библиотку со всякими delay() и прочим, это не просто компоненты,… twitter.com/i/web/status/1…

    11:36

    @mobileunderhood На корутинах пишут UI? В данном контексте мне более понятна заруба Rx vs нотификации или Rx vs event bus.

    На Корутинах пишут UI, просто не реактивный как с RxBinding, Domic и всем таким.

    Корутины дают удобный переход ме… twitter.com/i/web/status/1…

    11:40

  • "Всё стрим" идет очень далеко, проекты типа StorIO, SQLBrite и вот теперь R2DBC, а сейчас и многие хранилища данн… twitter.com/i/web/status/1…
  • 11:45

    @mobileunderhood @relizarov Не забывай, что всё твоё сравнение не очень валидно в корне. Корутины — это компоненты… twitter.com/i/web/status/1…

    Стоит еще сказать, что Reactive Extensions и Reactive Programming это не одно и то же. Можно использовать Rx, но пи… twitter.com/i/web/status/1…

    11:48

    @mobileunderhood АПИ != парадигма. RxJava — это просто реализация. Да, с ней можно что угодно делать, но можно и пр… twitter.com/i/web/status/1…

    Кстати Rx не обязательно писать в ФП стиле, во многих проектах это все такой же ООП интерфейсами и классами, просто… twitter.com/i/web/status/1…

    11:53

    На этом, пожалуй, всё, шото у меня у самого подгорело от своих же мыслей и ваших реплаев))

    пишите комменты!

    "Кору… twitter.com/i/web/status/1…

    11:59

    @mobileunderhood Ты ж забыл .await() у getPopki()

    В том то и дело, что не забыл

    await() не нужен в скоупе корутины или suspend функции

    это меня напрягает тк на код… twitter.com/i/web/status/1…

    12:03

    @mobileunderhood И вот мы подошли к самому грустному в этой всей истории (с моей точки зрения).

    RxJava подталкивае… twitter.com/i/web/status/1…

    Согласен

    Rx толкает в сторону более stateless, pure программирования на функциях, Корутины помогают оставаться в и… twitter.com/i/web/status/1…

    12:09

    @mobileunderhood Ахаха! Кстати теперь я занимаюсь CI, сборкой, репами и подобными штуками и да, мы нанимаем - если… twitter.com/i/web/status/1…

    Пиши книгу "Из Head of Mobile в Devops" кек

    Учитывая что ты все время еще писал Яндекс.Почту под андроед, я так по… twitter.com/i/web/status/1…

    12:18

    @mobileunderhood Если getPopki() - suspend, то не нужно, конечно, но если Deferred, то нужно. Другое дело что Defer… twitter.com/i/web/status/1…

    20:02

    Тэкс, я тут, осталось 58 минут.

    Проснулся с на удивление нормальным настроением, так что просто поретвичу ваши ко… twitter.com/i/web/status/1…

    20:03

    @mobileunderhood И да, стандартный convention для suspend-функций - неблокирующая работа, но компилятор/stdlib этог… twitter.com/i/web/status/1…

    На это планируется (не мной) динамический и статический анализ кстате twitter.com/the_very/statu…

    20:04

    @mobileunderhood Аргумент про неявность в целом про Котлин у нас (androidx) во внутренних разговорах возникает прим… twitter.com/i/web/status/1…

    20:05

    @augusent @mobileunderhood Guess who уже сделал первый подход ещё в 2017: github.com/JakeWharton/Re…

    20:06

    @the_very @mobileunderhood Хотел упомянуть Реагент, но эксперимент застыл уж как год назад. Есть надежда, что в ожи… twitter.com/i/web/status/1…

    Неправда, Джейк гораздо более усердный и доводит вещи до конца.

    Будет вам Rx на корутинах, просто другой проект twitter.com/augusent/statu…

    20:09

    @the_very @mobileunderhood @artem_zin Да, Domic, я смотрю на тебя :D

    Вот пилим с Сергеем Боиштяном из Тинькофа эволюцию Domic, идеи мощные, делать сложно и долго, ничего не обещаю twitter.com/augusent/statu…

    20:09

    @mobileunderhood Лол. Чем потрясают? Всё стандартно, почти всегда те же задачи можно выразить коробочными инструментами.

    Да можно вообще на ассемблере всё писать, я не спорю) twitter.com/miha_x64/statu…

    20:10

    @mobileunderhood Имо, самая большая беда - девелоперы, которые используют Rx, понимая его очень плохо, и применяя не по делу.

    Как любят говорить в Разборе Полетов "Технологии идеальны, люди мудаки" (это конечн смешная фраза, но не без правды) twitter.com/vvsevolodovich…

    20:11

    @arturdryomov @mobileunderhood на эту тему есть прекрасное выступление. TLDW хватит совать монады повсюду, особенно… twitter.com/i/web/status/1…

    20:12

    @mobileunderhood Самое главное упустил. Можно писать реактивно и без Rx. Так даже лучше.

    Ну про лучше это спорно, eventBus и коллбек-хелл проиграл, а если много сил вкладывать переизобретешь rx, но это мо… twitter.com/i/web/status/1…

    20:13

    @mobileunderhood - стэктрейсы

    Стектрейсы в Rx как и в Корутинах из коробки плохие из-за обрыва при переходах между потоками, но в обоих случаях е… twitter.com/i/web/status/1…

    20:16

    @mobileunderhood @RxJava @ProjectReactor А что не так с пустым Mono?:) Если нужен контракт - есть метод Mono#single

    Project Reactor Mono это RxJava Maybe, вот и вся разница для меня)

    Single дает гарантию (success|error) в компайл… twitter.com/i/web/status/1…

    20:16

    @mobileunderhood `Channel` это не просто `PublishSubject`. Он тоже умеет в resource management как и `Observable<>`… twitter.com/i/web/status/1…

    20:16

    @meoyawn @mobileunderhood Не сказал бы, что дело в монадах или аппликативных функторах. Хочется, чтобы абстрактный… twitter.com/i/web/status/1…

    20:17

    @miha_x64 @arturdryomov @mobileunderhood Тут ещё влияние оказывает фактор host language. На мой взгляд юзать монады… twitter.com/i/web/status/1…

    20:17

    @meoyawn @mobileunderhood Согласен, конечно, но взглянем правде в глаза — очень много людей Лиспа не видели, не тро… twitter.com/i/web/status/1…

    20:17

    @meoyawn @mobileunderhood Не пытаюсь сказать, что корутины приведут к апокалипсису. Скорее обидно, что хороший инст… twitter.com/i/web/status/1…

    20:18

    @dimsuz @miha_x64 @mobileunderhood Честно говоря, я был бы счастлив, если бы средний по больнице разработчик понима… twitter.com/i/web/status/1…

    вот в топчик

    было бы хорошо если б с Корутинами писали в основном так же, надеюсь так и будет twitter.com/arturdryomov/s…

    20:29

    ------ BEGIN ------

    "всё плохо"

    В общем и целом, Software Engineering это печально, как и любой другой Engineerin… twitter.com/i/web/status/1…

    20:32

    Чем больше в этом варишься, тем депрессивнее. Всё сделано из говна и палок, жрет много CPU и памяти, работает через… twitter.com/i/web/status/1…

    20:38

    Периодически думаешь, может ну его нафиг.

    Но непонятно куда идти, всё таки Software Engineering это интересно и к… twitter.com/i/web/status/1…

    20:42

    Так что хз что делать,

    кроме как стараться из себя выжимать качество, когда сроки позволяют, и как-то поднимать во… twitter.com/i/web/status/1…

    20:51

    про политику и токсичную токсичность и SJW в IT говорить вообще не хочется, да и страшно, к сожалению, хотя топики… twitter.com/i/web/status/1…

    20:53

    ------ BEGIN ------

    "всё хорошо"

    ------ END ------

    20:55

    Забыл вчера шуткануть про Корутины в Котлине, "JetBrains" это ж РеактивныеМозги, может еще одумаются)

    20:59

    На этом давайте моя неделя mobileunderhood всё, лайкните если вам понравилось и пишите коммент, если нет.

    Ваш бат… twitter.com/i/web/status/1…