pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Софт для интернет-магазина?

Лучший ответ: Добрый день. Попробую поделиться собственным опытом.
Если у вас период становления, и товары вы будете покупать не в Китае контейнерами, то склад вам не нужен. Учет товаров тоже особо не нужен. Т.к. скорее всего вы будете перепродавать товары, купленные у российских представительств фирм (я знаком только с тематикой бытовой техники лакшери класса).

Их политика такова, что они сами не торгуют в розницу, а снабжают свою диллерскую сеть. Поэтому вы избегаете затрат на аренду склада и закупку больших партий товара. При поступлении заказа связываете с поставщиком, уточняете наличие, связываетесь с покупателем, если он подтверждает заказ, едете на склад представительства, покупаете за нал, либо переводите деньги по безналу, и забираете товар. При таком ведении бизнеса, в качестве учета товаров подходит обыкновенный xls документ, и его дублирование на бумажный носитель. Безнальные счета выставляются по шаблону (в том же xls), чеки при наличной продаже делаются на кассовом аппарате, к которому так же по шаблону печатаем счет фактуру. Но этот способ ведения бизнеса не правильный, в чем-то неудобный, но при небольших объемах вполне приемлемый.

Если хотите делать все «как положено», то 1С вам очень пригодится. Если у вас будет склад, то нужна редакция 1С «Управление торговлей ». Рассказывать об устройстве программы не буду, наверняка сами видели ее возможности.

По поводу кроссплатформенности. Решение — установка 1С на сервер и удаленный доступ к нему с любой машине. Таким образом, можно юзать ее хоть с мака хоть с линукса. Плюс программа будет доступна с любого компьютера. По крайней мере, мы альтернатив 1С не нашли.

О каком взаимодействии сотрудников идет речь? В принципе если они все сидят в одном офисе — то проблем никаких нет. Спросили что нужно вербально. С курьером связь по мобильнику. 

CMS магазина в таком случае должна интегрировться с 1С, чтобы на сайте велся учет количества товаров. Если заморочиться, то можно сделать и интеграцию заказов тоже.

Я конечно слегка сумбурно изложил, но для подробного ответа маловато вводных. Надеюсь, что хоть как-то помог.

Худший ответ: Порекомендую — 1С:Управление торговлей, 11 редакции. У неё, вроде, ориентация работы в вебе. Вот тут online демонстрация. 
 Софт в аренду кучу народа предлагает, вот первые кого нагуглил.
Вопрос: Высшее образование: вечернее vs дистанционное

Лучший ответ: Мои примеры, конечно, очень гуманитарные, но раз уж вы сказали, что «любым комментам»:

У меня родственница училась дистанционно на богослова в ПСТГУ, если не ошибаюсь. Ей процесс нравился. Временами было очень напряженно, из-за высокой нагрузки на работе до диплома дело не дошло, но она всё равно осталась довольна. Были разные онлайн конференции, контрольные в реальном времени и пр. Из очевидных недостатков только необходимость установить IE, иначе их сайт не работал.

А сестра учится на вечернем психфака МГУ. Лекции, семинары, сессия — всё как у «дневников». Преподаватели даже говорят, что вечерники им нравятся больше (студенты более взрослые и сознательные). Но учёба идёт после работы, у многих уже нет сил удерживать внимание на лекциях.

Мне лично кажется, что живое общение с преподавателями, а что ещё важнее — со студентами играют решающую роль. Я бы советовал вечернее отделение родного ВМК МГУ, или мехмата. Я два года отучился на ФЗИ РГГУ — там тоже не плохо, если есть желание учиться.

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

Лучший ответ: В строках храните, выберите чар, фиксированный. Мускул вполне хорошо переваривает строки фиксированной длинны

Худший ответ: может crc32(id)?
Вопрос: Определить пользователь ли запустил скрипт?

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

Худший ответ: https://docs.python.org/2/library/getpass.htmlimport getpass
current_user = getpass.getuser()
Но для целей безопасности использовать это нельзя, т.к. проверяются переменные окружения, которые легко подделать.
Вопрос: Как хранить данные пользователя?

Лучший ответ: Вам все-таки придется искать конкретно данные по указанному пользователю, а значит вам придется завести соответствие user_id <-> data.
Сделайте таблицу с 2мя столбцами:
* ключ user_id
* data (BLOB, сжатый текст)

Худший ответ: Если количество данных, которые будет вводить пользователь не будет постоянно расти, то просто создаешь таблицу в БД, в которой id пользователя будут соответствовать его данные, сохраненные в отдельных полях, чтобы в дальнейшем их оттуда было легче получить, а не каждый раз брать все данные из одного поля и разбирать. Конечно все еще зависит от самой задачи, нужно ли будет эти данные потом редактировать, обновлять и удалять. 
Если этот блок данных может увеличиваться, то лучше создать две таблицы - первая для пользователей, если ее еще нет, а вторая для самих данных, например с полями: id - user_id - data_name - data-value (т.е. 4 поля в таблице), где id - номер записи, user_id - номер пользователя, data_name - название значения (время, число и тд. Но лучше тут тоже писать id, а само название хранить в отдельной таблице), data_value - значение для конкретного пользователя.
Вопрос: Какие ОКВЭД нужны для интернет-магазина?

Лучший ответ: 52.61.2 – как основной
72.60 – можно добавить независимо от товара который продаете.

Вот эти коды охватывают, почти все товары. Так что и их тоже можете добавить:
52.1. – Розничная торговля в неспециализированных магазинах
52.4. – Прочая розничная торговля в специализированных магазинах

И все. Этого достаточно.

Худший ответ: Обращаю внимание новоприбывшим!
В 2016 году классификация кодов ОКВЭД изменилась!
Вопрос: Как разобрать код на Python?

Лучший ответ: s = 6
result = 1000 * 1000
N = int(input()) # получаем ввод с клавиатуры и приводим к целому числу
prev_min = [0] * s # при s = 6, [0, 0, 0, 0, 0, 0]
prev_min[0] = float(input()) # первый элемент списка из 6 элементов делаем равным float(ввод с клавиатуры)
for i in range(1, s) # от 1 до 5
  # запись в i-ячейку меньшего из ввода с клавиатуры и предыдущего элемента списка
  prev_min[i] = min(float(input()), prev_min[i-1])

for i in range(s, N): # от 6 до N-1
  next_num = float(input()) # ввод с клавиатуры приводим к float
  # присваиваем минимальное из result и произведения next_num * prev_min[i % s]
  # i % 2 - остаток от деления = проверка числа на чётность
  # 3 % 2 = 1, 5 % 2 = 1, 6 % 2 = 0, то есть индекс всегда будет 0 или 1
  result = min(result, next_num * prev_min[i % s]
  # присваивание в prev_min[0/1] минимального из prev_min[0/1] и next_num
  prev_min[i % s] = min(prev_min[(i - 1) % s], next_num)
print(result) # вывод результат

Худший ответ: Насчет четвертой строки - получается список
>>> s=6
>>> prev_min = [0] * s
>>> prev_min
[0, 0, 0, 0, 0, 0]
Вопрос: Развивается ли MonoDeveloper на Linux?

Лучший ответ: может время сменить не ОС, а работу? )

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

Лучший ответ: Обмануть все подобные фильтры очень легко - сделайте продукт таким образом, чтобы пользователь хотел помочь вам с монетизацией. Все остальные способы просто помогут улучшить качество фильтров рекламы.

Худший ответ: У подобных фильтров есть свои алгоритмы, которые отслеживают запросы с социальных сетей и рекламных бирж, откуда распределяется реклама, отслеживается в какой блок вставляется информация по этим запросам и скрывает данные блоки. На 100% запретить пользователю скрывать какой-то элемент нельзя, так как в подобных фильтрах предусмотрена ручная блокировка, которая позволяет скрыть любой элемент на веб сайте.
Вопрос: SQL UPDATE с регулярными выражениями

Лучший ответ: Вот так дложно работать везде:

UPDATE table SET field = REPLACE(field, '123', '456');

А если нужны именно регулярки, то в Postgres же вроде бы есть regexp_replace.

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

UPDATE table
SET field = CONCAT('456', SUBSTRING(field, 4))
WHERE field LIKE '123%';

Но опять же, это только если заменять нужно точно известную подстроку.
Есил заменять нужно в середине, тоже можно выкрутиться с помощью SUBSTRING_INDEX() или LOCATE().
Между прочим, решение без регулярок будет быстрее, чем с ними, и, к тому же, универсальнее. А следовательнее, его лучше предпочесть, если это возможно.
Вопрос: Какую литературу приобрести?

Лучший ответ: 1) линейная алгебра и выч. геометрия;
2) начала комп. графики: www.amazon.com/Fundamentals-Computer-Graphics-Pete...
3) конкретно по OpenGL: www.amazon.com/OpenGL-Programming-Guide-Official-L...
4) книгу по механике, ну или главы по механике из учебника по физике для ВУЗов;
5) по звуку книгу не подскажу, современные звуковые API для игр и прочей виртуальной реальности (т.е. где важна поддержка 3D) - OpenAL (кроссплатформеное), XAudio2 (винда).

Худший ответ: dmkpress.com/catalog/computer/programming/python/9...
это 100% пригодится
по играм не подскажу
Вопрос: Публичный сайт flask?

Лучший ответ: app.run(host='0.0.0.0') запуставит Flask слушать 80-й порт на всех IP адресах, которые есть на Вашем компьютере. Видимость сайта для интернета зависит от кофигурации Вашей сети и услуг, которые предоставляет Ваш провайдер.
Если ноутбук подключён к роутеру, то нужно настроить на роутере проброс 80-го порта на ноутбук. Кроме того, убедиться, что провайдер предоставляет Вам «белый» IP-адрес (обычно это дополнительная услуга).

Худший ответ: 0.0.0.0 приравневается к 127.0.0.1, локальному хосту. Подставьте интерфейс, который смотрит во внешнюю сеть и получите доступ из вне:app.run(host='192.168.1.1')
Вопрос: Как грамотно сформировать структуру проекта на PHP?

Лучший ответ: Если хотите написать свою ORM, то возьмите пару уже готовых из каких-нибудь фреймворков, посмотрите как они устроены, возьмите лучшее из них и напишите свою). Еще рекомендую почитать вот эту книжку Фаулера www.williamspublishing.com/Books/5-8459-0579-6.html , главы 3, 9, 10 - там именно то, о чем вы спрашиваете.

Худший ответ: https://github.com/tonydspaniard/yiinitializr-basic скачайте, установите, используйте. фреймворк на php.
Вопрос: Вывод данных из БД через pdo?

Лучший ответ: Как я использую PDO. Создаю файл dbсonnection.php и помещаю следующий код$host = 'localhost';
	$database = 'dbname';
	$user = 'user';
	$pass = 'root';

	$dsn = "mysql:host=$host;dbname=$database;";
	$options = array(
	    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
	    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
	);
	$pdo = new PDO($dsn, $user, $pass, $options);
Как можно заметить, PDO::FETCH_ASSOC будет по умолчанию для всего. Очень удобно + редактировать проще.
Затем создаю функцию. Вот ваш пример:function user() {
  global $pdo;
  $stmt = $pdo->query('SELECT * FROM users');
  $data = $stmt->fetchAll();
  return $data;
 }
 $datas = user();
 var_dump($datas);
UPD. №1: Решение задачи. Можно через функцию как выше, можно и без функции. Решайте сами$stmt = $pdo->query('SELECT * FROM users');
$data = $stmt->fetchAll();

Худший ответ: включите сперва все логи, может нет соединения к базе и слово use зарезервированное. старайтесь `экранировать` все поля и названия таблиц
пс. через PDO не лучше. она более тупорылая. лучше писать свой враппер и в него инжектить свой спецефический драйвер.
Вопрос: Дублирующий DHCP сервер, возможно ли?

Лучший ответ: не претендую на исчерпывающий ответ, но
первая же ссылка по запросу
Высокодоступный DHCP
interface31.ru/tech_it/2015/07/nastraivaem-vysokod...

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

Лучший ответ: Лично мне хватает freelancer.com А с индусами/китайцами не нужно конкурировать, у них своя ниша — минимальная цена и примерно такое же качество. Когда заказчик идёт к ним — он или этого не понимает (скоро поймёт), или его это устраивает. Допускаю, что бывают исключения, но всё равно думаю, что демпинговать не стоит, это притягивает именно любителей низкой цены с соответствующим отношением к исполнителю.

Худший ответ: а open-source разный бывает, или вы думали что выучите понтовую джангу и на вас сразу работа накинется?
по факту — можешь искать любую SEO конторку и предлагать им свои услуги, у них часто проблемы с IT персоналом и на крупные работы они не подвязываются, так, странички заверстать, картиночки поправить, модуль в ЦМС поставить ну итд
Вопрос: Sublime3 — Как открыть несколько вкладок в одном окне?

Лучший ответ: Попробуйте дважды кликнуть по названию фала в сайдбаре

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

Лучший ответ: Вот был вопрос в QA «Бесплатные CMS для интернет-магазина» с 12-ю ответами на текущий момент

Еще здесь: habrahabr.ru/qa/4860/ (7 ответов)
habrahabr.ru/qa/3192/ (13 ответов)
habrahabr.ru/qa/2175/ (6)
И по теме туда же: habrahabr.ru/qa/740/

Худший ответ: я пользуюсь shopos. Использует smarty-шаблоны
Вопрос: Методы оптимизации AngularJS?

Лучший ответ: меньше длительность $digest цикла - выше производительность и отзывчивость системы. Количество ватчеров к слову тут не причем. Только время за которое они все выполняются влияют (у вас может быть один ватчер который делает что-то сложное, и тысяча простых справятся быстрее).
В целом же... все что связано с обработкой данных (фильтрация коллекций, формирование других коллекций и т.д.) должно выполняться в сервисах (ну или на худой конец в контроллерах).
При выводе больших часто меняющихся коллекций использую track by (весьма редко на самом деле, только когда DOM часто перерисовывается).
Во вью же все должно быть максимально просто, декларативненько, никаких дико ужасных условий. В целом при грамотной архитектуре проблем с производительностью не много.
Ну и опять же. Никаких преждевременных оптимизаций. Запустите профайлер, найдите узкие места и тогда только думайте.

Худший ответ: В моей практике самые большие проблемы с производительностью возникали из-за того, что я забывал делать отмену watch и bind событий при уничтожении директив. Нужно делать scope.$on('$destroy', function() {}); Если такие директивы попадали в большие ng-repeat браузер иногда просто умирал.
Добавлю, что у Angular есть настройка, которая по дефолту делает возможным получать scope из DOM элемента и добавляет классы типа ng-scope, ng-isolated-scope. Это может быть полезно при разработке и тестировании, но для продакш версии лучшее ее отключить, это немного улучшить перфоманс.myApp.config(['$compileProvider', function ($compileProvider) {
  $compileProvider.debugInfoEnabled(false);
}]);
Подробнее: https://docs.angularjs.org/guide/production
Вопрос: AngularJS + ui-router открытие модального окна в виде отдельного роута

Лучший ответ: Смысл путей в том, что перейдя по определённому пути пользователь получит определённую страницу. Если же ваш `/find` в одном случае строится над `/contacts`, а в другом - над чем-то другим, то это не путь, а ерунда какая-то. А если пользователь обновит страницу браузера, что тогда?
Вам лучше комбинировать пути. Например, со страницы `/contacts` открывать страницу `/find/contacts`. Ну или `/contacts/find`, если так удобнее. Это будет та же страница, что и `/contacts`, но с открытым модальным окном.

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

Лучший ответ: Алгоритмы - это алгоритмы.
Java - это язык программирования. 
Не надо путать тёплое и мягкое.

Худший ответ: какие именно алгоритмы вы имеете в виду?
Вопрос: Вывод средств со счета Paypal на расчетный счет компании (ООО)

Лучший ответ: Сегодня корпоративный счёт в Пэйпале на практике приравнивается к обычным счетам. В процессе регистрации и подтверждения вашего статуса как юрлица, вы привязываете его к своему расчётному счёту в банке, куда вручную сможете отправлять поступающие средства. Обычно это занимает от двух до пяти дней, ну, если только на праздниках может затянуться.
Специальный статус электронного счета проявляется, правда, в том, что вы не можете с него расплачиваться с другими организациями, а также действуют ограничения на размер разовых платежей и остатка на счету. Почитайте пункты про юрлиц в Пользовательском Соглашении.
Кроме того, при открытии счёта на организацию, электронного или банковского, Налоговую и фонды больше уведомлять не нужно. Банк (или небанковская кредитная организация) теперь обременены это делать вместо вас :-)
Актуально на март 2015. Удачи!

Худший ответ: Как вариант — с некоторых пор paypal в России вроде подпадает под КЭСП (корпоративное электронное средство платежа). Т.е., по сути приравнено к расчетному счету (отсюда и обязанность уведомлять ФНС, ФСС и ПФ об их открытии). Т.е. вы можете просто начать учитывать все поступления на ваш бизнес аккаунт и считать их в целях налогообложения. Правда, если у вас были поступления уже и сроки уплаты налогов по ним прошли, тогда надо что-то придумывать. Поэтому «показывать прибыль налоговой» можно уже сейчас :)

Что касается перевода именно на расчетный счет — тут, наверное, вариантов много, не особо глубоко paypal пользую. По-моему напрямую перевод на произвольные реквизиты юрлица он не позволит сделать. Как вариант (не берусь сказать что он оптимальный, но сразу в голову пришло) — открываете на юрлицо корпоративную карту, туда кидаете деньги с пейпэла, а потом с карточки себе на расчетный счет. Никаких налогов в результате этих манипуляций не возникает, т.к. все счета принадлежат вашему юрлицу.
Вопрос: Есть идея, простая как валенок, с чего начать?

Лучший ответ: Сколько раз я слышал слова один-в-один.
Люди, зная, чем я занимаюсь, подходят советоваться: «Как делаются сайты?», «Что нужно для этого?».
При этом говоря туманно, боясь проговориться про свою замечательную идею.
В тех случаях, когда мне удавалось узнать, что хотят сделать люди, обычно оказывалось, что идея уже реализована, просто люди об этом не знали. 
Так что советую сначала узнать — не сделал ли уже кто-нибудь тоже самое, просто действительно новых идей очень мало.

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

Лучший ответ: Две простые истины:

1. Чем больше на сайте уникального текста, тем лучше
2. Чем больше внешних ссылок на сайт, тем лучше.

Сеобубнопляски:

1. Пишешь много текстов с плотностью ключевых слов 2-4%, чем больше напишешь статей, тем лучше
2. Оптимизируй код, прописывай все альты, титлы, мета теги
3. Пиарся в соц. сетях в соответствующих группах, жж, твитере и т.п. Оставляй ссылки.
4. Порыщи по тематическим форумам, оставляй ссылки и там.
5. Можно закупить ссылок и статей с ссылками на sape.ru, seopult.ru, liex.ru 
6. Можно также пустить директ, адвордс, бегун, есть очень дешевые ключевики по центу
7. Можно закупить баннеров, опять же, есть много недорогих, например на rotaban.ru

Чем выше у сайты пузомерки (тиц и pr), тем ценнее с него ссылка, также покупай ссылки с тематических сайтов. Ссылка с сайта о носках не дает ничего хорошего для авто сайта. Оставляй ссылки так, чтобы это не выглядело как спам. На сеопульте есть бесплатные курсы, если ты из Москвы, можешь пройти их очно в аудитории, там расскажут основы. Крутые темы никто не спалит, либо за отдельные деньги (я таких не знаю, меня не спрашивайте). И не переборщи с покупкой ссылок, делай все плавно, аккуратно. 

Почитай руководство от яндекса, книги ашманова, searchengines.ru, особенно форум.
И старайся делать все по белому, никаких дорвеев, спамов и т.п.

Это все в кратце. Подробности, понятное дело в гугл. Если что не понятно, спрашивай, либо меня, но лучше гугл. Успехов.

Худший ответ: Добавлю к предыдущему комменту еще, кнопки на соц. сети, такие как «Мне нравиться». Это конечно не seo, ну есть возможность «продвинуть проект в массы». В случае с интересным контентом, посещаемость и узнаваемость можно очень не плохо повысить.
Вопрос: Второй сайт на Bitrix?

Лучший ответ: Как создать копию сайта но уже на новом домене. 
На том же сервере, но на новом доменном имени? Если да, то просто прописываете DNS запись на текущий ip адрес.
Если же нужно сделать копию на отдельном сервере, т.е. чтобы было два независимых сайта, то лицензия такого не позволяет. Нельзя что бы было два ядра на одной лицензии.UPDATEoleg_severniy: Тогда другой вопрос, если я куплю лицензию, то как мне перенести дизайн и функционал первого сайта на мой?
Ключевой момент - будет ли он на отдельном сервере? Если, да то тогда делаете бэкап сайта, разворачиваете его на новом сервере, берёте новый ключик лицензии и вставляете его в файл /bitrix/license_key.php. В итоге получаете старый сайт на новом хостинге с новым лицензионным ключом.

Худший ответ: Тогда другой вопрос, если я куплю лицензию, то как мне перенести дизайн и функционал первого сайта на мой?
Вопрос: Как структурировать свои репозитории на ГитХабе?

Лучший ответ: Довольно извращенный вариант, но все же.
Создаете один репозиторий (по сути - категорию). С помощью submodules добавляете свои репозитории, подходящие под эту категорию, в этот репозиторий и push'ите на Гитхаб. Вот вам и папка, содержащая кучу других папок, которые ссылаются на Ваши репозитории на Гитхабе. Для еще большего удобства можете создать отдельную организацию, чтобы не засорять список своих репозиториев еще одним репозиторием-категорией :)

Худший ответ: Удаляйте, раздавайте, переносите в тематические организации.
Вопрос: Какой кэш посоветуете использовать для PHP-FPM?

Лучший ответ: А что вы кэшировать собираетесь?

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

Лучший ответ: С помощью jQuery можно сделать что-то такое: $("body").on("contextmenu", "img", function(e) {
  return false;
});
Но защититься от сохранения изображений нельзя в принципе. В крайнем случае я могу сделать скриншот и вырезать нужную мне картинку.

Худший ответ: В css для DIV background image укажите
Вопрос: Предложение по покупке схожего домена

Лучший ответ: А давайте по каждому спам-письму от китайцев/нигерийцев создавать топики и вопросы!

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

Лучший ответ: В win7 есть встроенный problem steps recorder. (psr.exe)
 — записывает нажатия клавиш и клики мышью, смену окон и т.д.
 — для каждого события делает скрин
 — делает отчет в конце

проработает ли оно 12 часов — не знаю

Худший ответ: попробуйте Refog Keylogger