Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как перевести на си в HEX код(bmp)?

Лучший ответ:
Так вы выводите данные как строку (%s). Что вы ожидаете увидеть?

Худший ответ:
Выводите не строку %s, а числа (%03d или %02x) в цикле.
Вопрос: Избавиться от предупреждения подключение к сайту не защищен?

Лучший ответ:
А что вы хотели? Нарушилась безопасность из-за http...Избавиться от предупреждения подключение к сайту
Избавиться от возможности добавлять изображения с http.

Худший ответ:
Проксировать изображения с http через свой защищенный урл
Вопрос: Стоит ли читать Thinking in Java?

Лучший ответ:
С тех пор, в Java, появились только элементы функционально стиля. Книга даёт базу по всем основным инструментам языка, позволяя работать как со старым legacy кодом скажем на Java 4, так и современными версиями. К тому же, Эккель пишет достаточно просто и книга легко воспринимается. Существует хороший перевод изданный в 2016.

Худший ответ:
Стоит
Вопрос: От чего такое бывает?

Лучший ответ:
Телепаты, высаживаемся здесь!

Худший ответ:
При задании кастомных иконок у них есть свойство offset
Вопрос: Как парсить json на C#?

Лучший ответ:
Есть достаточно популярная библиотека библиотека Json.NET от Newtonsoft.

Худший ответ:
Глянь курс Введение в использование формата JSON в C#. Там тебе смотреть меньше, чем мне писать, честно.
P. S. Если английский знаешь, конечно. Там субтитры ужасные.
Вопрос: Какой стиль написания кода в моде в JavaScript?

Лучший ответ:
Не слушайте тех, кто говорит про говнокод, ребята либо нигилисты, либо мамкины революционеры и "не такие как фсе". Как удобно, так и пишите. Просто прочитайте главу про прототипы, поймите это и то, что JS основан на прототипах и вперед. Все нормальные компании используют новые приемы и не стоят на месте. class Rectangle {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
  
  get area() {
    return this.calcArea();
  }

  calcArea() {
    return this.height * this.width;
  }
}Классы ES6

Худший ответ:
Тоже была похожая ситуация с этой страницей  о жидкостях для вейпа https://hvmarket.com.ua/g100852170-zhidkost-dlya-vejpa , но потом ребята разобрались и все решилось
Вопрос: Как использовать прокси в node.js?

Лучший ответ:
Вполне себе работает:const request = require('request');
request.get({
  url: 'https://toster.ru/q/461924',
  proxy: 'http://195.209.176.2:8080'
}, (err, res) => {
  if (err) {
    console.log('ERROR', err);
  } else {
    console.log('OK', res);
  }
});

Худший ответ:
Я остановился на варианте:1. npm install tunnel2. подключить данный модуль: 
global.tunnel = require('tunnel');
или
var tunnel = require('tunnel');3. в опциях request есть параметр "agent", его нужно определить так:
...для случая HTTP...
agent:  tunnel.httpOverHttp( { proxy: { host: "proxy addr", port: 3128, headers: "add's headers for request" } } )
...для случая HTTPS...
agent:  tunnel.httpsOverHttp( { proxy: { host: "proxy addr", port: 3128, headers: "add's headers for request" } } )Данную библу испробовал и проверил в своём прокте для бота Telegram.
Пришлось, из-за последних действий РКН
Вопрос: Какая то проблема с json?

Лучший ответ:
У вас в JS числа сравниваются как строки.

Худший ответ:
for (var i = 1; i <= 6; i++) {
          if(json[i] > number) {
            number = i;
          }
}
Г0вн0к0д какой-то. Вы в курсе, что вы не обращаетесь к первому элементу, имеющему индекс 0? Так же у вас не существует в массиве элемента json[6]. Внимательнее изучите массивы.
Вопрос: Какова практика программирования максимально совместимых приложений под Windows?

Лучший ответ:
1. С++ Redist можно распространять вместе со своим дистрибутивом.
2. Можно включить опцию "статическая компоновка" и тогда внешние библиотеки почти и не понадобятся.
3. Не использовать внешних библиотек, которые вы не можете прилинковать.
4. Аккуратно подходить в выбору вызовов API, читать доку, в каких версиях они доступны, проверять на чистых голых ОС. Например, GDI+ на голой WinXP не доступен, но ставится туда с обновлениями. Хрен знает - будут ли эти обновления стоять в вашей ситуации.

Худший ответ:
Еще как вариант максимальной совместимости - не использовать стандартную библиотеку и писать на чистом WinAPI, обращая внимания в описаниях функций WinAPI в какой версии виндов она появилась, если функция новая, то не используйте ее. 
Все сторонние библиотеки линкуйте статически.
Можно добиться того, что программа будет вообще без зависимостей, если не считать зависимость от ОС.
Это довольно геморройное занятие, особенно, если софтина более или менее приличного функционала. 
Первые две недели будет сложно, потом все станет гораздо проще :-)
Вопрос: Где можно получить ssl сертификат для доменного имени рф?

Лучший ответ:
Раньше для защиты национальных доменов нужно было покупать сертификат с опцией IDN (Internationalized Domain Name). Сегодня это уже не актуально. Теперь все SSL-сертификаты по умолчанию защищают домены, написанные национальным алфавитами, используя Punycode. По техническим ограничениям домены не могут содержать не латинские символы. Punycode позволяет кодировать имена в национальных алфавитах ASCII-символами: латинскими буквами, цифрами и дефисами. Достаточно купить самый простой и недорогой сертификат с проверкой домена. ISPsystem- от 743 р/годsslcertificate.ru - от 1 000 р/годRU center - от 3 600 р/год

Худший ответ:
Бесплатные, к сожалению не подскажу.
Из платных, с поддержкой IDN (Поддержка национальных доменов):
COMODO.  Самый популярный и самый доступный по цене Comodo PositiveSSL
THAWTE
SYMANTEC
Вопрос: Насколько хорошая идея, хранить ВСЕ файлы проекта в Git?

Лучший ответ:
Google: git lfs
Но это зависит от того где хостится репозиторий.

Худший ответ:
Репа - нужна для истории изменений, для ветвлений и т.п.
Крайне полезна для работы в команде.
Для работы в одного - полезна менее.
Для организации работы на разных местах - вполне достаточно какой-нибудь синхронизации с облаком или SyncThing.
Впрочем, чисто организационно, возможно, удобнее будет именно что каждый раз делать git pull и git push, чем полагаться на синхронизацию, которая еще неизвестно когда завершиться.
Git допускает очень большие репы:
https://habr.com/ru/company/everydaytools/blog/329878/
Вопрос: Как настроить сеть в VirtualBox — виртуальная машина будто удалённый сервер?

Лучший ответ:
Wexter.1) Выключил виртуальную машину.2) Добавил вторым адаптером "VirtualBox Host-Only Ethernet Adapter"3) Сменил настройки IP в адаптере хоста на:4) Включил машину.
По "sudo ifconfig" изменений нет, в показателях "VirtualBox Host-Only Ethernet Adapter - хоста" также по нулям. Ни ping ни скан портов nmap'ом - по прежнему не видят гостевую машину.
=======================================================================================UPD 1
Мне достаточно одного сетевого интерфейса VM в принципе
Пробую с такими настройками включить машину.
но трафик что то не ходит по нему до сих пор.
=======================================================================================UPD 2Всем спасибо. С такими настройками трафик прошёл:

Худший ответ:
А почему не сделать проще, выбрать в настройках VirtualBox подключение типа сетевой мост и посмотреть адрес на гостевой ос который ему дал роутер ipconfig/ifcinfig.
Вопрос: Для чего нужен random.seed(x) python?

Лучший ответ:
Все дело в том, что в Питоне, как и в любом другом языке, используется т.н. генератор псевдо случайных чисел. Т.е. random выдает не случайное число, а число которое вычисляется алгоритмом на осное другого числа, по умолчанию это текущее время. random.seed позволяет изменить число, которое передается в random для генерации случайного числа, а т.к. "случайные" числа выдаются одним и тем же алгоритмом, то при одинаковом параметре в random.seed будут и одинаковые "случайные" числа.>>> import random
>>> ['%.2f' % random.random() for i in range(10)]
['0.21', '0.66', '0.18', '0.48', '0.86', '0.46', '0.48', '0.04', '0.67', '0.37']
>>> 
>>> ['%.2f' % random.random() for i in range(10)]
['0.90', '0.68', '0.02', '0.90', '0.63', '0.06', '0.22', '0.14', '0.97', '0.68']
>>> 
>>> random.seed(5)
>>> ['%.2f' % random.random() for i in range(10)]
['0.62', '0.74', '0.80', '0.94', '0.74', '0.92', '0.03', '0.47', '0.94', '0.65']
>>> 
>>> random.seed(5)
>>> ['%.2f' % random.random() for i in range(10)]
['0.62', '0.74', '0.80', '0.94', '0.74', '0.92', '0.03', '0.47', '0.94', '0.65']

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

Лучший ответ:
Очевидно, надо прочитать документацию по сфинксу, а потом на основе прочитанного настроить его так, как вам нужно.

Худший ответ:
Сделайте несколько индексов если в один нормально не влезает
Ну а языки просто пропишите индексируемых символы для утф восемь
Вопрос: Сколько нужно линий PCI(CPU) для сборки с накопителем М.2?

Лучший ответ:
в кратце если  - нет, не потеряете.
для начала это максимальное число.
к тому же вы видели пропускную скорость 4 линий даже?
к тому же  там еще чипсет на материнской плате имеет свои линии.
по сути - можете не заморачиваться. если есть слот под m.2 и у вас не конфигурация с несколькими видеокартами..то производитель предусмотрел. и все ж пользуются) 
иначе давно были б  советы по всему интернету "не покупайте, и не ставьте m.2 и будет +5 кадров в играх")))

Худший ответ:
Сколько нужно линий PCI(CPU) для сборки с накопителем М.2?Неизвестно.
Вполне возможно что ни одной. Например SATA SSD их не используют.
Вопрос: Установка Ubuntu на на внешний HDD?

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

Худший ответ:
Если вы хотите загружаться из переносного HDD на разных компьютерах, то попросту запишите образ диска через программу https://unetbootin.github.io/ и при загрузке системы выбрать запуск без установки, и вот он лайв ОС
2. Если все будет проходить только на 1м компьютере то лучше всего физически отключить остальные диски от мат платы и оставить тот на который будет инсталлироваться система линукс (для безопасности разбития диска)
после чего спокойно не боясь ничего собрать операционную систему
подключить отключенные ранние диски.
При старте компьютера загружаться в boot menu и выбирать диск с которого нужно провести загрузку (F8, F9, F12, Esc) в зависимости от мат платы.
Вопрос: Для чего нужен ассемблер?

Лучший ответ:
Скажем так: зачем уметь собирать-разбирать двигатель от машины и понимать как он работает?
99% людей это не нужно в принципе. Но если вы это знаете, вы можете легко диагностировать какую-то проблему, понять как её решить. При этом, каждый день вы не производите двигатели на станке.
То же самое с ассемблером: чтобы понимать как работает программа, как её отладить, диагностировать, понять,  что не работает — для этого и нужен ассемблер. Писать на нём что-то конкретное и большое сейчас абсолютно бессмысленно. Его надо знать и понимать, этого достаточно.

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

Лучший ответ:
Я создавал 2 динамические ячейки в TableView и на нажатие добавлял кастомную ячейку ниже.TabelViewfunc tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        if (destinationData?[indexPath.row]) != nil {
            if(indexPath.row + 1 >= (destinationData?.count)!) {
                expandCell(tableView: tableView, index: indexPath.row)
            }
            else {
                if(destinationData?[indexPath.row+1] != nil) {
                    expandCell(tableView: tableView, index: indexPath.row)
                    // Close Cell (remove ExpansionCells)
                } else {
                    contractCell(tableView: tableView, index: indexPath.row)
                }
            }
        }
    }
    
    /*  Expand cell at given index  */
    private func expandCell(tableView: UITableView, index: Int) {
        if let infoMain = destinationData?[index]?.infoMain {
            var indexesToInsert = [IndexPath]()
            for i in 1...infoMain.count {
                destinationData?.insert(nil, at: index + 1)
                indexesToInsert.append(IndexPath(row: index + i, section: 0))
            }
            tableView.insertRows(at: indexesToInsert , with: .left)
            tableView.scrollToRow(at: IndexPath(row: index + 1, section: 0), at: .bottom, animated: true)
        }
    }
    
    /*  Contract cell at given index    */
    private func contractCell(tableView: UITableView, index: Int) {
        if let infoMain = destinationData?[index]?.infoMain {
            var indexesToDelete = [IndexPath]()
            for i in 1...infoMain.count {
                destinationData?.remove(at: index + 1)
                indexesToDelete.append(IndexPath(row: index + i, section: 0))
            }
            tableView.deleteRows(at: indexesToDelete, with: .left)
        }
    }

Худший ответ:
Насколько я знаю, стандартного элемента нет.
Гуглите (или яндексите :) ) "swift dropdown list" или "swift dropdown menu"
Вопрос: Есть ли книга по построению и проектированию бизнес приложений, банковских и т.д.?

Лучший ответ:
М. Фаулер – Архитектура корпоративных программных приложений

Худший ответ:
Шаблоны корпоративных приложенийШаблоны реализации корпоративных приложенийШаблоны интеграции корпоративных приложений
Вопрос: Почему может не работать тег BR?

Лучший ответ:
Печально так верстать. каждый новый заголовок оборачивай в div
То есть по эммету div*4>span
а отступы не тэгами делай а margin-ом! он для этого и создан! а br создан, на случай если ты стишок переносишь в html. Это единственный случай использования br.

Худший ответ:
А там и br не осталось. WP их, видимо, вырезал.
Вопрос: Чтобы создать крупный портал или интернет-магазин, то лучше создавать под него свой движок или делать на чистом HTML-коде?

Лучший ответ:
на чистом HTML

Худший ответ:
Чтобы создать крупный портал нужно найти и платить деньги интересным авторам. Магазину выстроить безупречную логистику. А движок дело второстепенное
Вопрос: Symfony 4 — Best Practices for Reusable Bundles в чём смысл, и как всё таки создать bundle?

Лучший ответ:
Очевидно вы имеете в виду вот эту статью в документации Symfony. 
Если прочитать текст более внимательно - то там не сказано что bundles теперь запрещены или не приветствуются. Речь идёт о том что bundles стоит использовать в том случае если вы хотите оформить часть своего кода в отдельный package который можно использовать и в других проектах. Основное же приложение теперь не стоит оформлять в виде bundle, а можно писать напрямую. Предлагается не складывать в /src кучу разных bundles, а иметь один общий код приложения, зависимый только от внешних packages (пусть даже написанных вами) которые устанавливаются через Composer.
Т.е. к примеру структура кода подобная Sylius теперь не считается хорошей практикой.
Думаю что одна из причин такого изменения - переход на Symfony Flex и автоматизированную поддержку регистрации / конфигурации bundles через recipes.

Худший ответ:
делайте стейтлесс бандлы и подключайчайте через композер как вендор
тема в целом глубже, но вы все также можете держать часть логики портируемой прямо в src (на уровне папок/неймспейсов), просто зачастую там быстро нибираются левые зависимости и чтобы самим себе не льстить, не стоит это называть бандлом (отсюда и bundle-less подход появился)
Вопрос: Как усовершенствовать поиск на сайте?

Лучший ответ:
Использовать специализированное решение для полнотекстового поиска: Elastic, Sphinx

Худший ответ:
Не надо велосипедов, рабочий пакет:
https://github.com/nicolaslopezj/searchable
Вопрос: Есть ли на Upwork неоплачиваемый испытательный срок?

Лучший ответ:
Официально на Upwork такого нет. Считается, что всё почасовое время должно быть оплачено.
Но вы в праве удалить залогированные часы. Клиент не в праве вас к этому принуждать, но чисто по-человечески вы можете об этом договориться.Вопрос - стоит ли браться за такое? Я могу неделю проработать фулл-тайм, а потом - ни работы, ни денег, ни отзыва (в лучшем случае, а то и негативный). Хотя проект интересный, и у меня пока нет отзывов.
Может и стоит, раз вы пока новичок. Очень важно, чтобы клиент выглядел надёжно: не индус/пакистанец/нигериец/т.п., чтобы у него оценка была нормальная (4.5 и выше).
И лучше на берегу отказаться от формулировки "понравится моя работа" - это слишком субъективная оценка.
Формулировка должна быть такой: если задача выполнена в полном объёме и всё работает, то вы никакие часы не удаляете. Удаляете только в случае, если вы реально не справились с задачей, или потратили на это слишком много времени (в этом случае удаляете только лишние часы).
Ну и доверяйте своим чувствам - на Upwork куча клиентов-мудаков, которые хотят много и за дёшево (а лучше бесплатно), которые готовы шантажировать плохим отзывом или вообще чарджбеком. Если вы чувствуете, что клиент неадекват в самом начале, то бегите от него, всё равно вы ничего хорошего с ним не заработаете.

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

Лучший ответ:
bundle: not found
capistrano не нашел бандлер, посмотрите установлен ли бандлер для текущей версии руби

Худший ответ:
gem install bundler на сервере
Вопрос: Как сделать ожидание коннекта к WebSocket?

Лучший ответ:
// Соединение
const socket = new WebSocket('ws://localhost:8888')
// Очередь сообщений
let queue = []

// Отправляет сообщение
function sendMessage(message) {
    // Проверка, установлено ли соединение
    if (socket.readyState !== WebSocket.OPEN) {
        // Ежели нет, добавляем сообщение в очередь
        queue.push(message)
        return
    }
    
    // Отправляет сообщение, если есть соединение
    socket.send(message)
}

// Обработка события открытия соединения
socket.addEventListener('open', () => {
    // При открытии соединение тут же отправляем накопленные сообщения
    queue.forEach(message => {
        sendMessage(message)
    })
    
    // Очищаем очередь
    queue = []
})

Худший ответ:
Очевидно логику надо выполнять тогда, когда соединение уже установлено. Событие онопен явно подходит https://learn.javascript.ru/websockets
Вопрос: Как правильно подключить 6 мониторов через витую пару и маршрутизатор?

Лучший ответ:
Ну тут есть разные варианты...
1) Если ТВ поддерживают просмотр картинок с каких нибудь сетевых ресурсов (ftp, http, smb), можно открыть с них. Правда при смене картинки надо будет на пульте щелкнуть обновить картинку.
2) ТВ наверняка поддерживают IPTV, можно сделать простенькое видео из одной картинки и транслировать его в сеть каким-нибудь VLC/ffmpeg как multicast.
3) Если IPTV нет, взять обычную IPTV приставку, запустить на нее поток с Multicast, как выше написал, и через кокс раздать как аналоговый или цифровой сигнал на телевизоры.
4) В лоб заколхозить и параллельно запитать их от DVI/VGA все от одного шнурка.
5) Можно и dlna, удобно, если все ТВ одинаковой модели. Вариант ничем не отличается от варианта 2 по составу оборудования.
6) Распечатать картинку в хорошей типографии и повесить ее на экраны мониторов)

Худший ответ:
Смотрите в сторону multicast передачи на 6 телевизоров или приставок которые подключены к телевизору. А если по-простому, то берем ком с несколькими видеокартами: встроенная поддерживает 2 монитора, внешняя 3 и вторая внешняя еще 3. Можно одну внешнюю на 4 монитора. Делаем так, чтобы все это работало и определялось. Далее - берем и ставим в автозапуск 6 разных portable версий potplayer, каждому в настройках даем вывод в полноэкранном режиме свой монитор. В автозапуске указываем путь к записанному файлу с видео и ключ для вывода в полноэкранном режиме.
Все, при запуске компа у нас на каждый телек идут разные видео с разных копий potplayer. Даже если вдруг его перезагрузят, то все равно все само восстановится. Можно сделать плейлист и добавлять в него разные видеофайлы, выведя окна с плейлистом на отдельный монитор и туда добавляя данные.
Вариант еще поизвращеннее - берем ASTER, покупаем на 6 рабочих мест, ставим на один комп, настраиваем каждому пользователю свой монитор, включаем автовход пользователей и каждому в автозагрузку делаем свой локально установленный potplayer.
Как добавлять potplayer у файлы или изменять плейлист на лету - отдельный разговор.
Вопрос: Возможно ли поднять изолированный локальный сайт с www адресацией на win 10 LTSB?

Лучший ответ:
Локальный днс сервер поднимать? 
нет, достаточно записи в файле hosts Куда копать?
Denwer, OsPanel(OpenServer) и т.п. Или же можно по хардкору установить всё по отдельности.

Худший ответ:
Все это решит OpenServer
Вопрос: Какие на данный момент есть методы скачивания файлов?

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

Худший ответ:
Не совсем понял, если отдавать по http, то обычно отдается со скоростью соединения, если скорость дисков не мешает... Чем отдаете сами файлы? Nginx/Apache или что-то самописанное?
Вопрос: Составили требований для верстальщика, не перегнули ли палку?

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

Худший ответ:
Нормальные требования, совсем не жесткие даже. Но некоторые пункты спорные.
Вопрос: Linux или Windows для C++ разработчика?

Лучший ответ:
В наш век С++ без кроссплатформенности ни для кого не нужен.
За очень и очень редкими исключениями.

Худший ответ:
ИМХО, на linuxe начать программировать проще (да и удобнее)
В качестве редактора - sublime text, компилируешь одной командой в консоли (g++ ./имя файла)
Вопрос: Bootstrap вкладки по отдельны кнопкам?

Лучший ответ:
Предположим, что пользователь пришел по ссылке http://example.com/something#pills-home
Тогда в location.hash будет #pills-home
А нам нужно активировать таб id="pills-home-tab"$(document).ready(function(){
  $(location.hash + '-tab').click()
})https://jsfiddle.net/faqttqfr/4/UPD:  После изменения вопроса: https://jsfiddle.net/q7k58vwz/

Худший ответ:
Попробуй так.
Если будут нужны разъяснения, то задавай вопросы. Но вроде и так понятно, что код делает.
Вопрос: Безопасно ли хранить файлы в архиве WinRar?

Лучший ответ:
Обойдусь без демагогий. Winrar использует алгоритм шифрования AES с ключом 128 или 256 бит в зависимости от версии. И это на сегодняшний день очень надежный алгоритм, которые используется повсеместно. Если ваш 25 значный пароль смогут взломать за разумное время, можете не беспокоиться, так как у всего мира проблемы будут побольше. Поэтому используйте винрар 5 версии (ключ 256 бит) и не забывайте о криптопаяльнике, скорость взлома которым никогда не зависела от алгоритма шифрования)

Худший ответ:
Да. Видел где-то взлом архива за несколько секунд, вроде брут чекером. Но если захотеть можно написать дешифратор, взламывающий кодировку. Или просто взлом пароля...
Вопрос: Обработка try catch. Что делаю не так?

Лучший ответ:
деление на 0 - не исключение, а ошибка уровня железа. Перехватить нельзя, можно обработать можно путем подключения заголовочного файла csignal и заданием обработчика для SIGFPE.
Конкретно в студии, возможно, есть свой велосипед для перехвата подобных ошибок и преобразования в исключение, но где настроить - не подскажу, возможно, стоит покопаться в Debug->Exceptions

Худший ответ:
А тот ли тип exception ловите?