pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Насколько кроссбраузерной должна быть верстка?

Лучший ответ: Есть два типа мышления: как хочется мне и как хочется заказчику.
Вам, возможно, захочется, чтобы была поддержка последних версий браузеров, а заказчик закажет может заказать такую верстку, чтобы она идеально работала даже в ie6. И наоборот.
Нужно действовать от ситуации:Если заказчик просит, чтобы была кроссбраузерность во всех актуальных версиях, то не стоит идти на поводу у своего профессионализма и лепить хаки и решения под ie6. На этом этапе будет сложно тем, кто является преверженцем полной кроссбраузерности, при которой все работает идеально во всех версиях браузеров, так как ваш внутренний ребенок будет требовать доработки сайта до последнего штриха, и легко тем, кто хочет быстрой холявы с минимумом усилий. Рвение написать идеальный с точки зрения кроссбраузерности код обязательно нужно пресекать, иначе вы рискуете не вписаться в отведенное для работы время + несомненно увеличится кол-во кода (а, порой, и даже файлов), что может повлиять на скорость загрузки сайта. Вам это надо? Вам нужны воможные предъявы к коду и размеру сайта от заказчика в последствии? Думаю, что нет.Если заказчик просит, чтобы была полная кроссбраузерность, вплоть до таких динозавров как ie6, то стоит, прежде всего, выяснить, а целесообразно ли это вообще? Например, вы создаете сайт для подростков. С каких устройств чаще всего подростки заходят в интернет? Со смартфонов и планшетов, в большинстве случаев. Если это так, то зачем верстать странички для утопий, если на всех современных смартфонах и планшетах актуальные версии браузеров? Вот так, проведя анализ по всем критериям вашей ЦА, можно будет с вероятностью 95% сказать, нужна ли заказчику поддержка старых версий или нет. Если всё-таки вы не смогли переубедить заказчика, даже перечислив минусы такой верстки (а вы, как верстальщик, обязательно должны их знать, так как если вы принимаетесь за такую работу, то будете затрачивать больше времени, а время - это деньги, которые могли бы вы получить от более непривередливых заказчиков в последствии, но потратили его на текущего), то смело принимайтесь за дело, если у вас есть навыки построения кроссбраузерного кода.
Как-то так  ;)P.S. Профессиональный верстальщик Петя. Стаж - 2 дня.

Худший ответ: У каждого свои требования. Обычно нет такого понятия как "кроссбраузерность". Есть загоны по поводу пиксель-перфект с макетом, но как и в случае с вашей реализацией проблема в сглаживании шрифтов в разных браухерах.
В целом же требуют последние две версии браузера (текущая и предыдущая) и сейчас в большинстве случаев IE9+. Что до шрифтов - если смотрится нормально (этот параметр оценивает дизайнер или заказчик или и тот и тот) то не стоит замарачиваться. только с отступами у вас что-то.
Вопрос: Наилучшая связка CMS + готовый форум?

Лучший ответ: Ну если уж блоги, то:
Livestreetcms.com, пример работы с форумом на Алуштинском сайте.

Худший ответ: Мало информации:
 — для каких целей CMS
 — для каких целей форум
 — какие нагрузки планируются, какое будет расширение.

На данном этапе все популярные CMS подходят, у них интеграция с разными форумами и есть в наличие собственные встроенные.

Мне нравится CMS/CMF Drupal в котором есть встроенный форум, но и интегрируется PHPBB.
В код CMS внедрять ничего не нужно, но можно писать свои модули, которые будут изменять работу сайта как нужно. Есть много АПИ для разных модулей и самого ядра.
Вам так же не помешает модуль drupal.org/project/services/ который дает очень много вариантов обмена информацией с другими сайтами/приложениями через REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF, etc.

Так же Друпал в ядре поддерживает мультисайтовость в ядре, то есть сделать 10 сайтов на которых будет одна база пользователей можно без сторонних модулей и оно будет отлично работать.
Вопрос: Программирование на C++/C# С чего начать? Для VR шлемов игры или...?

Лучший ответ: Учите линейную алгебру и дифференциальную геометрию. Без них вы в компьютерной графике не нужны.

Худший ответ: Можете попробовать использовать Unity3d - там многое уже есть, скрипты на C#, JS
Вопрос: Разработка сайтов на заказ: кто и как платит за составление ТЗ?

Лучший ответ: Рассчитывайте как отношение чистой стоимости проекта к стоимости проектирования ТЗ.
Если ТЗ больше 3-5% - берите деньги за ТЗ. Иначе - нет смысла.

Худший ответ: Если на составление тз уходит больше часа-двух то деньги брать в обязательном порядке
Вопрос: Творческий вопрос о квадрокоптерах

Лучший ответ: Приделать к нему щётку, пусть смахивает пыль оттуда, куда не дотянется робот-пылесос…

Худший ответ: Какой размер устройства?
Вопрос: Зачем нужна запись вида: $( function () { ... 300 строк JQuery кода ...})?

Лучший ответ: $(function() {}) == $(document).ready(function() {})
Короче, код исполнится только после полной загрузки страницы.

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

Лучший ответ: Открыть youtube, вписать "Создание шаблона под Wordpress" или "Creating theme wordpress". Отсортировать по популярности. Выбрать наиболее удобную серию уроков.
Параллельно загуглить "Wordpress codex" и wp-kama.ru.

Худший ответ: Вид:
1)Нужно выбрать cms которую вы знаете, убрать css и js в отдельные файлы если они встроены вместе с html. 
2) Поместить это в нужную папочку и поменять с нуждами системы(там шаблонизатор и.т.д )
Вид настроить обычно в таком случае не составит труда.
Сложнее с данными:
1) Сконфигурировать эту смс.
2) Добавить свои таблички из старой версии сайта и залить данные из бекапа.
Проблема возникнет если это Битрикс, которая все данные хранит в одной табличке. )))
Если вы работете на php, выбирайте jumla, она имеет хороший архетектурный дизайн.
Кучу модулей(но тут надо проверять) как по мне очень достойный вариант.
А вообще самописную смс настроить бывает даже проще чем  другие.
Вопрос: Существует ли такая авторизация смартфоном по qr-коду?

Лучший ответ: Подобная схема авторизации используется на сайте liqpay.com.
Там в QR коде закодирован уникальный случайный 16-значный числовой код (вида login_XXXXXXXXXXXXXXXX).

В приложении под Android можно включить режим сканирования QR кода. Как только приложение находит нужный QR код — спрашивает, действительно ли мы хотим авторизоваться. Если да — идет с смарфона запрос на сервер (естественно приложение авторизовано в liqpay) с данным кодом (подтверждается авторизация).

js скрипт каждые 15 секунд делает запрос на сервер по URL /inapi?code=login_XXXXXXXXXXXXXXXX&action=qrcode_ajax.
В ответ получает результат авторизации. Если прошла — создается сессия, идет обновление страницы и мы попадаем в закрытую часть.

Худший ответ: Похожая схема: www.enum.ru/default.aspx (QRкод просто позволяет не вводить значения руками)
При этом смартфону вообще не нужен доступ в интернет.
Вопрос: Как заменить автоматом белый фон вокруг картинок на прозрачный?

Лучший ответ: Возьмите 10-15 картинок из вашей базы, откройте в графическом редакторе, и залейте белый фон контрастным цветом. В нормальных редакторах у заливки есть настройки, чтобы она белым считала не только #ffffff, но и допускала некоторые отклонения, вроде #fdfffe. 
Думаю результат вас не устроит, потому что по краям картинки все равно сохранится белая окантовка, либо заливка будет залезать на сам объект при большом допуске отклонений от белого. Особенно это заметно на тенях. Вот таким вот и будет результат автоматической замены белого на прозрачный.

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

Лучший ответ: Просто передвиньте начало координат во вторую точку.
Для размышлений:
Начало координат это (0;0). Поворот это:x = (x-0)*cos(a) - (y-0)*sin(a) + 0
y = (x-0)*sin(a) + (y-0)*cos(a) + 0
Дальше совсем чуть-чуть подумайте

Худший ответ: Я делал вращение Луны вокруг Земли, одновременно с вращением Земли вокруг Солнца, поэтому подскажу.
Вот вращение Луны относительно Земли. Разберитесь, вроде должно быть все понятно.
xx и yy - координаты Луны// TrackBar1->Position — скорость вращения. Не обращайте внимания. Можете поставить 1.
xx = xx * cos(M_PI / 31.05819323 * TrackBar1->Position) + yy * sin(M_PI / 31.05819323 * TrackBar1->Position);

yy = -xx * sin(M_PI / 31.05819323 * TrackBar1->Position) + yy * cos(M_PI / 31.05819323 * TrackBar1->Position);

Image1->Canvas->Pen->Color = clGray;
Image1->Canvas->Brush->Color = clGray;

Image1->Canvas->Ellipse(
   width_window / 2 - earth_xx - xx - radius_moon, 
   height_window / 2 - earth_yy - yy - radius_moon, 
   width_window / 2 - earth_xx - xx + radius_moon, 
   height_window / 2 - earth_yy - yy + radius_moon
);
Вопрос: Что означают эти круги? Способ построения логотипов? Золотое сечение?

Лучший ответ: Вот хороший пост по теме. Короткий ответ – раньше эти схемы использовали при масштабировании.

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

Лучший ответ: При создании элементов (и атрибутов) в пространствах имён (это то, что указано в атрибуте xmlns) требуется вызов createElementNS с указанием этого самого пространстваvar test = document.createElementNS('http://www.w3.org/1999/xhtml', 'i');
Технически, можно и не указывать пространство, но тогда все элементы будут относиться к тому пространству, в котором расположен глобальный контекст (это если вы решите динамически inline SVG модифицировать).
Напишите маленькую функцию (или прототип jQuery расширьте). Можете сделать её и немаленькой — с парсингом строки для выделения имени тэга и атрибутов.$.extend($, {
	createNS: function (tag, ns) {
		return $(document.createElementNS(ns, tag));
	}
});

$(function () {
	$.createNS('i', 'http://www.w3.org/1999/xhtml')
		.text('added tag')
		.appendTo($('#parent'));
});Update: причину глюка верно указал @SelenIT2 — заключите в CDATA свой скрипт. И вообще следуйте требованиям синтаксиса и структуры XML.
Тем не менее, вопрос о пространстве имён имеет значение при генерации элементов и атрибутов из пространства, отличающего от того, в котором находится глобальный контент (SVG, RDFa и т.п.).

Худший ответ: используйте document.body.addEventListener("DOMContentLoaded",()=>{
   let el=document.createElement("I");
   el.innerHTML="addedTag";
   document.getElementById("parent").appendChild(el);
},false);
и script внутри body
и<!DOCTYPE html>
Вопрос: Не работает skype

Лучший ответ: Удалите профиль скайпа в %APPDATA%\Skype, должно помочь.

Худший ответ: 1. Закрыть скайп из трея.
2. Убить процесс, если он есть
3. Запустить скайп снова.
Вопрос: Как найти хорошую компанию для доработки сайтов на Битрикс?

Лучший ответ: 1. Адекватный разработчик и компания не пойдет на такие условия, как работа без договора, ТЗ и предоплаты. 
2. Не существует такого человека, который одновременно знает на высоком уровне 1с, фронтэнд и бэкэнд Битрикса. Вам понадобятся минимум двое.
3. Недорогую и срочно- несовместимые понятия.
Скорректируйте запрос, исходя из реалий и тогда уже появится шанс найти разработчиков.

Худший ответ: vk.com/topic-23581648_24918623
Там второй коммент от Дмитрия Абашева, обратитесь к нему. Может сам возьмется, может посоветует чего. Сразу скажу, к нему я никакого отношения не имею, просто он помогал в ответах на многие вопросы, там в группе есть соотв. тема, и помогает очень многим, уровень знаний у него очень высокий.доработает сайт, сделает это максимально быстро (т.е. начнёт работать сразу при обращении, а не ждать подписания договора и поступления денег на счёт)
Вы уж простите, но ведь каждый должен перестраховаться. А вдруг Вы сбежите? Если что - заключайте рамочный договор и выпускайте к нему спецификацию, если знакомы с такой системой, если нет - пишите, поясню.
Вопрос: Существует ли уже аппаратный интерфейсный набор для взаимодействия с Android (печатная плата c интерфейсами и релюшками, входами для датчиков)?

Лучший ответ: Для переключения нагрузок:
www.aliexpress.com/item/16-CH-Ethernet-relay-board...,201527_2_3_2_1_5_4_71_72_73_74_75,201409_2
www.aliexpress.com/item/12V-4-Channel-Bluetooth-Re...,201527_2_3_2_1_5_4_71_72_73_74_75,201409_2
www.aliexpress.com/item/DC-5V-12V-24V-Bluetooth-Re...

Худший ответ: Ага + мониторинг удаленно через Инет. Присоединяюсь к вопросу.
Вопрос: DNS, каков порядок выбора ns записей клиентами?

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

Худший ответ: Погуглите round robin в применении к DNS. Полноценное НА через DNS не настроишь, ему плевать.
Вопрос: Интегралы и программирование?

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

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

Лучший ответ: Предложу свой вариант через массив:procedure TForm1.Button1Click(Sender: TObject);
var
  rect: array[0..2] of real;
  tmp, p, s: real;
  i: integer;
begin
  rect[0] := StrToFloat(Edit1.Text);
  rect[1] := StrToFloat(Edit2.Text);
  rect[2] := StrToFloat(Edit3.Text);

  if (rect[0] = rect[1]) and (rect[1] = rect[2]) then
    begin
      label1.Caption := 'Равносторонний';
      Exit;
    end;
  if (rect[0] = rect[1]) or (rect[1] = rect[2]) or (rect[0] = rect[2]) then
    begin
      label1.Caption := 'Равнобедренный';
      Exit;
    end;

  //сортируем массив
  for i := 0 to 1 do
    begin
      tmp := rect[i + 1];
      if (rect[i] > rect[i + 1]) then
        begin
          rect[i + 1] := rect[i];
          rect[i] := tmp;
        end;
    end;
  if (rect[0] > rect[1]) then
        begin
          tmp := rect[1];
          rect[1] := rect[0];
          rect[0] := tmp;
        end;

  if (sqrt(rect[0] * rect[0] + rect[1] * rect[1]) = rect[2]) then
    begin
      label1.Caption := 'Прямоугольный';
      Exit;
    end;

  if (rect[0] * rect[0] + rect[1] * rect[1] > rect[2] * rect[2]) then
    begin
      label1.Caption := 'Тупоугольный';
      p := (rect[0] + rect[1] + rect[2]) / 2;
      s := sqrt(p * (p - rect[0]) * (p - rect[1]) * (p - rect[2]));
      label1.Caption := 'Площадь: ' + FloatToStr(s) + #13;
      for i := 0 to 2 do
        label1.Caption := label1.Caption + FloatToStr(rect[i]) + #13;
      Exit;
    end;
end;

Худший ответ: Предложу свой вариант через массив:procedure TForm1.Button1Click(Sender: TObject);
var
  rect: array[0..2] of real;
  tmp, p, s: real;
  i: integer;
begin
  rect[0] := StrToFloat(Edit1.Text);
  rect[1] := StrToFloat(Edit2.Text);
  rect[2] := StrToFloat(Edit3.Text);

  if (rect[0] = rect[1]) and (rect[1] = rect[2]) then
    begin
      label1.Caption := 'Равносторонний';
      Exit;
    end;
  if (rect[0] = rect[1]) or (rect[1] = rect[2]) or (rect[0] = rect[2]) then
    begin
      label1.Caption := 'Равнобедренный';
      Exit;
    end;

  //сортируем массив
  for i := 0 to 1 do
    begin
      tmp := rect[i + 1];
      if (rect[i] > rect[i + 1]) then
        begin
          rect[i + 1] := rect[i];
          rect[i] := tmp;
        end;
    end;
  if (rect[0] > rect[1]) then
        begin
          tmp := rect[1];
          rect[1] := rect[0];
          rect[0] := tmp;
        end;

  if (sqrt(rect[0] * rect[0] + rect[1] * rect[1]) = rect[2]) then
    begin
      label1.Caption := 'Прямоугольный';
      Exit;
    end;

  if (rect[0] * rect[0] + rect[1] * rect[1] > rect[2] * rect[2]) then
    begin
      label1.Caption := 'Тупоугольный';
      p := (rect[0] + rect[1] + rect[2]) / 2;
      s := sqrt(p * (p - rect[0]) * (p - rect[1]) * (p - rect[2]));
      label1.Caption := 'Площадь: ' + FloatToStr(s) + #13;
      for i := 0 to 2 do
        label1.Caption := label1.Caption + FloatToStr(rect[i]) + #13;
      Exit;
    end;
end;
Вопрос: JS Слайд прокрутка по горизонтали и по вертикали

Лучший ответ: Если я правильно вас понял , то возможно вам поможет это: http://joelb.me/scrollpath/

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

Лучший ответ: Паттерн Singleton
1 объект сессии, возможность к нему обратиться практически с любого места в коде

Худший ответ: Мне кажется это вопрос взаимодействия объектов. По логике вещей одно соединение — одна сессия. Но могут быть нюансы. Например два потока: управления и данных. Устанавливаются одновременно, работают параллельно. Тогда должен быть один общий объект сессии для обоих соединений (поток управления может изменить сессию, а поток данных может зависеть от новых данных). Общий итог: мне кажется все зависит от реального применения.
Вопрос: Есть ли сервис или библиотека для составления предложений из слов?

Лучший ответ: Все зависит от того, какую конечную задачу Вы хотите решить.
Конечно, подобные алгоритмы и библиотеки есть - начиная от примитивных развлекалок: martynov.info/textgen (просто составляет куски фраз в случайном порядке - см код в исходнике страницы), до сложнейших научных работ www.siggen.org (это сайт группы компьютерных лингвистов).
Если хочется покопаться в теме NLG (natural language generation), начать стоит с алгоритмов генерации на основе цепей Маркова (неплохое объяснение основ - www.manhunter.ru/webmaster/358_generator_teksta_na... и сетей Байеса.
Если собираетесь глубоко погрузиться в эту тему, не обойдетесь без KPML -  www.fb10.uni-bremen.de/anglistik/langpro/kpml/READ...
www.nlg-wiki.org/systems - вот тут большой перечень разных систем для NLG. В частности, нашлась какая-то (похоже, заброшенная) система "Душка" - https://code.google.com/p/mindforth/wiki/RussMan
Возвращаясь к исходному вопросу про js-библиотеку - сам на js глубоко заниматься генерацией не пробовал, но нашел таких штуки:
https://github.com/NaturalNode/natural - библиотека (довольно низкоуровневая) для работы с натуральным языком (заявлена поддержка русского)
rednoise.org/rita - библиотека для работы с натуральным языком с приличной базой данных слов, синонимов и т.п. (только английский)

Худший ответ: Cоветую обратить внимание на словари тропов,  Бродского и так далее.
Это практически готовое решение, ничем не хуже специальных баз данных
Вопрос: Как тестировать вёрстку автоматически?

Лучший ответ: есть вот такая штука
galenframework.com
но я ее не осилил: для моих задач слишком навороченное. если будут по ней вопросы, мне лучше не задавать.
вот тут про них обзорная статья, если документацию читать долго
https://www.smashingmagazine.com/2015/04/visual-te...

Худший ответ: Попиксельное отображение? в том числе шрифтов?ну да, ну да))) А мобильную верстку как будете тестировать?
Вопрос: IOS приложение с HTML, необходимо загрузить данные со стороннего сервера?

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

Худший ответ: Сторонний сервер — вам подконтролен? Используйте JSONP
Вопрос: Как снять размеры с реальных зданий для последующего моделлинга?

Лучший ответ: google sketchup раньше был, потом вроде бы стал слегка платным, посмотрите.
Восстановление по фотографиям и данным с google maps. (Условно длина-ширина известны, по фото можно не сложно посчитать высоту +-
PS 10-20 сантиметров погрешности для измерения таких расстояний без проф оборудования - это не "примерные" - это охренеть какие точные!
PPS Не в обиду Вам - но решения для измерений и построения 3d моделей явно никто не будет делать на коленке во первых по причине отсутствия спроса, а во вторых по причине технической сложности решения

Худший ответ: Рабочее (но не проверенное пока) решение с использованием только фотокамеры и блендера описано вот тут: b3d.org.ua/forum/viewtopic.php?f=33&t=645&p=19433#...
Как проверю так отпишусь в ответах.
Вопрос: Программа для обучение печати на клавиатуре?

Лучший ответ: Программа для обучение печати на клавиатуре?
Если для обучения - Соло на клавиатуре.
Для прочих целей - куча их всяких.

Худший ответ: Да. Согласен с вами.
Но в этом случае искал именно, чтобы можно было книги импортировать.Rapid Typing называется, вспомнить никак не мог).
Вопрос: Что-то изменилось с публикацией топиков?

Лучший ответ: Благодарю посочувствовавших.

Худший ответ: Изменилось очень давно. Теперь во все блоги можно писать только с кармой больше пяти.
Из-за этого в вопросах постоянно появляются вопросы «Я только что зарегистрировался, а публиковать топики не могу. Откуда взять карму?»
Вопрос: Как правильно хранить ссылки на музыку в БД MySQL?

Лучший ответ: 1 таблица: альбомы - id | title
2 таблица: треки id | title | album_id
3 таблица: треки_to_альбомы track_id | album_id
Почитайте про нормальные формы.
И в 1 ячейке БД может быть только 1 единица информации (id, разделенные || - уже не 1 единица информации).

Худший ответ: А почему 3 таблицы, если можно две? Так лучше? Объясните, пожалуйста.
Вопрос: Печать документа

Лучший ответ: Читали эти 2 статьи?

Худший ответ: Чётных или нечётных! Гениально! Как я это не учёл… Спасибо обльшое!
Вопрос: Можно ли удалить 301-ый редирект в .htaccess после переиндексации новых URL?

Лучший ответ: а если редиректил на новый домен? Тут написано, что тиц при редиректе на новый домен передаетя через 1,5 месяца. Но видимо, он затем падает, т.к. если отказаться от старого домена на котором стоял редирект, то ссылающиеся на него ссылки с других сайтов будут битыми. Т.е. от старого домена не откажешься и на нем постоянно должен висеть редирект? или это не так?

Худший ответ: После переиндексации поисковиками сайта с новыми url,
записи 301-ого редиректа в .htaccess можно удалить? - конечно можно
Вопрос: Как динамически добавить новый объект используя jQuery объект?

Лучший ответ: Надо начать с того, что . appendChild - это нативный метод, а не метод объекта-jQuery

Худший ответ: $('div').append($(errorSpan));
А лучше сразу через jQuery создавать, а не через document.createElement
Вопрос: Как часто стоит прибегать к фреймворкам?

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

Худший ответ: случай когда он нужен: когда не можешь написать лучше, чем в готовых решениях  )))
Вопрос: Чем сгененировать словарь паролей из 00000000-99999999 комбинации под Linux?

Лучший ответ: В консолиseq -f "%08g" 99999999 > seq.txt

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

Лучший ответ: основная проблема в том, что вы, скорее всего, особо и не кодили, а уже ищете книги которые сделают ваш код "батьковским".
Не на то отвлекаетесь.
Сколько вы набрали рейтинга в TopCoder, CodeForce? 
В скольких проектах поучаствовали на GitHub? 
Почему вы решили что вы достаточно покодили?
Хотите читать книги и мечтать что код станет шикарен сам собой? 
http://пиши-код-блять.рф/

Худший ответ: еще стоит покопатся здесь shelfari дапустим, что там прочитал наш Martin Fowler )))