pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Что-то простое для создания форм с записью в MS SQL Server?

Лучший ответ: Так может наваять форму в Access, зацепившись к базе MSSQL из Access?

Худший ответ: Посмотрите в сторону LightSwitch
Вопрос: Инструмент описания бизнес-процессов с целью подготовки ТЗ для программистов

Лучший ответ: сначала нужно определить, каким образом лучше всего представляются ваши бизнес-процессы. Модель моделирования бизнес-процессов. Ну и потом найти для нее лучший инструмент.

Я бы посоветовал UML+любую рисовалку, которая его умеет. Программисты привыкли к UML, он будет бесить их меньше всего. 
Magicdraw, Visio… большинство хороших рисовалок — платные, но часто для них существуют бесплатные вьюеры, поэтому на программистов не обязательно покупать еще сотню дорогущих лицензий.

Еще, программистам удобно думать в терминах отдельных фичей и блоков, а менеджерам напротив удобней нарисовать весь процесс одной огромной монолитной диаграммой. Если разрабатывать модель процессов с нуля, можно попробовать держать в уме еще две вещи: разделение на подзадачи и приоритеты этих подзадач для реализации. Может здорово понизить риск, когда программисты сами начнут breakdown'ить то, в чем еще не до конца разобрались ;)

Худший ответ: Нарисовать схему процесса можно в облаке, в https://storm.bpmn2.ru
Вопрос: С чего начать web разработчику ?

Лучший ответ: Когда я решил попробовать себя в этой сфере,  я накидал себе план обучения.  Что то типа  html > css > js > php. Ну разумеется для начала общие сведения обо всем этом. Так как вообще не понимал что и для чего.  Потом много смотрел видео уроков и сам тренеровался. Научился делать (как мне тогда казалось) интернет магазин и пошел устраиваться на работу. Взяли стажером и оказалось что я очень мало знаю. Мало из того что я учил мне пригодилось. На практике все оказалось немного иначе.  Я проработал там пол года, затем ушел в другую компанию (более крупную) с мыслью "ну теперь то я кое что могу). И придя на новое место снова оказалось что я совсем новичок. так как инструменты которые тут использовались были другими. Я менял еще несколько мест, каждый раз находя более профессиональный коллектив.  И каждый раз узнавал много нового.  Я к тому что самый лучший способ научиться делать хорошо - работать с теми, кто лучше вас. Это конечно может быть сложно,  но это будет в десятки раз продуктивнее, чем развиваться самому.

Худший ответ: язык C#, фраймворк ASP .NET MVC. Полно книг, примеров и учебного материала.
Вопрос: Какие есть специализации у Java программиста?

Лучший ответ: Ну, в общем их не так много:
* Веб. Java EE, сервлеты, портлеты, JSF, JSP, Spring, hibernate, вот это всё...
* Десктопная. Консольные и оконные приложения, Swing, JavaFX, что там ещё модно?
* Мобильная (Android, про JavaME не вспоминаем). Моя любимая. Читать здесь.
Вроде ничего не забыл, но может кто дополнит. Ах да, вот - внутри сим-карты есть JVM, там тоже Java код выполняется, и кто-то его пишет :)

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

Лучший ответ: Для очистки пустого пространства советую sdelete /z или cipher /w.
Насчет личной информации советую еще подумать. Количество мест в системе, где остаются те или иные следы, исчисляется десятками. И с каждой версией Win это количество увеличивается. :)

Еще совет — перед зачисткой снять образ и сохранить на некоторое время. Ну и раз тут присутствует паранойя — после зачистки перед продажей еще один образ.

Худший ответ: Данные и операционка храняться на разных разделах? А то загрузился с live-cd линуха, dd-шнул раздел, пересоздал его — и пусть потом пытаются что-то восстановить…
Вопрос: Пoдскажите сервис/CRM для жильцов одного дома?

Лучший ответ: По личному опыту - все эти сайты "жильцов одного дома" нафиг не нужны никому кроме 2-3-n человек активистов и сотрудников . Если очень хочется - сделайте группу в vk. Все равно умрет, но по крайней мере сэкономите кучу времени.

Худший ответ: Для того, что вы описали, лучше всего создать форум. Просто сделать регистрацию закрытую, чтобы в  информации о пользователе житель вводил свое имя. Чтобы вы его потом нашли :)
А сервисов очень много, на которых можно создать свой форум 
mybb.ru
rusff.ru
www.forum2x2.ru
Вопрос: Обязан ли гражданин РФ соблюдать законы РФ находясь за её пределами?

Лучший ответ: Нет, в описанной ситуации человек не может быть привлечён к ответственности. Если законы страны пребывания не считают это преступлением или правонарушением, то гражданство роли не играет.

Обычно в законах и кодексах указывается место и время действия закона (например, статьи 9-13 УК РФ или статьи 1.7-1.8 КоАП РФ) и теоретическая возможность, но не более чем теоретическая (доказать деяние, которое совершено и законно на территории другого государства, вне юрисдикции следствия, почти невозможно).

Худший ответ: Вообще он обязан соблюдать только законы того государства, на территории которого находится. Но есть особые категории граждан и различные исключения. О границах области действия обязательно написано в самых первых статьях любого закона. 
Возьмем УК:
Статья 11. Действие уголовного закона в отношении лиц, совершивших преступление на территории Российской Федерации.
Статья 12. Действие уголовного закона в отношении лиц, совершивших преступление вне пределов Российской Федерации
В 12-й статье говорится про военнослужащих, проходящих службу за пределами РФ, а также про преступления против РФ или против граждан РФ, совершенных за пределами РФ.
Вопрос: Вирус на сайте, как полностью убрать?

Лучший ответ: Самое главное, пароли сменили?

Худший ответ: Скорее всего на сайте установлен nulled версия какого-то плагина. Посмотрите на наличие картинок большого размера в папке с таким плагином, вот как раз в них может быть шелл.
Если хостинг VPS, то скорее всего зловред уже добавил ключи для доступа к хостингу по SSH, так что может даже смена паролей не поможет.
Вопрос: Установка дистрибутива Linux на Android плеер

Лучший ответ: Любой не думаю что подойдет. Ищите убунту под ваш проц, если умельцы портировали…

Худший ответ: я пробывал на iconbit toucan w ставить через Complete Linux Installer. Но ядро остается от андроид и аппаратная поддержка видео кодеков не работает.
Вопрос: Почему в книге Шилдта по java 8 от 2015ого года (издание 9) до сих пор много упоминаний про аплеты/сервлеты?

Лучший ответ: Книга Шилдта - это справочник по Джаве, а не по тегам HTML5. Значит, раз Джава до сих поддерживает аплеты/сервлеты, то Шилдт об этом пишет.

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

Лучший ответ: А вы случайно не сидите на SATA2 вместо SATA3.

Худший ответ: Я не сталкивался но сказать могу только одно- надо искать на оф. сайте или гуглить, находить драивер для него.
Вопрос: Блого-социальная сеть с нуля, с чего начать и на чем начать?

Лучший ответ: Правильное ли я направление выбрал?
Не очень могу себе представить как ответить на этот вопрос. Вы сами-то как думаете?Хочется написать свою блого-социальную сеть, можно сказать, что для практики.
Если для практики - наверное да, направление отчасти верное, но смотря для какой практики... практики написания собственного велосипеда или практики написания проекта на PHP или практики создания структуры соц.сети?
Как только ответите себе для какой практики вы хотите это все делать - ответ на ваш вопрос будет готов на 85%. ;)Стоит писать на PHP или все же что-то нужно другое?
Ответ на этот вопрос вы так же сможете получить, ответив на вопросы выше. Если вам нужен PHP, то вопрос отпадает сам собой, если нужна практика создания соц.сети, то выбирайте тот инструментарий (php, ruby или .net) в зависимости от того, что вам потребуется в дальнейшем или к чему душа лежит более, ибо тут советовать бесполезно. У каждого из озвученных ЯП есть множество достоинств и недостатков, каждый из них предназначен для схожих задач, но все они отличаются как по сложности (удобству), так и по предпочтительной сфере применения. 
Это оставшиеся 15% ответа на ваш вопрос.

Худший ответ: Я сомневаюсь, что вы так сходу без знания того, что такое фреймворк сразу потянете написание блого-социальной сети. Ставьте лучше перед собой более реалистичные задачи, результат которых скажем можно уже пощупать через пару недель работы. И главное - чтобы процесс разработки ощущался как наркотик, чтобы хотелось больше и больше написать. Тогда получатся интересные вещи, а не очередной банальный 'Hello world' на суперсовременных технологиях.
И да, если встал вопрос о языке, то без грамотного ментора лучше не смотреть на PHP. Обратите лучше внимание на Python или RoR, там отсутствует тяжелое наследие быдлокодинга.
Вопрос: Как натянуть html шаблон на joomla?

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

Худший ответ: Попробуйте JBlank.pro - он недавно обновился. Подойдет для разработки своего шаблона с чистого листа.
Вопрос: Некорректное отображение ошибок ASP?

Лучший ответ: Ошибка выполнения Microsoft VBScript ошибка '800a000d'

Несоответствие типа

Сделал тут.

По поводу «побороть» — извините, не знаю.

Худший ответ: Спасибо :)
Вопрос: Как динамично подключать LESS файлы / какой командой можно откомпилировать.less файл из javascript?

Лучший ответ: А вы не пробовали сначала почитать? 
Что такое less (sass, stylus и и.д.) ?
Как с ним работать?
Сначала стоит использовать google - что такое less
А дальше уже почитать про gulp или программы prepos, koala, codekit (mac)

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

Лучший ответ: Отдербаньте от этого патч-корда одну пару и используйте её для подачи тока на реле. Зачем огороды городить?

Худший ответ: Могу предложить что-то типа роутера WR703n и управление по web (можно даже реле через питание USB). Простой кнопкой на другом конце не обойтись, т.к. управление через web.
Либо не привязываться к LAN и работать с реле по радиоканалу, у китайцев есть решения.
Вопрос: На чем зарабатывают сайты скидочных купонов?

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

Худший ответ: > На чем зарабатывают сайты скидочных купонов

На тех, с кем договорились о купонах — на них и зарабатывают. Плюс к этому, на сайт можно навешать кучу полезняшек типа базы знаний или социальной сети, и рубить еще с этого.

> и как раскрутить такой сайт в одном из регионов России?

нанять человека, шарящего в раскрутке. «Хочешь всю жизнь продавать сладкую водичку, или хочешь изменить мир?» ;)
Вопрос: Насколько выгодно работать удалённо с заказчиками из Германии?

Лучший ответ: Я пробовал. Пока не было ни одного клиента из Германии. Большинство немецких компаний ищет сотрудников в офис. То ли им так больше нравится, то ли есть более близкие контрактники из стран еврозоны (так им несколько проще и/или понятней в плане налогового законодательтсва и расчетов). Но что точно, так это то, что немецкий язык понадобится. Только с английским наняться можно только с релокацией и работой в офисе, если компания уж очень сильно вас хочет. Погуглите по "Remote Arbeit für Programmierer"

Худший ответ: Была на отдыхе в Германии и английский там знают хорошо, откуда у вас таки сведения, что они плохо им владеют?)
Вопрос: Какие существуют русскоязычные онлайн университеты?

Лучший ответ: Вот здесь есть список отдельных курсов.
А так тоже прохожу курсы на Coursera (там есть и на русском) и Edx. Сертификаты с этих курсов, имхо, скоро будут котироваться больше, чем дипломы наших средненьких ВУЗов.

Худший ответ: Бесплатных российских не очень много. Есть Universarium.org  и universitetbezgraniz.ru. Остальные не рекомендую.  Более-менее полный список можно посмотреть здесь. Если мы говорим именно об университетском образовании. Из платных качественное онлайн-образование предлагает uniweb.ru – по окончании получаешь реальный документ от вуза.
Вопрос: Использование облака для брутфорса паролей rar архива?

Лучший ответ: у тебя какая видеокарта? Попробуй перебрать пароли на GPU?

типа того:
www.howinthetech.com/using-your-gpu-to-crack-rar-archive-passwords/
forum.ru-board.com/topic.cgi?forum=5&topic=30518

3000 паролей в секунду, твой пароль можно будет покрякать на одном компьютере за 1000 часов, т.е. всего за месяц. Арендовать на пару дней загнивающий компьютерный клуб — и дело в шляпе.

> Надо доказать руководству что передавать документы в архиве с 10-значным паролем состоящим только из цифр небезопасно.

надо доказать руководству, что политика безопасности, зависящая от длины ключа в rar-архиве — это наркотический бред :)

Худший ответ: Задумывался о взломе RAR с помощью распределенных вычислений достаточно давно — но тогда не нашел.

Можете попробовать посмотреть cRARk — консольная программка для перебора с поддержкой GPU. Обещают скорость перебора около 2400 в секунду. Есть версия с GUI, но сильно платная.
Вопрос: В двух словах, что такое БЭМ?

Лучший ответ: БЭМ - это такая методология вёрстки от Яндекса. Она подразумевает разбиение страниц на отдельные смысловые блоки (комментарий, пост, заголовок, футер, форма, инпут и т.п.). Каждый блок может состоять из других блоков. Основная идея - как можно больше повысить возможность повторного использования уже написанных блоков, для чего используются модификаторы. Плюс, БЭМ подразумевает отказ от каскадных стилей, потому что они препятствуют повторному использованию.
Например, на странице есть два разных заголовка (например, отдельно в статье, и отдельно во врезке). Как все привыкли делать это? есть код заголовка:<h1 class="header">Заголовок</h1>
И мы ставим эти заголовки в текст статьи и во врезки:<article class="article">
    <h1 class="header">Заголовок</h1>
    <p>Текст текст текст</p>
</article>
<aside class="incut">
    <h1 class="header">Заголовок</h1>
    <p>Текст текст текст</p>
</aside>
Тогда обычно мы используем каскад, чтобы стилизовать заголовок во врезке:.header {font-size: 2em; padding-bottom: 1.5em;}
.incut .header {text-decoration: italic;}
Всё хорошо, но теперь мы не можем просто перенести эти стили заголовка во врезке в другое место, потому что эти стили привязаны именно ко врезке (классу incut). Плюс, что ещё хуже, если к элементу привязано несколько различных стилей, образующихся подобными каскадными правилами, то перенести такой внешний вид в другое место становится очень трудоёмко. А также, из-за большей специфичности каскадных стилей, их сложнее "перебить" новым стилем.
БЭМ предлагает отказаться от каскадных стилей и создавать отдельные стили-модификаторы:<article class="b-article">
    <h1 class="b-article__header">Заголовок</h1>
    <p>Текст текст текст</p>
</article>
<aside class="b-article b-article__incut">
    <h1 class="b-article__header b-article__header_incut">Заголовок</h1>
    <p>Текст текст текст</p>
</aside>.b-article__header {font-size: 2em; padding-bottom: 1.5em;}
.b-article__header_incut {text-decoration: italic;}
Чем больше проект, тем выгоднее использование подобной методологии. На маленьких и средних проектах БЭМ может быть избыточен. Хотя вот была статья habrahabr.ru/company/yandex/blog/234905 про использование в маленьких проектах.
БЭМ может использоваться самостоятельно, вручную создавая все элементы и блоки. Но существует обширный инструментарий для БЭМа, который помогает создавать библиотеку элементов и блоков.
Ну вот. Получилось не в двух словах, но менее подробно качественно описать БЭМ не получится, имхо.

Худший ответ: Вот сделал для себя выжимку по БЭМ - Скачать в формате pdf
Вопрос: Какой счетчик установить для сайта-визитки?

Лучший ответ: Да метрики от Яндекса за глаза хватит. Настройте цели и вперед.

Худший ответ: А я уже ответил: piwik )
Вопрос: В какой последовательности пишете JavaScript код?

Лучший ответ: Код должен читаться как рассказ — сверху вниз. За каждой функцией должны следовать функции следующего уровня абстракции. Это позволяет читать код, последовательно спускаясь по уровням абстракции в ходе чтения списка функций.
Это выдержка из «Чистого кода» Мартина.
Сначала идет функция с высоким уровнем абстракции. В ней вызываются функции с меньшей абстрактностью. Эти вызываемые функции описываются следом за вызывающей.

Худший ответ: Я вот любой код пишу от начала к концу этого самого кода.
"написать все функции в начале документа, а потом уже их инициализировать " - это как? В JS есть инициализация функций?
Вопрос: Как удалить определенную букву из ссылки?

Лучший ответ: По-моему, надо так(Обновил)

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

Лучший ответ: В dataProvider содержится объект класса ActiveQuery, Вы его сами туда записуете, вот там и нужно указать условие, например:...
'query' => Post::find(['user_id' => 1]),
...

Худший ответ: попробуйте просто отфильтровать $model
например:<?= ListView::widget([
    'dataProvider' => $dataProvider,
    'itemOptions' => ['class' => 'item'],
    'itemView' => function ($model, $key, $index, $widget) {
        
        $newModel = array_filter($model, function($obj){
            if($obj->post_author  == 'vasia')
                return true;
        });

        return $this->render('_list', ['model' => $newModel]);
    },
]) ?>
Вопрос: Как сделать так чтобы страница после нажатия на ссылку не перезагружалась?

Лучший ответ: В вашем случаи, когда контент подсасывается ajax-сом, вам надо вешать клик на ссылку вот так:$(document).on('click', '.news h2 a', function(){
    	$(this).parent('h2').parent('.news').children('.text_from_news').slideToggle();
      return false;
});
Этот обработчик будет учитывать все ссылки удовлетворяющие селектору в том числе и добавленные динамически на страницу, а ваш вариант как раз ловит только ссылки, которые находились на странице изначально.

Худший ответ: Тоже таким интересовался))
Что указать в атрибуте href="", чтобы ничего не происходило?
Вопрос: Одноразовые специалисты выгодны компаниям?

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

Худший ответ: Либо ищут идеал, либо такой стиль управления... Се ля ви. Искать работу в другой компании.
Вопрос: Что означает 2 знака доллар?

Лучший ответ: Переменные переменных

Худший ответ: то же что и${$key}
Вопрос: GTK2 для идиота

Лучший ответ: Посмотри вот здесь:http://symmetrica.net/gtk/

Худший ответ: Рекомендую для начала ознакомиться с туториалом и погонять редактор glade (что-то вроде студийных формочек). В принципе там всё достаточно просто и логично, единственное, надо помнить о асинхронной природе X11.
Вопрос: Что поставить на компьютер бухгалтера для безопасности?

Лучший ответ: Подскажите ка лучше организовать защиту бухгалтерского компа на win xp ?От чего защищать собрались?вводить в домен или нетЭто зависит от организации вашей сети.
Введение в домен само по себе никак не влияет на безопасность.
Ну и вообще о какой безопасности может идти речь, если на компьютере бухгалтера стоит операционная система давно снятая с поддержки?

Худший ответ: Поставить Windows 8.1
Вопрос: Редирект в папку для субдомена через RewriteRule

Лучший ответ: Я вот так всегда делаю.

RewriteEngine On


RewriteRule ^market/ - [L]
RewriteCond %{HTTP_HOST} ^market\.site\.ru$
RewriteCond %{DOCUMENT_ROOT}/market%{REQUEST_URI} -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R,L]
RewriteCond %{HTTP_HOST} ^market\.site\.ru$
RewriteRule (.*) market/$1 [L,QSA]


RewriteRule ^market/ - [L]
RewriteCond %{HTTP_HOST} ^www\.market\.site\.ru$
RewriteCond %{DOCUMENT_ROOT}/market%{REQUEST_URI} -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R,L]
RewriteCond %{HTTP_HOST} ^www\.market\.site\.ru$
RewriteRule (.*) market/$1 [L,QSA]


Худший ответ: Нет, нужно работать на той же CMS.

Решение уже нашли — написал в посте с вопросом.
Вопрос: Как поднять ИТ инфраструктуру правильно?

Лучший ответ: 70 000 рублей сейчас это не то что не серьезно это такая домашняя инфраструктура школьника.

Худший ответ: 70 тысяч не хватит даже на голое железо. Точнее может конечно хватить (на какое нибудь г... типа Supermicro), но надо смотреть что уже есть, возможно что то удастся задействовать. Из софта в таких условиях видимо всё придется делать на бесплатном Линуксе, а серверную Винду продайте и купите второй сервер. В общем проще сразу уволиться ;-)
Варианта пойти по пути использования Виндовс не вижу, разве что получится куча нелицензионного софта. А это такая угроза бизнесу, что лучше сразу уволиться ;-)  Недавно в родственной поддерживаемой мной конторе был визит с целью проверки Лицензионности ПО, короче контора можно сказать чуть не обанкротилась. Короче в "моей" конторе решили заказать мне аудит ПО и частичное лицензирование/замену ПО на бесплатное. Такие дела... У нас получилось 150 тысяч - замена компов с устаревшими ОС, и еще столько же на Софт...
Вопрос: Какие есть хорошие сервисы/книги по которым можно научиться делать отличные сайты на php, наверняка есть такие?

Лучший ответ: Давайте разберемся! Сайт это стек технологий а именно фронтенд, бэкенд. Php серверный язык программирования освоив его досконально, вы сможете писать серверную часть сайта в этом вам помогут уроки от Специалист`а (курс от МГТУ им Баумена) совет вникайте в них доконца выполняйте все примеры и пока не дослушаете все до последней минуты последнего урока не смотрите в сторону фреймворков. Когда освоите полностью язык фреймворки пойдут с полтычка. Что касается фронтенд htmlbook, wisdomweb ну и прочие ресурсы, а так же курс все от того же Специалист`а по html и css. Удачи)

Худший ответ: Давайте разберемся! Сайт это стек технологий а именно фронтенд, бэкенд. Php серверный язык программирования освоив его досконально, вы сможете писать серверную часть сайта в этом вам помогут уроки от Специалист`а (курс от МГТУ им Баумена) совет вникайте в них доконца выполняйте все примеры и пока не дослушаете все до последней минуты последнего урока не смотрите в сторону фреймворков. Когда освоите полностью язык фреймворки пойдут с полтычка. Что касается фронтенд htmlbook, wisdomweb ну и прочие ресурсы, а так же курс все от того же Специалист`а по html и css. Удачи)
Вопрос: Мультимедийные клавиши в Linux, клавиатура OCZ Alchemy Elixir I (Решено)

Лучший ответ: Для нее нет линуксовых драйверов, и непохоже чтобы кто-то их писал.

Нужно погуглить, как писать ядро и драйверы линукса, и написать собственнный драйвер. 
Эта клавиатура основана на Monterey K3805 Pro Gaming Keyboard, и возможно где-то в сети есть если не ее собственные спеки, то спеки прародителя.

Еще есть вот такая забавная прога: keytouch.sourceforge.net 
Может, можно намутить что-то на ее основе.

В следующий раз стоит вначале гуглить о совместимости оборудования с линуксом, а потом только покупать. Sad but true.

Худший ответ: Попробуйте sven — sven.linux.kiev.ua/
Вопрос: MySQL — выборка из нескольких таблиц

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

Худший ответ: SELECT * FROM films as f
LEFT JOIN films_desc as fd in (fd.film_id=f.id)
LEFT JOIN films_rank as fr in (fr.film_id=f.id)
WHERE f.id = 1;

Вполне нормально должно работать.
Вопрос: Как писать автоматические тесты для десктопных приложений?

Лучший ответ: Тесты можно сделать с помощью скриптов на Autoit. Он поддерживает нажатия на контролы, манипуляции курсором мыши, ввод текста/чисел в поля, отслеживает появления окон, может писать информацию в логи и еще многое чего. Язык в принципе не сложный, если разберетесь — может здорово пригодиться.

Худший ответ: Еще есть Autohotkey — довольно продвинутая. У меня друг на ней ботов пишет )

Для enterprise уровня можете посмотреть на CodedUI. Там и интеграция в TFS, MSBuild со всеми вытекающими.