pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Где найти live cd Линукс с предустановленным MS Teams?

Лучший ответ: Боюсь, что включенный в состав установочного диска Teams вы не найдете ни в одном дистрибутиве Linux.
Но вот добавить его в пару движений через добавление дополнительного официального repository - вполне реально.
https://docs.microsoft.com/en-us/answers/questions...

Собрать свой live-cd не трудно-после того, как определитесь, какой именно будете использовать - погуглите инструкцию по запросу "make custom live-cd блабла".
Либо изначально найдите инструкцию по сборке своего live-cd и в него уже добавьте Teams

Худший ответ: Где найти live cd Линукс с предустановленным MS Teams?
Нигде. Это проприетарное ПО. Кому надо отстёгивать МС на лицензию за распространение?
Вопрос: Как стать хорошим backend, C# программистом?

Лучший ответ: отпало, информация на английском языке
Мимо, программирование не для вас.

Худший ответ: Найдите себе заказчика, с очень не очевидными идеями, попробуйте их реализовать, подымите опыт в бэкэнде) Я работаю на Laravel, Вам его и советую)
Для примера:
Вот задача:
1) Сделайте сайт с двумя входами (1 для админа, наполнение данных и т.д., 2ая для личных кабинетов, при этом личные кабиенты для физ. лица и юр. лица)
Сделайте это, и вы поймете что Вам нужно, какие таблицы, как связать, как показать, как наполнять, подключите интернет-эквайринг, изучите rast api, например альфа-банк или др. СДелайте онлайн оплату. Сделайте 150 000 товаров с описание, добавление в избранное и др. подключите эти товары с 1с, поймите что вам нужен не mysql а mssql, что он побыстрее будет, что он имеет интеграцию с 1с и т.д.
2) Из текста выше вы поймете, Вам нужен опыт. Берите работу и выполняйте её, чем больше опыта, тем вы больше поймете, например что 150 000 записей хранить в оперативке это хреново, изучите чанки и многое другое, перечеслять заколебаемся)
Вопрос: Есть ли способ синхронизации ssl между несколькими серверами?

Лучший ответ: Получать на одном, на остальных через rsync подгружать изменения, к примеру.
Единственное, нужно помнить, что в том же letsencrypt сертификаты в папке live - это символьные ссылки, потому rsync нужно как минимум с ключами -L -K запускать.

Худший ответ: Я, конечно, не первый раз уже на этой неделе говорю, но! 
Infrastructure as Code: Ansible, Chef, Puppet.
Вопрос: Как усвоить большой массив информации за короткое время?

Лучший ответ: Основное:
1. Полное понимание и осознание того, что читаете (и желание познавать!).
2. Структурирование и выделение контрольных "точек входа" в процесс обработки информации с расписыванием по-шагам.
3. Периодическое использование полученных знаний (практика).

Важно:
1. Не нужно учить всё подряд и недопонимая полностью материал.
2. Не нужно учить то, чем не будете пользоваться в ближайшее время.
3. Не нужно пытаться понять материал, когда отсутствует концентрация внимания.
4. Не нужно пренебрегать использованием гугла и созданием коротких заметок в сложных для понимания местах.

PS: это никому не интересно, но напишу про свою реализацию заметок: я создаю HTML-ки, "сшиваю" своей js-либой и запускаю с рабочего стола index.html локально в стиле своей локальной note/вики по нужной мне теме, правлю контент - в обычном notepad++.

Худший ответ: Да никак. Или ты ждал волшебную пилюлю?
Вопрос: Файловый менеджер для windows 7?

Лучший ответ: DoubleCommander
и прочие коммандеры
У тебя же панели можно как угодно разместить...

Худший ответ: Total Commander так умеет.
Вопрос: Как сделать таблицу с произвольным количеством полей?

Лучший ответ: Похоже, что вы пытаетесь изобрести EAV.1, 2

Худший ответ: Если у вас есть чёткое понимание структуры таблиц, то:
1. В таблице есть физический первичный ключ
2. В таблице есть физические поля под внешние ключи
3. В таблице есть физические поля под основные индексы
4. В таблице есть json поле для всех остальных данных.
Вопрос: КАк найти на сайте «класс» и открыть его через 3 минуты после посещения пользователя?

Лучший ответ: Оба кода выглядят правильными, но они настолько разные, что, я предполагаю, вы их нашли где-то и у вас не готово под них всё остальное. К примеру, для первого примера, не подключен Foundation, а для второго - не написана modalShownFn.
Единственно, что: 3000 - это 3 секунды. Для 3 минут должно быть 3 * 1000 * 60
И да, в примере $(".city_chooser_small_frame .show") вы не "ставите ей класс show". Подучите основы JQuery. Думаю, заработает так:$(document).ready(function() {
  var KEY = 'city_chooser_small_frame';
  if ($.cookie(KEY) == null) {
      $.cookie(KEY, 'yes', { expires: 7, path: '/' });
      setTimeout(function(){
         $(".city_chooser_small_frame").addClass("show");
      }, 3000); // <== не забудьте тут правильное время
   }
});

Худший ответ: Павло Пономаренко, не могу и посмотреть:( не понятно где лежит это окошко. готовое решение, не могу найти где весь этот код. через писк  не находит. этот класс я  взял из инспектора кода, когда окошко уже открыто. пробовал у него убирать класс шоу, скрылось окошко, добавил руками класс шоу, добавилось окошко.
можно максимум, добавить код окошка, скопировав из инстпектора его на тест, и применять там...
Вопрос: Имеет ли смысл учить C++ для GameDev в 2020?

Лучший ответ: 1. Unity - C#
2. UE - C++
Это два лидера для ширпотреба.
Выбирайте любой.

PS: все остальные "движки" класса AAA - пишутся конторами с "нуля" и не распространяются как инструмент разработки в паблик.

Худший ответ: Посмотрите какие сейчас нынче более-менее ходовые движки и что нужно чтобы с ними работать и сами найдете ответ.

Ответ для лентяев
А мож оно вам и не надо, раз сами найти ответ не можете?

Ответ для целеустремленных лентяев.Да, нужно
Вопрос: При многопоточной работе исключена вероятность одновременнего доступа к ресурсам?

Лучший ответ: Ты не совсем понял проблему многопоточности. Да, чтение неизменяемого значения из множества потоков безопасно, но вот изменение - нет.
На примере:
Лежит в памяти значение x = 1. Пока его только читают, всё ок, но предположим, что это у нас какой-то счётчик и два потока хотят его увеличивать на 1.
Первый поток считывает значение, кладёт его в стек, добавляет 1 и после записывает результат (2) обратно. Сам видишь, что тут отнюдь не одна операция, и между моментом считывания и записью проходит время. В это время второй поток может спокойно успеть считать пока ещё старое значение. Выходит, что оба потока возьмут 1, увеличать её на 1 и запишут в память, не важно в каком порядке. В результате вроде как оба потока отработало код, но значение в памяти увеличено только на 1. В этом и проблема.
Списки, к примеру, внутри хранят тот же счётчик для количества элементов, поэтому одновременная запись может неправильно отработать.

Худший ответ: Как я понял, когда я запускаю несколько потоков, то они не работают одновременно. На деле процессор сначала n секунд занимается одним потоком, потом n секунд - другим и т. д. Это называется переключение контекста. 
Процессоров и ядер может быть несколько. Соотвествтвенно эти рассуждения только в случае одного процессора и одного ядра. Но и в случае одного ядра атомарность операций не гарантированна см комментарий Meloman19 
https://habr.com/ru/company/intel/blog/243385/
https://www.howtogeek.com/194756/cpu-basics-multip...
Вопрос: Большой пинг на мобильном 4g роутере, поможете?

Лучший ответ: Зависит от качества сигнала у вас. Если критичен пинг - лучше подключить проводной интернет

Худший ответ: Попробовать направленную антенну использовать, а от неё - кидать провод на домашний маршрутизатор.
Вопрос: Как создать серию PDF-файлов в PHP 7.3.5 через domdpf?

Лучший ответ: проблема в том что метод render выдает return и получается так что в цикле отрабатывает только один виток. тебе надо в цикле собрать весть html с помощью конкатенации и только потом один большой html подавать на конвертацию в pdf
примерно вот так у вас должно быть $html = '';

foreach($links as $link) {

  //decode url to cyrillic
  $linkDecoded = urldecode($link);

  //if url contains unneeded words, delete them
  if ( (strpos($linkDecoded, 'Категори') === false) && (strpos($linkDecoded, 'Википедия') === false) && 
    (strpos($linkDecoded, 'index.php') === false) && (strpos($linkDecoded, 'Файл') === false) && 
    (strpos($linkDecoded, '#') === false) ) {
    
    //if $linkDecoded[0] === '/' -> add 'https://ru.wikipedia.org'
    if ($linkDecoded[0] === '/') {
      $linkDecoded  = 'https://wikipedia.ru.org' . $linkDecoded . '<br>';

      // 5 === len(wiki/); https://stackoverflow.com/questions/11290279/get-everything-after-word
      $title = substr($linkDecoded, strpos($linkDecoded, 'wiki/') +5); 
      
      echo $linkDecoded;

      

      //не было тут его, если что - убрать
      $html .= file_get_contents($url);
    } 
  }
}

//DOMpdf -> pdf
      $options = new Options();

      $options->set('defaultFont', 'DejaVu Sans');

$dompdf = new Dompdf($options);
      $dompdf->loadHtml($html);

      //(Optional) Setup the paper size and orientation
      $dompdf->setPaper('A4', 'landscape');
      // Render the HTML as PDF
      $dompdf->render();
      
      // Output the generated PDF to Browser
      //title is basename === https://wikipedia.ru.org/wiki/             ->      Протокол_передачи_данных
      $dompdf->stream($title);

Худший ответ: спасибо , как всегда подвела невимательность:
вместо $linkDecoded  = 'https://wikipedia.ru.org' . $linkDecoded;
надо$linkDecoded  = 'https://ru.wikipedia.org' . $linkDecoded;
Вопрос: На чем писать быстрые приложения под Desktop?

Лучший ответ: высокоэффективные не тормозящие приложения
на мой взгляд высокоэффективные и не тормозящие приложения не всегда пишутся быстро.

На чем быстро написать? - Java (JavaFX или Spring + JavaFX), JavaScript (ElectonJS), Python.

На чем написать высокоэффективные приложения? - тут зависит от разработчика и используемого языка. C, C++, Delphi, Java, C#, Qt

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

Убедительная просьба, не пишите десктоп на рнр. Лично на мой взгляд это извращение))

Худший ответ: 1. Графические - Delphi, C#
2. Консольные - зависит от типа приложения. Обычно - "чистый" C.
Вопрос: Чтение электрических схем?

Лучший ответ: Борисов "Юный радиолюбитель"
Хоровиц, Хилл "Искусство схемотехники". Чем свежее издание, тем лучше

Худший ответ: Ресурсов много. Нужно определится с направлением - электроника,электрика, .... А потом теорию совмещать с практикой. И главное не забывать - Лишнее выгорит :))!
Вопрос: Зачем оператор new в C#?

Лучший ответ: Объяснение для новичка с углублением с CLR.
Такой синтаксис придумали использовать в C# для вызова конструктора.
Конструктор после компиляции - это метод с именем ".ctor" — из-за этого его нельзя просто-так руками объявить или вызвать.
Есть язык F#, в котором конструктор вызывается без new — на нём бы ваш пример выглядел так:
a[Random().Next(0, a.Length)]
Конструкторы нужны чтобы инициализировать экземпляры объектов.

Я бы посоветовал вам вынести Random в новую переменную, чтобы не пересоздавать его каждый раз, когда вы хотите вытащить случайный элемент массива.

Худший ответ: Оператор new создаёт экземпляр типа. 

В данном случае тип (класс) Random. Чтобы создать объект (т.е. экземпляр) этого типа, нужно к этому типу применить оператор new. 
Вызов конструктора и инициализация полей объекта происходит после создания экземпляра. C# позволяет при создании экземпляра типа указать "функцию" - конструктор (у типа их может быть несколько) - чтобы инициализировать созданный объект сразу же после создания. 

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

Ссылки по теме. 
https://docs.microsoft.com/en-us/dotnet/csharp/lan...
https://docs.microsoft.com/en-us/dotnet/csharp/lan...
Вопрос: Постоянно слетает Windows на ноутбуке, в чём проблема?

Лучший ответ: Так вам же уже мастер сказал, что диск надо менять, видимо проблемы в нём.
Смотрите SMART диска

Худший ответ: Позапускай тесты, и посмотри что покажут. Начни с винта, потом память, потом процессор.
Вопрос: Подскажете систему мониторинга логов для Debian?

Лучший ответ: Ну, эластик да, толстоват... я перешел на influx, grafana и telegraf. Все в пару строчек на любой машине разворачивается. 
Вместо telegraf можно юзать collectd вместе с графаной и инфлюксом.
Молодо, задорно, молодёжно! В общем - рекомендую.

Худший ответ: graylog чутка попроще
Вопрос: Как добавить файл sitemap в google?

Лучший ответ: У тебя русским языком написано "заблокировано в robots.txt"

Худший ответ: Убери роботс и отправь файл снова на проверку
Вопрос: Как помечать прочитанными сообщения в боте vk python?

Лучший ответ: Используй это

Худший ответ: Отправлять при любом не обрабатываемом сообщении мол бот прочитал но ничего не понял.
Вопрос: Как создать таблицу MYSQL которая не будет долго давать ответ?

Лучший ответ: Как создать таблицу чтобы он давал ответ быстро - короткий ответ "создать с правильными индексами", и настроить MySQL.
Длинный ответ:
- возьмите ваши запросы и запустите их с  "explain" 
- поменяйте запросы и/или добавьте индексы чтобы запросы выполнялись эффективно
- настройте MySQL  с соответствии в памятью на сервере https://ruhighload.com/%D0%9E%D0%BF%D1%82%D0%B8%D0...
https://www.opennet.ru/docs/RUS/mysqlcli/glava14.html

Худший ответ: проблема решена нужно было завернуть запрос в id '33' например то ответ будет сразу же через 0.001 сек. Если без кавычек id 33 то ответ займет 2.8 секунд
Вопрос: Можно ли бесплатно использовать JDK для разработки Android приложений?

Лучший ответ: Java теперь на платной основе?

Худший ответ: Не нужно покупать никаких лицензий.
Используйте официальный OpenJDK или любую стороннюю сборку, а лучше комплектную из Android Studio.
Вопрос: Есть ли смысл создавать отдельные дивы для каждой картинки и для лого?

Лучший ответ: Я так не делаю. Но справедливости ради отмечу, что не занимаюсь версткой прям 24/7. Предпочитаю максимально сокращать количество элементов на странице, в том числе за счет div. А то потом встаёт вопрос производительности, ты смотришь на страницу, а там 1500 DOM узлов и треть из них дивы, которые можно было бы выбросить.
Если коротко, мой ответ таков:
Старайтесь не использовать div вообще. Только, если без него никак не получится правильно спозиционировать какой-то элемент. 

Худший ответ: Я картинки обычно заворачиваю. Если нужно менять размеры или делать отступы, то я это делаю с оберткой, а не с самой картинкой. Опять же если нужно ограничивать размеры через высоту или используя object-fit все равно придётся завернуть. Для анимации типа scale при наведении тоже придётся завернуть.
Вопрос: Raid 5 принцип работы?

Лучший ответ: Сначала один вопрос:Raid 5 принцип работы?
Затем другой:3 дисками какой будет скорость?
Потом третий непонятный:с. 3мя - дисками сколько будет объединятся диски
А потом вообще шизофазия.

Худший ответ: Скорость работы будет - минимальная скорость одного диска, так как запись одновременно идет на все три диска.
Еще есть минимальная нагрузка на процессор (если raid софтовый), и она заметно повышается (на чтение) если массив будет в состоянии поломки (один из дисков отключен).
Пересборка массива равна по скорости записи самого медленного диска в массиве и так же удет нагрузка на CPU, но если у вас не калькулятор, то вы этого не заметите.
И если вы одновременно с пересборкой будете работать с массивом, это на порядок понизит скорость.
Вопрос: Как ускорить ввод в Internet Explorer (IE) 11 в тестах Selenium?

Лучший ответ: Используйте JS и browser.execute_script
Подсмотреть функцию для вставки можно в Selenidebrowser.execute_script(s"return (function(webelement, text) {" +
      "if (webelement.getAttribute('readonly') != undefined) return 'Cannot change value of readonly element';" +
        "if (webelement.getAttribute('disabled') != undefined) return 'Cannot change value of disabled element';" +
        "webelement.focus();" +
        "var maxlength = webelement.getAttribute('maxlength') == null ? -1 : parseInt(webelement.getAttribute('maxlength'));" +
        "webelement.value = " +
        "maxlength == -1 ? text " +
        ": text.length <= maxlength ? text " +
        ": text.substring(0, maxlength);" +
        "return null;" +
        "})(arguments[0], arguments[1]);", element, text)

Худший ответ: Итак, проблема решилась сама собой, когда тесты были запущены на VM с 32-bit Windows и 32-битной бинарей IEDriverServer
Вопрос: Как считаются деньги при почасовой оплате?

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

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

Худший ответ: нужно сняала понять вашу квалификацию и сколько вы хотите заработать, и еще не плохо бы было промониторить рынок и уже исходя из этих данных выставлять цену
Вопрос: GitHub репозиторий с одним коммитом?

Лучший ответ: Выкладывайте с одним. На гитхабе полно подобных репозиториев, особенно с проектами, которые до этого были в другой системе версий, а потом их перенесли на git и не особо парились с сохранением истории и версионности.

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

Лучший ответ: Пробовал кучу разных тудушек для личного использования, так ничего и не выбрал. Потом остановился и задумался на счёт методологии. Таск менеджеры - это всего лишь автоматизированная система. Чтобы что-то автоматизировать, нужен сам базовый процесс. Поэтому я взял обычный бумажный ежедневник (На самом деле тетрадь со сменным блоком), и стал его вести в разрезе дела на день, на неделю, заметки по ходу встреч, используя методологию bullet notes. Теперь это уже стало возможно автоматизировать, но Опыт показал, что заметки, написанные от руки, усваиваются лучше. А для информации, которую нужно сохранить для себя на будущее, я выбрал обсидиан+Gitnotes, но это решение уже типа персональной вики.

Худший ответ: Посоветую попробовать intasker.com
Вопрос: Насколько сложно войти в WebDev не имея никакого опыта, а потом ещё и эмигрировать?

Лучший ответ: онлайн курс
Сразу можете ставить крест на своих мечтах. Эмиграция без профильной вышки, котируетмого на Западе учебного заведения, возможна для специалистов того уровня, которые чрезвычайно востребованы на родине, а такие вырастают в результате самостоятельного обучения и последующей многолетней практики, а не по курсикам.

Худший ответ: Вкладывайтесь в языки, которые сейчас учите, особенно в английский язык. Потом курсы QA пройдите(это самое простое, говорят), за счёт крутого английского языка вы будете выше многих вайтишников. У меня так брат стартанул. Месяц курсов QA и свободный английский. За полтора месяца поменял сферу деятельности. Но он только ради денег. Работу свою ненавидит, но ради довольно высокой ЗП готов терпеть.
Вопрос: Есть ли формула обратимого преобразования четырёх чисел в одно?

Лучший ответ: 1. Вы можете рассматривать каждое число как разряд. Это позволит сложить и разложить сколь угодно много чисел (см. формулы выделения разрядов).
Для примера, пусть у нас есть 4 числа, каждое из которых может быть 0-9. Тогда, возможно двустороннее преобразование вида: 1 + 2 + 3 + 4 = 1234.
2. Объединить текстовую запись чисел, а потом разбить её на 4 равные части.
3. Представить каждую пару чисел как x.y, а затем представить общее число как a+i*b (комплексное). Например: 1 + 2 + 3 + 4 = 1.2+3.4i. В таком случае возможно даже "бесплатно" получить хеш по формуле Эйлера: 1.2+3.4i => 3.6*e^1.23i.

Худший ответ: От перемены мест слагаемых, результат не меняется.
От перемены мест множителей, результат не меняется.
Нет такой формулы, чтобы случайные числа можно было "сложить" и "разложить".
В асинхронном шифровании есть нечто похожее, но там это работает с простыми числами, а не с произвольными.
Работайте со строками, а не с числами.
Вопрос: В чём отличие десктопной Ubuntu от Server Ubuntu?

Лучший ответ: Десктопная убунта отличается от серверной предустановленным пакетом ubuntu-desktop
Если на чистой серверной убунте сделать
sudo apt install ubuntu-desktop
то получим чистый десктоп с гномом иксами и прочей прелестью

Худший ответ: Интерфейс можно и втулить.
Никто не мешает.
Вопрос: Как собрать ядро 4.0, чтобы была поддержка wifi из ядра 5.2?

Лучший ответ: А точно нельзя собрать нужный модуль ОТДЕЛЬНО и потом подгзузить его через modprobe?

Худший ответ: здесь есть решение. Работает отлично
Вопрос: Стоит ли обновлять Ubuntu 18.04 до 19.04?

Лучший ответ: Обычно dist-upgrade делают когда секса не хватает

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

Лучший ответ: Держать баланс на стороне сохранения энергии.

Худший ответ: Вам, я думаю, платят за количество работы которое вы делаете а не за задачи. 
Поэтому работаете в своем режиме и все. Никаких "видимостей" создавать не надо. Как и прогибаться под завышенные ожидания.
Если какая-то задача закрылась быстрее - это нормально, значит она была проще чем казалось.
Если какая-то задача окажется сложнее чем казалось - то так же нормально чтов вы ее будете делать дольше. 
Если вам начинают сроки зажимать до неадекватных - надо разговаривать и объяснять что они неадекватные. 
Если вам начинают увеличивать нагрузку и объем работы потому что вы "можете больше", то на это "можете больше" надо просить больше денег/плюшек. при условии что до этого все было адекватно конечно.
Вопрос: По разному ли на собесе будут смотреть на 18 летнего и на 24 летнего?

Лучший ответ: Вышка при всех прочих огромный плюс. Но с другой стороны чувак с вышкой в 24 без опыта работы явно лентяй и что то с ним не так

Худший ответ: вышка много дает, даже если слушал ушами
Вопрос: Как написать сервер, который отдает RTSP видеопоток на VLC Player из pcap-дампа?

Лучший ответ: Задача состоит из двух с половиной:

Прочитать поток из Pcap файла https://www.javahelps.com/2017/08/parse-pcap-files...
Сформировать RTSP поток из прочитанного Pcap https://www.oracle.com/java/technologies/javase/ja... или https://netty.io/

2,5 шаг - объединение этих двух.

p.s. есть варианты и без Java - воспроизвести pcap  с помощью tcpreplay и сформировать необходимый поток с помощью ffmpeg

Худший ответ: ну 1 и 4 можно выкинуть

по 2 и 3 в чем заминка?
Вопрос: Django(+cms)+reactjs+typescript+bootstrap+SASS. Как можно сделать?

Лучший ответ: Все просто. Вам нужно:
1. Изучить Django(+CMS), React, TypeScript, Bootstrap, SASS.
2. Написать свой собственный блог на этом стеке технологий.

Худший ответ: Django(DRF) делаете API.
Затем верстаеете сайт при помощи Bootstrap.
И заключительная часть, соединяете Frontend и Backend при помощи React.
Я бы рекомендовал использовать VueJS.
Вопрос: Реально ли в одиночку продвинуть интернет магазин?

Лучший ответ: Да, реально. Можно разработать дизайн, сверстать шаблоны, написать код и фронтенда, и бэкенда, настроить сервер(а), развернуть интернет-магазин, забить контентом, организовать обмен данными с 1С и продвинуть. Всё в одиночку. Но после этого сразу возникает вопрос "Зачем я работаю сисадмином?"

Худший ответ: А нахрена тут сисадмин? 
Так то одному можно и десять интернет магазинов продвинуть
Вопрос: Зачем передавать самовызываемой функции параметр undefined?

Лучший ответ: Потому что по недосмотру, undefined не зарезервированное имя (как, например null) и кто-то может написать undefined=42. 

Поэтому авторы библиотек таким образом гарантируют, что undefined точно undefined

Худший ответ: Помимо защиты от подмены, уже описанной в других случаях, аргумент функции будет сокращен до 1 буквы при манглинге кода, что по сравнению с использованием глобального значения позволяет экономить 8 байт бандла на каждое использование undefined
Аналогично часто делают с window и document