Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: На чем писать странички с SQL запросами?

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

Худший ответ:
Поддержу Даша Циклаури. 
Если у вас развернута БД Oracle и есть строгое требование создавать приложения именно на основе этой БД (к примеру в вашей компании ERP-система на базе Oracle), а так же  нет опыта в создании веб-приложений, то ничего лучше Oracle Application Express (Apex) вам не найти.
Это бесплатный фреймверк от самой Oracle для быстрого создания полноценных web-приложений. Сам Apex очень тесно интегрируется с базой и добавляет очень незначительный оверхед к выполнению запроса. По сути, вы все время имеете дело с SQL и PL/SQL и практически не отвлекаетесь на сам "web".  Apex предоставляет набор современных тем (обеспечивающих единый дизайн для всего приложения), в том числе адаптированных для мобильных устройств, так что если вам просто нужно выводить определенные отчеты на основе данных в базе, вы за час можете сделать полноценное web-приложение, с аутентификацией/авторизацией (в том числе SSO), современным интерфейсом и богатыми возможностями по выборке/фильтрации данных. Если же в вашем приложении помимо отчетов должна выполняться какая-либо бизнес-логика, то вы просто описываете ее на PL/SQL в соответствующем пакете/пакетах и потом в Apex просто пишите вызов функций из этих пакетов (SQL и PL/SQL - можно писать и в самом Apex, но это плохо с точки зрения дальнейшей поддержки). Если на определенном моменте вам будет не хватать функциональности из коробки, то вы легко можете расширять ее до бесконечности, самостоятельно или же при помощи сторонних дополнений.
В общем Apex отличный выбор если ваши безнес-процессы завязаны на инфраструктуре Oracle и вам нужно быстро создавать качественные приложения на основе имеющихся данных для использования внутри компании/предприятия.
Если же ваша цель изучить основы web-разработки на примере текущих задач, то не стоит привязываться к конкретной БД. Сейчас web-приложения должны уметь взаимодействовать с различными системами хранения, за частую с разными видами одновременно. Поэтому обычно персистентный слой прячут за сервисным, который предоставляет единое АПИ для получения данных из различных источников. В данном контексте наиболее разумно на стороне backend'а создавать сервис который будет принимать http-запросы от клиентских приложений и в зависимости от запроса выгружать соответствующие данные из хранилища/хранилищ данных и возвращать в виде http-ответа, например в формате JSON или по WebSocket'ам или SSE (Server-Sent Events). Клиенты же могут быть как JS-приложениями, так и мобильными приложениями или другими сервисами.
P.S. посмотреть, что из себя представляет Apex и потренироваться в создании приложений вы можете совершенно бесплатно, зарегистрировавшись на https://apex.oracle.com
Вот здесь можно подобрать книгу для изучения Apex:
www.oracle.com/technetwork/developer-tools/apex/ap...
Вопрос: Помогите пожалуйста узнать мошенники или нет

Лучший ответ:
Давайте я отправлю Вам сканы пасспорта и водительских прав любого человека, и ссылку на фейсбук дам (там будут реальные фотографии этого человека) а Вы мне вышлите через вестерн юнион 300 баксов?:)

Худший ответ:
habrahabr.ru/blogs/infosecurity/131305/

Если уж такое делают, то и то, что описали вы тож больше похоже на развод.
Вопрос: Можно ли считать это задание «тестовым»?

Лучший ответ:
Задание в общем-то не сложное,  если использовать генератор админки и ORM в каком-нибудь популярном фреймворке, однако не понятно стоит ли овчинка выделки.
Я вообще ни разу при устройстве на работу не писал тестовых заданий.

Худший ответ:
Вполне себе обычное тестовое задание.
При использовании фреймворка yii с кодогенератором gii или giiant даже кода писать почти не придется.
Вопрос: Какие требования должны предъявляться к разработке мобильного приложения?

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

Худший ответ:
А зачем такие подробности? Внутреннюю архитектуру и спецификации к API по идеи должен описать тех.лид или ответственный разработчик - им виднее,  а так вы можете написать такое, что на практике придется переделывать.  
Для небольшого приложения: рисуем прототипы, делаем описание элементов к ним, описываем общие требования (цели, задачи, термины и т.д) требования к безопасности, тех. платформе (верхний уровень), ну соответственно эргономика, юзабилити, что получаем/что отдаем, администрирование и т.д.
Вопрос: Выбор hdd, raid0 из двух hdd(5400) vs один hdd(7200)?

Лучший ответ:
RAID0 из 2х5400 удвоит производительность одного диска на 5400 rpm, но будет примерно на 50% быстрее по скорости передачи, чем 7200. Но при этом медленнее на 30% во времени доступа (это очень важно), и других ттх (например, чем выше количество пластин, тем ниже производительность). Их тоже нужно учитывать. Также нужно учитывать формфактор и размер кеша (Вы это не указали) -- 2,5" 5400 диски медленнее в скорости передачи данных, чем их 3,5" братья. 
К тому же один диск тише, чем два, да и потребляет меньше энергии. И к одному 7200 можно в дальнейшем купить второй. Я бы предпочел 7200.

Худший ответ:
raid0 будет быстрее
Вопрос: Как переключать рабочие столы Windows 10 тачпадом?

Лучший ответ:
Софт для биндов, как оказалось, называется regedit :)
В ветке реестра HKLM\SOFTWARE\Synaptics\SynTPPlugins\SynTP\ хранятся действия по ID, назначаемые жестам.
Свои добавить у меня не получилось, из тех что есть наименее полезны курсорные клавиши (23-26). Комбинация клавиш хранится в KeySequence, в двух плагинах меняем это значение на 0x30115b25 и 0x30115b27 (ctrl+win+стрелки влево и вправо).
Затем идем в пользовательские настройки в ветке HKCU\SOFTWARE\Synaptics\SynTPимя-подключения-и-девайса\3FingerGestures, меняем значения ActionID3 и ActionID7 (свайп вправо/влево соответственно) на ID изменных плагинов.
Чтобы применить изменения, надо остановить службу и убить все процессы драйвера, вот однострочник на powershell:Stop-Service "SyntpEnhService"; kill -name SynTPEnh; kill -name SynTPHelper; Start-Service "SynTPEnhService"

Худший ответ:
Четырьмя пальцами влево-вправо
Вопрос: Flash жив. Или вещи, которые нельзя сделать на Javascript

Лучший ответ:
>Flash жив
Как и Цой с Лениным.

1 и 5 реализуются через HTML5 Filesystem API, пока только в Хроме.
2, 4, 6 придет с ie10, а за ним везде.

А во Flash уже ничего не придет, кроме пушного зверька и хорошего кранслятора в HTML5. Вот кстати и пушной: goo.gl/zLVld

Худший ответ:
Доп вопрос, чисто случайно один флешер спросил и я не нашелся что ответить:
закидывание ресурсов в swf и передача одного большего файла вместо сотен мелких?
Вопрос: Работа с путями в SQL. Есть простой способ?

Лучший ответ:
SELECT CONCAT(SUBSTRING_INDEX(SUBSTRING_INDEX('/a/b/c/110/h4eheh.jpg','/',-2),'/',1),'_somestring.',SUBSTRING_INDEX('/a/b/c/110/h4eheh.jpg','.',-1)) as image
для понимания откуда что взял, вот "исходник"SET @q = '/a/b/c/110/h4eheh.jpg';
SET @a1 = SUBSTRING_INDEX(SUBSTRING_INDEX(@q,'/',-2),'/',1);
SET @a2 = SUBSTRING_INDEX(@q,'.',-1);
SELECT @q, CONCAT(@a1,'_somestring.',@a2),@a2

Худший ответ:
explode по /, потом  взять только последний и третий от конца, потом обратно склеить через GROUP_CONCAT.  
в принципе ничего не мешает поправить функцию, чтобы сама и склеивала обратно.
Вопрос: Можно ли добавить на bxslider animate.css?

Лучший ответ:
Нашел решение, если кому пригодится$(".bxslider").bxSlider({
    startSlide: 0,
    onSliderLoad: function () {
        $(".title").addClass("animated bounceInRight");
        $(".text").addClass("animated bounceInRight");
    },
    onSlideAfter: function(){
        $(".title").addClass("animated bounceInRight");
        $(".text").addClass("animated bounceInRight");
    },
    onSlideBefore: function(){
        $(".title").removeClass("animated bounceInRight");
        $(".text").removeClass("animated bounceInRight");
    },    
});

Худший ответ:
Для решения данной задачи есть два пути. Так как animate.css работает с помощью добавления классов, вам нужен плагин для слайдера ( если вы его используете), который позволят отлавливать события: когда слайд стал активным (чтобы добавлять класс animate) и когда слайд перестал быть активным (чтобы удалять эти классы для срабатывания анимации второй раз). Это был первый вариант. Второй вариант написать такой плагин самому.
Вопрос: Где в Laravel хранить вспомогательные функции?

Лучший ответ:
Для Laravel 5 нет смысла использовать отдельный класс для валидации (как это было в L4).
В L5 существую ValidatesRequests трейт, который можно использовать в контроллерах, и тогда появляется метод validate.
А еще лучше, использовать кастомный FormRequest класс для валидации данных.
Т.е создаем класс Http\Requests\UpdateUserProfile и наследуем его от Request.
В UpdateUserProfile прописываем 2 метода:// Проверяем может ли пользователь делать это действие
public function authorize();
// Возвращаем массив с правилами
public function rules();
Затем в котроллере используем этот класс, допустим в методе update:public function update(UpdateUserProfile $request);
Валидация будет происходить автоматически, без лишних телодвижений, и если она прошла, то в $request 99.999% валидные данные.
Учимся очень внимательно читать документацию.

Худший ответ:
В композере пишем"files": [
        "app/helpers.php"
    ]
Потом: composer dumpautoload
Вопрос: Что такое селекторы и делегаты в Objective-C?

Лучший ответ:
Вы какую-то сложную и ненужную книгу читаете, открывайте оф. документацию и изучаете на примерах.
Простыми словами:Селектор - это метод который обработает какое-то действие
Например: у нас есть кнопка и мы указываем селектор с методом myButtonWasPressed, этот метод будет вызван по нажатию на кнопку.[myButton addTarget:self
             action:@selector(myButtonWasPressed)
   forControlEvents:UIControlEventTouchUpInside];

- (void)myButtonWasPressed {
    // Do something about it
}Делегат - это когда один класс работает внутри другого класса. Например у нас есть таблица UITableView и мы хотим чтобы она отображалась в контроллере MainViewController, мы устанавливаем для таблицы делегат MainViewController и теперь методы делегаты для построения ячейки таблицы будут вызываться в MainViewController

Худший ответ:
попробуйте еще посмотреть видео на hexlet.org, там точно есть про делегаты.
Вопрос: Как узнать уровень фронтенд разработчика?

Лучший ответ:
@tnorman уровень логики не ниже, чем на серверной стороне?)) Посмешили.
Фронт-енд разработчик должен разбираться во фронт-енде, а не в PHP — фтопку PHP, вообще никакого PHP.
Основы построения баз — да, поскольку появится возможность работы с базами напрямую. Понимать принципы общения с сервером и другими компьютерами, знать про HTTP-заголовки, политику безопасности и, в частности, политику происхождения документа. То есть знание XMLHttpRequest, CORS и (хотя бы) представление о WebSocket, WebRTC.
Разбираться в клиентских технологиях — HTML, CSS, Javascript, SVG, canvas, многочисленные API, описанные в HTML. И если не знать про WebGL и API, то разбираться зачем это и к чему. Построение DOM, CSSOM, понимание узких мест и тенденций. Основные семантические конструкции и микроданные.
Понимать box model, visual formatting model, stacking context, работу с формами и элементами, медиа-элементами. Знать, что такое кодировка и как жить с разными кодировками при необходимости, хотя это уже редкость.
ООП соглашусь — наследование, инкапсуляция, понимание роли прототипов и умение их использовать. Знание основных паттернов и парадигм. Добавлю модель событий — просто знание (не жалкие 5 штук, а реальный охват, включая MutationObserver). Ну и регулярные выражения.
AJAX? Если не брать в расчёт XML-RPC, SOAP, WSDL, то выделять это в отдельный вопрос не стоит. А вот event loop (включая tasks и microtasks), на который завязана модель событий и все асинхронные вызовы знать обязательно. Также быть в курсе, что такое promise, зачем они и как использовать.
Знать основы проектирования, UX и построения UI. Очень много в работе фронт-енда основано на взаимодействии человека и интерфейса. Непонимание основ UX приводит к неприятным последствиям.
Что же насчёт Backbone или других конкретных технологий — это вообще дело наживное и акцентировать внимание не стоит.  Опыт приветствуется, но не является обязательным. ну только если проект не горит.
Безусловно, знание технологий разработки нужно, но я бы тогда поставил на Node.js, Grunt/Gulp, AngularJS.

Худший ответ:
Я могу ошибаться, я в этом плане совсем салага, но.
AJAX
Программирование 
Объектно ориентированное программирование 
MVC
Backbone пойдет очень хорошо для освоение фронт-енд, но не помешает так же вникнуть в серверную часть. PHP с его простенькими фреймворками навроде Slim.
Работа с базой данных.
Даже если непосредственный контакт с настоящей базой данных вам не предстоит, вам не помешает понимать, как бек-енд с ней работает. 
Если это предложение не покажется лишним, то вот по поводу PHP [ Slim, RedBean, SQLight]
Создание простейшего приложения на Backbone с пониманием того, что вы делаете, позволит вам называть себя "front-end developer". Просто фронт-енд это не дизайн, это уровень логики не ниже чем на серверной стороне, просто находящийся на стороне клиента.
Вопрос: Стоит ли поднимать почтовый сервер? или воспользоваться Gmail?

Лучший ответ:
1) Достаточно пробросить порты
2) Я предпочитаю использовать бесплатный DNS Яндекса
3) -
4) На DNS
Опять же, не сочтите за рекламу, Гугл стал платным, на сколько мне известно, а вот Яндекс бесплатен. Судя по вопросу у вас есть домен и вы хотите почту :)
Регистрируйте на Яндексе свой домен и получите бесплатный DNS + почта с веб-мордой Яндекса. Меня полностью устраивает!

Худший ответ:
В нулевых подымал почтовый сервер на своих железках на базе Qmail, к нему прикручивалась какая-то веб-морда, да и у серверов на базе Windows тоже есть встроенные.
1. Будет работать и с пробросом.
2. Домен просто нужен для работы почтового сервера, какой у вас DNS сервер? Можно зарегистрировать свой домен и повесить на DNS Яндекса, это будет надежней и бесплатней.
3. Ее нужно прописывать на том же сервере, где и прописан домен.
4. На DNS сервере.
Вопрос: Какие вы знаете полезные сайты по рисованию?

Лучший ответ:
Сайты не стоит. ) Лучше книги. Изучать рисование надо с азов. Упражнения на постановку руки, тренировки на видение формы, перспективы, света тени и прочее.
Я пока что год изучаю рисование. И лучшая на мой взгляд книга www.ozon.ru/context/detail/id/1580996
Так же советую Скот Робертсон - есть книга и видео курсы
Я еще подписан на Виталия Ивлева на Ютубе www.youtube.com/channel/UC6AoDPvcyoWxHPbDsebSYoA
И Ctrl+Paint www.youtube.com/channel/UCzZPlxdKOnqz7wZwSywD3wg
Очень полезные туторы, но это позже, уже CG арт
Много, если не все зависит от практики.

Худший ответ:
Полезны книги,видеоуроки и конечно человек,который может подсказать и направить,дать советы.Могу помочь.Обращайтесь)
Вопрос: А бывало ли у вас такое, что работодатель передумывал приглашать вас на работу?

Лучший ответ:
Может быть это послужило причиной отказа.

Худший ответ:
Имхо конечно, но все же не очень красиво указывать название компании. 

По самому вопросу, мало деталей чтобы сделать выводы. Например сколько времени прошло от собеседования до офера? Вы подписали предложение и в нем была дата выхода на работу и зарплата?
Вопрос: Как задействовать ssd в качестве кэша на ноуте samsung ativ book 5?

Лучший ответ:
Я в точно таком же случае сделал так:
1) Установил Ubuntu на SSD ( / )
2) Но домашний каталог сделал на HDD ( /home )
Итог, система занимает всего 6-7 ГБ (из 24-х), а файлы и настройки хранятся на HDD. Производительность выросла в разы по сравнению с тем, когда всё было только на HDD

Худший ответ:
Все бы хорошо, но на заводе сделали большую жопу. В этом ноуте ssd не видится в биосе и не может быть загрузочным диском, так как его основная роль быть cachem. Биос в ноуте UEFI. Ваша идея шикарна и была попытка так сделать но увы :( А самое обидное ssd не извлечь он там впаян
Вопрос: Какую зарплату просить на собеседовании front-end junior'у?

Лучший ответ:
Какой-то вы не особо фронт эндщик, если считаете, что плюсы, жава и т.д. - более серьезные языки, нежели жскрипт :)
djinni.co Можете посоздавать здесь анонимные объявления и поприцениваться.
Если с английским нормально и время не поджимает - можете попробовать схватит пару заказов на upwork/elance: даже если ничего не выгорит, получите реальный опыт, что да как.
Конечно, на самом деле, все зависит от:В целом, умею и знаю практически все, что необходимо знать современному front-end'еру: JavaScript (знаю что такое замыкания и асинхронный код), Node.js, AngularJS, Backbone, различные препроцессоры, фреймворки, сборщики и т.д.
того, насколько реально вы это знаете. С таким разбросом технологий и без реального опыта - верится с трудом, особенно, думаю, с трудом вериться будет тем, кто вас будет брать на работу.
Если у вас действительно все хорошо, то все, что вам нужно - это реальные проекты (придуманные, опен-сорс, или для друзей, неважно) на гитхабе - претендовать можете и на 1000 спокойно, а на паре собеседований, что б проверить почтву, назвать ~$10/час
P.S.
И если действительно уверенно чувствуете себя хотя бы в 20% того, что описали - то просто выбросьте слова junior/middle/senior/опыт работы из лексикона и жизнь станет проще.

Худший ответ:
Среднюю между тем во сколько вы себя оцениваете и во сколько вас оценивает работодатель.
Вопрос: Что за бредовая ошибка в node js — js-bson: Failed to load c++?

Лучший ответ:
Failed to load c++ bson extension, using pure JS version
Вот так и понимать. Ваш модуль жалуется что у вас не установлен быстрый и удобный модуль для работы с BSON написанный на плюсах и потому оно будет использовать медленную реализацию на JS.

Худший ответ:
Забыл написать ответ:
npm install node-gyp -g
rm -rf node_modules
npm cache clean
npm install
Данные команды все исправят
Вопрос: Один игровой клиент на нескольких платформах?

Лучший ответ:
У нас в конторе сложные игрушки пишут на Unity, простые 2d игрушки на Cocos-2dx (C++)
Юнити очень приятная вещь, если есть деньги на лицензию и игра 3д — надо брать.

Худший ответ:
Можете попробовать технологию Adobe air, у нас игра работает как на PC, Mac, так и на Android, iOS, еще он поддерживает Blackberry но увы попробовать не удалось в силу отсутствия устройства.
Вопрос: Как предотвратить зависание linux сервера при нехватке озу/цпу?

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

Худший ответ:
Похоже на Out of memory. Уверены, что в syslog нет ничего интересного?
Сколько свободной оперативной памяти остаётся после запуска всех необходимых приложений?
Попробуйте добавить оперативы.
Вопрос: Купить macbook air  за разумные деньги

Лучший ответ:
Ebay, PayPal, EMS. Все долетело без происшествий, ездил сам забирать с Вернадского.

Худший ответ:
Поспрашивай у знакомых, может кто привезет. Жду вот третий месяц когда вернут деньги за отправление, т.к. EMS его «утеряло».
Вопрос: Можно оставлять на ночь MacBook включенным в сеть?

Лучший ответ:
Нет, не вредно. Во включенном режиме - даже полезно.
В маках как только батарея полностью заряжена, для работы используется заряд на прямую. Если заряд не используется - зарядка прекращается. Не знаю уж как это устроено глубже, мб кто-то тут разъяснит.
Также от мака с включенной зарядкой в закрытом состоянии можно через USB заряжать, что как бы намекает;)

Худший ответ:
Абсолютно ничего не поменяется.
habrahabr.ru/company/mugenpower/blog/168483
Однако, автор забыл учесть что существует предохранитель, и он присутствует. Так что заявленные часы он отработает что так что так.
Вопрос: Каким образом избавиться от сообщения об неиспользуемых переменных?

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

Худший ответ:
Документация к GCC
ключ -w компилеру
Вопрос: Стоит ли мешать Golang с Js?

Лучший ответ:
Нет. Сам подход с подстройкой под разные браузеры неверен. Браузеров тьма, настройки безопасности и ключи запуска и пользователей разные - все ситуации не предусмотреть.
Доступность необходимых фич можно определить только в браузере.
https://modernizr.comnode.js без их чокнутой виртуальной машины
Что? Как это относиться к вопросу?

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

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

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

Лучший ответ:
Вы не указали главное - язык.
В enterprise разработке вообще сертификация очень в почете.
Если Вы используете Java, .NET, Silverlight, Oracle, MS SQL - без пачки сертификатов Ваш карьерный путь не обойдется.
Если Вы разработчик на PHP / Python / Node.js / ... - работодатели смотрят на портфолио, опыт, тестовые задания, - на сертификаты всем плевать.
На фрилансе всем плевать даже на портфолио, в первую очередь ценятся отзывы от популярных работодателей.

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

Лучший ответ:
Вот пару вариантов : Oldversion Skype club Hosoft 

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

Лучший ответ:
Бесплатные:Polylang (у него есть WPML Compatibility, работает со всем, что запилили под WPML)qTranslate XWPGlobus, www.wpglobus.comMultilingualPress
У всех разный подход, а именно:
Polylang / WPML - переводы это самостоятельные записи, связаны между собой скрытой таксономией "язык". Неудобство - нельзя использовать один и тот же slug для разных языков.
qTranslate X - переводы хранятся в одной и той же записи с помощью спецразметки. Неудобство - при выключении плагина и/или переходе на другой, придется чистить весь контент от спецразметки. В некоторые плагины сложно добавить поддержку qTranslate X.
MultilingualPress - мультисайты, каждый сайт сети - это языковая версия. Контент перелинкован между собой. Удобно, если сайт большой и над каждой версией работает отдельный человек / команда, если контент не зеркальный.
WPGlobus - относительно новый плагин, но выглядит интересно, отзывы хорошие. Работает по принципу qTranslate X (и поддерживает кажется его синтаксис).

Худший ответ:
WPML - самый известный и распространённый. Правда платный. Но зато саппорт быстрый и документация очень обширная.
Вопрос: Параллельное выполнение операций в PHP?

Лучший ответ:
если вам реально надо просто парсить — то можно воспользоваться php.net/manual/ru/function.curl-multi-exec.php?

Худший ответ:
Может быть еще php.net/manual/ru/function.pcntl-fork.php
Вопрос: Как исправить ситуацию, если клиент просит возврат?

Лучший ответ:
очевидно что никак
верните половину

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

Лучший ответ:
Советую Microsoft Natural Ergonomic Keyboard 4000 :)
К концу дня, даже если весь день писать код, запястья не устают.

Худший ответ:
Microsoft Comfort Curve. Видел Natural Ergonomic 4000 но не понимаю как этим пользоваться — вся клавиатура поднята над уровнем стола, что для меня слишком странно (хотя кому-то нравится).