Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Где работа с виртуальными рабочими столами, похожа на ту что была в Ubuntu с оболочкой Unity?

Лучший ответ:
kde
поддержка виртуальных столов есть еще в xfce

unity - это скорее всего результат саботажа конкурента, 'проникли' в стан разработчиков, заняли руководящие роли (тех кто принимает решение о направлении развития) и сломали все что только можно сломать

Худший ответ:
1. Расположение не последовательно от первого к четвертому, а также можно и по диагонали переключаться между рабочими столами.
2. Горячими клавишами быстро переносить приложения между рабочими столами
Горячие клавиши - это просто настройка быстрого вызова команд оболочки. Читаем документацию, настраиваем в любой такое переключение, какое захотелось.
3. Ну и анимация не плохая)
4. Красивая анимация
А вот советы по свистоперделкам лучше задавать на более других ресурсах, тут такая дилемма: либо человек разбирается, либо его не раздражают анимации, мешающие мгновенному выполнению команд.
Вопрос: Можно ли читать данные приложения в RAM?

Лучший ответ:
все зависит от ЯП и операционки. 
некоторые позволяют эти трюки, некоторые создают препятствия.

Худший ответ:
вот классический пример программы, которая это делает: https://www.artmoney.ru/rus.htm
Вопрос: Внедрения кода в exe файл?

Лучший ответ:
Возможно

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

есть возможность инжектить свой код в чужой exe-шник, пока он запущен, для этого потребуются win32 методы, которые придется импортировать, сильно мучиться с типами

в данной задаче python - максимально неудачный инструмент.
Вопрос: Что делать с базой данных?

Лучший ответ:
Нужно изучить хотя бы самые основы SQL и проблема исчезнет.

Худший ответ:
UPDATE Ферма SET Баланс = Баланс + 500000000 WHERE timer = 0 AND model = 3

Test SQLite online
Вопрос: Как настроить разрешение 2560х1440 на мониторе?

Лучший ответ:
У меня была ситуация, когда помогла смена HDMI кабеля. На трёх только FullHD давало настроить, на четвертом 2К

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

дрова все пообновлял, кабеля менял, в это программе всё пробовал, вообще ничего не происходит
Вопрос: Возможно ли заменить процессор в ноутбуке на другой с таким же сокетом?

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

Худший ответ:
Менять проц в ноуте на другой - крайне трудная задача.
Вы сталкиваетесь с проблемами.
1. Мощность системы охлаждения - она насчитана на определенное тепловыделение с процем с большим TDP - она может не справиться
2. Подсистема питания - аналогично 1. начиная с того что ключи расчитаны под определенный ток, заканчивая тем что на материнке могут не разводиться все линии питания требуемые для можного проца
3. Совместимость проца с остальными компонентами - чипсэты, мосты, хабы мультики и тд
4. Совместимость с программными средствами защиты от ремонтов - прошивки чипов биоса и т.п.

В общем - если проц сдох и есть похожий донер/проц крайне желательно из тех которые мелькали в топовых моделях данной серии ноутбуков то есть неплохой вариант в ходе ремонта провернуть абгрейд/даунгрейд, но специально ради одного только абгрейда перекатывать чипы - затея нерентабельная
Вопрос: Как распространять приложение под linux?

Лучший ответ:
Я не знаю, почему все так активно советуют собирать пакеты. Надо начать с того, что в Linux никогда не было принято использовать pyinstaller... почему? Потому что в Linux python идёт из коробки. В Windows сложно вынуждать пользователей устанавливать интерпретатор языка и все зависимости, тут же с этим проще гораздо.

Так что можно просто распространять архив с приложением и инструкцией по запуску вида:

virtualenv -p python3 env
. env/bin/activate
pip install -r requirements.txt
./app.py

Худший ответ:
Если у вас в зависимостях пакеты, для которых не нужны системные библиотеки (т.е. все зависимости написаны на самом Python), то наиболее простой и удобный способ — собрать zipapp.
Это zip-архив со всеми зависимостями, который не нужно распаковывать перед запуском. В системе должен присутствовать Python, но он есть в любом популярном дистрибутиве по умолчанию.
Вопрос: Как посчитать среднее значение данных в массиве?

Лучший ответ:
Сначала нужно получить объект, где ключи - id групп, а значения - массивы со всеми значениями. 
Потом посчитать средние.
const data = arr.reduce((acc, c) => {
  c.properties.groups.forEach((group) => {
    if (! acc.hasOwnProperty(group.id)) acc[group.id] = [];
    acc[group.id].push(group["well-being"]);
  });
  return acc;
}, {});
/*
{
  0: [0.9, 0.8, 0.8],
  1: [0.5, 0.3, 0.1],
  2: [0.4, 0.8, 0.6]
}  */


const avg = {};
for (let id in data) {
  avg[id] = data[id].reduce((acc, c) => acc + c) / data[id].length;
}

console.log(avg); /*
{
  0: 0.8333333333333334,
  1: 0.3,
  2: 0.6000000000000001  // 0.1 + 0.2 !== 0.3
} */

Худший ответ:
Сначала нужно получить объект, где ключи - id групп, а значения - массивы со всеми значениями. 
Потом посчитать средние.
const data = arr.reduce((acc, c) => {
  c.properties.groups.forEach((group) => {
    if (! acc.hasOwnProperty(group.id)) acc[group.id] = [];
    acc[group.id].push(group["well-being"]);
  });
  return acc;
}, {});
/*
{
  0: [0.9, 0.8, 0.8],
  1: [0.5, 0.3, 0.1],
  2: [0.4, 0.8, 0.6]
}  */


const avg = {};
for (let id in data) {
  avg[id] = data[id].reduce((acc, c) => acc + c) / data[id].length;
}

console.log(avg); /*
{
  0: 0.8333333333333334,
  1: 0.3,
  2: 0.6000000000000001  // 0.1 + 0.2 !== 0.3
} */
Вопрос: Будет ли работать такая схема AC 220V -> DC 18?

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

Худший ответ:
У меня шуруповерт работает от трансформатора 220/2*14 по схеме со средней точкой. Выпрямляется сдвоенным диодом Шотки из компьютерного БП,  конденсатор 3*2000 мкф. Без нагрузки 19В,  с нагрузкой 16В
В вашем случае ток течет через два диода, если они у вас кремниевые типа Д242 то заберут около 3В 
Так что ни о каких 18В на выходе речи быть не может

ЗЫ Что за моторчик? Мой потребляет ток 6А 16*6А=100Вт, если было бы 18В может было бы 120Вт. Проблема в том что импульсник 21В/200Вт при включении уходит в защиту, от обычного транса 150Вт запускается с толкача. Сейчас использую обычный транс 400Вт
Вопрос: Есть ли резон переходить с винды на Линукс, если планирую изучать ИБ?

Лучший ответ:
Если есть задачи, которые ты сможешь более эффективно решать на линуксе, чем на винде + wsl, то да.
Если таких задач нет и тебе под виндой в принципе комфортнее, то нет.

Сказать конкретно нельзя, тк под ИБ все понимают что-то своё

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

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

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

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

делай хоть чот.

Худший ответ:
А всем проблема, вы молоды у вас 16 часов свободного времени каждый день
Да хоть три учи и используй в жизни своей
Вопрос: Нагружает ли Intel optane memory процессор?

Лучший ответ:
HDD нельзя разогнать - на повышенной частоте он работать не может, это не процессор. 

Я не работал с ноутбуком как у вас, но вероятнее всего, то, что вы называете "нагрузкой" на HDD - это использование накопителей. И, скорее всего, всех установленных в системе.

Optane - это, по сути, NVME SSD. Он, хоть и называется "memory", не является DRAM'ом.

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

Как включение Оптана должно отражаться на процессоре - для вашего конкретного случая, к сожалению, судить не возьмусь. Как написал выше, своего опыта у меня не было.

Худший ответ:
Интель не объясняет, что за ошибка но дает инструкции

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

p.s. сделай бакап! он не помешает никак, разово стоить будет копейки но сохранит нервы и время
Вопрос: Теория графов и нейронные сети в распознавании объектов — в чем преимущество графов?

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

Есть две модели представления нейронных сетей.

1) Матрицы (иногда называют тензоры). Имеют аппаратную реализацию в новых TPU (Tensor processor unit). Кажется Гугл сейчас продает услугу аренды таких сетей для задач обучения. Подходят для плотного заполнения нейронных слоём когда нейроны связаны каждый-с-каждым. При этом даже если связи нет (коэффициентик равен 0.0) тем не менее пространство все равно используется и этот ноль участвует в расчете.
Расчет обучения (как я его себе понимаю) должен сводится к перемножению входного векртора на всю полседовательность матриц. И также к применению функции активации между слоями. Имеено за счет функции активации и идет обучение (там есть своя доказательная база) и идет декомпозиция на слои. Если бы функции не было - тогда можно было-бы все слои (константы) схлопнуть в 1 большую матрицу. Вот так и бегает умножение туда-сюда. Обучение - проверка ошибок. Коррекция. И снова обучение.

2) Графы. Это вырожденный вариант матриц когда нулей оооочень много то чтоб зря не меремножать нули можно модель вычислений представить в виде графов. Математически это дает экономию в виде пропуска ненужных вычислений. И должна быть экономия в виде памяти для коэффициентов каждого слоя. На практике представить граф компактно очень сложно. Если кто из вас делал свои графы - то вы знаете что жрут они память как в не в себя, и никогда не угадаешь сколько надо выделить под вершину или под ребро чтоб не было пере-аллокаций и потерь.

Если вы хоть раз открывали учебники по НС типа Каллана или Хайкина то там с первых страниц идет описание 
персептрона или 1-слойного нейрона в виде рисунка со стрелочками. Это и есть граф. Таки рисунки любят преподаватели в универах и всякие теоретики. 

В старых математических пакетах (еще в 80х годах) есть целые мат-библиотеки которые работают с разреженными матрицами (sparsed matrices). Это - тоже наивные попытки создать экономию. Такая дырявая матрица как раз отражает граф где вершины - это столбцы и строки а рёбра - это ненулевые коэффициенты.
Реализаций их - целая куча. Математики любят решать системы дифуров в таких структурах. Там своя специфика. Тоже есть много нулей.  Тоесть между графом и дырявой матрицей есть полиморфизм. 

Есть поддержка таких дырявых структур (Vector.sparse) и в биг-дате (Spark). Тоже для нужд ML.

Тоесть если ваш нейрончик дырявый - то он полюбит графы и дырявые матрицы. Если он - плотняк
заполнен коэффициентами - то берите обычные матрицы.

Все что я написал это просто моё чортово ИМХО. И не стоит это воспринимать за правду.

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

Лучший ответ:
Та, что он disabled, не значит, что он не started.
И сам себя процесс, убитый по - 9 по определению перезапустить не может. Кто-то ожидает его завершения, и перезапускает.
Нужно посмотреть на pid родителя, найти засранца и придавить.

Худший ответ:
GOverlay почему-то добавил этот процесс в systemd. Изнутри GOverlay я просто отключил этот сервис, и он перестал нагружать мой ПК.
Вопрос: Двух канал или 4?

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

определитесь сколько каналов у вас есть. 
если 4, то оптимальней 4х4. 
если 2, то пофигу.

Худший ответ:
Если купишь 2 по 8, то потом сможешь докупить ещё 2 по 8.
Разницы в производительности почти нет, особенно если твоя материнская плата не умеет в четыре канала.

24 гига лучше, чем 16
Вопрос: Что такое Потоки на уровне ОС? В 1-ядерном процессоре же всего 1 поток?

Лучший ответ:
Потоки переключаются с квантом около 28 миллисекунд или около того. 

Да, если навертеть много потоков, кэш будет вымываться. А вы думали, в сказку попали? Хорошие HPC программы не запускают тредов больше чем ядер.

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

 Тогда почему вообще вся ОС не асинхронная в одном потоке как Node JS? 
Поздравляю вас с изобретением Windows 3.1. Вы наверное не застали, но эта ОС наглухо зависала вместе с приложением, если оно зависало.

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

Поток или тред - это грубо говоря возможность запустить несколько "облегченных" процессов парралельно, которые используют один набор дескрипторов, один process ID и могут использовать ту же область памяти.
Поэтому будет быстрее и дешевле просчитать что-то в тредах, чем в двух процессах.

Сколько инструкций за раз выполняется 1, 10, 100? До прерывания? От чего зависит. 
Зависит от ядра операционки, а точнее от реализации process scheduler. Обычно все завязано на прерывании по таймеру, поэтому выделяются слайсы процессорного времени - а значит у процессора с бОльшей тактовой частотой будет выполнено больше инструкций за слайс. А дальше - process scheduler может быть довольно умным, выделяя конкретному процессу/потоку несколько слайсов подряд, если считает что так будет лучше.
Но слишком сложной логики у process scheduler быть не может, иначе само переключение будет слишком дорогим.
Вопрос: Сложно ли совершить трансфер между отраслями в IT?

Лучший ответ:
Ну откуда мы знаем сложно ли ТЕБЕ переключиться. 

Душа лежит в computer vision и прочие прекрасные ml вещи, однако порог входа туда крайне высок (много математики + с++, которые я учил только в университете). 
Не очень понятно что такое "лежит душа" - нравятся слова computer vision, ml или нравится считать и заниматься настройкой ml?
Почему не можешь просто сходить на пару собеседований и там уже решить насколько порог высок?

Угадать, что понравится и захочется остаться, а что надоест в первый месяц - очень сложно
Видимо много давали игрушек, а надо было ремня.
Пойди поработай полгода туда, куда сможешь устроиться. Как можно за месяц вообще что-то понять. Я за последние 10 лет, когда менял работу, первые 2-3 месяца только доступы получал к тому, что в проекте есть.

В 24 года можно потратить себе год-два на одно, год-два на другое и это будет еще и не во вред а на пользу.

Худший ответ:
Тяжело совершить трансфер, если ты специалист.
Совершая трансфер ты девальвируешь свои знания и становишься в один ряд со вчерашними студентами.
Никто не нанимает программистов Java писать на PHP. Не потому, что они не умеют программировать, а потому, что на освоение инструмента нужно время. Много времени. Хотя тут тебя будут уверять в обратном.

Учитывая твой стаж и возраст, можно сказать, что для тебя это пройдет безболезненно.
Вопрос: Как сохраненить сессии между rest-запросами в spring boot?

Лучший ответ:
Сессии работают следующим образом: при создании сессии сервер отсылает заголовок Set-Cookie браузеру в котором сохраняет значение идентификатора сессии (JSESSIONID). При последующих запросах браузер посылает "печеньку" обратно серверу и тот, получив идентификатор, может восстановить сессию из своего хранилища. Если "печеньки" заблокированы, то возможно передать jsessionid как query param запроса. Но это уже требует дополнительных телодвижений на стороне клиента.

Так как вы упоминаете  REST, то предположу использование XmlHttpRequest в браузере (напрямую или опосредованно через какую-то библиотеку), который не посылает заголовок Cookie по умолчанию.

Поэтому вариантом решения может быть отправка идентификатора сессии явным образом как query param с именем jsessionid.

Однако, использование сессии в REST запросах - в целом не очень хорошая практика, так как REST предполагается быть stateless. А в случае сессии у вас появляется состояние на стороне сервера. Если сессия нужна только для аутентификации клиента, то посмотрите на использование токенов, таких как JWT, которые позволяют решить эту проблему без наличия сессии на стороне сервера.

Худший ответ:
Для всех кто будет использовать @RestController с сессиями, не забудьте добавить: 
@Autowired
 public HttpSession httpSession;
Вопрос: Как реализовать удалённую БД с подключением через C#?

Лучший ответ:
1. Лучше бы не давать прямой доступ к СУБД для клиентов.
2. Раз уже решил, что ты будешь делать именно SQL запросы, то выбирай из реляционных СУБД, с какими умеешь работать. Желательно ещё определиться с тем, какие именно данные ты будешь хранить, и какие операции с ними будешь производить.
3. Чтобы узнать, как сделать запрос - обращайся к документации конкретно той библиотеки, с помощью которой ты подключаешься к СУБД.

Если нужно минимум абстракций, то есть ADO .NET и соответствующие библиотеки:
Microsoft.Data.Sqlite для sqlite
Pomelo что-то там для MySQL
Npgsql для Postgresql
Microsoft.Data.Sqlserver для mssql
Ну и оракловая либа (не помню название) для оракла.

Всё можно найти на nuget.org по ключевым словам.

Если нужен более высокий уровень абстракции, то смотри на ORM-ки:
Entity Framework Core или Dapper.

Худший ответ:
Держать удалённую БД имеет смысл только если ей пользуется много людей одновременно. Если для себя - ну поставь SQLite или Express на ноутбук и живи себе припевающи.

Раз в недельку делай backup на свой удаленный диск чтоб не потерять.
Вопрос: NGINX проксирование всех страниц кроме главной?

Лучший ответ:
nginx.org/ru/docs/http/ngx_http_index_module.html#index
Необходимо иметь в виду, что при использовании индексного файла делается внутреннее перенаправление и запрос может быть обработан уже в другом location’е.
Так что вместо index index.html; нужен try_files.
location = / {
    try_files /index.html =404;
}

location / {
    proxy_pass ...;
}

Или rewrite c флагом break.
location = / {
    rewrite ^ /index.html break;
}

location / {
    proxy_pass ...;
}

Худший ответ:
Вам нужно два локейшена, = / и просто /. Первый будет обрабатывать главную страницу, второй - всё остальное.
Вопрос: Как транслировать тв канал на своём сайте?

Лучший ответ:
Покупают права у канала и ссылку на эфир

Худший ответ:
Берете ссылку на эфир, кодируете в нужный формат(в зависимости от плеера на сайте)
Вопрос: Почему Event Loop пропускает первый task и сразу переходит к микротаскам?

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

Худший ответ:
Промис выполняется первым, потому что это микротаск, а таймаут - макротаск. 
Все микротаски завершаются до перехода к следующему макротаску.

Вот объяснение на русском языке: https://learn.javascript.ru/event-loop#makrozadach...
А вот спецификация эвентлупа если нужны подробности: https://html.spec.whatwg.org/multipage/webappapis....
Вопрос: Как оптимально проверить вхождение элемента из одного списка в другом?

Лучший ответ:
как это реализовать без for или set&?
За while не говорилось
l_1 = ['val_1', 'val_2', 'val_3', 'val_4',]
l_2 = ['val_3', 'val_11', 'val_32', 'val_6',]

def compare(list1, list2):
    i = 0
    while i<len(list1):
        if l_1[i] in l_2:
            return True
        i += 1
    return False

compare(l_1, l_2)
# True

Худший ответ:
Можно и без циклов вообще
a = ['a', 'b', 'c'] 
b = ['c', 'd', 'e'] 
seta = set(a)
setb = set(b)
setab = set(a+b) 
if len(seta)+len(setb) != len(setab):
    print('Есть совпадение')
else:
    print('Совпадений нет')
Вопрос: Как убрать границу лесенкой?

Лучший ответ:
Нашёл решение
outline: 1px solid transparent;

Худший ответ:
попробуйте добавить вот это в класс
-webkit-backface-visibility: hidden;
Вопрос: Как в гугл-таблице получить курс токена на текущий момент?

Лучший ответ:
1. Разбираетесь с API
https://www.coingecko.com/ru/api/documentation

Пример:

Получаете список coins и находите id нужных криптовалют
https://api.coingecko.com/api/v3/coins/list
[
    {
        "id": "01coin",
        "name": "01coin",
        "symbol": "zoc"
    },
    {
        "id": "bitcoin",
        "name": "Bitcoin",
        "symbol": "btc"
    }
]

Пример получения курса Bitcoin в rub и usd
https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=rub%2Cusd

2. Устанавливаете ImportJSON в google sheets
ImportJSON

3. Ипортируете данные
=ImportJSON("https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=rub%2Cusd"; "/bitcoin/usd";)



Пример Google sheets

Худший ответ:
Прошли уже миллионы лет, но этот вопрос все еще актуален.
Лучше, наверное, с способе, который описал Григорий заменить "priceValue" на "PriceTitle". В первом случае второй строкой снизу добавляется непонятное значение, которое, вроде как, и не информативно, и нарушает структуру таблицы. Во втором случае дополнительные столбик добавляется сборку и он отображает изменение стоимости за 24 часа, что и полезно, и позволяет сохранить удобную структуру итоговой таблицы.
Вопрос: Бесплатная оффлайн (yandex) карта моего города с настоящими координатами — реально?

Лучший ответ:
Посмотри в сторону OpenStreetMap.
Если не зватает точности и деталей - всегда можно подкорректировать.

А вообще: Бесплатно,  качественно и легально - это очень редкое сочетание.

Худший ответ:
Про халяву забудь - ведь даже если её обретешь, то всё равно прийдётся приложить усилия для её использования)
А между тем присмотрись к СасПланете - www.sasgis.org/forum/viewtopic.php?f=2&t=986