Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как при парсинге товаров выбрать нужный город на сайте?

Лучший ответ:
Когда меняешь город в форме на сервер уходит запрос типа:
https://www.planeta-sirius.ru/udata/users/saveUser... (например Всеволжск)
Возможно в этот момент город сохранятся в сесси или БД на сервере.
Потом тупо страница рефрешится. И уже на сервере получаются данные для этой сессии (юзера)
И последующие запросы сопоставляются уже на сервере с городом.

Поставь в хроме, Preserve Log на вкладке network. Поменяй город в форме. Увидишь этот get на сервер.



Худший ответ:
Добрый день! Как раз копал в эту сторону, спасибо большое - запрос на Москву получил. Как теперь это встроить в curl?. Моя функция function curlGetPage($url, $referer = 'https://www.planeta-sirius.ru/')
{

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 YaBrowser/21.6.4.787 Yowser/2.5 Safari/537.36');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $response = curl_exec($ch);
    curl_close($ch);
    return $response;

}
Вопрос: Как отличть новую видеокарту от б/у?

Лучший ответ:
Если работает то новая. 
А если нет, то точно Б/У.
Срок службы полупроводника примерно 1,5 млн часов. Так что все что работает можно считать новым.

Смотрим на состояние разъёма (ножевого) если поцарапан значит "втыкался".
Смотри на вентилятор. Он изнашивается в первую очередь. Должен быт в "Идеале". Тихий и красивый.
Потом смотрим на БИОС (главное). Если не родной (разогнанный) то 100% карта  Б/У.

P.S. Но вообще в интернет магазине распакованное бывает, даже воткнутое. Главное НЕ разогнанное и чтобы все работало (разгон - скорая смерть).  Драйвера качай свежие и пробуй если все работает не забивай дурным голову включай и радуйся жизни.

Худший ответ:
Это видимо какая-то секта «а не продали ли мне после майнинга».
СО должна быть без пыли, можно взять фонарик посветит под сам кулер.
Контакты можно хоть под лупой посмотреть, если втыкали на одном из них будет небольшая царапинка.

Если есть возможность снять СО (в чем я сомневаюсь), можно увидеть пылинки там.

4 года прошло как майнинг вошёл в явный обиход, неужели остались такие люди которые не понимают что майнинг != смерть видеокарте?

Насчёт грязи на диске - да, явная переделка.
Вопрос: Парсер JSON на PHP или Python?

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

Худший ответ:
на php есть встроенная функция json_decode
возвращает готовый объект (или массив, зависит от параметров) в памяти

если excel нужен без оформления просто таблица, то попробуй сохранять в csv формате, он текстовый и дубовый (на php - fputcsv) иначе работай с open document odt или майкрософтовским xlsx (он похожий) который по факту - zip архив с текстовыми xml файлами, которые геренировать можно тупо записью в текстовый файл по шаблону
Вопрос: Почему не записываются данные в бд?

Лучший ответ:
Мужчина, вы издеваетесь? 
Я вам уже раз пять повторил ответ на этот вопрос:

имена колонок и таблиц нельзя брать в одинарные кавычки. Потому что в одинарных кавычках пишутся строки. 
И если даже иногда sqlite и смотрит сквозь пальцы на такую ошибку (когда она может понять по контексту, что имеется в виду), это не значит, что так будет везти всегда.
Строка 'money'  никогда не будет равна числу.

Худший ответ:
def user_exists(self, user_id):
    with self.connection:
        ...
def add_user(self, user_id):
    with self.connection:

По выходу из блока with соединение закроется. Второй блок with его уже не переоткроет.
В таких ситуациях блок with использовать не надо.
Вопрос: Как расставить точки над i, по вопросу использованию Bash и Python для DevOps?

Лучший ответ:
Вы не годитесь в девопсы. 
Это очень частый ответ на этот очень частый вопрос.

Девопс - это человек, который не задаёт вопросы. Он на них отвечает.  Самостоятельность является для девопса одним из ключевых навыков. У вас он отсутствует. 
И это совершенно точно человек, которого НЕ пугает прочтение 326 страниц мануала. 
Девопсу приходится читать примерно в сто раз больше документации. В год. Подумайте хорошенько, а надо ли оно вам, если перспектива выучить даже самые примитивные основы вас пугает настолько, что вы пришли на тостер поторговаться?

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

Худший ответ:
Привет,

Баш решает такое: когда-то ты понимаешь, что хватит писать велосипеды (особенно если кто-то уже умеет их писать лучше) и идешь искать готовое, а оно не редко  - ХОПА! - написано на Bash
пример

по питону ответ простой - Ansible - лычку на погон и на кокарду  и можно в бой

Сколько часов
10 000

ну или пока не решишь текущую задачу
Вопрос: Как разработать адалт сайт?

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

Худший ответ:
УК РФ Статья 242

Меня тоже всегда интересовало если ЕСТЬ НЕзаконный оборот (банд формирования), то как то вроде предполагается ЗАКОННЫЙ :)
Вопрос: Почему новая оперативная память не работает в ноутбуке?

Лучший ответ:
ddr3 не имеет совместимости с ddr3L
Только наоборот

Плашку на обмен. Я бы вернул, ибо старье
И купил в другом магазе
Тебе нужна ddr3L или PC3L

Худший ответ:
Нужно смотреть лист совместимости(да, бывает такое что некоторые оперативки не работают на матерях).
Можно попробовать обновить биос до самого нового релиза.
Вопрос: Почему Telegram bot API метод answerCallbackQuery не показывает алерт?

Лучший ответ:
попробуй вот это:
$tg = json_decode(file_get_contents('php://input'), true);
function tlgrm($method, $data, $client) {
  $data["chat_id"] = $client;
  $data["parse_mode"] = "html";
  $ch = curl_init("https://api.telegram.org/---токен---/$method");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  $r = json_decode(curl_exec($ch), true);
  curl_close($ch);
  return $r;
}
 
$client = $tg['callback_query']['from']['id'];
$cb_id = $tg['callback_query']['id'];
tlgrm('answerCallbackQuery', ['callback_query_id'=> $cb_id, 'text' => 'СООБЩЕНИЕ', 'show_alert' => true],$client);
создай php файл, засунь туда этот код и установи на него webhook.

Худший ответ:
Проблема была в библиотеке, которую я использовал https://github.com/php-telegram-bot/core
Если получать апдейты из телеграма при помощи метода этой библиоткеи handleGetUpdates(), то библиотека сама отправляет пустые ответы на CallbackQuery. 
Получается, что я пытался ответить на тот же CallbackQuery еще раз, ответ от Телеграма приходит - ОК, а реально Телеграм обрабатывал только первый ответ, который автоматически слала библиотека.
Вопрос: Почему не работает RDP?

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

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

Худший ответ:
У меня вот так все прекрасно работает:


Т.е. создаете отдельную группу в домене и добавляете туда необходимых пользователь. Потом создаете политику и применяете ее уже на ПК.
Вопрос: С чего начать в геймдеве?

Лучший ответ:
ну так придумай идею простой игры, чтобы ты мог на бумажке описать ее алгоритм целиком. А потом под нее ищи инструменты/движки.

Худший ответ:
С самих игр - надо их любить и часто играть в них. Самый простой вариант - начать с игровых редакторов, поставляемых с некоторыми играми, потом дополнения к играм и так далее. ЯП - лишь один из немногих инструментов, используемых при создании игр, т.к. игру можно сделать на любом ЯП. Вопрос лишь в затратах времени и интеграции с другими инструментами. Игра включает в себя работу десятков самых разных проффесий и сотни и тысячи используемых инструментов - сценаристов, дизайнеров, актеров озвучивания, редакторов текстов, 3D моделлеров, художников, программистов, дизайнеров уровней/персонажей и много других. Отличным выбором будет освоение Blender 3D - лучший бесплатный пакет 3D моделирования, включает в себя даже простой игровой движок.
Вопрос: Как нагрузить сервер LAMP?

Лучший ответ:
Jmeter например

Худший ответ:
Яндекс танк, jmeter, gatling, nbomber
 Выбирай на любой вкус)
Вопрос: Есть ли консольный редактор для Linux, в котором просто выделять весь текст?

Лучший ответ:
micro спасет отца русской демократии

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

Когда поймешь что у тебя скорее всего третий вариант, ты поймешь, что буфер обмена это не просто так.
даже vi вполне подойдет, чтобы удалять/заменять текст.
Вопрос: Как защитить видео на сайте?

Лучший ответ:
Делал сто лет назад проект с видеоуроками. На Амазоне в S3 лежали файлы, раздавались в плеер через CloudFront. 

Перед каждым воспроизведением генерилась уникальная ссылка с подписью, которая привязана ко времени и «живёт» недолго – см. Signed URLs

Так что если решили вопрос с оплатой Амазона, я бы рекомендовал через них реализовать.

Или посмотрите сервис Kinescope.ru – они предлагают услугу доставки контента и его защиты.

Худший ответ:
Нашел всё таки триал в Vimeo и затестил, вроде то что надо. Но 20гб видео в неделю за 20$/мес как-то маловато.
Вопрос: Почему возникло исключение: ModuleNotFoundError?

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

Худший ответ:
Создаёшь папку config в проекте, в нее кладешь файл __init__.py пустой и в эту же папку main_token и всё будет работать
Вопрос: Как этот сайт запустить? Что для этого нужно? (Язык тут JS + HTML)?

Лучший ответ:
Ну во-первых, прочитайте что написано в файлах README.md - обычно там записаны инструкции по установке и запуску.
Во-вторых, нужно будет произвести установку всех зависимостей из файлов package.json - через консоль в каждой из папок набрать npm install , а для этого нужно установить сначала Node.js
В-третьих, нужно заглянуть в каждый package.json - чтобы узнать какие команды для запуска используются (обычно это npm run start) и соответственно запустить их в каждой из папок (клиент, сервер). (Хотя возможно настроено на запуск единой командой)

Худший ответ:
Вам нужно зайти в папку public, в которой должен быть файл с расширением .html, и запустить его.
Скорее всего он будет называться index.html
Вопрос: Что будет лучше: +4 гб ОЗУ или +8гб ОЗУ?

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

UPD.
В комментариях выяснилось что установлен HDD а не SSD.
Замена на SSD может добавить комфорта даже больше чем увеличение памяти. Особенно, если сейчас получается работать.

Худший ответ:
biilbo, 8 Гб для ноутбука "за глаза". Не тратьте лишние деньги. Вы, скорее всего, и 8 Гб никогда полностью не займете, а 12 - тем более. Лучше потратьтесь на более хороший SSD.
Вопрос: Как из шрифта удалить ненужные символы?

Лучший ответ:
https://transfonter.org/

Там можно указать символы, которые нужны

Худший ответ:
Можете воспользоваться CSS unicode-range, не изменяя самого шрифта.
Вопрос: Что за мутный запрос на аутентификацию при визите на Хабр (de5.sidoo.org)?

Лучший ответ:
Это какое то VPN Расширение, аналогичное и у меня было, когда я ставил прокси через какое-то расширение, причём указывая логин и пароль от прокси,а он всё равно просил иногда

Худший ответ:
100% какое то расширение.. какое думаю никто не скажет.. отключайте по 1 и проверяйте
Вопрос: Функция php setcookie то работает, что нет?

Лучший ответ:
Варианта 2: Пробел/перенос строки после ?>, или файл записанный с BOM. Первое лечится удалением лишних символов, второе через редактор кода - файл-кодировка-утф без бом.

Худший ответ:
Всем большое спасибо за подсказки.

Через несколько часов после этого поста куки заработали во всех файлах сайта.
Даже в тех файлах, в которых я не редактировал ни одного бита! (и вложенных в них)
Ненавижу магию, но пока проблема неактуальна.
Вопрос: Как найти все элементы getElementById?

Лучший ответ:
getElementById (неожиданно) находит элемент по его id.
В документе не может быть несколько элементов с одним id.
Так что таким кодом вы и так находите единственный элемент с id=line

Возможно, вам нужно что-то типа getElementsByClassName, getElementsByName, getElementsByTagName или querySelectorAll

Худший ответ:
//Находим все элементы с id "line"
let lines = document.querySelectorAll('#line');

//Обходим каждый найденный элемент 
for  (let line of lines) {
    line.style.display =  'none';
}
Вопрос: Async def в библиотеке дискорд.Py?

Лучший ответ:
Это весь код? На команды должен вешаться декоратор @bot.command()
Пример висит в разделе Bot Example https://github.com/Rapptz/discord.py

Худший ответ:

так не, вроде всё норм работает

Единственное, что я сделал, это убрал строчку intents = discord.Intents.all()
Чтобы получилось вот так: bot = commands.Bot( command_prefix = ".")
Но это было сделано для решения другой проблемы
Вопрос: Как к роутеру WIFI подключить другой роутер WIFI?

Лучший ответ:
Вопрос первый - какой адрес LAN имеет роутер Б ?  Он не должне быть из подсети роутера А

По хорошему делать надо вот так
Дать IP адрес роутеру Б из LAN подсети роутера А
К примеру - Б  192.168.0.2
                    А - 192.168.0.1
Отключить DHCP на роутере Б
воткнуть кабель в роутер Б в порт LAN

Тогда он будет выступать как точка доступа, все настройки клиенты будут брать с роутера А,  роутер Б будет использоваться как "свитч"+вифи точка

Худший ответ:
Да ты уже почти все настроил, тебе надо чтобы клиент получал от DHCP, адрес DNS например гугловского, или на клиентах вручную прописывать DNS
Вопрос: Одновременная работа двух учетных записей Windows 7?

Лучший ответ:
В гугл "windows 7 rdp patch"

Худший ответ:
Без нарушения лицензии - никак.
Вопрос: Знакомство нового пользователя через подсказки?

Лучший ответ:
А в чем проблема посмотреть кто что смотрел? 
Таблица подсказок - {ID подсказки, страница (маска страниц, список страниц), селектор, событие, текст подсказки}.
Таблица просмотров {ID юзера, ID подсказки, время демонстрации}
Информация о подсказках с просмотрами left join собирается и выгружается на нужную страницу. Специальный виджет расставляет все непросмотренные подсказки по hover или клику мышки. Он же будет заботится о том, чтобы хранить информацию о показах, либо в localStore, для незарегистрированного, либо в профиле пользователя сайта. Если подсказка демонстрировалась недавно - можно не показывать...
Удобно то, что система получится "независима" от остального сайта, в том смысле, что ее можно убрать и сайт продолжать работать. Можно поставить ее на любой существующий сайт, отдельно настраивать шаблоны сайта не придется, разве что обеспечить вменяемые селекторы для поясняемых элементов.
Если вносится новая фича с подсказкой на сайт - никто ее пока не просмотрел - всем насильно показать.
Придется сделать на каждой странице заметную кнопку "Расскажи мне опять все-все все про ту страницу", это для особо забывчивых. Сделать в профиле пользователя или на странице кнопку-галку "не показывать мне больше ваши всплывающие подсказки", ну чисто для полноты картины мира и ощущения справедливости...

Худший ответ:
Почти у каждого фреймворка есть механизм flash-сообщений. В обработчике запроса на регистрацию или обработчики события создания пользователя, можно сделать отправку и всё.
Вопрос: Почему не работает условие elif?

Лучший ответ:
Потому что если число больше 18, оно также больше 10.

Худший ответ:
Вот программа которая точно работает. 
Я уже разобрался в коде и исправил баг. 
name = input("Введите своё имя >>> ")
age = int(input("Введите свой возраст >>> "))

print("Привет, "+ name)
if age >= 18:
   print("Поздравляю ты уже взрослый!") 
elif age >= 10 < 18:
   print("Поздравляю ты подросток!")
else:
   print("Ты ещё ребенок!")
Вопрос: Можно ли использовать absolute в верстке письма?

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

Насчет огромности картинки. Рекомендованная ширина письма — не более 600-780 пикс.

Худший ответ:
Для проверки css свойств которые можно использовать в верстке писем можно использовать ресурс https://www.caniemail.com/

Но вообще письма лучше верстать таблицами, если необходимо ссылку наложить на картинку можно картинку сделать фоном ячейки, а в ячейку положить ссылку и позиционировать паддингами.
Вопрос: Что такое NxN размер?

Лучший ответ:
Раздел "матрицы" в математике, наверное, будет ближайшим, для понимания текста.

А вообще тут базовое понимание текста, к математике не особо относящееся.

NxN означает размерность, где количество строк равно количеству столбцов, так как используется одна и та же буква - N.

Таким образом, при входном параметре size = 3, нужно построить таблицу 3х3.

Худший ответ:
Таблица умножения во втором классе проходится. N некоторое число. Допустим 5х5 тогда в правом нижнем углу должно быть 25 а в левом верхнем 1.
Вопрос: Js массив как прописать return?

Лучший ответ:
А почему бы не объединить списки? 
module.exports = function toReadable (number) {
    let a = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine','ten', 'eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
    if (0 <= number && number < 20){
        return a[number];
    }
}

ну или если нужно именно 2 списка, то
module.exports = function toReadable (number) {
    let a = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
    let b = ['ten', 'eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
    if (0 <= number && number <= 9){
        return a[number];
    }
    else if(10 <= number && number < 20){
        return b[number-10];
    }
}

Худший ответ:
Конструкция (9 < number < 20) в JS работает не так, как в Пайтоне.
Вместо того, чтобы вычислять нахождение числа между 9 и 20, JS сравнит 9 с переменной number, получит булево значение, которое приведёт к 0 или 1, а затем этот 0 или 1 сравнит с 20. В итоге условие будет всегда выполняться независимо от number. И, главное, ошибку никакую не выдаст, прожуёт, будто так и надо было.
Вопрос: Зафиксировать порт VNC за VM KVM?

Лучший ответ:
virsh edit --domain "имя виртуалки"
открывается xml конфиг виртулки, там есть секция graphics с настройками для vnc

Худший ответ:
virsh edit --domain "имя виртуалки"
открывается xml конфиг виртулки, там есть секция graphics с настройками для vnc
Вопрос: Какой SSD лучше: DRAM или объём?

Лучший ответ:
Для рядового пользователя, у которого нет задач высокой скорости работы базы данных (это например) все эти фишки dram не нужны, вы не увидите разницы в 99.999% задач, максимум в синтетических тестах будет разница.

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

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

поэтому - выбирай больший объем

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

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

Так вооот! Из-за этого невысокого порога вхождения развелось куча "курсов" программирования для чайников, которые первым упражнением, полезность которого удается легко показать ученикам, выбирают написание бота.
И так у этих коуч-питонистов легко всё получается (ещё бы, надо де продать курс с первого бесплатного занятия), что у незадачливых школьников появляется неиллюзорная вера в себя и они бегут повторять  увиденное на ютубе, а потом, когда, конечно же, то-то идёт не так как показано в видосе, они бегут сюда спрашивать как всё надо сделать, чтобы работало.

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

Худший ответ:
Мне кажется что преподаватели задают такое. Потому-что трудно представить себе более безсмысленные постановки которые прилетают. Их архитектура - смехотворна. Нет даже намека на какую-то идею. Или может быть на мощное хранение больших данных. Так.... if-else-if-else. 

Или тестовые задания такие дают.
Вопрос: У меня разные правила для разных случаев. Как оптимизировать CSS стили, чтобы прописать свойство cursor: pointer один раз?

Лучший ответ:
Использовать экстенды

%cursor-pointer {
  cursor:pointer;
}

.product {
  &.grid .grid-product__text:not(._price),
  &.grid .grid-product__text._price,
  &.grid .grid-product__text .grid-product__text_inner {
    color: inherit !important;
  }

  &._photo-name-transition {
    ._name,
    ._image {
      @extend %cursor-pointer;
    }
  }

  &._name-transition {
    ._name {
      @extend %cursor-pointer;
    }
  }

  &._photo-transition {
    ._image {
      @extend %cursor-pointer;
    }
  }
}

Output:

.product._photo-name-transition ._name,
.product._photo-name-transition ._image,
.product._name-transition ._name,
.product._photo-transition ._image {
  cursor: pointer;
}

.product.grid .grid-product__text:not(._price),
.product.grid .grid-product__text._price,
.product.grid .grid-product__text .grid-product__text_inner {
  color: inherit !important;
}

Вместо этих заморочек, можно прогнать код через какой-нибудь css-оптимизатор, который умеет группировать свойства. Тут главное правильно его настроить.

Худший ответ:
Использовать mixin-ы
Вопрос: Почему sudo apt install не устанавливает файл с расширением .deb?

Лучший ответ:
Потому что dpkg -i.

Худший ответ:
Потому что dev != deb.
Проверьте тип файла file *.dev
Вопрос: Не могу подключиться по VPN с одного корпуса здания на другой?

Лучший ответ:
и оба корпуса имеют одинаковый белый ip
Хм. Что значит сие?

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

Лучший ответ:
Попробуйте так - https://codepen.io/aliencash/pen/xxqXNRB

Худший ответ:
snippet

Как сделать скос у блока через css+html?