Paschtet

На Пикабу
поставил 1328 плюсов и 362 минуса
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
За участие в Пикабу-Оскаре 10 лет на Пикабу
3118 рейтинг 5 подписчиков 26 подписок 6 постов 1 в горячем

Колесо сансары або как работать с южными братьями и не ебнуться рассудком

Предстояло как-то мне впервые работать с индусами, и скинули мне такой вот текстик, чтобы ободрить. Он когда-то лежал в ЖЖ, потом пропал оттуда, потом я нашёл его на каком-то другом ресурсе. Далее копипаста:

"Привет, тора гой дневничок. Пока свежи еще воспоминания про геенну огненную и еще дымится прожженый стул - хочу заделиться с тобой прохладными былинами о плодотворном сотрудничестве с братьями нашими по крови и генотипу из солнечной юго-восточной Азии.


Как вы знаете, существует в природе понятие “индусский код”. Это понятие не связано ни с какими религиозными верованиями или обрядами, а имеет самое прямое отношение к ремеслу вколачивания нетленного кода в бездонные просторы интернетов. Об чем ниже и пойдет собственно ретчь.


Человека, по одной из версии, создает труд. А также бытие определяет сознание, или как-то так. Эти книжные истины избиты донельзя, однако они находят самое яркое и неожиданное подтверждение в том случае, если судьба повернулась к вам жопой и вывалила на вас команду из какого-нибудь Бангалора. С этого момента жизнь в целом разделится на до и после.


Начнем с того, что разница в менталитете - это совсем не только лишь слова. Это реально разница в способах реакции на внешние раздражители и механизм принятия решений. Это офигительно заметно практически сразу - в том месте, где любой западный или условно западный человек начнет думать - восточный человек сядет под пальму и будет ждать просветления. Потому что Гаутама Будда в свое время так делал, а он между прочим уважаемый человек был.


Далее небольшой лирический отступ от канвы повествования.


Одной из основных ветвей религиозных воззрений, которые культивируются в восточных кругах - диктуется принцип равновесия. Этот принцип примерно гласит, что всякое злодеяние должно быть компенсировано добром, и тогда Шива будет доволен и Кали-Юга пройдет без белых ходоков и прочих неприятностей. Бангалорцы же очень последовательно следуют этой схеме, и практически любая полезная штука должна быть компенсирована бесполезной. В этом смысле человеки с северных гор очень продуктивно причиняют разнообразную пользу, соответственно ребятам приходится сильно напрягаться для того, чтобы восстановить баланс.


В восстановлении равновесия есть множество способов, но самый главный из них - не навредить. В комплекте с теории о перерождении и колесом сансары - это означает что у любого представителя заморского племени есть бесконечное время на сидение под условной пальмой и произведение недеяния. И что характерно - они так могут пересидеть всех и вся. И ничего им не будет. Пословица про сидеть жопой на камне возле реки и ждать пока по ней не проплывет труп твоего врага - это то, что должен помнить каждый программист, которому судьба послала испытание в виде условного Кумара Ракшида Банапати, веселого и доброжелательного парня который вот-вот пустится в пляс на фоне Тадж-Махала. Но толку от него будет ровно нихуя, потому что нельзя увеличивать энтропию и гневить Кришну.


Итак, вы уже подготовились к принятию мудрости в себя, и вот она есть.


Семь раз отмерь, один отрежь


Эту пословицу придумал стопудов один из великих мыслителей индийского континента. Она бездонна в своей глубине. Здесь нет ни слова про мыслительную деятельность - только бездумное повторение и пере-повторение ритуала отмеривание перед тем как через три недели четко и безжалостно закоммитить три строчки кода, которые неизбежно сломают билд. Я уже писал выше - у них бесконечное терпение, и ритуал проверки и перепроверки будет радостно выполняться 24/7/365. Результат должен обязательно быть нулевой - если чиним баг тут, то делаем баг там. Желательно в неожиданном месте, и можно еще закомментировать тест. Потому что красный цвет - цвет войны, а все должно быть зеленое, чтобы можно было сесть в позу лотоса и умильно смотреть на зеленый билд. Месяцами. Желательно ничего там не трогать. Энтропия же.


Слово - серебро, молчание - золото


Первую часть они осилили, до второй не добрались. Я уверен что человеку, придумавшему скрам и прочий эджайл - лично платили кшатрии и прочие раджи, потому что это альфа и омега, писечька мякотки и карри рисового поля. Нет ничего эффективнее общения - оно позволяет создавать видимость работы и повышать чувство собственной значимости, одновременно сохраняя статус кво и равновесие недеяния. Иными словами пиздеть - не мешки ворочать - эта сакральная мудрость пустила корни, которым позавидует любой баобаб. Митинги можно собирать по совершенно любому поводу, а если повода нет - то это тоже повод. Любой процесс, каким бы простым бы он не был - можно скрасить разными улучшениями вида “пришить к пизде рукав” или “выдать зайцу пятую лапу”.


Сколько нужно программистов чтобы вкрутить лампочку?


Вопрос не имеет решения, потому что вкручивать лампочку - это уже hardware. Как уже было упомянуто выше - процесс улучшается до неузнаваемости, а что может быть лучше чем ввести узкую специализацию? Так появляются менеджеры менеджеров и помощники менеджеров менеджеров, вся задача которых - присутствовать на митингах, назначать фоллоу-ап митинги, менять статус тикетов в джире и склеивать рабочий процесс. Все это тщательно выверяется так, чтобы конечный результат был нулевым. Если кто-то начинает что-то перформить и выдавать результат - то нужно срочно добрать еще людей, которые смогут уравновесить дисбаланс и смазать колесо сансары. Кроме шуток, я видел JIRA Ticket Manager Associate, не прям так официально - но основная функция товарища была - на скрам-митинге возить тикеты туда-сюда в джире. И менять им статусы. И еще назначать ответственных. Все. Не пижжу.


Зерг-раш


Кто не играл в Старкрафт - там есть самые дешевые и довольно хилые юниты, на которые тратится минимум ресурсов - но которые в массе своей могут запилить нихуевый урон. В целом это работает примерно так - допустим у вас есть команда из трех человек, которые что-то умеют делать, и внезапно даже дают отличный от нуля результат. Видя такой прогресс, высокий менеджмент решает - а круто было бы усилить юнит подсобным хозяйством, и нанимают одного индуса. Проходит некоторое время и индусов уже два. Затем четыре. Через пару месяцев их уже двадцать в команде, у них у каждого по 5 тикетов и митинги уже все забиты. Никто не может в точности сказать, когда начался процесс деления - но результат налицо. Процесс становится экспоненциальным в случае если одна из личинок вылупляется в индоменеджера. Тут они уже строят улей и процессу деления позавидует любой ядерный реактор. Суммарный результат осцилирует вокруг нуля, это как закон термодинамики.


Копать отсюда и до обеда.


Любая скучная задача, от которой любой нормальный программист уже бы сошел с ума или автоматизировал бы ее скриптами и кодом - это манна небесная и священная корова любой индолавки. Они с удовольствием наладят процесс копирования файлов с места на место вручную, сделают под это L1 support team и будут наращивать производство в геометрической прогрессии. Перемещать строчки в CSV файлах - это вообще работа мечты. У тамошнего народа очень стереотипное мышление и полностью атрофированное креативное мышление. Переосмыслить проблему - это не для них, всегда нужны максимально подробные и четкие указания - что, и главное - какнужно сделать. Ну например - если сказать что нужно увеличить размер памяти виртуалки до 16 гиг - то товарищ старательно и добросовестно пропишет все эти параметры во все 300 файлов конфигурации. Вручную. И отчитается о том, что работа выполнена успешно. И неважно что физически некоторым контейнерам выдано всего 8 гиг, и соответственно они отвалятся при старте. Команда-то была - поменятьнастройки. Команды - запустить - не было. Все честно. Не придерешься. Сумма-то нулевая. Подумать даже на шаг вперед - это ментальный барьер, и вообще не нужно.


Истории


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


Фигура первая, разлучная


У меня год была команда мечты в Бангалоре, они полтора года до этого программировали что-то на скале, до меня


Потом я им показал что такое case class и как им пользоваться, и как можно делать композицию двух трейтов, на этом отсеялось половина команды, они просто не смогли в себя впитать эту мудрость и ушли на другой проект. Оставшиеся умели просто копировать мой код в разные места, без понимания что там происходит, ну просто - сделал магию и дал нам огонь


Из яркого - чувак попросил показать ему как там сделать FSM для простого случая с правилами проверки, назначил мне митинг, начал задавать вопросы - я по итогу зашарил скрин, показал что куда и как, написал примерно 80% того что ему надо было сделать, подумал - зачем пропадать добру. Написал комментарии - вот тут вставить этот вызов, тут прочитать этот конфиг, тут написать вон то - и добавил ???чтоб компилировалось. Отослал измененные файлы в письме мол фоллоуап, сделай и добавь в PR. Через два дня чувак прислал мне PR, в котором был только мой код, мои комментарии и ???, без никаких других изменений.


Я ему сделал DECLINE с пометкой “реализовать нереализованное“. Чувак мне назначил еще один митинг, но я уже был умный - я его просто кансельнул и написал письмо чуваку и менеджеру чувака, и своему менеджеру что мол собирать митинги по каждому вопросу - неэффективно, если ты не выяснил все два дня назад - это твои проблемы. Чувак обиделся, менеджер чувака написал на меня кляузу моему манагеру и производной манагера, что я не collaborative.


Фигура вторая, печальная.


Вторая яркость - это когда я взял задачу из бэклога и сделал ее за полдня, запушил и создал PR. Потом утром меня вызывал шеф и говорит - ты что сделал - и показывает мне мой PR. Я на него смотрю вдумчиво, и говорю - ну вот, код, вроде хорошо все, а в чем проблема? Оказалось, что на этот тикет чуваки “из оттуда” сделали планирование на спринт, придумали себе целый epic и impact analysis, спланировали митинги и все такое - и тут короче я беру и закрываю их эпик одним коммитом. Это был эпичный срач, там даже какое-то высокое индийское начальство вписалось что я “is not a team player and doesn’t do any good to the team spirit” или чота такое. Сломал людям спринт короче, уронил мораль.


Фигура третья, смешная.


Понадобилось нам как-то сделать одну штуку, но надо было проверить что в конце файла есть CR/LF. И если нет - то добавить. Файлы там могут быть большие, по 50 гиг в GZIP-е. Ну казалось бы, что можно тут накосячить? Оказывается, можно. Например, можно прочитать файл в байтовый инпутстрим, потом из него взять массив байтов и сделать ему new String. И потом проверить на .endsWith("\n"). А когда все уебется по OutOfMemory - взять в амазоне виртуалку потолще, ну типа x1.16xlargeна 976 Gb RAM. И гонять там вот это все.


Рекомендации


Если уж вам довелось вступить в это все - то чтобы сохранить нервы в целости и не заработать нервных расстройств, нужно придерживаться примерно следующих рекомендаций:

- требования в любой задаче должны быть максимально точные, до абсурда. Если что-то очевидно вам - то оно неочевидно им с вероятностью 146%

- если что-то можно накосячить - это будет накосячено. Если накосячить нечего - это будет изобретено и накосячено, причем самым неожиданным образом

- если тебе сказали “Да, я все понял” - это значит “Я тебя выслушал и с тобой согласен, хотя я понял ровно нихуя”.

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

- нужно всегда контролировать количество менеджеров в проекте. Иначе внезапно может оказаться, что 3/4 команды вы вообще не знаете кто это

- они не умеют программировать. Это нужно брать за аксиому. Тех, кто умеет - надо срочно вывозить перемещать из окружения в более благоприятную среду обитания

- задавать вопросы считается проявлением слабости и тупости. Человек будет сидеть до последнего с проблемой и никому про нее не скажет, пока не припрут к стенке. Бесполезно это менять, это hard-wired. Нужно искать другие пути и всегда знать, что в проекте есть проблемы о которых станет понятно только в день релиза.

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


Резюме

Работать с товарищами из совершенно другой культуры - это в целом развивает кругозор и позволяет по-новому взглянуть на своих коллег. Даже конченые уебаны внезапно оказываются вовсе даже ничего, ну так, с особенностями."

Показать полностью

Что же поёт хор в Red Alert 3 на самом деле

Уже 10 лет фанатов серии игр Command & Conquer радует заглавная тема игры Red Alert 3.

С первых дней релиза игры самые пытливые слушатели пытались разобрать текст этой песни и набросали вполне себе созвучную "народную" версию:


Наш Советский Союз покарает

Весь мир, от Европы к Неве, на восток,

Над землёй везде будут петь:

«Столица, водка, советский медведь наш!»


Все народы здесь стоят того,

Что мы все воплотили на свет,

Благодарный низкий поклон

От самой могущественной в мире!


Которая великолепно исполнена Алиной Рыжехвост (@Nyasu) и ребятами:

Но что же поётся в песне на самом деле? Звукорежиссёр игры Nick Laviers рассказал, что они хотели добиться аутентичного звучания, но денег и времени на то, чтобы нанять русских певцов у них не было, поэтому песню исполняет хор Сан-Франциско, который имеет опыт исполнения русских опер. Слова были написаны одним из продюсеров игры Грегом Касавиным, а затем переведены на русский язык его отцом. И выглядит оригинальный текст так:

Наш Советский Союз покоряет весь мир

Как огромный медведь на Востоке.

Овцы бродят бесцельно, без всяких забот

А Советский медведь на охоте.


Наше братство - хорошая жизнь,

Наша щедрость ни с чем не сравнится.

Все кто с нами - сильны

Все кто против, держись

Чтоб нам всем не пришлось потрудится.


Все народы, не стоит того,

Чтобы мы превратили вас в пепел.

Благодарны вам, низкий поклон,

От самой могущественной в мире.


В 2009 году выходит дополнение Red Alert 3 Uprising и вот здесь советский марш звучит чуть ближе к оригинальной задумке авторов:

В качество доказательства, что всё так и задумывалось Ник приводит ноты и текст на транслите для хора:

Что же поёт хор в Red Alert 3 на самом деле Red Alert 3, Soviet March, Видео, Длиннопост

Оригинал поста Ника мне найти не удалось, есть архивная запись и репост в ЖЖ:


https://web.archive.org/web/20081204060009/http://www.comman...


https://ru-conquer.livejournal.com/23944.html


Мне давно хотелось поделиться этим знанием с другими. Вот делюсь. Спасибо за внимание.

Показать полностью 1 2

Закат.

Ни одного живого существа. Ни девушек, ни скелетов, ни мотоциклистов.
Закат. Ни одного живого существа. Ни девушек, ни скелетов, ни мотоциклистов.

Девушка. Масло.

Грустно видеть, пикабу, когда посты с творчеством твоей любимой уходят в минус. Последняя попытка.
Девушка. Масло. Грустно видеть, пикабу, когда посты с творчеством твоей любимой уходят в минус. Последняя попытка.

На той же стене, позади мотоциклиста.

Супруга рисует.
На той же стене, позади мотоциклиста. Супруга рисует.

Было время, были крышечки

Почти год собирали крышечки от всего. Вот что получилось.
Было время, были крышечки Почти год собирали крышечки от всего. Вот что получилось.
Отличная работа, все прочитано!