вторник, 17 октября 2017 г.

Новый MacBook - отстой

     Я давно хотел написать этот пост, дабы предостеречь всех от покупки этого чуда техники. Причины:

  • Эти идиоты за каким-то хером убрали mac safe. Mac safe - это  лучшее изобретение за всю историю усовершенствования ноутбуков. Он не раз спасал жизнь моего ноута. Теперь вместо него я получил дибильный USB-C
  • Ни одного USB порта нет. Хочешь подключить что-то через USB - плати за переходник.
  • Эти переходники с USB-C на USB - огромные, торчат на 20 сантиметров (я говорю про официальный яблочный)
  • Touch bar панель - абсолютно бесполезная штука. Те кто ее придумывал забыли что как правило с клавиатурой работают в слепую. А теперь функциональные клавиши в слепую не так то просто нажать.  
В общем если бы была возможность в старом корпусе но с новой начинкой купить - я бы этим воспользовался. 

четверг, 21 сентября 2017 г.

Мысли в слух

         Сегодняшний день в каком то смысле подвел черту под результатами моих трудов за последние 4 года. И заставил о многом задуматься. Попробую поделиться своими выводами без указания деталей, дабы не нарушить NDA. 
       Первое что я осознал: done better than perfect. Быстро сделать работающее решение(пусть на костылях, пусть из говна и палок) - это гораздо лучше чем потратить в 10 раз больше времени на решение которое экономит один round-trip или пересылает на 10 мегабайт меньше данных. Почему - потому что это экономит тебе время. Обычно когда сравнивают различные решения то учитывают миллисекунды и мегабайты, но не учитывают время потраченное на реализацию этого решения. Оглядываясь назад могу сказать что я в какие-то моменты был идеалистом и пытался все сделать сразу идеально. И закапывал в это кучу времени.  Теперь вот каюсь в этом. 
                Второе - keep it fucking simple. Воистину блять. Вот только это и хочется здесь добавить. Это выражение - как buzz word, его повторяют к месту и не к месту. Но осознание этого приходит только с опытом. Когда мы сравниваем различные решения - мы зачастую забываем об еще одном очень важном критерии - сложности. И выбираем решения которые гораздо более сложные. Просто потому что они красивее. Делай просто - и будет заебись. Все, именно так. К тому же наверняка и быстрее еще получится. Да, об этом решение скорее всего не расскажешь на конференции, да и друзьям в курилке не расскажешь. Зато работает, зато быстро.  Чем больше в системе движущихся частей - тем больше вероятность что одно из них сломается.
              Отдельно хочется сказать про микросервисную архитектуру. Будь проклят тот день когда этот buzz word пришел в Лазаду. Про нее толко на конференциях хорошо рассказывать, но в практическом плане - это просто ад. Все те мечтатели которые  ее нахваливают - как правило просто получают удовольствие от ее реализации,  они кайфуют от возрастающей сложности системы. Им важен процесс а  не  результат. Хотя они думают что приносят пользу - это не так. А если кто-то вам начнет расхваливать -  FaaS(function as a service) - увольте его немедленно.  После 2-х лет эксплуатации микросервисной архитектуры в продакшене  могу твердо сказать - в 99% она вам не нужна. Я уверен что те проблемы который вы с помощью нее собираетесь решить - можно решить гораздо проще. И я еще более уверен что когда вы принимаете решение о переходе на микросервисную архитектуру - вы не осознаете всех тем проблем которые вы сами себе этим создаете.  Особенно проблем вне продакшена - в организации разработки, в организации dev environment, QA и релизного процесса.
               Мой опыт подсказывает мне что организационная структура отдела разработки очень сильно связана с архитектурой разрабатываемого приложения. Многие будут говорить - что за чушь, такого не может быть. Но на самом деле связь между организационной  структурой и структурой приложения очень важна. Если нет четкого соответствия между компонентами архитектуры и командами - начинается бардак. Я не говорю что это должна быть связь 1:1, но эта связь определенно должна быть. Итак если вернуться к вопросу о том нужна ли микроархитектура и насколько она должна быть микро - я бы сказал так:
      - если у вас меньше чем 10-15 программистов в отделе разработки - забудьте про микросервисы. Они вам просто не нужны. Монилит - ваш выбор.
            - если команда выростает до 100 человек, то с монолитом работать будет уже не удобно. Можно попробовать разобрать монолит на несколько приложений, каждое из которых разрабатывается отдельной командой.
     - только если ваша команда выросла до 200-300 человек - можно подумать о микросервисной архитектуре. Но опять же - степень ее микросервисности должен быть пропорционален численности отдела разработки.
          Отсюда вывод - микросервисы отлично работают в компаниях масштаба Netflix, Ebay, Paypal и тд.  Для более мелких компаний это как правило принесет только проблемы. 

Aerospike


        В последнее время мне пришлось довольно близко познакомится с внутренностями Aerospike. Большим открытием для меня стал тот факт что  специализированный SSD storage аероспайка не имеет собственного кэша. Так как этот сторадж работает напрямую с блочным устройством, то они также обходят кэш файловой системы.  Это означает что каждый GET запрос к персистентному namespace означает поход на SSD. Это конечно быстрее чем HDD, но все равно во много раз медленнее чем работа с памятью.  Исходя из этого я могу сделать вывод что Aerospike проектировался в первую очередь под write нагрузку либо под смешанную 50% write/50% read нагрузку. В таких случаях кэш как правило бесполезен, поэтому в AS его и нет.
             Но если вам нужен persistent сторадж с преимущественно read нагрузкой очень хорошо себя показал файловый сторадж аероспайка. В этом случае чтение идет с кэша файловой системы, что весьма позитивно сказывается на общей производительности Aerospike.
              Для тех кто хочет понять как работает Aerospike, я рекомендую к прочтению whitepaper Aerospike: Architecture of a Real-Time Operational DBMS

четверг, 8 июня 2017 г.

Hangzhou

      Так случилось что ровно через год после своего первого визита в Китай я снова оказался в Hangzhou. Если в первую поездку я по большому счету кроме офиса и отеля ничего не видел, в этот раз все было гораздо интереснее. Так как летели через Шанхай, то нам удалось обзавестись симками. Ими торговали какие-то странные чуваки на выходе из зоны прилета, рядом с банкоматами. 250 юаней отдал за 5GB интернет траффика. Не могу сказать что дешево, но и не дорого. Как минимум оно того точно стоило. Так как в Hangzhou абсолютное большинство людей обладает достаточно редким в наше время скилом - АБСОЛЮТНЫМ не знанием английского. Даже такие простейшие звуки как yes, no, ok у них не вызывают никаких ассоциаций.
        В день приезда нам удалось добраться до озера West Lake которое находится практически в центре города.
Как вы сами можете наблюдать место очень красивое, романтичное. Единственная проблема - там людей вокруг него до дури. Но это довольно частая история когда вас миллиард. Еще мы поужинали в ресторанчике с незатейливым названием бабушкина кухня. Ресторан оказался отменным. Мы заказали 3 блюда на двоих. После того  как мы съели первое блюдо на двоих и практически наелись - мы поняли насколько мы ошиблись. Но фатальной ошибкой стал заказ десерта - нам принесли две огромные порции мангового мороженого. Ну прям вот в тарелку из под супа с горкой его наложили. В общем - труба. От туда мы просто выкатились. 
        На следующий день у нас было очень много работы, после которой наши коллеги повели нас в местный ресторан подчивать китайской водкой - Майтай. Обычный самогон по вкусу, но стоит он как потом оказалось каких-то космических денег - 2500юаней за бутылку(370 долларов). Очень позабавила их манера выпивать. Как только мы сели они  начали нас по очереди поздравлять, не по порядку а именно по старшинству. Сразу видно кто из них самый главный, а кто так просто поорать любит.  Поздравляют они без перерыва. Только один тост скажет - выпьем и  сразу следующий берется за рюмку. А мы то лопухи, при каждом тосте выпиваем - нас же поздравляют. В общем накидались мы изрядно. 
       Следующий вечер оказался еще более богатым на события. После ужина мы отправились в местный ночной клуб. Он похоже был довольно "развратным" по местным меркам. Там танцевала go-go танцовщица, местные усиленно на нее пялились. По нашим меркам она не тянула на go-go ну никак: была страшна и практически полностью одета. Сразу после того как мы сели за столик к нам пришла девушка-хостес и предложила сыграть в кости. Такая довольно тупая игра, но помогает быстро набухать гостей. Ибо по условиям игры тот кто проигрывает обязан выпить.  Потом мы поехали в район стадиона и там было просто куча заведений самого разного формата. Начиная от караоке баров для состоятельных мужчин в возрасте. Фишка этих баров в том что ты должен подарить поющей девушке букет (который стоит конских денег) и за это она посидит за твоим столиком до тех пор пока вдохновение снова не озарит ее. После этого она снова уйдет на сцену петь, до тех пор пока не охрипнет или ей снова не подарят букет.  Такой в общем не хитрый бизнес. Букеты многоразовые, потом их тоже возвращают к сцене.
Другие заведения были очень приличного уровня:

В них тусила местная золотая молодеж. Пили Вдову Клико. Ведрами. Буквально. Я думаю тысяч по 5 баксов на столик они там точно оставляли. Ну и валялись потом вокруг пьяные в говно, но очень крутые. 
      В общем год спустя поездка в Китай выдалась гораздо веселее чем в прошлый раз. 

пятница, 28 апреля 2017 г.

KubeCon Europe + Саксонская швейцария

       В конце марта этого года мне удалось вырваться на KubeCon Europe + на выходных посетить регион называемый Саксонская Швейцария(в окрестностях Дрездена). Из минусов - прямо перед началом поездки я подхватил какой-то адский вирус и всю неделю у меня была температура под 40. Это прямо скажем помешало мне насладится этой поездкой.
            KubeCon Europe с одной стороны порадовала обилием интересных докладов, с другой стороны места явно было маловато. Несколько докладов мне пришлось смотреть стоя, несколько я вообще не смог посмотреть потому что даже в помещение войти нельзя было. Но к счастью они все доклады выложили на YouTube:

  Теперь расскажу немного про свой маршрут: мы стартанули из Берлина в пятницу утром и уже через 2 часа были в Саксонской Швейцарии:

Подобные виды являются визитной карточкой этого места. Природа там просто изумительная. Пиво тоже. А вот еда - так себе. Хваленые немецкие сосиски по моему скромному мнению в Москве готовят лучше. Но самое лучшее что там есть - это Эльба:
Согласитесь, Эльба просто великолепна! Что еще бесило - особенно в сельской местности люди не особо умели/хотели говорить по английски.  Но в целом место замечательное.
         Следующий день мы провели в самом Дрездене, осмотрели местный картинные галереи. Не могу назвать себя поклонником изобразительного искусства, но мне было интересно. Вечером мы поехали в Потсдам, ближе к Берлину где и заночевали. Утро мы посвятили осмотру местного дворца. Состояние его прямо скажем плачевное. Не понимаю людей которые сравнивают его с Петергофом. Это все равно что х#й с пальцем сравнивать.

Стачка 2017

          В этом году я впервые выступил на большой русско-говорящей конференции. Случилось это прямо скажу спонтанно. Каким-то образом на меня вышли организаторы конференции и предложили выступить. До этого я уже имел небольшой опыт выступлений: один раз на Golang Meetup  в Москве, второй раз на Rocket конференции в Берлине.  Несмотря на скромный опыт, получилось вроде не плохо. Для тех кому интересно я выложил свои слайды в открытый доступ:

           Если говорить о самой стачке - впечатления смешанные. С одной стороны - я рад что такое мероприятие проходит в моем родном городе. Это очень круто. С другой стороны очевидно что количество докладчиков из московских компаний - стало сильно меньше. Не говоря уже про зарубежные. Видел только пару тренеров которые приехали продавать свои курсы.  И что еще больше угнетает - очевиден сильный перекос в сторону маркетинговых докладов. Медленно но верно конференция перестает быть технической. Под технические секции были отданы самые "скромные" площадки, и например на секции про машинное обучение стабильно не хватало места. Ну и самое провальное место - это кейтеринг. Ребята собрали 5 тысяч человек в одном месте и забыли что всем этим людям нужно поесть и попить. На этом же элементарно столько денег можно заработать. Но внизу я нашел буквально 3 кофе поинта у которых всегда толпились люди. Если учесть что промежутки между докладами не такие уж и большие(в районе 15-20 минут), то кофе попить было просто нереально.  

пятница, 23 декабря 2016 г.

Вьетнам меняется на глазах

      Я с одной стороны уже давно не живу во Вьетнаме, но с другой стороны довольно часто здесь бываю. И для меня разительны изменения которые происходят в этой стране. Все сказанное ниже в основном про Хошимин(Saigon).  С одной стороны количество высотных зданий в городе увеличивается катастрофически быстро. Еще пару лет назад их было буквально штук 5. Сейчас куда не посмотри - везде высотки. Я не могу назвать их небоскребами, но по 30-40 этажей есть. Количество машин увеличивается просто невероятно быстро.  Видно что люди багатеют, много новых машин премиум класса. Это все хорошо, но с другой стороны неподготовленность транспортной инфраструктуры и наплевательское отношение к правилам дорожного движения приводят город к транспортному коллапсу. Раньше большим достоинством Сайгона было то что ты мог добраться до работы на мопеде за 20 минут. Сейчас это время увеличилось в два раза. Но я думаю и это не предел. Думаю через пару-тройку лет Сайгон окончательно встанет в пробку.