Пишет Анонимус: «Здравствуйте ебаные читатели. Во время ожидания пайплайнов, как обычно, вижигал глазами телефон в поисках котят и тянок. Но мне повезло больше и случайно наткнулся на пост одного молодчаги-индуса.
Около-приблизительный перевод:
Наконец-то мои 15 строчек кода замерджины в Гугль.
Пулл-реквест ревьювили около месяца несколько раз.
Слава аллаху, его аппрувнули два стажера и замерджили сегодня даже без юнит тестов.
Я улучшил HTTP-клиент проекта google/go-github, что привело к меньшему использованию ЦП и памяти на системном уровне. Кроме того, он устраняет некоторые потенциальные проблемы с повреждением данных.
Я очень счастлив и горжусь одновременно. 😇
«Молодец, парень» — подумал я.
А подумав еще раз, решил все таки глянуть тот самый ПР, который улучшает все улучшения и оптимизирует все оптимизации.
Скрин в студию:
И бомбалейло заиграло на полную!
15 строчек супер-мега-улучшения, теперь-то заживем по новой, не то что раньше. Из них, конечно, кода только пару строк. И их рентабельность вызывает очень большие сомнения. и больше походит на воркэраунд…
Но зато звучит-то как, теперь на каждом собеседовании будет говорить: «Чем занимаюсь в свободное время? Да, так, ничего особенного, контрибьючу в гугл».
И хрюшандросели будут таять от сего кандидата.
Та уже тают, гляньте кол-во лайков и комментов — 33к+ и 600+
И каждый пишет: «Вдохновляет. Молодец. Хорошая работа!»
Так что хейчары, будьте бдительны, Кумар Саурабх уже стучится в ваши линкедыны!
Пост LinkedIn:
https://www.linkedin.com/posts/itsksaurabh_google-opensource-go-activity-6698955502807859200-kmbF/
PR c github:
https://github.com/google/go-github/pull/1576/files »
Прислал Анонимус
133 Комментария
А что это за выебос в коде 2 << 10 ? Какая то магическая цифра.
Еще раз убедился что гугль сливная яма.
Непонятно, зачем каждый раз при вызове функции возводить 2 в 10 степень? Вдруг это значение будет разным для разных вызовов?
console.log(Math.pow(2, 10));
console.log(2 < 1024
> 2048
Сука тут какойто хсс шоле
кароч 2 в 10й = 1024, а у него 2048 )
А вообще он походу полный даун, так как
const maxBodySlurpSize = 2 << 10
if resp.ContentLength == -1 || resp.ContentLength <= maxBodySlurpSize
однохуйственно
resp.ContentLength < 2048
Хорошо хоть не сравнил все возможные значения
resp.ContentLength <= 2048
И кто тут индус?
твой батя, канеш
мой батя таджик, так что не надо ля-ля
Это доказывает, локалхост не шарит в базовых знаниях — пересечение множеств. Однозначно, локалхост дебил.
Даун, я спецом для тебя пропустил =
Мамке своей расскажи, обосрун.
Идёт локалхост по лесу и пытается не обосраться и шепчет «я не хочу срать», «я не хочу срать». Внезапно — делает в штаны — и кричит «это не я обосрался, это не я обосрался»!
Это потому что он насрал тебе в штаны, а не себе
БЛЯ я сначала повелся на эту хуйню ибо со времен универа знаю что побитовые операции быстрее прямого перемножения,потом конечно покурил и понял что это хуйня, зачем вычислять каждый раз одно и тоже если можно просто хранить в костанте ?
Уже не быстрее. Современным процам давно пох. А тут индус явно выебнулся.
Джиттер соптимайзит константу, так что пох.
Каким боком тут вообще джиттер?
Localhost — идиот!
Я сделаю тебе костанту. Иди читай книжки.
Видно что ты даун. В любом случае это затрата лишних ресурсов, даже на этапе анализа кода. Ты тоже так все константы пишешь в коде, еблан?
Ебать, ты под калькуляторы пишешь что ли ?
Ты или сразу пишешь нормально, или же как полный даун. А там уже и жопу без компилятора подтереть не сможешь. Те щенки которые тут что-то вякают и подьебуют в жизни наверное ни одного компилятора не писали (не путать с транслятором)
Пожалейте человека, его в детстве на галере лид стайлгайдом бил, так у него до сих пор глаз от хардкода дергается.
Нормальные люди, конечно, не парятся, но травмы детства — дело такое, не всем суждено от них избавиться.
автор если ты искал тянок то лови интервью с сымпатичной тянкой из автомотива. не благодари 😘😘😘😘😘😘😘
https://youtu.be/AlxlaTNnXVs
Её хэканье и неумение связать несколько слов напрочь нивелируют её смазливую мордашку.
о боги я так не один думаю.
баба на лицо симпатичная, но жопа в инстаграме какая-то тощая. вздрочнуть можно разок.
в коментах понабежало много пиздолизов, тянка рассказывает какую-то стереотипную хуйню, так что советую просто смотреть с выключенным звуком.
> рассказывает какую-то стереотипную хуйню
а что она должна говорить на канале предназначенном для широкого круга зрителей? как работают битовые сдвиги? пипл хавает, судя по лайкам, а ты тупой, если этого не понимаешь
Да.
Сельдь какая-то вяленая, как можно ЭТО милахой назвать? Вдобавок тупая как молоток, пригласить хотя бы сеньора не додумались, баба-джун подойдёт, смермотоксикозники схавают. Шутку деда не понять — это надо особый талант дауна иметь…
хуясе, ты умеешь определять уровень программиста по паре общих фраз? да ты гений не иначе, тебя уже сделали главным начальником с такими то талантами?
Ты интервью смотрел, разрабыня? Там в каждом предложении джуновые кальки и неопытность, граничащая с тупостью. Она не способна объяснить людям чем занимается без того, чтобы с нее не ржали и не бесили. Родителям блять не может объяснить своим, прикинь. И при этом ее кумарит что всех программистов считают интровертами. Там никакой сеньорностью не пахнет даже, просто тупая пизда с парой годиков опыта и, судя по гонору, запредельным ЧСВ. Именно поэтому ее и стебут, потому что ты можешь в корочке себе хоть президент мира написать, но люди-то видят что ты уебок, их корочками и званиями не обманешь. С нее блять родня стебется, тебе это ни о чем не говорит?
интересно, о чем бы такой ебаный сеньер как ты рассказал на тему этого видео? что бесит программиста? скажи ка пару тезисов, дабы мы могли оценить всю мощь твоего интеллекта
например, о ебучих процессах в компании, о том, что в ковид пытаются загнать в офисное стойло, которое уже нахуй кому надо, или о кидках на зп, или о том как государство пытается прогнуть на налоги. или о том, что раньше было тепло и лампово, а сейчас повылезало кучу выебщиков со смузи на гироскутерах или симпатичных чсвнутых моделек как героиня ролика. или о том, как эти выебщики бездумно пишут хуйню в проектах и в упор не признают свою некомпетентность.
но явно не о баянистом анекдоте про холодильник, давно уже об этом не говорят, Настюша. нововкатившимся этого не понять
какой же ты тупой. ну как можно не понимать что на большинство перечисленных тобой тем нельзя говорить в формате такого развлекательного видео? этолонный образец чсвшного выебщика — это как раз ты походу
я смотрела многие видео на этом канале, там никогда не хаяли коллег, компании и не говорили о темах связанных с политикой. почти все тезисы там о взаимодействии со сложными клиентами и о стереотипах восприятия профессии. у программистов нет клиентов, она рассказала о стереотипах, для тебя это заезжено и не интересно и для меня тоже кстати, а вот зрителю как раз. но ты просто пиздец, демонстрируешь убогое мышление. самку увидел и межушная ганглия отключилась
Настенька. перелогинься
Позаканчивают своих говнокурсов а потом даже не знают что такое битовый сдвиг. Это фиаско братан.
А нахуя он там нужен?
Нахуй не нужен, но тимлид на собесе бы сказал что «спасибо, мы вам перезвоним по результатам», а хрюше бы сказал что «этого впизду».
Подавать сдвиги как неибацца мегаикспиренс это зашквар такого я бы точно нахуй послал бы.
Понимаешь, битовые сдвиги требуются примерно никогда. А впрочем кому я объясняю…
Выебоны, побитовые операции (Bitwise Operators)
2 << 10 = 10000000000(bin) = 2048(dec)
Нахуйя в 2020 так делать вместо контсант — хуй знает
Извините, хуем набирал.
100000000000(bin)
0b10_0000_0000
Так велел мне сделать Будда
конпилятор по идее должен данный высер оптимизировать
Хуемпилятор проверяет лишь математический исход программы, если у нее выходы вообще. В целом процу похуй хуй*%собачего говна в колбасе сервелат**-17таджиков.
Оптимизировать дрысню вашу он не обязан и не факт что программа будет иметь для каждого исхода правильный путь выполнения, через кеширование и всякие сдвиги-хуйни.
не понял, а хули обычным числом не написать 2048? шо за выебоны?
ООП-дрысня же, в иделе там должен быть класс с «константами» который подключается через фабрику и все собиралось в 1 большу. таблицу хэшей.
const maxBodySlurpSize = 2 << 10
const badContentLength = (9999 — 10000) * 2 << 10 / 2048
if resp.ContentLength == badContentLength {
if resp.ContentLength <= maxBodySlurpSize {
ну и каммент еще подольше вхуярить, лорем ипсум там, тогда вообще будет 100 строк кода.
А если поискать по гитхабу строку «const maxBodySlurpSize = 2 << 10" то можно увидеть это решение во многих других проектах
https://github.com/Howie66/K8s-learn/blob/2a29b9a3940f0e1bd081ccaf929713e7b665fcc1/client-go-week-1.md
https://github.com/ijyd/wechat/blob/cd1923de38700b0f1ba510f80ab977418811ed5c/connector/client/client.go#L166 и тд
а сам проект это вообще либа для доступа к апи гитхаба.
> Чем занимаюсь в свободное время? Да, так, ничего особенного, контрибьючу в гугл
Сейчас большинство собеседований так проходит. Нужно уметь выебываться с умным видом. Не удивительно, что у гуманитариев это лучше получается и они вытесняют технарей из профессии.
Хуй. У меня не получилось ((
Ну не скажи, меня вот спрашивали про канализационные люки и про разворот односвязного списка
Ой блять, да задроты-технари хотя бы разговаривать научились для начала.
Приходишь на галеру, ни один не может внятно объяснить что делает тот или этот модуль, документации тоже нет. В итоге сам дебажишь и разбираешься, потому что никто не умеет говорить, ни на своем родном языке, ни на английском.
Есть такая проблема
Сука, сначала прочитал как Бабкоёб.
Мой техлид посадил бы меня на бутылку за такое говно.
Он бы не понял, что значит 2 << 10 и зачем оно тут, а так как он чего-то не понимает, чего понимаешь ты, то он ощущает себя тупым говном. Учись, салага.
2 <> 10 << 10
Ля как я умею
Жук-гидроцефал богокод мой зажевал.
<span style="font-size:72px;">Пси-излучатели настроены</span>
нихуя не понятно но очень интересно
Delete it!
то, бля, через тебе, ідіота, вчора сервіси гугла лежали? Оптимізнув він
Dear friend! Now, I’m crying and sitting on the bottle like a Russian friends. Hope You will understand
Тебе надо ориентацию сменить
Просто этих индусов там больше миллиарда, пищевая конкуренция пиздец, потому и выливается в подобные ебенистические формы. Что угодно, лишь бы хоть ненадолго подпрыгнуть над кишащей массой голодных ртов. Авось заметят. Реально нередко вопрос выживания.
На больше строк кода еды не хватило?
+++, make sense
Просто каждый хочет как можно выгодней себя преподнести, особенно в условиях конкуренции
Вот здесь на ебаном все такие дохуя выебщики, сразу накинулись на чела, что он этим будет на собесе выёбываться
А на самом деле так и надо. А то у нас все тут такие дохуя крутые спецы, но как доходит до собесов в мировые топы, то ХРы говорят(https://youtu.be/VvRVf7_j5gQ?t=1278), что у нас на самом деле не выебщики, а овощи, которые себя продавать не умеют(хотя в целом скилловые)
Так что вариант с преукрашиваниям очень даже рабочий
Продавать себя — дело шлюх и тестировщиц, а хороших технарей в мировые топы берут не за уменее себя продать.
мммдэээ, а чьи то пул реквесты мержатся в проекты гугл каждый день, пиздец заслуга
Индус не даун. Это ж надо так выебнуться на ровном месте.
Anna Altman с TR LogicLLC опять охотится на лохов, чтобы жестко кинуть:
https://djinni.co/jobs2/138983-front-end-developer-vue-js-
Да. Дают задание, ждут ответа. Когда ответил, включают заднюю и говорят, что не прошел
Ты просто завидуешь, что не такой хитрый как Кумар. Будь как Кумар.
Да фиг знает написал и написал, социальные сети какраз и созданы для этого что бы делиться своими мыслями. У человека радость в жизни, а вы сразу вешаете ярлыки про собеседования.
Не не, идея выебнуться на собесе имеет право на жизнь. Занес в лайфхак.
Тут и ловить нечего.
Идите нахуй, он правильно закрыл TCP соединение.
Ночью закон — рубист чтобы согреться
resp.ContentLength это int64. -1 будет всегда меньше 2048, ох и кумар
Автор, иди нахуй
Че доебался? Он че тебе лично в лс этим мозги выебал?
У меня от первого засабмиченого ПРа в опен сорс приблизительно такие же эмоции были
Я конечно не выебывался в линкедыне об этом, но тем не менее
Чувак сделал какой-то вклад. Пускай и минимальный
И да, на собесах это ему пойдёт в плюс
Потому что те же самые челы из гугла увидят в этом проактивность и реальную заинтересованность в том, что он делает(эти два качества ценятся)
А ты и дальше хуярь свои пиздатые проекты на галере и удивляйся, что тебя даже на собес не позовут
ИТ превратилось в сборище бестолковых хуесосов, которые умудряются наговнокодить даже в 3 строчках кода и выебываются друг перед другом своими линкединами. Чувак, проблема в том, что ИТ превратилось в высокотоксичную среду с заднеприводными говноедами, большинство из которых даже техническим складом ума не обладает.
Ну так блять
Автор поста и есть тот самый пример высокотоксичной среды
Типо, его ебёт? Это что, прям ДОЙТОЙНО целой статьи на ебаном?
Ты можешь по ебаности сравнить эту статью с ,например, сюжетом на ТСН где чел блять себе чай по 3 раза с одного пакетика заваривает? Только подтверждая все стереотипы про блять программистов-анальников. Интересно, тут много таких челов, которые сука банально экономят на ВСЁМ, прикрывая это всё фразой «Я экономлю , потому что я финансово грамотный и всё продумываю» Нет блять, заваривать себе час по 3 раза с пакетика это не финансовая грамотность, это бичарство
Или хотя бы в сравнение с предыдущей статьей , где чел на серьёзных щщах доказывает, что 2к баксов для спеца с 2 годами опыта это ебать дохуя неебаццо всраццо ты за эту сумму еще и минет ему должен делать
Здесь чел прост поделился эмоциями о первом контрибьюте в опенсорс, ниче такого в этом не вижу
Мб преукрасил(что он невъебаццо оптимизатор). Блять, тут челы себе в резюме по +3 года опыта с нехуй делать дорисовывают и ничего(это к слову о преукрашении)
Ну вот в этом и заключается суть проблемы. Раньше с подобным говнокодом он был бы пустым местом в ИТ, а сейчас он без пяти минут ценный и незаменимый специалист, которому 2к не зарплата. Собери таких в коллектив и получишь токсичное болото.
У тебя ориентация неправильна
он говнарь потому что я до сих пор думаю, зачем он это сделал… может в этом есть какой то смысл… и многие из тех кто будет смотреть этот код будут задаваться тем же вопросом. он говнарь в любом случае, потому что даже если смысл в этом есть он должен был написать о нем комент
Я контрибьютил в спринг\гугл sdk\amazon sdk\intellij idea, но там в основном или фикс багов или какая-то приятная небольшая фича, но если спросят, то можно сказать. А тут он целые 2 месяца ебался, чтоб его код вмерджили, какие-то пару строк, которые не факт в релиз выйдут. Победа. Каждый рекламирует себя как может, лучше бы эти два месяца алгоритмы Кормена поучил, гляди бы так попал в гугл
Ну так два месяца это ж не значит , что он 2 месяца фуллтайм сидел ПР на 15 строк кода фиксил
Раз ты контрибьютил в опен сорс, то тебе ли не знать, как геморно и медленно там идут процессы. Особенно если ты не какой-то там кор дэвэлопер, а просто челик, который вбрасывает поправки в документацию и баг фиксы
А нормальный такой опен сорс в целом поможет не хуже, чем выдрачивание литкода. Ну, с фаангами
Есть нормальный контент по типу google summer of code
Там и кода побольше нужно будет писать и скиллов можно поднять
Да и фаанги после этого таких людей довольно охотно на собесы зовут
Обычно там есть геморой, по типу, а ты уверен что это фича полезна для комьюнити ? И ты начинаешь разбазаривать что да (а на деле просто пытался себе жизнь упростить). Фикс багов быстро залетал. Ну он же подчеркнул время, значит мол считает, что там долго обосновывал, а на деле даже иф кривой написал)
Да пиздец тут все эксперты, про константы и про кривые ифы пишут. А ничего что после оптимизатора и константа станет правильной и иф тоже. Для понимания и какого-то контекста может так и более правильно.
Проверяй https://github.com/google/go-github/pull/1615
Кормен не писал алгоритмов, он написал в соавтостве книгу с 3 перцами, один из них разработал RSA(Рон Ривест), самые плодовитые на алгоритмы — Tarjan, Knut
Эта на пехапе? Или куда… ничего не понял из кода…
Це на мове
ето на бутылке
эти пидорасы так и норовят создать пул-реквест, а нормальные люди часто ленятся это делать. Я как-то переписывался с одной бабой популярной в кругах андроид разработки Михаэлой, которая постоянно презентует всякие новые либы по андроиду. Она во многих проектах контрибутор. Я придумал нормальный красивый error handling для корутин. Я мол пишу, что у вас тут хуйня, тут надо это сделать, а тут это. Она пишет: «хорошая идея, создай пул реквест, я сделаю ревью и вмерджу». Там работы было на часа 4. Мне было впадлу, я отморозился. в итоге через полгода кто-то это сделал, почти тоже самое что я предложил. Захожу в пры а там блять кучу пров из разряда «я пофиксил синтаксическую ошибку в комментарии» «я тут убрал лишний пробел», «я отформатировал код» «поменял название переменной на более осмысленное»
Бесят мудаки, пишущие код с непонятными названиями переменных, синтаксическими ошибками и отступами прыгающими хуй знает как. А потом ты после этих блядь мудаков хочешь что-то в проекте исправить и понимаешь что всё так запутано, что начинает закрадываться подозрение что всё это делается намеренно, чтобы угробить своим говнокодом опенсурц-проект.
Засуньте себе свои пул-реквесты в жопу, хакеры мамкины курицолапые.
ничего не могу сказать против, ты прав, но если ты взялся уже делать пр, то будь добр законтрибьютить что-то стоящее, а не просто починить в одном месте название переменной. Найти что улучшить, всегда можно, уж поверь, особенно если это какие-то языки высокого уровня.
Ты мне предлагаешь ишачить на чужом проекте бесплатно? Ты дебил?
Я ниебически устал писать эти 15 строк кода и хотел бы чтобы гугль меня отблагодарил чемоданом денег за мой бесценный вклад.
1c1
Ничего не могу сказать против
\ No newline at end of file
Блядь, Жук, ты же ну реально ёбнутый.
Люто плюсую, сам терпеть не могу таких «контрибьюторов», которые меняет версии библиотечки или пробел в комменте, а потом пиздят на право и на лево какие они ебать в рот опен-сорс контрибьютеры.
This indus is a free person and I am ready to support him. Svetlana Tikhanovskaya
But I’m za Lukashenko. And I’m gay…
No, I’m gay, you’re not. You’re fucking pidoras.
Похоже на хитровыебаный нечитаемый гомнокод. Знатоки может подскажете? Как эта хуита оптимизирует проц и оперативу
Изменяет пронстанстрвено-временой континумум так, что процессор начинает получать кватново-запутанные лептони из будующего чтобы узнать результаты собственных вычислений на 30%…
ты сука вор ников, это мой ник. не позорь меня, уебище
Вообще-то вор ников это я. Я за 4000 км отсюда. Ну и что, и что ты мне сделаешь?
ууу сука.. .пизда тебе..позову друга Мухтара по айпи вычислю …. мать ебал
Hey, I saw this article in google and it helped me a lot to get an idea of what you talk about in comments. You guys so jealows but still are idiots and ‘galera slaves’. Eat some shit, suck each other’s cock and smell my dust while watching myself controbuting to google.
LOOSERS! 🙂
Dear, Join our Ukrainian IT association !
I would, but only after you contribute something to google… before that i would invest/put some coins to your cheek 🙂
Пиздец «инглиш»))) Хрюкай лучше на мове))))
What an ASS you are, lol
Лол блять, оптимизировал проц и оперативу. Ой пиздец, живой пример того, как сделав незначительную хуиту в 4 строчки кода можно хорошо себя распиарить. Из той же оперы, когда всякие секретутки и хрюши пишут себе «БЫзнес Лид Дывелопер, организовывала встречи СЕО Топ 100 для обмена опытом бла-бла-бла» даже если на самом деле сидела на телефоне или рассылала спам по почте.
Кумар, меня забыл
Перепроизводство кода.
Чувак, который апрувил коммит уже пожалел об этом. Там коммент:
I’m not sure why I didn’t require unit tests on this PR, and that is my fault.
This PR causes a major breakage because it doesn’t check if resp is nil and will therefore panic in those cases.
Ахахаха хоспаде как же я ржу!
*this is my horse,
my house is amazing…
Я писал на Go года два-три назад и сейчас возможно ошибусь.
Вот это if resp.ContentLength == -1 нахуй не нужно т.к. как выше уже заметили это int64 и оно всегда меньше -1 если меньше 2048.
Если бы resp.ContentLength было uint или unit64 то это просто нельзя было сравнить с -1 т.к. не скомпилировалось бы.
Все кто пиздит, что const maxBodySlurpSize = 2 << 10 вычисляется каждый раз по новой конченые дебилы, оно на стадии компиляции должно замениться на константу.
Проверка resp на nil по идее не нужна если код написан по стандартам Go т.к. если возвращается err != nil то resp должен быть nil.
Короче, баклажан написал трешак.
>оно всегда меньше -1 если меньше 2048.
криво сказал, после нуля не становится больше 2048
оно на стадии компиляции должно замениться на константу.
Кому блядь должно? И схуяли кто-то должен угадывать что там компилятор сделает?
100 лет уже, как компиляторы то, что могут посчитать на стадии компиляции считают на стадии компиляции и затем подставляют высчитанное значение. То, что ты не знаешь устройство современных компиляторов говорит только об одном — ты конченый дебил.
Иди лучше пиццу разноси или обратно в барбершоп откуда ты вылез, а в АйТи пусть рабюотают люди которые в этом понимают.
Ты мне блядь заплатил за то чтоб я внутреннее устройство компиляторов изучал?
Ебать ты бревно тупое. Пойди доучи хотя бы разнос пицц.
Ты ходячий даун. Как тебя земля только носит. А гонора и невежества что пиздец.
ебать, цулая куча дебилов обсуждают галимый говнокод… хорошо хоть истино-ламерско-нубский стиль выражения своего негодования а-ля if (true) echo «ty debil» не заюзали.
и после этого, вы, обсосы, считаете себя хоть сколь-либо стоящими над сабжевым «креэйтором»?
хлебайте мамкин борщ через соломенку и не выёбывайтесь!
…бля, ещё топикстартер с en на ru перевёл, ясен-красен, процентов 70% из здесь присутствующих энглиш на уровне if else знают…
вульгарно и надменно ору над каждым из вас клоуны, так-то!
Нассал тебе в рот, не ори
Гугель снова прилег. Кумар неотразим.
Ну эти сраные кумары, паджиты и пр. Их тут овердохера, вот так эти мрази лезут наверх,
в среднем в ит-конторах индийских обезьян в районе 80 проц. если из них кто-то может
писать еще код это бля нонсенс, сейчас трамп им подрезал h1b все ИТ взвыло, трамп перекрыл
трубу с дешевыми черножопыми рабами. Лишь бы трамп победил и зачистил поляну от индусов.
Вот-так индус! Гугловцы два месяца две его строчки кода разгадать пытались, сдались, замержили. На ёбан-ом, общими усилиями, разгадать не смогли. А потом еще говорят «индусский код, индусский код…».
Для тех кому интересно:
1) Почему константа в функции? Разве она не будет выполняться (инициализация) каждый раз?
— чтобы ограничить область видимости этой констаны. Выполнятся она будет только при компиляции.
2) Зачем нужна конструкция 2<<10 ?
— если бы он написал 2048 — это была бы беззнаковая переменная, дальше она сверяется со свойством ContentLength, которое знаковое, компилятор выдаст ошибку. Можно было конечно конвертировать это свойство в беззнаковое, но это доп. расходы в рантайме, а целью этой инициативы их как-раз сократить. Можно было задекларировать эту константу как знаковую. Но очевидно (я не могу судить наверняка) свойство ContentLength является безтиповым целым, поэтому автор пошел таким путем "безтиповое сравниваем с безтиповым". Из выражения компилятор не может судить о том какой тип нужен этой переменной, поэтому создает т.н. безтиповое целое.
3) Зачем вообще было делать какую либо проверку, почему нельзя было просто про копировать 2048 байт тела хардкодом?
— над этим не разобрались даже в Гугле, поверили чуваку на-слово.