Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как одним SQL запросом обновить данные одного поля в таблице на другое?

Лучший ответ:
На MS SQL можно примерно такой скриптик выполнить. на MySql не уверен.UPDATE accounts 
SET manager = manager.mail
FROM accounts as A
INNER JOIN accounts as manager ON a.manager = manager.name

Худший ответ:
Решение такое:UPDATE accounts AS U1, accounts AS U2 SET U1.manager = U2.mail WHERE U2.name = U1.manager
Вопрос: Как вы адаптируете резиновые сайты?

Лучший ответ:
Да я тоже так делаю, при определенном размере где ломается макет ставлю брекпоинт и латаю. А если размер близок к одим из этих размеров 768px, 992px, 1200px то и от туда начинаю. Я верстаю flexbox - ом, в среднем 1 - 2 брекпоинта уходит на один блок.

Худший ответ:
Да я тоже так делаю, при определенном размере где ломается макет ставлю брекпоинт и латаю. А если размер близок к одим из этих размеров 768px, 992px, 1200px то и от туда начинаю. Я верстаю flexbox - ом, в среднем 1 - 2 брекпоинта уходит на один блок.
Вопрос: Vue ограничен по функционалу по сранению с jquery?

Лучший ответ:
что в нем такого, с чем не справится jquery?
ничего
забудьте про vue

Худший ответ:
"И снова седая ночь....."
Ну если вкратце...
Vue - фреймверк
jQuery - библиотека
Чем УДОБНЕЙ (главное слово в предложении) Vue перед jQuery это поддержка больших приложений, чего нет в jQuery к примеру это роутинг
Вопрос: Раскроет ли gtx 1080?

Лучший ответ:
Бп на 450 серьезно? У меня такой стоял на древнем компе, сейчас железо кушает явно побольше.
1080 кушает 180w(970 около 150)
Проц 90w
Все остальное по мелочи
В лучшем случае в упор по бп будет. В худшем под нагрузкой бп не хватит.

Худший ответ:
Блок питания в топку! Надо брать минимум 700 ватт (например FSP EPSILON 80 PLUS 700).
И еще к этому набору потребуется материнская плата (MSI, ASUS, Gigabyte - из начала топового сегмента либо из вершины миддл сегмента будут хорошим выбором) со слотом M.2. SSD брать этот: www.samsung.com/ru/consumer/memory-storage/ssd/950...
Вопрос: Как быть с заказчиком на Upwork?

Лучший ответ:
Со своего опыта скажу что есть шанс нарваться на проблемы именно на дешевых заказах. У меня тоже 100% JSS, и все кроме одного отзывы на 5.0. Один какраз таки тот где я от "нечего делать" решил расслабиться и взять плевую работенку за $20, ну в принципе ничего такого как у вас, но клиентша захотела чтобы я ее сверху научил саму это делать :) Я даже в общих чертах попытался объяснить "как нарисовать сову".. короче только через полгода она объявилась и закрыла контракт на 4.6
А еще арабы, любят лижбы подешевле и ножки свесить.
Короче я еще несколько раз подумаю, соглашаться на вроде как легкую "работенку на пару часов".

Худший ответ:
Нужно попросить, чтобы клиент зарезервировал средства для Вас, если это фиксированная оплата
https://www.youtube.com/watch?v=ceh5-gtNskY
Вопрос: Как правильно хранить параметры фильтрации в таблице товаров?

Лучший ответ:
Лучшим вариантом является создание 2ух раздельных таблиц - 1 для продукции, а 2 для признаков, а так же 1 таблица для их связывания хранящая idtable products (id serial, category_id small int, name text, vendor text)
table property(id serial,name text,  value)
table product_property(product_id big int, property_id big int)

Худший ответ:
Тут не в типе СУБД речь, а скорей всего в понимании нормальной формы и прочего. Для примера можете хранить что то общее в products, список характеристик в params, а значения для каждого товара в products_params. Т.е. Вам нужно разделить соотношение многие-ко-многим на несколько таблиц.
Вопрос: В чем преимущество при использовании CSS-препроцессоров включения во вложенное имя стиля имени его родителя?

Лучший ответ:
Почитайте про БЭМ. Причем желательно не просто краткое объяснение методологии, а с историческими выкладками, откуда и почему он взялся. Ещё очень полезно послушать старые лекции Виталия Харисова на эту тему.
PS На мой вкус, приведенный пример с кучей импортов переусложнен. Вытаскивать в отдельный файл каждый элемент блока нет смысла. Зачем отдельный файл десятку строк кода? А если их там много, значит скорее всего блок надо разбивать на подблоки.

Худший ответ:
такое вложение даёт некоторую "защиту" от того, что класс с подобным именем в другом родительском блоке переопределит такие стили, но это плохой код, так как двойные-тройные-энные селекторы замедляют рендер css, лучше использовать одинарные с БЭМ
Вопрос: В каких случаях оправданно использование связки LVM + BtrFS?

Лучший ответ:
Использую btrfs 4 года на 2 компьютерах. Единственная проблема с которой я сталкивался - необходимость ручного запуска балансировки (та самая ошибка, когда вроде как место закончилось). Но последний год-полтора этой проблемы больше нет. Может я как по-другому диск стал использовать, может это в ядре починили - не знаю. Но в любом случае для десктопа это не критичная проблема.
Если используете docker, то будете приятно удивлены, т.к. он задействует subvolume/snapshot для хранения образов, тем самым избавляясь от оверхеда и ограничений оверлеев (конкретно в aufs было ограничение на количество слоёв и повышенная тормознутость).
Зачем под этим нужен LVM? Ну если вам нужны другие файловые системы, то может и есть смысл. Если вам нужен другой дистрибутив поставить (например), то лучше использовать subvolume.
Лично я от LVM в последствии отказался, т.к. все его основные возможности присутствуют в btrfs. Но если вам нужен RAID, то сначала проверьте поддержку нужной схемы, т.к. в btrfs ещё не всё реализовали.

Худший ответ:
Ни в каких - btrfs не годна в продакшн.
Вопрос: Как передать все свойства одной картинки, другой?

Лучший ответ:
Интересно, что скажет JS, когда увидит два одинаковых ID

Худший ответ:
Получаешь все атрибуты элемента(свойство attributes)
Добавляешь их нужному элементу
Вопрос: Как сделать плавную анимацию прокрутки страницы?

Лучший ответ:
Не рекомендую делать плавную прокрутку, так как это прерогатива устройства/браузера и их настроек. Если пытаться сгладить самостоятельно, то будут проблемы, например дерганая прокрутка.
Единственное что можно сделать, это полностью отказаться от стандартной прокрутки, и перемещать контент самостоятельно.

Худший ответ:
Как сделать плавный скролл (смягчение скролла) на сайте
Вопрос: Как безопасно использовать пиратский софт?

Лучший ответ:
Было бы хорошо, если есть какой-то замечательный способ защиты своего компьютера от всего. 
Пишем в cmdshutdown -s

Худший ответ:
Предположим, что (по чистой неосторожности) я установил пиратский софт (или, что еще хуже, установил пиратскую винду). Экий вы неосторожный. 
А винда-то чем хуже пиратского софта?Как я могу почистить свой пк от вирусов, шпионов, ботнетов и прочей нечести?Говорят Domestos неплохо вирусы убивает.
Какое отношение к пиратскому софту имеют вирусы и разведчики нелегалы? А ботнет завести на компьютере - ну это очень постараться надо, не у каждого получиться. Было бы хорошо, если есть какой-то замечательный способ защиты своего компьютера от всего.Таких нет. Компьютерная грамотность тут мало поможет, а уж лицензия вообще никак.
Вопрос: Гремит кулер на видеокарте что делать?

Лучший ответ:
Для начала хорошо было бы выяснить модель и производителя. Без этой информации совет только один - снять и смазать.

Худший ответ:
Модель скажи, и самое главное не откладывай это. Охлад - оч серьёзная штука.
Вопрос: Объясните русским языком, что такое права доступа 777?

Лучший ответ:
Прежде всего, поставьте теги апача и того CMS, над которым Вы сейчас рожаете ежика :)
Права доступа к файлам - это именно права доступа к файлам, в винде это кстати тоже есть, только там морда сразу их в читабельный вид переводит.Объясните простым русским языком, на какие файлы их ставить и что они вообще делают?
Ставят их на все файлы. Они - внезапно - определяют права доступа к файлу со стороны владельца, группы владельцев и прочих. 
Эти три понятия - это фундаментальный концепт UNIX. У каждого файла есть владелец и группа владельцев. Все, кто не относится к ним - относятся к прочим. Соответственно, у каждой этой категории есть следующие права:
- читать файл (для каталога - прочитать его содержимое)
- изменить файл (для каталога - права на удаление/переименование)
- выполнить файл (для каталога - перейти в него)
А далее каждому праву присваивается бит:
1 - выполнить (обозначается х)
2 - изменение (обозначается w)
4 - чтение (обозначается r)
(для особой группы:
1 - sticky bit
2 - sgid
4 - suid)
 и формируется 8-ричное число, обычно состоящее из 4-х групп (хотя первую, где 0 - зачастую опускают). Группы идут по порядку - особая, владелец, группа, прочие. Таким образом, права 0755 на файле будут означать:
владелец имеет все права
группа может читать и выполнять
прочие могут читать и выполнять
это типичные права для программы
А вот права 0750 на каталоге означают, что в него может перейти только владелец или группа владельцев, все остальные получат ошибку EPERM (а уж как она будет проинтерепретирована и какое сообщение будет выдано - дело программиста)Выдают ошибку Access forbidden! 403 ? 
Начините уже читать литературу по апачу, чтобы избавиться от это каши в голове. В UNIX нет ошибки 403 и нет понятия "access forbidden". Есть код возврата EPERM, который вернет соответствующий системный вызовТак много вопросов и так мало ответов... 
Потому что Вы путаете права доступа в системе и права доступа в апаче - что совсем не одно и то же...

Худший ответ:
Список картинок если видете, то уже плохо.
В общем почитайте про веб-серверы. Например про Apache.
Вопрос: Немного вопросов по DoctrineORM и Symfony?

Лучший ответ:
1) доктрина для всех ваших сущностей создает прокси объекты, и в дальнейшем вы будете из базы получать их. в прокси объектах для геттеров и сеттеров она делает методы обертки. 
+ с call очень не удобно работать, тк нет автодополнения в среде разработки, только изза этого я бы кэлл не стал использовать. 
2) возможно кеш не сбросили, доктрина бывает кеширует аннотации и при небольшом их изменении не применяет сразу.
3) смиритесь. оверхэд есть конечно, сам возмущался в начале, но ООП требует жертв. 
4) да, просто добавляете в конструктор, никаких проблем нет, из плюсов то что это поле сразу же доступно, а также мега бонус для написания тестов, когда нужно создавать объекты с указанными датами.

Худший ответ:
Я не понимаю зачем, если в php есть __call().
Магию сложно дебажить, тестировать и поддерживать. Она может потребоваться но в очень-очень узких кейсах, когда по другому никак. Геттеры с сеттерами - это далеко не тот случай, учитывая, что IDE тип PhpStorm их отлично генерирует.Ситуация, когда нужно сделать индивидуальную обработку поля - ясна, но зачем в большинстве случаев засорять класс однотипными методами - мне не понятно. В чем смысл?
За тем, что бы не засорять его никому не нужной магией.Я понимаю, что он скорее всего запросит id у объекта, но заче грузить в память целый объект, если я, например, заранее знаю его id?
При выборке доктрина генерирует прокси классы, которые догружают и гидрируют дочерние объекты в случае необходимости. Хотите чисто id - не объявляйте связь))А если я хочу множество адресов переработать, то для каждого грузить его пользователя - странно выходит.
Почему же? Хотите работать с адресами - работайте с адресами, при чем тут пользователи?Как сделать ORM-аннотацию, чтобы поле типа "datetime" заполнялось текущими датой-временем?
Добавьте значение по умолчанию в конструктор.
Вопрос: Как быстро и эффективно прокачать скилы в верстке?

Лучший ответ:
Вы знаете, у нас в команде похожая ситуация. Нас 3 программиста, пишем в основном бэк, а к морде требования обычно минимальные, поэтому везде бутстрап. Из нас троих опыт работы верстальщиком в веб-студии есть только у меня, остальные  как вы: вроде тоже не первый год работают, по верстке что-то правят, подгугливают, но как что-то чуть посложнее - спрашивают у меня.
Курсы, книги, менторы и т д - это, конечно, хорошо.
Но самая реальная польза - сверстайте из psd 3-5-10 макетов pixel perfect. И без всяких бутстрапов. После энного макета постигните дзен и все поймете. И чем макеты будут разнообразнее, чем больше в них адаптивности и хитрых элементов - тем лучше. По непонятным моментам спрашивайте на тостере. А так, судя по опыту коллег, иметь "некоторые представления о css" и подгугливать можно до бесконечности.

Худший ответ:
CSS это бал бубнов )) Так что практика + гугл. В крайнем случае курсы или книги. Выбор не большой, выбирайте сами
Вопрос: Правильный URI в соотв. с REST API?

Лучший ответ:
Я так понимаю что получение книги происходит по адресу через GET/shops/{shopId}/books/{bookId}
В таком случае и удаление будет по тому же адресу, но через DELETE

Худший ответ:
REST - это стиль проектирования, поэтому оба варианта верны, лично мне нравится первый вариант т.к. такие ссылки "читабельнее".
Вопрос: Почему на Ubuntu не открывается определенный сайт?

Лучший ответ:
Похоже сайт взломан. Обращайтесь к владельцу сайта.
Вопрос в User-Agent, если там есть Linux - кидает японскую лажу:$ curl -s -A "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox 47.0" http://натяжныепотолкиказань.рф | head
﻿<html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="keywords" content="jp"><meta name="Content-Language" content="jp"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


<title>【】dunhill L2H647 FACETダンヒル ファセット名刺入レザー ブラック：ブランドショップ ア・ドマーニ</title>
А если нет - то все ок:$ curl -s -A "Mozilla/5.0 (Windows; rv:47.0) Gecko/20100101 Firefox 47.0" http://натяжныепотолкиказань.рф | head                  
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]--><title id="5790062915">Натяжные потолки</title>
<meta name="keywords" content="">
<meta name="description" content="">
<link rel="stylesheet" href="jquery.animateSlider.css">
<link rel="stylesheet" href="demo2.css">
<link rel="shortcut icon" href="favicon.png" type="image/png">

Худший ответ:
Ubuntu чистая с флешки? Браузер какой?
Вопрос: Есть ли способы спарсить facebook?

Лучший ответ:
Да, такое есть: набираете за копейки кучку школоло, даете им задачу, платите и получаете результат.

Худший ответ:
из личного опыта: на данный момент (не через API) такое сделать (например через один компьютер + аккаунт) невозможно. В лучшем случае капчу будете ловить, а так скорее всего забанят аккаунт (как у меня). 
п.с. фейс использует около 100 000 методов для определения качества поста и куда его пихнуть (в ленте новостей, кому отобразить и т.д.) - и подумайте, сколько они создали методов для того, чтобы (а они ведь категорически против!!!) - чтобы их не спарсили?? 
п.с.с. Прокси не поможет. 
возможно есть выход... как например с Instagram - его реверснули (оф. приложение для мобильника) - забрали оф. ID и SECRET приложения - и через него пользуются "закрытым" API (например постинг фото). Мне не интересно таким заниматься (реверснуть оф.приложение facebook для получения их ID и SECRET) ... но это путь возможно сможет вам помочь.
на счёт инста: я как раз это использую в своём приложении CatPost. Т.е. через комп я могу постить фото в инст. (хотя официально это запрещено)
Вопрос: Как изменить еденицы измирения в Фотошопе?

Лучший ответ:
Здесь:

Худший ответ:
Здесь:
Вопрос: Куда податься со знанием python (кроме WEB)?

Лучший ответ:
А что интересует то?
Тестирование, администрирование, обучения машинные и прочие исследования. 
Ответ на этот вопрос лучше найти в гугле, по вакансияv поройтесь, в яндекс вакансии посмотрите, что они для python разработчика предлагаю, варгейминг вроде тоже ищет python программистов.
Но веб его основное, на данный момент.

Худший ответ:
охуж это Веб не интересует  ....  вы полгода учите язык и так не выяснили основную сферу его применения ? 
вам шашочки или кататься ? 
в смысле вам работу или главное чтобы не веб ?
Вопрос: Как инициализировать проверяемый объект для google тестов?

Лучший ответ:
Когда ты хочешь протестировать объект, ты пишешь для него тест.TEST( TestStaticString, GetChar )
{
	using TestString = Black::StaticString<'A', 'B', 'C'>;

	EXPECT_EQ( 'A', TestString::GetChar( 0 ) );
	EXPECT_EQ( 'B', TestString::GetChar( 1 ) );
	EXPECT_EQ( 'C', TestString::GetChar( 2 ) );
}
Слово TEST - это макрос, раскрывающийся в специальную обвязку твоего теста. Его первый параметр - это имя тестового кейса, второй - имя теста.
Инициализацию тестируемого объекта ты делаешь сам.
Проверки теста производятся с помощью макросов EXPECT_* и ASSERT_*.
Expect не останавливает тест в случае провала, а assert - останавливает. Таким образом можно разделять проверки в тесте на критические (после такой ошибки тест незачем продолжать) и обособленные (тест можно продолжать и получить множество обособленных ошибок).
За деталями можно обратиться к примеру из самих гуглотестов.
Твой класс VectorTest - это фикстура тестов. Применять ее к своим тестам ты можешь с помощью макроса TEST_F. Прочитать про это можно тут.
Фикстуры нужны тогда, когда для группы твоих тестов запуск и остановка являются одинаковыми. В этом случае инициализацию и финализацию тестируемого объекта стоит делать в фикстуре.

Худший ответ:
Тесты своего класса описываешь в TEST_Fclass Filter3pTest : public ::testing::Test
{
	using Filter = MedianFilter<short, 3>;
protected:

	void SetUp() override
	{
		f = new Filter();
		EXPECT_NE(f, nullptr);
	}

	void TearDown() override
	{
		delete f;
	}
protected:
	Filter* f = nullptr;
};

TEST_F(Filter3pTest, Base)
{
	EXPECT_NE(f, nullptr);
	auto v = f->Process(10.);
	EXPECT_DOUBLE_EQ(10.,v);
// ...
Вопрос: Как избежать дергания элемента при transform?

Лучший ответ:
Можно сделать обертку, например так

Худший ответ:
что бы было все плавно надо использовать transition
Вопрос: Почему эцп (усиленную квалифицированную) выдают на один год?

Лучший ответ:
Потому что бабла охота всем, а работать неохота. Вы еще спросите, почему в каждой шараге свои требования к УЦП и подходит только УЦП с доп оплатой и своим ГОСТОМ, как будто мы живем не в одном государстве. Фактически монополизм и картельный сговор, но ответственным органам некогда на такие мелочи обращать внимание, есть дела поважнее.

Худший ответ:
По той же причине, почему нельзя использовать PGP. КОРРУПЦИЯ.
Вопрос: Как, чем, кем проверить сайт на уязвимости?

Лучший ответ:
Проверка более, чем простая:
1. Отсутствие единой точки входа с фильтрацией по "белому списку" всех входных пользовательских данных - это уже в 99.9% случаях - 100%-ое наличие уязвимости в коде.
2. Отсутствие единого класса/PDO и подготовленных выражений для запросов к базе данных - та же история.
3. Отсутствие настройки конфигурации .htaccess и настройки/проверки серверных переменных окружения - та же история.
4. Отсутствие экранирования тегов при выводе в шаблон - возможна XSS-атака.
Подробнее, смотрите здесь.

Худший ответ:
OWAS ZAP - найдет все нужные дырки. :)
Вопрос: Не могу понять причину потери байтов в процессе передачи данных между клиентом и сервером, кто может помочь?

Лучший ответ:
Метод read не обязан отдавать столько, сколько просишь. Он возвращает количество реально прочитанных байт (один и больше) или -1, если данные кончились. Читайте в буфер в цикле. Раз там строка - в StringBuilder.

Худший ответ:
Если предполагается работа только со строками, то попробуйте использовать методы readUTF для чтения потока и writeUTF для передачи данных в поток, передавая им строки напрямую. В сочетании с DataOutputStream и DataInputStream.spoiler
Чтение:DataInputStream in = new DataInputStream(socket.getInputStream());
            String msg = in.readUTF();
Запись:DataOutputStream out = new DataOutputStream(socket.getOutputStream());
           out.writeUTF(msg);
           out.flush();
Вопрос: С чего начать изучение математики если прогулял 11 лет школы но хочешь понимать сложные алгоритмы в программировании?

Лучший ответ:
В идеале заплатить денег репетитору по математике (очному или дистанционному), который составит индивидуальный план занятий и протащит вас до нужного уровня максимально эффективно. 
И сами наверстаете, и кому-то работу дадите.

Худший ответ:
Школьные учебники, начиная с учебников для начальной школы.
Вопрос: Как удалить emoji из текста?

Лучший ответ:
Опять гугл не помог?) 
string replace

Худший ответ:
Опять гугл не помог?) 
string replace
Вопрос: Laravel, Почему в route::group не попадает request?

Лучший ответ:
Нужно указать полный путь до класса.Route::group(['domain' => '{uid}.localhost'], function () {
  Route::get('/', function (\Illuminate\Http\Request $request) {
      dd($request);
  });
});

Худший ответ:
Не знаю в чем ошибка, но попробуй через app('request')
Вопрос: Нормальный плагин просмотра изображений или как втиснуть изображение сохранив пропорции?

Лучший ответ:
Плагин называется чистый CSS
https://webref.ru/css/object-fit

Худший ответ:
Плагин для просмотра изображений
Вопрос: NullReferenceException: Object reference not set to an instance of an object?

Лучший ответ:
Может не находит игрока? GameObject.FindGameObjectWithTag("Player")

Худший ответ:
отладчик и смотрите ,что нулл
Вопрос: Почему никто не используют все возможности bootstrap?

Лучший ответ:
Его лучше вообще не использовать. а делать все на Vanilla CSS, Vanilla HTML и Vanilla JS

Худший ответ:
Потому, что обычно есть решения по лучше, часто необходимо что то особенное.
Вопрос: Bsod, в чем может быть проблема?

Лучший ответ:
Дампы можно еще смотреть этой утилитой.
www.nirsoft.net/utils/blue_screen_view.html
Сразу видно какие библиотеки в этом виновны.

Худший ответ:
тебе же написано что в C:\Windows\Minidump\060918-26488-01.dmp там всё написано вот и смотри дамп этот чего там.
Вопрос: Имеет ли смысл создавать интернет журнал на Vue.js?

Лучший ответ:
Не будет. Заверения Гугла и Яндекса по этому поводу не соответствуют действительности. 
Делайте SSR.

Худший ответ:
У nuxtjs нет никаких проблем с поисковиками, тем более что поддержка SSR уже встроена во фреймворк, и работать на нем ещё быстрее, чем на чистом vuejs. Единственный момент, при сериализации страницы для SSR создаётся объект сериализованного состояния страницы в json, которое немного увеличивает суммарный объем страницы. Ну и ещё проблема заключается в том, что из-за северной сериализации на северной стороне становятся недоступны в исходном коде глобальные объекты window, document, navigator, которые часто используются напрямую в различных Javascript плагинах. Для решения этого вопроса можно использовать встроенный компонент noSSR, который откладывает рендеринг определённой части контента до момента запуска в браузере.
Вопрос: Легкий в установке python фреймворк?

Лучший ответ:
docker + docker-compose, состоящий из двух сервисов:
1. nginx/Caddy, куда (чаще всего) нужно подложить один файлик: nginx.conf/Caddyfile соответсвенно
2. Gunicorn/uWSGI + django
Для ознакомления: https://github.com/wemake-services/wemake-django-t...
С докером никаких systemd и установок пакетов не требуется. Всё, что нужно – поставить сам докер.
P.S. Caddy бонусом сам устанавливает и поддерживает свежим сертификат от Let's Encrypt, твой сервис защищён и доступен по HTTPS из коробки ВООБЩЕ без действий с твоей стороны.

Худший ответ:
BottlePy https://bottlepy.org/docs/dev/ - однофайловый микро-фреймворк. Можно скачать сам файл фреймворка и просто закинуть в папку с проектом, а потом подключать в коде import'ом)
Вопрос: Почему метод выполняется в главном потоке?

Лучший ответ:
Асинхронность не значит мультитредность.
https://docs.microsoft.com/ru-ru/dotnet/csharp/asyncЕсли ваша задача ограничена ресурсами процессора и вам важна скорость реагирования, используйте async и await, но перенесите выполнение задачи в другой поток с конструкцией Task.Run. Если к задаче применим параллелизм, также можно рассмотреть возможность использования библиотеки параллельных задач.

Худший ответ:
Явный баг библиотеки, которой вы пользуетесь. Если метод, выполняющий сетевую операцию, заявлен авторами как асинхронный, то никакой блокировки вызывающего потока быть не должно.
Во избежание подобных сюрпризов сторонними библиотеками не пользуюсь. Да, приходится больше грязной работы делать руками. Но, как правило, делается это все один раз, после чего легко переиспользуется.
Вам же сейчас придется разгребать руками чужой говнокод с гитхаба. Большой вопрос - кто потратит больше времени - вы или я?