pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как включить ISPmanager?

Лучший ответ: Попробуйте так его запустить:

cd /usr/local/ispmgr/bin

./ispmgr


Худший ответ: Проще по ip/manager зайти. Там обычно не закрывают. 
А вообще есть смысл у хостера спросить — обычно у серверов есть хостнейм валидный ;)
Вопрос: Как связать AnularJs Route и Symfony Routing?

Лучший ответ: Несмотря на то, что в первом вопросе всё решили, оставлю своё решение первоначального вопроса.
Во-первых, мы просим ангуляр при запросах на сервер отправлять заголовок 'X-Requested-With':$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
Соответственно теперь на серверной стороне мы всегда знаем это первичная загрузка шаблона, либо запрос от ангуляра:if ($request->isXmlHttpRequest())
Если первичная загрузка, то отдаем базовый шаблон, например '::layoute.html.twig', в котором область под шаблон конкретной страницы обернута в ngView.
Если запрос от ангуляра, то обрабатываем запрос и отдаем подготовленный шаблон для втсавки в ngView.
Мы делаем так, потому что мы генерим шаблон на основании прав пользователя.
Данные для шаблона отдаем через ngInit.
Такая схема так же дает возможность достаточно просто работать с формами: генерировать со всеми нужными атрибутами, отправлять ангуляром в правильном виде симфони и соответственно выводить результаты обработки.

Худший ответ: Однажды у меня уже была такая идея, но после долгих размышлений на эту тему я понял, что этого не стоит делать вообще. А лучше разделить бекенд от фронтенда. Создавайте REST приложение. Т.е. фронтент это отдельное приложение на angular со своим роутингом, а бекенд, в данном случае написанный на symfony, реализация API. Но уже если будет крайняя необходимость использовать роут symfony в angualr есть FOSjsRoutingBundle
Вопрос: Зачем нужны бесконечные массивы Python?

Лучший ответ: Это не массив, это генератор. Схожесть его с массивом только то что и то и другое итерируемое.
Зачем нужны генераторы отлично на примерах объяснено тут www.diveintopython3.net/generators.html

Худший ответ: >>> from itertools import islice
>>> s = islice(xrange(100), 27, 40, 3)
>>> s
<itertools.islice object at 0x02618060>
>>> list(s)
[27, 30, 33, 36, 39]
И ещё почитайте про memoization, а также пару ссылок ниже:
https://github.com/brennerm/PyTricks/blob/master/c...
https://github.com/brennerm/PyTricks/blob/master/m...
Вопрос: Есть ли готовый javascript однорукого бандита, как на Яндекс.Погоде?

Лучший ответ: Слот машина называется, так гуглится намного лучше
jsdo.it/djankey/bwBi
jsfiddle.net/Uryay/6

Худший ответ: Сдаётся мне, что это самодельная хрень. Между прочим реализованная на JS. На крайний случай, можно самому накатать. Если JS не владеешь, то сам не накатаешь, надо спецов привлекать.
Вопрос: Вход на сайт через Facebook Oauth?

Лучший ответ: 4) Сказать, что пользователь с таким email уже есть. Предложить объединить. При согласии — спросить пароль. При отказе — попросить указать другой email и создать нового пользователя.

Худший ответ: Как заработать в интернете без вложений?
Вопрос: На чем стоит обратить внимание при организации сети на 150 машин?

Лучший ответ: Про Wifi посмотри в  сторону Ubiquiti UniFi, и не дорого и работает прилично. Единственное у нас партия тарелок бракованная попалась, около 13 штук по гарантии заменили.

Худший ответ: Без бюджета смысла особого нет.
Непонятна также планировка, для WiFi это важно.
Вообще Вам бы в контору обратиться, которая бы всё и сделала. Все косяки-то потом кто исправлять будет? А они точно будут, как ни старайся.
Наймите на удалёнку ведущего проект, который будет отслеживать и руководить процессом. А на месте уже можно и своими силами справиться. Эникейщик Вам в любом случае понадобится.
Вопрос: Что почитать для php senior developer?

Лучший ответ: Знаю только одну очень хорошую книгу: Мэтт Зандстра - PHP. Объекты, шаблоны и методики программирования (издание №3 2013 год).
Мне подарили в 2015ом, очень крутая книга для любого языка: Э. Гамма Р. Хелм Р. Джонсон Дж. Влиссидес - Приемы Объектно Ориентированного Проектирования

Худший ответ: Всегда советую "Чистый код" Боба Мартина. Примеры на Java, но суть общая. Эта книга в основном про подходы к стилю кода, нежели про шаблоны и мне она пригодилась больше, чем упомянутая книга Мэтта Зандстры.
Вопрос: Посоветуйте систему управления проектами/задачами

Лучший ответ: Из того, что пробовали, понравился Bacecamp - за счет возможности удаленного общения с командой и достаточно удобным интерфейсом.Trello  - хорош для стартапов из-за супер удобного интерфейса, возможности ассайнить таски, создавать проекты с чек-листами.Redmine - когда пользовались не были достойно реализованы гант чарты. Понравилась возможность ставить таски с дедлайнами. Удобные нотификации: можно быстро отследить, какие таски сейчас на тебе и какие по ним сроки.GanttPRO - интуитивный сервис для создания диаграмм ганта. Хорош возможностью делать критические пути, выделять критические зоны, фильтровать таски и экспортировать в XLSX, PNG. PDF, iCAL.

Худший ответ: Вдогонку ссылка на топик «Что мне нравится в Redmine» http://habrahabr.ru/blogs/pm/63724/
Вопрос: Galaxy S IV DUOS, найти информацию?

Лучший ответ: Ну с двухсимочными флагманами действительно проблема. Samsung например выпускает обычно вначале односимочные, а потом некоторые модели двухсимочные. Например Galaxy S3 он выпустил двухсимочный в виде Samsung Galaxy Grand Duos I9082 но это не полноценый S3 а его урезанная версия меньше ядер меньше разрешение и тд. Двухсимочные флагманы судя по всему делают только китайцы, но они по характеристикам всегда хуже топовых самсунгов и прочих.
Китайские двухсимочные флагманы:
jiayu g4, ZOPO ZP980, Xiaomi MI2S M2S
Все скоро выходят или уже есть но это чисто китайцы.

Худший ответ: А если так поискать ;) ?
Вопрос: Как в друпале, или в другой cms добавить кучу изображений одним кликом, и потом проставить им теги?

Лучший ответ: решение из коробки есть! прямо сейчас делаю такое) 
https://www.drupal.org/project/bulk_file_nodes
+ https://www.drupal.org/project/plupload

Худший ответ: Думаю, из коробки такого решения нигде не будет (но могу ошибаться).
Конкретно по друпалу - я как раз делал нечто подобное. Могу сказать, что готового модуля для этого нет, так что пришлось писать костыль самому.
Сделал я это примерно так: добавил 2 поля - одно с картинкой и виджетом множественной загрузки, другое - field collection (модуль добавляет новый вид сущности, к которой можно привязывать поля как к ноде, а сами эти сущности могут заносится в любое другое поле с типом Field Collection), потом в хуке сохранения ноды убирал картинки, добавленные в первое поле, и на каждую из этих картинок создавал новый fild_collection_item, заносил туда картинку и сохранял во второе поле.
Короче, путь не джедайский, но если не хочешь убить кучу времени, то, пожалуй, единственно возможный. Сейчас не знаю, откопаю ли весь код, который я писал, но что-то могу дать, если нужно.
Вопрос: Как правильно спроектировать протокол обмена данными между клиентом и веб-сервисом?

Лучший ответ: Во-первых, забудьте про XML, его придумали бюрократы. Вот пусть они его и используют в своих банках и налоговых. Для парсинга и кодирования JSON достаточно пары функций по 10 строк каждая. Для парсинга XML, даже если в нем пару значений, нужно подгружать монструозные библиотеки.

Во-вторых, раз уж вы делаете веб-приложение, используйте возможности протокола HTTP. Это значит идеология REST, а не RPC. То есть вместо каких-то там «процедур» или «функций», вы пляшете от объектов и стандартных действий. 
Например, у вас есть объект с идентификатором obj_id. Для любого доступа к нему используется URL вида

example.com/path/to/obj_id

Далее по этому URL-у возможны 4 действия (http verb):
GET example.com/path/to/obj_id — получить данные объекта
PUT example.com/path/to/obj_id — изменить объект
DELETE example.com/path/to/obj_id — удалить объект
POST example.com/path/to/ — создать новый объект в папке /path/to
GET example.com/path/to/ — получить все объекты в папке /path/to

В зависимости от результата операции, вы должны возвращать правильные коды ошибок (200 OK, 404 Not Found, 403 Forbidden и т.п.).

Параметры более сложных запросов идут как get-параметры, ну например
GET example.com/path/to/?search=blabla
 — искать объекты
Или можно часть параметров перенести в урл:
GET example.com/my/report/01.01.2011-31.12.2011/

Худший ответ: Я подумал было, что имеет смысл использовать для этого XML, ибо сейчас все так делают — наверно неспроста. Но, поизучав эту тему, понял, что при таком подходе принято и параметры запроса на сервер передавать в виде XML.

Не совсем понял как Вы себе представляете GET запрос на сервер с XML данными.
Ответ от сервера в виде XML — общепринятая практика. Используется в платежных системах повсеместно.
Вопрос: Нетбук: удобная клавиатура или более ёмкий аккумулятор?

Лучший ответ: хорошее время автономной работы всегда пригодится, а клавиатуре можно привыкнуть за месяц, какой бы она ни была :)

кстати, я нашёл фотки клавиатуры обеих аппаратов:
N148: pcshop.com.ua/newsblog/wp-content/uploads/2010/08/228030_3.gif
eM350: www.smart-shop.com.ua/components/com_virtuemart/shop_image/product/Acer_eMachines_eM350-21G25i__LU_NAH0D_066__2645.jpg

по-моему, они почти одинаковые, а стрелки даже у самсунга побольше.

Худший ответ: Выбирайте клавиатуру, не пожалеете. Нетбуки и так (у меня lenovo s9) не плохо держат заряд, а вот маленький размер клавиш, а тем более нерациональное их расположение, изматывает.
Вопрос: Как к option в select'e добавить data-type через билдер форм Symfony?

Лучший ответ: $builder->add('category', null, [
    'choice_attr' => function ($entity, $currentChoiceKey) {
        return ['data-type' => $entity->getType()];
    }
]);Источник

Худший ответ: Через опции формы.Через слушатель
Через опции формы:$this->createForm(new CategoryType(), $entity, array(
    // ...
    'data-type' => $entity->getType(),
));
//...

$builder->add('category', 'choice', array(
    // ...
    'attr' => array(
        'data-type' => $options['data-type'],
    ),
));
Через слушатель:use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
// ...

// $builder->add('category');
$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
    if (null === $entity = $event->getData()) {
        return;
    }
    // $event->getForm()->remove('category');
    $event->getForm()->add('category', 'choice', array(
        // ...
        'attr' => array(
            'data-type' => $entity->getType(),
        ),
    ));
});
Вопрос: Как восстановить пароль от скайпа зная имя пользователя и имея хеш сохранненый в локальном конфиге?

Лучший ответ: До переустановки винды я копировал папку %appdata%\skype
Уже на новой возвращал ее обратно. И скайп нормально запускался, даже история подтягивалась.

А потом поменять почту можно даже не зная пароля.

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

Лучший ответ: Privoxy же!

Худший ответ: на свой домашний линукс-сервер ставите ClearOS 5. Там реализован весь необходимый функционал и управляется всё это через отличный веб-интерфейс. Фильтровать по регэкспам можно только на прикладном уровне, а это прокси и только прокси. В ClearOS установлен сквид в качестве прокси и DansGuardian в качестве фильтра, поддерживается прозрачный режим, браузеры настраивать не придётся, управляется через тот же фирменный веб-интерфейс.
Вопрос: Важно ли знание английского языка в программировании?

Лучший ответ: Да, и чем дальше в лес тем больше нужно.

Худший ответ: Про английский Вам уже ответили. и он нужен не для того, что бы осваивать язык программирования, а для того, чтобы: 
- читать спецификации
- свободно читать документацию на используемые библиотеки/фреймоворки
- искать ответы на форумах и т.д. 
Разговорный в данном случае, вторичен, но это не значит, что на него надо забивать. 
Java проще, у нее ниже уровень вхождения, по сравнению с C++. Но если все таки планируете в будущем программировать под iOS, Mac OS, то изучайте паралельно C. Лучше сперва без плюсов. Потом уже C++.
Вопрос: Шаблоны для интернет магазинов?

Лучший ответ: Посмотрите на themeforest.net/

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

Лучший ответ: По хабру habrahabr.ru/post/140980/

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

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

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

Лучший ответ: .data(nodes, (function (d) {...}).bind(this))
хотя те же яйца, только в профиль. В ES6 будут стрелочные функции с сохранением контекста, аналогично кофе, но вот только не скоро это будет.

Худший ответ: По другому получить нужный this, увы, не получится. Сохраняйте заранее. Ну или если хочется забыть про такие костыли, я например, пишу на CoffeeScript. В нем есть синтаксический сахар, специально для этого случая, и не надо писать кучу лишнего
Вопрос: Автозакачка торрента?

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

Худший ответ: Либо вот: habrahabr.ru/blogs/i_am_advertising/88114/
Либо это: habrahabr.ru/search/?q=torrent+rss
Вопрос: Как сделать последовательность массивов?

Лучший ответ: как-то так:$str = '';
$isRange = false;
for( $i = 0, $length = count( $myArray ); $i < $length; $i++ ) {
	if( isset($myArray[ $i + 1 ] ) ) {
		if( $myArray[ $i + 1 ] == $myArray[ $i ] + 1 ) {
			if( $isRange ) {
				continue;
			}
			$str .= $myArray[ $i ] . '-';
			$isRange = true;
		}
		else {
			$isRange = false;
			$str .= $myArray[ $i ] . ',';
		}
	}
	else {
		$str .= $myArray[ $i ];
	}
}
echo $str;

Худший ответ: Вот что у меня получилось, через разницу между числами и количеством пройденных элементов$myArray = Array(1,2,3,4,6,7,8,10,11,13,14,15,17,19);
	
	$num = current($myArray);
	$difference = $elements = 0;
	$result = Array();
	
	foreach ($myArray as $k=>$v) {
		$prev = $k>0 ? $myArray[$k-1] : 0;
		$difference += $v - $prev;
		$elements++;
		
		if ($difference > $elements) {
			$result[] = $num . ($elements>1 && $prev ? '-' . $prev : '');
			$num = $v;
			$difference = $elements = 0;
		}
	}
	
	// также добавить последний элемент или разницу между ним и последним запомненным
	$result[] = $num . ($elements>1 && $v ? '-' . $v : '');
	
	echo implode(',', $result);
Вопрос: Как обновить большой объём данных?

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

Худший ответ: Можно, конечно, запомнить id юзера, на котором скрипт вылетел по таймауту и при ошибке перезапускать его, начиная с этого айдишника, ну, при условии, что айдишники упорядочены. Но это какое-то извращение :)
Вопрос: Какие есть cloud ide, сравнимые по функционалу с PHPStorm?

Лучший ответ: никакие

Худший ответ: Я использую на своем сервере (в докере ) https://c9.io/
Вопрос: Какое оборудование выбрать для серверной в доме: D-Link, TP-Link Cisco, HP или др?

Лучший ответ: цена/качество лучше микротика не найти.

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

Лучший ответ: Можно, вот так:
gis.stackexchange.com/questions/31628/find-points-...
Если бы у вас была база, которая полностью поддерживает геопространственные функции (то есть умеет проецировать географические координаты в плоские прямоугольные, например) это было бы проще.

Худший ответ: Если есть координаты текущей точки и ближайшей станции метро - то прямой путь можно найти  методами школьной геометрии.  Если нужен путь по улицам - через API карт.
Вопрос: Какой используется ОКВЭД для получения денег из Appstore?

Лучший ответ: ОКВЭД для получения денег не используется. ОКЭДЫ — это условный перечень видов деятельности, которыми Вы планируете заниматься. Он ни к чему не обязывает и ни на что не влияет. Кроме случаев когда деятельность указанная в них подлежит сертификации или какому-либо лицензированию, но и это важно только в случае если вы этой деятельностью реально занимаетесь.

Вам следует задавать вопрос «Как объяснять налоговой и фин.контролю (в худшем случае) природу поступления денег из-за бугра?»

Худший ответ: 2-е, первое вообще к Вам не относится, AppStore не Вам же принадлежит
Вопрос: Сколько живут SSD?

Лучший ответ: Двухлетний Inter X25-M 80GB на win7x64 показывает 97% здоровья при 13984 часах работы и записанных 9.30 TB (потолок у этого ssd 50TB). Работаю с графикой. Оптимизацию не проводил. Раз в неделю trim. Иногда чищу от всяких бесполезных файлов, типа кэша и временных файлов.

akhkharu, берите, это полезная штука, но как наркотик, слезать на hdd не захочется.

Худший ответ: OS X Lion, Safari, Skype, Linkinus/Textual, Sparrow, Osfoora, mongodb, redis, git, Rails (via Pow), Node, etc.

Macbook 2008 (SSD поставлен год назад) — пока что с ним все хорошо.

Macbook Air 2011 (Изначально приобретен в сентябре 2011, мною куплен б/у где-то месяц назад) — тоже все ок.
Вопрос: Стоит ли смотреть чужой код, разбирать и затем воспроизводить его самому на память для учебы?

Лучший ответ: В таком подходе один большой минус: вы никогда не узнаете почему автор написал именно так. Код обычно составляет ~25% всех знаний автора. И возможно, что к именно такому решению он пришел только после 10 разных прототипов. Либо учите теорию, чтобы была полная картина в голове, либо так, как хотите вы. Но это получается зубрежка и прокатит только на экзамене.

Худший ответ: Сделай по другому. Напиши некий набор тестов, которые проверяют выполнение задачи, решенный тем кодом, который ты хочешь "заучить". Потом напиши кондовое, костыльное, но свое решение этой задачи проходящее набор написанных на предыдущем этапе тестов. Сравни эти два решения. Попробуй понять, почему автор сделал так а не иначе. Чем твое решение хуже или лучше. Сделай выводы разнице и сходстве.
В чем плюс - ты учишься придумывать свое решение для задачи. К сожалению не все и не всегда придумано за нас и гугл не всегда всемогущ. В чем минусы - ты можешь писать отвратительные тесты по своей лени и можешь писать не менее отвратительный код, расчитанный только на прохождение этих тестов. К примеру захордкодить входные данные и ответы на них. Правда как по мне во многих простых задачах проще написать нормальное решение чем хардкодить данные.
Если речь идето стиле кода - тогда надо не переписывать код по памяти, а просто учавствовать в жизни соответствующего проекта. Тебе по пальцам настучат за кривую стилистику, не переживай.
Вопрос: Атака на сессию в интернет банке

Лучший ответ: Кража cookie, например.

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

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

Худший ответ: Использую оба. Использование того или иного зависит от сложности кода. Но больше «в обороте» — Пишу много кода, потом проверяю все сразу — т.к. «отладочный лог» никто не отменял.
Вопрос: Как оптимизировать скорость рендера haml?

Лучший ответ: N+1, pagination, кэширование. Кэширование наибольший прирост.

Худший ответ: Сделал кэширование части шаблона с таблицей, стало на порядок быстрее конечно, но все равно не радует.
Очень нравится RoR, писать на нем это чистое удовольствие.
Но нормальная ли ситуация, когда таблица из 50 элементов рендерится 200мс? Неужели он настолько медленный? И это при том, что запросы в бд занимают меньше 5мс. Дополнительных запросов цикл точно не создает
Вопрос: Где разместить самописные Java скрипты для круглосуточной работы?

Лучший ответ: Вам нужно сделать исходящий http-запрос согласно API VK, который выполняет соответствующие методы. Чтобы круглосуточно - покупайте дешёвый ВПС (firstvds.ru, primahost.info), ставьте на него java этот крутящийся скрипт. 
Имхо, проще это сделать на РНР.

Худший ответ: 2. Попробуйте платформу Heroku.
Вопрос: Voyager-1 уже вышел за пределы солнечной системы?

Лучший ответ: Официальный анонс отсутствует скорее всего потому, что у солнечной системы нет чёткой границы — они сами не знают, вышел или нет.
Именно поэтому они и выставили счётчик на сайте, мол смотрите сами и сами для себя решайте.
А пока есть вероятность, что какой-нибудь признанный учёный возьмётся опровергать подобное заявление, NASA его (заявление) не сделает.

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

Лучший ответ: musicdsp.org и евонный форум, и e-mail рассылка.
На русском — любая книжка по цифровой обработке сигналов даст нормальную базу.

По вашей ситуации алгоритм такой:
микрофон(звук)=>АЦП(цифровой массив)=>оконное FFT(массив комплексных чисел)=>массив амплитуд(массив действительных чисел)=>относительная частота максимума=>частота максимума=>нота

Для вашей ситуации нужно знать api снятия звука с микрофона. Api будет выдавать порции звука кусками, допустим, по 1024 float'а. (При частоте дискретизации 44100 это будет 44100/1024 = 43 миллисекунды).
К этому куску нужно применить оконное быстрое преобразование Фурье (FFT), поищите где-нибудь нормальную статью, в котором оно объясняется (пригодится книжка по цифровой обработке сигналов). В интернете есть куча библиотечных функций.
Чтобы знать, что преобразование вообще делает, советую поставить Adobe^W Audition^W бесплатный аудиоредактор со спектроанализатором и посмотреть, что делается со звуком разных нот, на что влияет размер окна и т. п. Мозг сам по себе тоже работает со спектром, а не с самим сигналом, поэтому интуитивно все понимается на ура.

У FFT, чем больше данных, тем большее спектральное разрешение. Для нужного разрешения, может быть нужно FFT'ить 8192 байта, или около того. FFT выдаст массив из 8192 комплексных чисел, модуль каждого из этих чисел даст амплитуду спектра. При этом значения 4096-8191 будут зеркальной копией 0-4095, такова особенность алгоритма. У комплексных чисел можно получить амплитуду, фаза в данном случае не нужна, а амплитуда — sqrt(re^2+im^2). Ну а дальше поиском максимума в массиве.

Максимум будет относительной частотой (массив-то 0-4095, а частоты 0-44100/2). Чтобы перевести абсолютную в относительную, нужно по пропорции умножить на 44100/8192. Т.е. на частоту дискретизации деленную на размер окна FFT. И теперь перевести частоту в ноту. Там экспоненциальная зависимость (частота следующей ноты выше частоты предыдущей в корень двенадцатой степени из двух), с помощью таблички вида (A4 440; A#4 465.96] найти ближайшую не сложно.

Худший ответ: Спасибо большое!
Вопрос: Как выловить клик по :before/:after части элемента?

Лучший ответ: никак, ловить клик на сам спан

Худший ответ: Вот так пробовали? Я правда не силен в js, но вдруг сработает$(document).on('click', '.selector', function () {
  alert('click');
})