Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как установить приложение GitHub`a на linux(mint)?

Лучший ответ:
Первое умение начинающего линуксоида - читать. На официальном сайте самого Git`a написано, что Git comes with built-in GUI tools for committing (git-gui) and browsing (gitk) + есть список из 8 сторонних клиентов под linux.

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

Лучший ответ:
Все поголовно используют A*, изредка JPS. Если скорости не хватает, то оптимизируют граф, по которому происходит поиск, например, равномерную сетку заменяют на ключевые точки.

Худший ответ:
Мне кажется этот алгоритм самый быстрый (не знаю точно название алгоритма, но суть в следующем):
1. Пишем уравнение прямой между текущей координатой объекта и пунктом назначения (www.math.by/geometry/eqline.html).
2. Движемся вдоль этой прямой до первого препятствия
3. Если наткнулись на препятствие, начинаем обход его, скажем, справа. При каждом шаге проверяем, а не на нашей ли прямой находимся
4. Если оказались снова на прямой, и это не та точка, с которой начали обход, то продолжаем идти дальше вдоль прямой до пункта назначения или следующего препятствия.
5. Если оказались снова в той точке, с которой начали обход, или в одной из точек на прямой, которая дальше от пункта назначения, что точка, откуда начали обход (т.е. вернулись назад), то пытаемся обойти препятствие уже слева.
6. Если и здесь вернулись в точку, с которой начали обход, то желаемая точка назначения недостижима.
Вопрос: Как включить-выключить синхронизацию времени через cmd?

Лучший ответ:
включить-выключитьПроще изменить период синхронизации.

Худший ответ:
Гугление, результат из первой тройки:
https://www.umgum.com/ntp-win-client
Вопрос: Используете ли вы данную заготовку при адаптивной верстке?

Лучший ответ:
1. device-pixel-ratio — плотность пикселей. Если вкратце, то использовать это можно лишь при необходимости. В основном пригождается для картинок, чтобы они выглядели четкими.
2. Посмотрите как реализованы контрольные точки в Бутстрапе, в большинстве случаев их достаточно. Т. е. реализуется не под бренд, а просто под ширину экрана.

Худший ответ:
использовать стоит но не все что тут напихано однозначно. Делать надо под распространенные разрешения , если надо чтоб сайт на мобилках в ландскейпе смотрелся как то по особому то можно и его в правилах прописывать. Для всех телефонов в основном достаточно от 320px  делать и все
Вопрос: Можно ли что-то майнить/вычислять на слабой машине (CPU)?

Лучший ответ:
Можно, XMR (Monero).  Но с такой скоростью, что приносить будет дай бог доллар в несколько месяцев, так что проще забить

Худший ответ:
Поставил BOINC клиент и успокоился.
Не в деньгах счастье (с)
Вопрос: Зависает линукс намертво при использовании вин приложения, что делать?

Лучший ответ:
Ставь поновее https://wiki.winehq.org/Ubuntu
Если зависает ОС, то делай логирование в файл
wine progname.exe >~/progname.exe.log 2>&1
Смотри логи ОС /var/log/syslog

Худший ответ:
Возможно у вас не поддерживает local UTF-8 попробуйте язык всей системы [en-us], и синхронизируйте время если у вас не системное. У меня вроде пашет бесплатная версия нормально.
Вопрос: Есть ли смысл проводить фильтрацию формы на клиенте?

Лучший ответ:
Валидация на клиенте делается только для отзывчивости и улучшения пользовательского опыта.
Валидацию на сервере это не отменяет и не заменяет.

Худший ответ:
Представляю регистрацию в какой-нибудь соц.сети без предварительной валидации логина на уникальность...
Вопрос: Cтоит ли проводить апгрейд ноута?

Лучший ответ:
Появилась мысль добавить 4гб(слот есть) и ССД - будет ли оправданно?Уж очень смущает старый проц.Стоит.
Проц нормальный.
Памяти мало- добавить хотя бы до 8Гб.
Диск поменять на SSD 
И в итоге будет достаточно шустрая машинка.И столкнулся с тем, что слишком долго "задумывается".Нехватка памяти, и тормозной диск.Или лучше продать , добавить и взять что то на i3 / i5?Можно и взять - только опять же не менее 8Гб памяти и SSD не менее 120гб, а лучше больше.

Худший ответ:
ну вопрос сейчас какс минимальными затратами перестать испытывать боль при коде)
Потому что,теряется весь запал - когда у тебя калькулятор 5 мин компилит)
dimation96 внешний вид побоку) Наоборот)сейчас даже рад что разрешение низкое и видео слабое - нет даже желание ставить игры, а они незаметно много времени сожрут)
Главное чтобы работал шустро и не тупил...Что бы интерес не терять)
Вопрос: Как вы находите идеи домашних проектов?

Лучший ответ:
Делайте проекты под свои нужны.

Худший ответ:
Приходите к нам в фундаментальную науку. Если есть желание предложим задачек.
Вопрос: Где писать код класса Fluent в Laravel?

Лучший ответ:
Fluent интерфейс представляет собой цепочку методов в php и служит для более удобного написания запросов на php, который после используется.
То есть вместо 'SELECT name FROM table WHERE 1 = 1' мы записываем его ввиде DB::table('table')->select('name')->where('1', '=', 1);
Его можно писать где угодно. По сути Eloquent модели и представляют из себя этот самый текучий интерфейс.
И самое главное Fluent это не класс. Fluent это интерфейс

Худший ответ:
Я не телепат, но выглядит так, что вы не туда идёте.
Посмотрите https://laravel.ru/docs/v5/eloquent
Вопрос: Где найти электронный вариант книги: Бейсик для всех: курс программирования на языке Бейсик для начинающих 1987 год?

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

Худший ответ:
Или человек очень уж поиздевался или человек не в теме.
Для понимания настолько базовых вещей, подойдет учебник для ЛЮБОГО современного языка.
В базовом случае, для упрощения, лучше взять скриптовый язык, например хорошо подойдут: python/perl/php/bash/javascript.
Во всех этих языках довольно легко и наглядно можно поработать с условиями, циклами, процедурами, массивами и структурами.
Берете любой базовый учебник/курс и вперед. Можно даже взять 2-3 учебника от разных языков, прочитать за недельку-другую и все сойдется. Вдобавок узнаете разницу между языками.
Вопрос: Lua для машинного обучения?

Лучший ответ:
Всякие питоны обычно используют сишные и фортрановские библиотеки непосредственно для расчётов, т.к. это самое узкое место.
Так что производительность научных пакетов на питоне обычно приличная, а сам питон выступает как некая обёртка.
Безусловно, lua и его реализация luajit довольно быстрые. Последняя зачастую быстрее питона, плюс имеет удобный FFI. Для встраивания язык просто отличный, но вот как standalone-язык в прикладных приложениях выглядит не так хорошо.
Однако, стандартная библиотека самого языка Lua очень скудная. А количество библиотек на разные случаи жизни намного меньше, чем у питона. 
Плюс, питон, как язык, более приятен: 
1) Типизация в нём строгая, в отличие от слабой/неявной в lua.
2) Присутствует богатая система типов. Тут есть и комплексные числа, и итераторы, и коллекции, куча всего. В lua только 8 типов.
3) ООП в питоне основано на классах и похоже на Java/C#/C++. В lua ООП прототипное и реализуют его посредством таблиц (и метатаблиц).

Худший ответ:
Потому что LUA создан для программистов, а всякими машин лернингами занимаются математики, им как бы пофигу на производительность, через 1 или 3 часа получишь результат - не важно. Поэтому используют самое простое - питон, да и комьюнити у него значительно больше.
Вопрос: Как из JS сгенерить CSV файл для MS Excel?

Лучший ответ:
Замените этоsaveAs( new Blob( rows, {type : 'text/csv'}), 'data.csv' );
на этоsaveAs( new Blob( rows, {type : 'text/csv;charset=utf-8'}), 'data.csv' );

Худший ответ:
Попробуйте прогнать этим конвертером - stackoverflow.com/questions/2696481/encoding-conve...
Вопрос: На каком сайте брать бесплатные HTML шаблоны для разработки?

Лучший ответ:
https://onepagelove.com/
Здесь можно найти бесплатные готовые шаблоны

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

Лучший ответ:
За счет чего он добывается?Он не добывается. Его просто получают. Это просто запись в базе данных. Нет такого объекта - биткойн. Есть запись в базе данных что на счете таком-то столько-то биткойн.Как он хранится, почему его не подделать, ну вот допустим у меня есть 100р это вот бумажка со всякими отличительными знаками, а как же с биткойном?Хранится так же как и любая запись в базе данных на компьютере.  Подделать невозможно потому что база данных представляет из себя непрерывную цепочку блоков, хранящуюся на множестве компьютеров.
В итоге для подделки нужно либо физически изьять у всех участников сети все записи, либо подделать эти записи - но это потребует огромной вычислительной мощности.Почему он востребован?Обычная финансовая пирамида. Хотя у него есть некоторые свойства полезные для некоторых людей. С помощью него можно перегонять финансы через границу без проблем с налогами, отмывать деньги, финансировать темные дела. Он позволяет обеспечить анонимность платежа, со всеми вытекающими последствиями.Если все майнят, то упадет ли на него спрос? Сам процесс майнинга необходим для поддержания работоспособности сети. Нет майнинга - нет биткойна. Сеть работать не будет.
Вообще майнер предоставляет вычислительные мощности компьютера для обеспечения работы сети, и получает за это оплату, которая складывается из комиссий от переводов.
На данный момент майнеры зарабатывают много потому что кроме комиссии, через майнеров осуществляется эмиссия. Т.е валюта вводится в оборот.Как им обмениваться?В своем кошельке набираете номер счета нужного вам кошелька, указываете сумму и заявка поступает в сеть.
Как только майнер найдет блок - ваша заявка будет включена в блокчейн цепочку. Появится запись что с вашего кошелька переведено столько-то биткойн, на такой то кошелек, и эта запись будет хранится там пока работает эта система.

Худший ответ:
Биткоин FAQFAQ по майнингуЧто такое Bitcoin?Биткоин изнутри для непонимающихМифы о Bitcoin20 преимуществ Bitcoin
Думаю для начала хватит. Некоторые данные чуть устарели, но смысл передают.
Когда в целом все будет понятно, и останутся уточняющие вопросы - вэлком.
Вопрос: Зачем разработчики из Яндекс используют (двойное) нижнее подчеркивание в названиях классов?

Лучший ответ:
Это БЭМ, бэйба)

Худший ответ:
Не в перемешку, определенная логика есть и это видно.
Вопрос: Дизайн сайта для известного бренда в портфолио?

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

Худший ответ:
Конечно, раз договоров никаких нет, права на работу полностью принадлежат вам.
Вопрос: Почему Load Average > 2000 на нормально работающем сервере?

Лучший ответ:
Любой процесс может выставить статус "блокирован", обычно когда обращается к диску или другое IO, ядро это учитвает при расчете loadAverage, в итоге если какое-то приложение выставило этот статус и оставило его висеть, то loadAverage будет расти.
Поищите процессы со статусом D (например через ps aux), в теории у вас должно быть не менее 7 таких процессов.

Худший ответ:
Процессов у вас там много. Залогиньтесь, посмотрите, что происходит.
LA не всегда обозначает, что серверу все )
Вопрос: Почему антивирусу нужны всякие root/телефон права, а вирусу нет? Как так то?

Лучший ответ:
в том то и прикол что соблюдаю все меры предосторожности - не ставлю приложения из посторонних источниковэто не является достаточным условием же.
То есть правило "не тащить кошек с помойки домой" - это полезная практика чтобы не завелись блохи, но от квартирных воров, от пожара или от шумных соседей - не защищает от слова "совсем". 
Список уязвимостей: https://source.android.com/security/bulletin/
Вот к примеру за февраль: https://source.android.com/security/bulletin/2018-...
Дырок немеряно. А теперь попробуйте проверить, как давно к вашему телефону выходили обновления, и закрыты ли там все перечисленные дыры. А ведь бывает еще 0-day (свежак, который еще просто не успел попасть ни в какие списки, даже закрытые).
Про рут все верно pfg21 написал.

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

Лучший ответ:
sudo в любом случае запрашивает пароль.
Никогда таким образом нельзя выполнять команды под рутом. Распределяйте права по группам и будет вам Щастье.
Ну и, php.ini еще может блокировать system() и exec()

Худший ответ:
Либо сам php блочит эту команду (в настройках где-то должно быть), либо сервер.
Вопрос: Есть примеры реальных магазинов на Wordpress+WooCommerce?

Лучший ответ:
Из моих последних: ... [потёр, а то спам пошёл. Делать кому-то нечего =) ]
Пример админки: https://yadi.sk/i/g5sX1eIfroH3n , https://yadi.sk/i/E-dbxvYRroHVQ
На самом деле всё ограничивается лишь вашей фантазией и скиллом.

Худший ответ:
Можно продавать, но будут те же нюансы как и магазинами на других движках - что за товар, какова его цена, раскрученность бренда и прочее. 
В моём же случае, я продавал через ву+вордпрес, но проблема была не в движке, дизайне, а в том, что владельцы не хотели заниматься магазином. Человеческий фактор.
Вопрос: Почему возникает ошибка «NameError: name 'Root' is not defined»?

Лучший ответ:
Обратите внимание на регистр: root !== Root

Худший ответ:
Обратите внимание на регистр: root !== Root
Вопрос: Как правильно комментировать код?

Лучший ответ:
На случай, если еще не читали:
https://www.ozon.ru/context/detail/id/5011068/ 
https://www.ozon.ru/context/detail/id/138437220/
в обоих книгах есть главы про комментирование кода.

Худший ответ:
А что такое *user info, *user data? В фигурных скобках нужно указывать тип переменной, например, string, number, object или какой-то свой кастомный тип, заданный с помощью `@typedef`. И обычно не пишут "Function for ...", и так понятно, что это функция, достаточно написать, например, Gets a random text message, Creates user message. Или то же самое, но в инфинитиве - Get, Create и т.д.
Вопрос: Как ускорить поиск на совпадение подстроки?

Лучший ответ:
Как минимум закэшировать
            var variants = this.parentNode.nextElementSibling;
            var allVariants = variants.querySelectorAll('div.label-point');
Затем убрать .toLowerCase() (возможно где-то закэшировать соответствие приведенного названия и элемента DOM дерева)
Согласно https://proglib.io/p/javascript-performance-mistakes простой for быстрее forEach почти в 8 раз. Еще из серии экономии на спичках замена > на !==
Можно воспользоваться библиотеками для дебоунса (например https://lodash.com/docs/4.17.11#debounce ), чтобы не вызывать обработку на каждое нажатие, а, например, не чаще, чем раз в секунду.
Ну и почитать про профайлер в инструментах разработки, чтобы узнать, какие строки больше всего времени едят. С этого надо начинать.
Еще подумалось, что можно сравнивать предыдущее и новое значение инпута, и если новое более строгое (Абыр -> Абырв), то искать не по всем, а только по найденным на предыдущем этапе. + нужно проверить, будет ли эффект, если не менять видимость, если она не должна меняться. Возможно такое, что пересчет стилей все равно происходит, даже если мы присваиваем стилям то же значение, что и в них хранится.
А вообще отображение без пагинации тысяч элементов как-то странно. Так что прямая дорога дальше в реактивные фреймворки, потому что там это все намного прямее, чем прямая работа с DOM. Мне больше нравится vue.

Худший ответ:
предлагаю allVariants хранить в переменной в памяти, а не как элементы DOM, ну и всё нужное отрисовывать когда надо через $('input#searchVariant').on('keyup', function () { 
вычислить строку по которой искать,
найти нужные элементы в массиве/объекте с данными, 
сделать для каждого свой блок 
добавить куда надо на страницу 
}
Вопрос: Насколько быстр PDO?

Лучший ответ:
Вот тут неплохая статья для новичков, читайте коменты, там много отзывов и юзкейсов народ привел, основная мысль -  пдо изначально объектноориентирован и имеет препаред стэтментс. Это а) удобно б) безопасно. Все остальные пиписькомерялки в проектах типа "мой второй улучшенный блог на пхп" смысла не имеют. Ибо выигрыш в скорости разработки/безопасности на сегодняшний день важнее микропреимуществ от смены драйвера к бд.

Худший ответ:
Само собой он медленнее, это исходит из самого принципа его работы. Но кто мешает Вам внедрять кеширование?
Вопрос: Зачем изучать несколько занятий C, чтобы потом дальше давать java?

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

Худший ответ:
Важен не язык.
Важны алгоритмы, парадигмы, паттерны.
А они универсальны, от языка не зависят (за небольшим исключеним).
Выучитесь как программировать на одном языке - легче пойдет второй.
Ну и большинство наиболее широко используемых языков - очень похожи.Но я не понимаю зачем, банально printf в c и println в java.
Например, для вот этого https://12factor.net/ru/
Пункт "XI. Журналирование (Logs)"
А почему 4 занятия С, а потом Java?
Возможно преподаватель пытается донести до вас, что:Ну и большинство наиболее широко используемых языков - очень похожи.
Точно вы сможете узнать только если спросите у него лично.
Вопрос: Является ли «экологичный» электрический транспорт на самом деле экологичным?

Лучший ответ:
А электростанция (ТЭС)
А почему ТЭС? Может быть что угодно другое, более (или менее) экологичное. Но да, загрязнения все равно есть.

Худший ответ:
В текущем состоянии електротранспорт переносит загрязнение за пределы города
В городе будет чище
https://weather.com/news/news/beijing-televised-su...
Вопрос: Как переконвертировать файл с расширением ui в файл с расширением py?

Лучший ответ:
Разберитесь, почему не работает стандартный способ, а не мечитесь в поисках других решений. Наверняка у вас винда и просто exe'шник pyuic5 не прописан в переменных окружения.

Худший ответ:
Можно обойтись без явной конвертации, а сразу подгрузить .ui файл с помощью
loadUi: pyqt.sourceforge.net/Docs/PyQt5/designer.html
Пример:from PyQt5.uic import loadUi
...
loadUi('name.ui', self)
Вопрос: Какие игровые ноутбуки имеют дискретную заменяемую видеокарту?

Лучший ответ:
Посоветую не заниматься хернёй и брать полноформатный пк-десктоп (раз уж хочется чего-то менять в будущем).

Худший ответ:
Возможность замены видеокарты в ноутбуке существует. Для этого надо искать ноуты с MXM GPU ( https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B1%D... ). Правда стоят они как-правило чуть выше обозначенного вами бюджета. Но мне кажется что можно подобрать что-нибудь от Clevo, XMG & etc.
Вопрос: Как решить лимит с запланированными оповещениями?

Лучший ответ:
А кто Вам мешает поставить задачу в бэкграунд и запрашивать даты каждый день в 00:00 скажем и добавлять оповещение? Или скажем запрашивать новые даты с более длительным периодом. Никто же Вас не заставляет в один день устанавливать 200 оповещений. Получайте новые даты и устанавливайте их по мере необходимости. В приложение для этого заходить не нужно. 
Второй вариант использовать EventKit(Календарь, Напоминания). Там вообще лимитов нет.

Худший ответ:
Ещё, как вариант, можно при каждом запуске приложения пересчитывать очередь. Т.е. в приложении делаешь очередность самых актуальных уведомлений, а при открытии (или закрытии) выставляешь 64 актуальных уведомления.
Это на случай если разбираться с фоновыми задачи не захочется)
Вопрос: Как сделать резервную копию большой БД mysql с таблицами innodb (85ГБ), если места на диске осталось 7ГБ?

Лучший ответ:
"Господа - вы звери, господа!" (с) "Жестокий романс"
Лить куда-то в realtime бекап с сервера БД на другой хост - это извращение высочайшего уровня! (...и балансирует на грани нищебродства)
Либо уж если так делаете - нужно будет добавлять проверку на то, что бекап валидный (типо пробовать после создания развернуть из бекапа базу...)
Простой пример:  в момент создания бекапа кратковременно пропадает сетевой коннект (а возможно и многократно... величина исчезновения связи между хостами - от нескольких миллисекунд до 1-3 секунд...). Есть вероятность, что программа бекапирования не успеет "среагировать" на такие коллизии и по завершению процесса выдаст что бекап успешно создан! Хотя такую бекап-копию - сразу на помойку...
Ибо уже кровью не одного поколения админов выписан разумный алгоритм: создаётся "локальная" бекап-копия и потом выливается уже на необходимый хост... При нынешних ценах на SATA-винты (десяток на ведро!) - разумнее купить и поставить самый дешёвый SATA-винт, чем заниматься извращениями, ИМХО...

Худший ответ:
Взять VDS в VScale на недолго, поставить nix виртуально на своей Windows, увеличить тарифный план (если у вас VDS)....
Вопрос: Порекомендуйте почтовые клиенты для Linux?

Лучший ответ:
А мне именно Thunderbird нравится.
Выбирайте на свой вкус:
alternativeto.net/software/mozilla-thunderbird/?pl...

Худший ответ:
Что значит "нормальный" с Вашей точки зрения?
Большая часть из этого есть так или иначе в Thunderbird. Да и на самом деле проблема в том, что выбор-то будет не особо велик :) TB, Evolution, KMail, почтовый клиент Zimbra (невероятное убоище). Одно время я прям фанател от KMail. Правда у него серьезные проблемы по получению почты с MS Exchange через IMAP и с сертифкатами - я на самом деле так и не вьехал, как KDE работает с сертификатами. Сейчас я использую TB - не потому что она самая-рассамая, а просто потому что это единственный кроссплатформенный клиент.
Может проще сказать, что не устраивает в TB - вдруг это решаемо?
Вопрос: Какие есть хорошие веб сервисы подбора по различным критериям VPS и Dedicated Server?

Лучший ответ:
vds.menu и dedicated.menu?

Худший ответ:
Как вариант можно выбрать vps здесь:
https://hostdb.ru/plans/vds
www.hostkrug.ru/vps
Вопрос: Каким путем выучить современную верстку с 0?

Лучший ответ:
Советую обратить внимание на курсы, которые я указал ниже.Обучение 
• Джош Кауфман «Первые 20 часов. Как научиться чему угодно... быстро» 
• ru.learnlayout.com
• htmlacademy.ru/program
• w3schools.com
• flexbox.ninja
• Карта развития веб-разработчикаВидеокурсы HTMLAcademy 
• htmlacademy «Базовый HTML и CSS» coursehunters.net/course/bazovyy-html-i-css-18-2017 
• htmlacademy «Продвинутый HTML и CSS» coursehunters.net/course/prodvinutyy-html-i-css-po...
• htmlacademy «Профессиональный HTML и CSS Уровень 1» coursehunters.net/course/professionalnyy-html-i-cs...
• htmlacademy «Профессиональный HTML и CSS Уровень 2» coursehunters.net/course/professionalnyy-html-i-cs...Справочники 
• htmlbook.ru 
• webref.ru 
• developer.mozilla.org/ru/ Выполнение заданий 
• flukeout.github.io (изучение селекторов в CSS) 
• flexboxfroggy.com/#ru (изучение flexbox в CSS) 
• flexboxdefense.com (изучение flexbox в CSS) 
• dmitrylavrik.ru/training/process/flexbox-grid (создание сетки на flexbox) 
• cssgridgarden.com/#ru (изучение gridbox в CSS) Задачи для практики: 
• htmlbook.ru/practical Макеты для практики: 
• drive.google.com/drive/u/0/folders/0B8LYygUI_oGeSG... 
• freebiesbug.com/psd-freebies/website-template/ 
• symu.co/freebies/templates-4/ 
• dcrazed.net/free-photoshop-psd-website-templates/

Худший ответ:
Я лично начал учить с реальных объектов. А именно. Нарисовал дизайн не большого лендинга на фотошопе, и начал верстать, потихоньку помаленьку, собирать знания, так быстрее происходит процесс обучения, но не сказал бы, что правильный потому что на начальных этапах код кривой и верстка на костылях, но мы же учимся )
Вопрос: В чем разница между gulp и gulp-cli?

Лучший ответ:
Раньше была одна версия gulp которую нужно было устанавливать глобально и локально.
Локальная версия используется в gulpfile.js глобальная для запуска в консоле.
В принципе это работает и сейчас.
Но начиная с 4 версии gulp (которая еще не вышла но ее все используют) нужно устанавливать gulp-cli.Документация рекомендует устанавливать gulp-cli.
А так же перед этим удалить глобальную версию gulpnpm rm --global gulp
Разделение же произошло из-за проблем совместимости глобальной и локальной версии. Так что следуйте документации.

Худший ответ:
gulp-cli (gulp-command-line-interface) - это всего лишь способ запустить gulp-task из консоли
gulp вот и все:), но устанавливать  необходимо и gulp и gulp-cli