Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как включить два внешних адреса на сервере?

Лучший ответ:
Делал примерно так: (в начале прописываются таблицы T1 и T2 в /etc/iproute2/rt_tables)
Переменные -
LOCAL=локальная сеть
LOCAL_GW=IP в локальной сети
LOCAL_ETH=Локальный интерфейс
I1_ETH/I1_GW/I1_IP - интерфейс, шлюз и IP на интерфейсе
Аналогично для 2-го.
Выдирал из рабочего скрипта (4 таблица сейчас ;) ) - может чего и упустил. :)ip route flush table T1   #обнуляем первую таблицу маршрутов
ip route flush table T2   #обнуляем вторую таблицу маршрутов
ip rule delete table T1   #удаляем наши таблицы, если они присутствуют в текущей конфигурации (вдруг мы просто перезапускаем скрипт?)
ip rule delete table T2   #аналогично для второй.

ip rule add from $I1_IP table T1
ip route add $LOCAL            src $LOCAL_GW       dev $LOCAL_ETH      table T1
ip route add default           via $I1_GW                              table T1    metric 1000
ip route add default           via $I2_GW                              table T1    metric 1200
ip rule  add fwmark 1          table T1   #все пакеты, которые имеют метку 1 маршрутизировать по таблице T1

ip rule add from $I2_IP table T2
ip route add $LOCAL             src $LOCAL_GW      dev $LOCAL_ETH      table T2
ip route add default           via $I2_GW                              table T2    metric 1000
ip route add default           via $I1_GW                              table T2    metric 1200
ip rule  add fwmark 2          table T2   #все пакеты, которые имеют метку 2 маршрутизировать по таблицу T2

iptables -t mangle -N I2_RULE
iptables -t mangle -A I2_RULE -i $I1_ETH -j CONNMARK --set-mark 1
iptables -t mangle -A I2_RULE -i $I2_ETH -j CONNMARK --set-mark 2
iptables -t mangle -A FORWARD -m state --state NEW -j I2_RULE
iptables -t mangle -A PREROUTING -m state --state ESTABLISHED -j CONNMARK --restore-mark

Худший ответ:
habrahabr.ru/post/54748 здесь (и в комментариях к статье) есть большая часть нужной информации.
Вопрос: Какой веб-ферймворк под HTML5 выбрать для UI в крупной компании?

Лучший ответ:
но последние стати на хабре про его минусы
А вы статьи эти читали? А комментарии? Я работаю с Angular вот уже 2 года и ни разу не сталкивался с "проблемами" изложенными в статьях. Тем более что те проблемы которые на самом деле имеют место быть (слишком много букв надо писать для директив, сложно и т.д. к примеру) решаются либо сторонними модулями либо ждем Angular2. А так складывается впечатление что люди думают что могут взять какой-то фреймворк и он сразу же решит все их самые изощренные задачи.
Ну и да, Angular это не UI фреймворк, это фреймворк для построения приложения в первую очередь. Внутри используйте хоть react.js на тех местах где он подходит лучше (я пока даже не знаю о подобных) хоть backbone (в качестве persistance layer и для моделек неплохо подходит).
что до UI - Foundation, Twitter Bootstrap, а еще интереснее варианты - Google Material Design или еще чего посвежее... Ну или верстайте все сами. Если вы расчитываете на перспективы, то думаю поддерживать старые браузеры вы не будете уже. А значит можно использовать flexbox-ы те же, на которых построить сложный лэйаут не особо сложно.

Худший ответ:
React? Хотя это и не фреймворк
Вопрос: Можно ли опубликовать что либо на стену вконтакте с сайта?

Лучший ответ:
Как раз wall.post по-моему проходит. Мы с сайта писали на стену от пользователя. Фишка в том, что не надо даже разрешение на wall запрашивать, при вызове wall.post контакт выдает iframe с формой ввода текста (вы можете его предзаполнить сами) и кнопками «отпостить» и «отмена»

Худший ответ:
Тут почитайте. Вроде как нельзя совсем, но это инфа годичной давности.
Вопрос: Структура таблиц БД: хранение списков значений наряду с обычными значениями

Лучший ответ:
Ну как по мне то вариант2 (Создать отдельную таблицу для значений списков.) является оптимальным и стандартным. Обычно от него отходят только в нестандартных ситуациях. Не рекомендую выдумывать велосипед.

Худший ответ:
Созадйте таблицу

ID ListID Value

где ID — уникальный номер записи в таблице (primary key), ListID — какойто ваш внутренний идентификатор, Value сами понимаете, что. Тогда вы сможете извлеч как одну строку, написав SELECT * From TableName Where ListID = 1 или несколько значений, которые уже и составят для вас список. Узнать, сколько у ваc значений с одним ListID так: SELECT Count( * ) From TableName Where ListID = 1; и не нужно дополнителных полей для отметки список это или нет.

Обратите внимание, что (по вашим вариантам) разделители или мультизначения тоже потом надо будет както обработать, потратив время, и (вероятно) еще раз сделать SELECT, затратив и на него дополнительное время и ресурсы. С моим вариантов у вас будет просто join если потрубется.

Не в коем случае не теряйте уникальный ключ в вашей таблиц, как вы хотите в 3!
Вопрос: Чем лучше анимировать блоки?

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

Худший ответ:
Animate.css и wow.js - связка, которая очень хороша!
Вопрос: Как сделать систему контроля прихода\ухода сотрудников?

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

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

Лучший ответ:
Сразу говорю, я в Си и контроллерах особо не смыслю и Вас, как специалиста, не оцениваю. Все нижесказанное лишь мои предположения, ничего личного.
Возможно за мусор в коде и отсутствие именованных констант:puTX.bytes[0]=(!IN_1<<0)+
												(!IN_2<<1)+
												(!IN_3<<2)+
												(!IN_4<<3)+
												(!IN_5<<4)+
												(!IN_6<<5)+
												(!IN_7<<6)+
												(!IN_8<<7);
Сравните, например, с куском кода от STM из вашего же примера:InitGPIO(GPIOB,GPIO_PIN_7,GPIO_MODE_INPUT); //1
	InitGPIO(GPIOB,GPIO_PIN_6,GPIO_MODE_INPUT);
	InitGPIO(GPIOB,GPIO_PIN_5,GPIO_MODE_INPUT);
	InitGPIO(GPIOB,GPIO_PIN_4,GPIO_MODE_INPUT);
Ну или такое:if (reset >= 2)
					{
						reset = 0;
						timeout = MAX_TIMEOUT;
						//PCKG_SwitchOffAllLeds(); // выключить все лампы
					}
					else
					{
						reset++;
					}
это код джуниора, никак не тимлида, который должен код ревью делать за джунами...

Худший ответ:
Комментарии в коде на русском .
Представьте что они на китайском и всё станет понятно.
Остальное несущественно если код рабочий.
Вопрос: Что выбрать для разработки простого интернет-сервиса

Лучший ответ:
Для простых вещей не нужно фреймворков, да и разобраться в начале нужно самостоятельно. Для ускорения цикла разработки берите лучше динамический язык типа PHP, Python, Ruby.

Если что-то модное хотите, смотрите на NodeJS, 

Если уж нужен непременно фреймворк, смотрите микро фреймворки:
PHP: Sylex, Fat-fee, Slim
Python: Flask
Ruby: Camping, Cuba

Худший ответ:
Проще всего ASP.NET MVC (если MVC будет сложноват, то WebForms)
Если что-то непонятно подскажу, спрашивайте.
Вопрос: Насколько сложен Vulkan?

Лучший ответ:
Лучше - более "лёгкие" -> пользы больше)

Худший ответ:
Лучше - более "лёгкие" -> пользы больше)
Вопрос: Как отсортировать динамический массив?

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

Худший ответ:
Код изначально написан неверно. Лучше, что с ним можно сделать, удалить.
Вопрос: Wifi-роутер для квартиры

Лучший ответ:
Не буду оригинальничать — TP-LINK TL-WR1043ND

Ветку на ixbt всегда можно найти в гугле. Цена — 2.5к.

Худший ответ:
Netgear wnr3500l, 100 mbit держит свободно, плюс постоянно включен торрент клиент с 20-30 торрентами.
Вопрос: Как быть, если проиндексировался сайт на этапе разработки?

Лучший ответ:
abisab.com/wordpress/kak-udalit-url-adresa-iz-pois...
Только прочитайте внимательно, когда не следует этим пользоваться. Насколько я понимаю, в Вашем случае можно ничего не бояться.

Худший ответ:
После переезда сайта на новый домен сделайте 301й редирект со старого домена. 
И в robots.txt укажите host - help.yandex.ru/webmaster/controlling-robot/robots-...
Вопрос: Почему Tomcat 5.5 не резольвит переменные в jsp?

Лучший ответ:
Причина может быть в некорректной версии servlet api указанной в web.xml (version=«xx»), укажите версию 2.4 (для tomcat 5.5):

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
         version="2.4">
...



Худший ответ:
Проверьте версию servlet-api.jar и jstl.jar
Вопрос: Алгоритм эффективного распределения заявок

Лучший ответ:
Чтобы выбор был «объективен» — вам нужно продумать надежную систему рейтинга агентов, а также разделять компетенции агентов (оценивать каждого по ряду критериев — например, «умение продавать», «опыт с арендой/наследством» итд) и разделять заявки клиентов по их компетенциям, ставить заявку в очередь с estimate ожидания, если компетентный агент сейчас занят. 
Готовое решение вряд ли найдете, или придется его долго допиливать (например OTRS) — скорее нужно писать под ваши конкретные нужды.

Худший ответ:
CRM я разрабатывал сам, поэтому конечно же внедрять этот алгоритм буду тоже сам.
Да, думал о системе рейтингов. Но получается что тогда и рейтинг должен высчитываться автоматически. А по каким критериям? Какие параметры отслеживать на основании которых будет формироваться рейтинг?

Мне в голову приходят следующие показатели:
Время реакции на заявку
Время от момента поступления заявки до успешного закрытия
Соотношение успешных/отказ. заявок
Количество внесенных в базу объектов (агентом)
Вопрос: Управление excel данными через веб?

Лучший ответ:
Для PHP и Python есть достаточно библиотек/пакетов для управления excel файлами (CRUD - создание, чтение, изменения, удаления)

Худший ответ:
Не понял, что ты хочешь, но посмотри это
https://phpexcel.codeplex.com/
Вопрос: Блог для теории?

Лучший ответ:
Про алгоритмы прочитал бы. Очевидно, подходит раздел Алгоритмы.

Худший ответ:
Есть еще блог Учебный процесс, но все-таки Алгоритмы ближе, на мой взгляд. Во многих статьях из «Алгоритмов» рассматривается как раз теория, без реализации на конкретном ЯП: например, здесь, здесь или здесь. А тема должна быть востребована, мне бы было интересно, во всяком случае :)
Вопрос: Где найти описание константных типов в с++/com?

Лучший ответ:
Посмотрите в разделе "Указатели" на сайте www.codenet.ru/db/vfp/winapi
В вашем случае:
LPDATAOBJECT - указатель на какой-то объект
LPCITEMIDLIST - указатель на константный список из ITEMID

Худший ответ:
Наверно вы правы и я не совсем верно задал вопрос. Поясню суть: я пытаюсь написать расширение для Windows Explorer(используя СОM), в найденном мной примере используются такие типы/макросы. Хотелось бы знать что это за макросы
Вопрос: Сервер из ноутбука стоит ли делать?

Лучший ответ:
А почему нет?
Если производительности достаточно и с охлаждением нормально — хороший вариант. Низкое энергопотребление, встроенный UPS.

Худший ответ:
Я себе недавно поставил дома поставил на роль сервера Eee PC 901. Со своей задачей справляется нормально. Единственное что напрягает — он все же включает куллеры даже в простое. Поищу решения, но все же начинаю склоняться к тому, что бы взять дешевый мини ПС аля расбери Пи или в виде usb донгла.
Вопрос: Как стилизовать элемент который обворачивает radio?

Лучший ответ:
Увы, но не существует селекторов, позволяющих вам выбрать родителя.
web-standards.ru/articles/parent-selector

Худший ответ:
например так:$('input[type="radio"]:checked').closest('td')
Вопрос: Как бороться со знаком вопроса в Magento?

Лучший ответ:
Не могу сказать конкретно про magento, но у вас там явно substr по utf-ной строке. Замените на mb_substr.

Худший ответ:
Обрезать лучше всего до пробела, а так выше правильно сказали это все из-за мультибайтовой кодировки.$text = "Текст который надо обрезать до пробела, очень большой текст бла бла бла";
$text = preg_replace("/^(.{30}[^\,\s]*[\,\s])(.+)$/ui","\\1",$text) ;
echo $text;
Вопрос: Компьютер и Кошки. Ревнуют ли Вас кошки к компьютеру?

Лучший ответ:
Игнорить не надо.
Иначе зачем вообще заводить кошку? Это не игрушка, она живая, она обладает интеллектом, чувствами.
Если её игнорировать, она будет привлекать внимание всё более брутальными методами, вплоть до порчи имущества.
Как всё живое, ей нужна ласка и внимание. Чем моложе, тем больше.
Если достаточное время играть с ней и общаться, то и своими делами тоже можно заняться будет спокойно.
И из-за компа стоит отвлекаться — погладить, ласковое слово сказать. И вам тоже полезнее будет :)

Худший ответ:
У меня хомяк любил по клавиатуре бегать, когда пускал его погулять по столу. Очень уж он любил печатать ;)
Иногда проявлял интерес к кабелям, особенно к витой паре.
Вопрос: С каких книг начать изучение C#!?

Лучший ответ:
Шилдт Г. Полное руководство С#4.0. Сейчас вышла 5 версия, но на русском пока не видел. Отлично пишет для новичков.
Далее - Троелсен. Troelsen_C# 2010 and the .NET 4 Platform. Видел переводы на русский, но качество у них хромает. Средний уровень.
Финал - Рихтер. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#. Это для спецов скорее по внутренней реализации, явно не для начинающих.
www.microsoftvirtualacademy.com/training-courses/c...
www.microsoftvirtualacademy.com/training-courses/e...
www.microsoftvirtualacademy.com/training-courses/a...
www.microsoftvirtualacademy.com/training-courses/c...
www.microsoftvirtualacademy.com/training-courses/f...
Тут курсы MVA.  Есть на русском, есть на английском. Возможно, начинать стоит там.
sergeyteplyakov.blogspot.ru/2014/04/best-books-on-... Здесь подробный обзор от .NET спеца. 
Спокойно кодировать можно будет после после первой половины Шилдта. Это полгода неспешного обучения.
upd. Есть еще .NET Book Zero Петцольда. Её можно читать самой первой.

Худший ответ:
теория книга Шилдт + нарешать задачи по алгоритмам
Вопрос: Возможен ли соединение типа браузер — браузер?

Лучший ответ:
Да. Зависит от необходимой поддержки браузеров. PeerJS.
www.html5rocks.com/en/tutorials/webrtc/datachannels
https://github.com/ShareIt-project/DataChannel-polyfill - полифил через websockets (задействует сервер).

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

Лучший ответ:
Для Debian есть такая хитрая штука как кэширующий сервер обновлений, вроде apt-cacher-ng оно. Получается так, что качать и хранить все зеркало целиком не нужно, но если машины запрашивают одинаковые пакеты, то качаются они только один раз из внешней сети.

Худший ответ:
всем спасибо, все кармированы. )
Вопрос: Целесообразно ли замена I7-950 на сомвременную модель?

Лучший ответ:
Я полагаю, что целесообразно. Прирост производительности в 230% при 380$.
Core I7-950: cpubenchmark.net/cpu.php?cpu=Intel+Core+i7+950+%40...
Core I7-5820k: cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-5820K+%...
Правда нужно не забывать о замене другого железа совместимого с новым процессором, как минимум материнской платы.

Худший ответ:
Все зависит от задач. Если у вас нехватка производительности - то можно и думать о замене. 
По собственному опыту - я разницы даже между i5 и i7 не заметил особой.
Вопрос: Captcha entry, где развод?

Лучший ответ:
От**здил бы всех спамеров и всех кто им помогает

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

Лучший ответ:
Есть — поднять кипишь и клевету, и им сольют карму. :)

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

Лучший ответ:
Саморез Самопис

Худший ответ:
Мне the modal нравится. 
Он фиксирует фон, чтобы сайт не прокручивался, когда открыто модальное окно, в том же fancybox из коробки такого нет.
Еще можно навесить события на открытие/закрытие окна.
Вопрос: PHP: непонятное поведение оператора &quot;or&quot;

Лучший ответ:
Да, они работают одинаково, за исключением приоритетов. У оператора or он настолько низкий, что даже ниже, чем у оператора присваивания.

Худший ответ:
Конечно. В случае OR второй операнд не вычисляется, если первый равен TRUE. Так же и с AND.
Вопрос: Отчистить отходник принтера. Опасно?

Лучший ответ:
покроете несмываемым позором

Худший ответ:
пыль настолько мелкая что респиратор никак не поможет
если на газетку вытряхнуть аккуратно чтоб не разлетелось по квартире\офису да потом хорошо помыть руки, то ничего страшного, тем более вы же будете не каждый день этим заниматься
Вопрос: Значение данного символа >?

Лучший ответ:
Это значит "непосредственный потомок", проще на примере объяснить<div class="box">
    <div class="child">
    </div>
    <div class="child">
        <div class="child_2">
        </div>
    </div>
</div>
В вашем примере, все блоки с классом child удовлетворяют условию, а вот уже child_2 выпадает из выборки.
А вообще тут больше информации htmlbook.ru/samcss/dochernie-selektory

Худший ответ:
Если проще всего сказать, то DOM - это дерево какой-то вложенности, то такая конструкция, как у Вас, означает следующее, что будет выбран элемент вложенности current + 1.A > B
т.е свойство будет применено ТОЛЬКО к элементу B, который находится внутри элемента А, не дальше одного уровня вложенности :)
P.S Чет проще не получилось, ну из примеров предыдущих ответов и моего, должно стать все ясно :D
Вопрос: Вернуть результат из AJAX без callback'ов?

Лучший ответ:
Синхронный запросvar responce = $.ajax({async: false, ...}).responceText;
Но на время выполнения запроса будет блокироваться браузер.

Худший ответ:
function get(arg1, arg2, callback) {
  $.ajax({
    url: arg1 + arg2,
    success: function(response){
        callback(response);
   }
  });

  return // результат
}
get('toster', 'ru', function(response){
    alert('ok');
});
Сори, не внимательно прочитал название "без колбеков"
Вопрос: Что вы используете под Linux, когда пишете сайты?

Лучший ответ:
Сайты не пишу, но пишу веб-морды к сервисам.
Использую: если нужен веб-сервер, то apache2 или NGINX; сишные CGI (иногда и демоны, которым веб-сервер вообще не нужен); html и жабкоскрипт вручную (к сожалению, без жабкоскрипта даже элементарный POST-запрос не отправишь); последнее время подсел на вебсокеты — крайне удачная штука, в отличие от извращения с синхронными POST/GET; в жабоскрипте никаких чужих библиотек кроме webGLU не использую (не хватало еще всякую жирную гадость типа той же jquery в свой код тянуть); еще с SVG работал.
Недавно навелосипедил себе передачу видео в реальном времени (jpeg'ами) через вебсокеты, теперь не нужно будет мучиться с mjpeg, вызывающим текучесть браузеров.
P.S. Шлаком вроде пыхпыха не пользуюсь категорически. И никому не советую!

Худший ответ:
sublime text 3 + habrahabr.ru/post/235901
Свой сервер с Fedora Atomic www.projectatomic.io) + tutum-docker-lamp
Вопрос: Какие вы знаете книги и ресурсы для изучения принципов проектирования микросхем для микроконтроллеров?

Лучший ответ:
 Книжка 
Прочитайте "Искусство схемотехники". Книжка не сложная. Потом хватайтесь за МК

Худший ответ:
жмешь на кнопку - пищит
извиняюсь конечно, думаю и сами понимаете, но тут МК не нужен, пара проводков всего лишь и все последовательно соединить. 
советую все таки с ардуины начать, а потом можно и без него, главное с принципами схемотехники разобраться. программировать его легко, скачай ардуино иде, простой юсб кабель и в путь. У ардуины огромное сообщество, поэтому для новичков - быстрый старт гарантирован и очень прост.
для супер быстрого входа можешь посомтреть перевод амперкой небольшого курса от джереми, кое какие примеры рассчетов там есть, еще недавно на coursera курс появился на русском. 
с ардуиной начинать удобнее, отказаться от нее при необходимости можно легко, хотя смысла нет, стоит пару баксов (если брать mini or nano), и вся обвязка там есть, а попаять и так найдешь что, если затянет.
Вопрос: Не могу распарсить xml с потощью lxml python?

Лучший ответ:
Не нужен вам XPath. lxml.de/tutorial.html#elements-are-lists
Делайте итерацию по элементам и рекурсивную функцию (или просто вложенные циклы).
Что плохо - это то, что у вас структура XML неоднозначно соответствует структуре python словарей. Ну и приведённый XML невалидный - нет корневого элемента (или он неполный?).def to_dicts(element):
  obj = {'tag': element.tag,
        'attrs': element.attrs,
        'childs': [to_dicts(child) for child in element]}
  return obj

Худший ответ:
SeriyPS, готовы предложить вам работу на тему Парсинга. Проект большой, интересный и долгосрочный, социально ориентированный и с хорошей кармой. Вначале сдельно, потом по договоренности. Готовы инвестировать в тему 200К и более.
Можете ли поделиться контактами для общения?
Вопрос: Как сделать интернет магазин на RoR?

Лучший ответ:
Собственно можно взять за базу сие spreecommerce.com/ или ror-e.com/
А по интеграции с 1с groups.google.com/forum/?fromgroups=#!topic/ror2ru/hG_6wfXAXe0

Худший ответ:
>> либо по soap интерфейсу 1с получать доступ с сайта к самой актуальной информации в базе 1с( безумная идея).
Почему же безумная? Самая правильная в наше время.

Более безумная — это, например, инициировать со стороны 1С выгрузку изменений в тот момент, когда они произошли — чтобы база магазина была всегда актуальной.

А еще более безумна (но может оказать и самой правильной) — написать приложение, которое будет исключительно фронтендом к 1С. Под 1С написать соответствующий SOAP-интерфейс. Правда, не знаю, насколько быстро это будет шевелиться при большом количестве посетителей, зато точно знаю, что исчезнут многие проблемные точки типа синхронизации остатков и изменения цен.
Вопрос: Сервис мониторинга доступности серверов/сайтов

Лучший ответ:
ping-admin.ru/
Всё перечисленное точно умеет.

Худший ответ:
Вот один из не плохих сервисов
Вопрос: Адаптивная яндекс карта на сайте. Как сделать?

Лучший ответ:
При вставке скрипта карты в атрибуте src установите width=100%

Худший ответ:
На width=100% будет ругаться валидатор. Если поставить там же max-width и min-width то эффект тот же, но валидатор одобрит. И ещё ругается на & лучше сразу заменить на &
Вопрос: Как зарабатывают создатели расширений для Google Chrome?

Лучший ответ:
Плату в 5$ сделали только для того, чтобы отсеять ботов.
Зарабатывают, кто как. Я видел след. способы
 - донат
 - встраивание рекламы в страницы
 - PR чужого проекта (реферальная система)
 - PR своего проекта

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

Лучший ответ:
Для начала хотя бы просто паяльник + канифоль, припой.
Набор отверток, термопаста, кусачки, стяжки.
Старые мат. платы для выпаивания конденсаторов и впаивания в неисправные, машинное масло (для смазывания вентиляторов на блоке питания), тестер для блоков питания.
Также, набор вентиляторов для разных сокетов, и т.д.

Худший ответ:
Работал в компьютерной фирме на ремонте компьютеров около года. Их всех инструментов у меня была пост-карта, крестообразная отвертка, прямая отвертка (снимать кулеры с процессоров), торцевая отвертка - стойки с корпуса выкручивать, ластик с "песочком" - контакты планок памяти чистить, и пинцет, чтобы сдергивать мируху с биосом, чтобы бежать в соседний отдел перешивать на программаторе, если совсем все плохо. Ну и монитор/клавиатура/мышь/исправный блок питания/исправная видеокарта. Этого набора хватало на все случаи.
Сейчас бы обзавелся паяльником, чтобы перепаивать вздувшиеся конденсаторы, ну либо паяльную станцию, чтобы южный мост перепаивать если что, ну либо феном соединения пропаивать. Плюс запас изопропилового спирта, электролит от потекших конденсаторов, либо еще какую дрянь от платы оттирать...