pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Есть ли простой способ использования монитора ноутбука в качестве обычного монитора для ПК?

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

Худший ответ: Конвертор стоит 40 баксов плюс нужно все это отпаят припаят.  Так что проеще моник купить на авито Там тысяч За 1,5-2 можно найти полноценный моник. А ноут пусть вайфай раздает
Вопрос: Как сделать адаптивный сайт через flexbox?

Лучший ответ: меня интересует только единицы измерения
они никак не связаны с flexbox и с адаптивностью. Или правильнее сказать связаны косвенно. Вы можете использовать любые единицы или их комбинации.
Адаптивность сайта это комплекс мер. Что-то достигается благодаря использованию flexbox, что-то медиазапросами, что-то относительными единицами. И одно не исключает другого. Одни блоки могут быть в одних единицах, другие в других. Шрифты могут быть в третьих. 
Дать совет по использованию тех или иных единиц можно только на примере участка верстки в конкретном проекте, а не дизайна в целом в абстрактном проекте.
Опытный верстальщик смотрит на дизайн и продумывает, как будет реализовать адаптивность того или иного блока, соответственно наметив себе план по каждому куску принимает решение в пользу тех или иных единиц, методов адаптивности и т.д. И подчеркну, никто не запрещает Вам использовать разные единицы, не стоит выбирать для всего проекта допустим % и потом городить что попало, только чтобы не перейти на px.

Худший ответ: Так же как это делается и c bootstrap. У вас есть набор классов, который при определенной ширине экрана меняет свое значение.
Берем обычный пример:<div class="row">
	<div class="col-md-4 col-xs-4"></div>
	<div class="col-md-4  col-xs-4"></div>
	<div class="col-md-4  col-xs-4"></div>
</div>
Так мы создали строку из трех блоков в ней. В bootstrap 3 у вас блокам задается свойство float:left;
В случае с flex, вам надо задавать .row свойства:.row {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
У колонок вы убираете float:left
Далее при адаптации вы .row присваиваете одно свойство: flex-direction:column; если вам надо чтобы внутренние элементы располагались в колонку (столбик). Для внутренних блоков так же пишете что-нибудь типа col-xs-12, чтобы они занимали 100% ширину родителя на телефоне. Ничего сложного.
Вопрос: Как реализовать масштаб с сохранением пропорций на css?

Лучший ответ: Картинку на бэкгроунд и background-size:cover;
Или прописать width или height, если что-то одно, то второе согласно пропорций.

Худший ответ: Можно еще увеличивать с помощью CSS3(transform):  jsfiddle.net/p4o5j2ty/1
Вопрос: Выбор ниши для интернет магазина

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

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

Лучший ответ: Люди, что вы зациклились на jQuery?
Можно ведь сделать проще. Предположу, что у вас что-то типа того:var done = false;
var result = "";
obj.ondone = function(e) { // здесь любое событие
    done = true;
    result = e.result;
    // хотим отловить этот момент
};
Теперь смотрите: если переменная объявлена через var, то только так:var func = function(callback) {
    obj.ondone = function(e) {
        callback(e.result);
    };
};
func(function(result) {
    alert(result);
});
Можно еще промисы прикрутить и т. п., но Вы меня поняли.
Если переменная глобальная, лучше использовать вариант выше, но в крайнем случае так:_done = false;
_result = "";

function func() {
    obj.ondone = function(e) {
        _done = true;
        _result = e.result;
    };
}

setTimeout(function f() {
    if(_done) {
        // готово
    } else {
        setTimeout(f, 500); // каждые 0.5 с
    }
}, 500); // каждые 0.5 с
func();

Худший ответ: спасибо, но блин я не смог понять как это может работать без settimeout(
У меня как-то не так. Есть функция, которая ждёт появления глобальной переменной, чтобы выполниться. Можно в примере показать ту часть кода, которая будет повторяться, а не завершится сразу, если переменная false?
UPD: не то, потому что ещё такой момент: Считывать переменную done нужно несколько раз, а код, который формирует переменную done должен выполниться только один раз.
Вопрос: Алгоритм Штрассена. Оптимизация

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

Худший ответ: Вам нужно именно реализовать свой метод (т.е. это — какая-то лабораторная) или же вы изобретаете велосипед?
Если второе, то советую воспользоваться, к примеру, библиотеками BLAS или GSL.
Вопрос: Как реализовать 20+ поп-апов на странице?

Лучший ответ: <button type="button">Показать попап</button>
<div class="popup" style="display: none;">Приветик</div>$(document.body).on('click', 'button', function(e){
    e.preventDefault();
    var $button = $(this);
    var $popup = $button.next('.popup');

    $popup.fadeIn();
});

Худший ответ: codepen.io/axaxaman/pen/BKvgbY
может как-нибудь так попробовать ?
Вопрос: C++11, C++14. Использование auto — признак дурного тона?

Лучший ответ: Такие дельные советы тут...
А правило проще некуда: если вы без указания типа и так УЖЕ ИМЕЕТЕ достаточно информации, чтобы уверенно работать со значением - тогда можно использовать auto. Если чувствуете, что не имеете, или сомневаетесь, что имеете - лучше тип указать. Пример, где использование auto отлично подходит - итераторы:std::list<int> items;
auto i = items.cbegin();
Во второй строке четко написано - items.cbegin - константный итератор по items, бегущий с начала списка. Мне этого более чем достаточно. Указание типа std::list<int>::const_iterator мне никакой новой информации не принесет. Тем более, т.к. итераторы от разных контейнеров несовместимы, то мне нужно еще и сразу знать, по какому конкретно списку у меня итератор - я опять-таки посмотрю на items.cbegin, а не на тип.
А вот auto в объявлениях функций/методов и правда ни к чему. Его, кстати, даже не сразу там разрешили использовать (только в C++14). Причина тому вновь читабельность - чтобы понять, что возращает функция, нужно прочесть ее текст как минимум до первого return, а лучше - полностью. Единственный сценарий, где без auto не обойтись при указании возвращаемого типа - это стрелочная нотация с decltype, но я думаю вы не скоро с ней столкнетесь.

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

Лучший ответ: в методе  sendMessage включите опцию disable_web_page_preview=True

Худший ответ: Спасибо помогло ! 
на мой взгляд идеальная ссылка получилась... Но готов к критике. 

  протокол  https:// 
сайт api.telegram.org 
uri: /bot[apikey]/sendMessage?chat_id=[ берется из getUpdates ]&parse_mode=Markdown&disable_web_page_preview=True&text=[ utf_text ]
Вопрос: Геймдизайн: может ли жить такая механика?

Лучший ответ: Есть опасения, что пользователи подумают что расы за деньги сильнее чем бесплатные, и перестанут играть из-за подозрения в дисбалансе. Оченъ сильный риск. 
Надежнее было бы дать всем возможность выбирать свой стиль игры (расу) а монетизировать уже особые юниты. 
У бесплатников должна быть уверенность в том, что они не в пригрышном положении. Значит если платник снаряжает свою армию элитным (купленым войном) это дает ему более широкий тактический выбор, но он должен будет пожертвовать какими-то другими юнитами, например двумя пехотинцами, чтобы сумма силы отряда игрока оставалась неизменной. Тогда у бесплатников будет шанс опять же тактически переиграть противника с элитными юнитами.  Т.е. каждый игрок независимо платник или нет имеет одинаковое кол-во слотов в отряде и чем он их заполнит решать ему, но чем круче юниты тем больше "места" они занимают.  И это будет основой равенства сил.  Тратить деньги будут те, кому надоест катать одну и ту же тактику, и они захотят попробовать новых юнитов.

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

Лучший ответ: Можно, но либо попросят сдавать профильное, либо доп-испытания

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

Лучший ответ: Что я неправильно сделал?
Для того что вы хотите нужно не запускать этот скрипт а загружать его в текущий шелл командой source или . :
$ . ./path.shЭта переменная только для сеанса в терминале или пока ПК не выключу?
Эта переменная -- для шелла который её выполнил и его потомков. Запуск скрипта порождает новый шелл, который сразу завершается.Можно ли у LD_LIBRARY_PATH записать несколько разных путей? 
Да, через двоеточие.

Худший ответ: "Общие" переменные обычно настраивают один раз - в .bashrc или .bash_profile (первый выполняется только при логине, второй - любым шеллом). Установка переменной порождает ее для текущего сеанса и всех порожденных им процессов, как только шелл завершился - все переменные стерлись :)
Чтобы этого не происходило, используют команду export:PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib32/pkgconfig:/usr/lib/pkgconfig:/usr/lib32/pkgconfig; export PKG_CONFIG_PATH
LD_LIBRARY_PATH задается подобным образом. Только крайне не рекомендуется использовать относительные пути - вместо ~ лучше напишите полный путь к домашке
Вопрос: Как научится правильно разрабатывать на wordpress?

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

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

Лучший ответ: Это очень коряво. одно название класса «D» уже достаточно, чтобы понять, что код будет хреновым.
Это не ООП код, не обманывайте себя, классы Вам не нужны здесь. Если Вы любите статические методы — пишите функции, т.к. статические методы это процедурное программирование.

Искали ли Вы существующие готовые решения? Вот это, например: symfony.com/doc/current/components/routing.html

Тратьте больше времени на чтение книг, меньше на изобретение того, что уже сотни раз изобретено.

Худший ответ: Ошибка тут одна главная — дурацкие названия. Что еще за DRouter и MCA? 

Также, почему параметры module/action пишутся в request? Также, нафига делать unset локальным переменным? Думаете, счетчик ссылок без этого не обнулится? Также, неявный addcslashes надо заменять на явное экранирование спецсимволов — или заменить ограничивающие ругулярку слеши на другой символ.

Код так себе, но в популярных фреймворках примерно такой же, так что сойдет.

Я бы сделал индекс для ускоренного поиска роута без тупого перебора всех регулярок. Это так примитивно.

Также, я не понимаю, откуда взялась мода делать HTTP-редиректы и ответы через выбрасывание исключений. Кто придумал это? Какому из паттернов это соответствует?
Вопрос: Как можно автоматизировать уход за рептилиями?

Лучший ответ: Если DIY, то купите датчики и программируйте ардуино.
Если наколхозить быстро и просто, то в Ашане по 100 руб. купите:
1. розетку с механическим таймером. Выставьте 7-8 часов, подключите к розетке лампу. 
2. обычный комнатный термометр. Первое время периодически проверяйте температуру, при необходимости меняйте таймер или мощность лампы. Потом - только при значительном изменении погоды (жара, похолодание, отопительный сезон).
Если нужно больше автоматизации, то дополнительно купите терморегулятор. Лучше специальный для террариума, но можно и любой универсальный, желательно с расширенными настройками (1-3 тыс. руб). Плюс нагревательный коврик (от 200 руб).
Если у вас комнатная температура ночью не выше 25 градусов, то для охлаждения ничего дополнительно не надо. Если выше, то тогда придется изобретать систему охлаждения - например, насосом прокачивать холодную воду по трубе через террариум. Но это вряд ли.

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

Лучший ответ: встроенных средств для этого нет.
из внешних: любой снифер трафика или фаервол типа little snitch/hands off/radio silence/etc

Худший ответ: Сниффером, например Wireshark и Charles есть для OS X, еще декомпилировать и отладить можно.
Вопрос: Какие существуют альтернативы fcgi?

Лучший ответ: А альтернативы-то зачем?
Все работает? Работает.
В чем еще проблема?

Худший ответ: Если так стоит вопрос, то просто сделайте обертку для куска кода, который получает запросы снаружи, и добавьте в нее поддержку разных режимов/протоколов. Список более-менее актуальных протоколов взять у того же nginx-а. Для универсальности (но, увы, не производительности) добавьте ещё cgi — он везде есть.

PS. fcgi старое проверенное производительное решение, сомневаюсь что в ближайшее (или не очень ближайшее) время что-то станет более популярным и производительным.
Вопрос: Что такое микрокод процессора?

Лучший ответ: CISC-команда исходного x86-кода разбивается в набор RISC-команд, которые и скармливаются аппаратному RISC-процессору. т.е. во всех современных процессорах x86 и x86-64 эмулируется, алгоритмы этой эмуляции и записаны в микрокоде 
практическое описание примения микрокода процессора к примеру здесь

Худший ответ: Любой процессор по сути маленький компьютер, там есть исполнительные устройсва, ячейки регистров (память), внешние каналы (шины данных и адреса), кеши.... и всем этим нужно как-то управлять. Вот за это управление и отвечает микрокод процессора. По сути это такой глубоко завязанный на железо код, который позволяет реализовать отдельные примитивные действия внутри процессора, которые требуют согласованного действия отдельных его компонентов.
Но микрокод только в древних процессорах (которые собирались из сотен отдельных элементов или нескольких микросхем) хранился в отделной схеме ПЗУ. Во всех микропроцессорах (когда все потроха процессора, а порой еще и часть внешних шин собраны на одном кристалле) микрокод пишется в отдельную часть этого общего кристалла. И не всегда это ПЗУ, иногда там типа флеша, но быстрого, ведь он работает на внутренней (очень высокой) частоте процессора.
Вопрос: Проанализировал фриланс, учить JS или натяжку верстки на CMS?

Лучший ответ: Эволюция такова:
- натягиваю дизайн на сайты
- натягиваю и дописываю виджеты
- посмотрю другие CMS
- посмотрю что такое framework
- делаю сайты на framework
- посмотрю другие фреймворки
- о есть заказ доработать сайт, я дока в этом фреймворке
- о вот сложная задача, кроме меня никто не возьмется, заломлю цену
- дальше пока не знаю
Задач кроме под ключ хватает. И оплачиваются они не плохо. Но нужно что-то знать очень хорошо. А начинать можно с wp, там действительно много работы.

Худший ответ: И то, и другое. Нужно уметь и WP пользоваться, и JS (желательно еще и jQuery) знать
Вопрос: Необходимо скрыто запустить программу в трее?

Лучший ответ: Вам может помочь сторонний софт. Я лично использую программку Tray It.

Худший ответ: WindowState устанавливали в FormWindowState.Minimized при запуске приложения? Здесь пример для C#.
Вопрос: Комманда Originate

Лучший ответ: Вы неверно написали команду.
Нужно как-то так:

originate SIP/external/74951111111 extension 74952222222@external-context-name

Ну или так:

originate SIP/external/74951111111 application Dial SIP/external/74952222222

Худший ответ: а звонок работает если локально звонить, позвони и в логе посмотри как звонок выходит. External это сип транк? Если нет, то он не позвонит. Там работает как: тип(сип, аякс, дади)/транк/номер. Так же посмотри дайлплен, так как номер может транк менять, правда не помню, меняет ли при ориджинейт. Есть еще комманда dialplan или show diaplan, которая показывает диалплан по номеру и контексту, посмотри через какой транк выход и как звонит.
Вопрос: Покупать ли проектор, чтобы кодить и не портить зрение?

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

Худший ответ: Нет, не стоит. Качество картинки на проекторе хуже чем на мониторе, особенно при работе с чем-то мелким. Если уж хочется что-то большое, тогда купите какую-нибудь плазму на 50+ дюймов в диагонале. Она для кодинга подойдет больше.
А вообще для работы купите любой монитор от 19 до 22 дюймов. В течении пары недель привыкните к нему, настоите под себя разрешение/яркость/контрасность и т.д. и будет Вам счастье.
Вопрос: Не добавляется компьютер в домен, win 7 home basic?

Лучший ответ: В том, что Home Basic не поддерживает домен.

Худший ответ: Редакция Home Basic не входит в Домен. Установите версию не ниже professional или Enterprise.
Вопрос: Подскажите программу

Лучший ответ: Могу предположить что это Сamtasia recorder (Camtasia Studio)

Худший ответ: BB FlashBack
В PRO версии идёт с редактором. Всё очень удобно и понятно.
В отличии от Сamtasia не такая громоздкая и тормозная.
Вопрос: Как сверстать(правильно) такое?

Лучший ответ: Привет. пробуй еще свойство transform: skew применять , адля clip path есть полифил
https://github.com/AlfonsoFilho/ClipPath

Худший ответ: откуда в задаче берется ИЕ, кстати?
Вопрос: Как тестировать верстку под iphone?

Лучший ответ: Ставите VMware. Берете образ Mac OS, например этот. Затем на готовой виртуальной машине ставите Xcode, где и будут доступны эмуляторы всех Apple-устройств, начиная с планшетов и заканчивая часами

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

Лучший ответ: простой картинкой. 
И убейте человека который это нарисовал. Как он представляет себе рамку, если вторая строка будет по ширине как первая? Что будет если строк будет 18?

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

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

Худший ответ: Читай онли в оригинале.
Вопрос: QA Automation или Dev?

Лучший ответ: Не отказывайтесь, позанимайтесь пару годиков автоматизацией - это бесценный опыт.  Вам тоже придется программировать, только не продукт, а тесты. А чтобы писать тесты нужно в продукте разбираться не хуже разработчика. Через год вы сможете делать все тоже самое что делает разработчик и еще и автоматизацию, а разработчик так и останется разработчиком. Я работаю автоматизатором тестирования и получаю больше чем некоторые девы у нас в команде.  И у меня есть перспективы, перейти в консалтинг. 
Но надо сказать я и выкладывался для этого три года по полной. 
Понимаете если в команде все будут только кодить - ничего хорошего из этого не выйдет. Если в понятиях какой нибудь многопользователькой игры говорить, то программист это штурмовик. А нужно еще звено прикрывающее тыл  и медсанчасть- это QA. А еще нужно стратегическое звено - это архитектор. А еще нужна логистика - это DevOps. Если QA внимательно, с головой, относится к своей работе, то он может давать советы архитектору DevOps и разработчикам. Например - слишком много ранений в голову, может будем одевать каски? У раненых солдат мозоли на ногах, нужна более удобная обувь. 
Я, побыв автоматизатором, не хочу становиться рядовым разработчиком. Это будничная однообразная работа. А автоматизация ставит все время интереcные задачи. Заставляет учиться, развивать себя. Это абсолютно уникальные знания. Когда у разработчиков зытык в задаче, я могу им помочь, а когда у меня затык они мне не могут помочь. Понимаете разницу?

Худший ответ: QA automation это такой недо dev? Если да, то конечно нужно идти выше.
В моем понимании это все одно и тоже. Это все программист.
Вопрос: Что делать если нет сетки на макете?

Лучший ответ: Направляющие можно и самому впихнуть. в чем проблема-то? Можно и без бутстрапа адаптивно сверстать. Можно посмотреть на картинку и заметить, что там 3 колонки одинаковых, можно верстать)

Худший ответ: Обратиться к хорошему верстальщику.
Вопрос: Можно ли рекламироваться в РСЯ Яндекс.Директ по фразе из 1 слова?

Лучший ответ: Яндекс сам говорит использовать более общие фразы для рекламы в РСЯ, не углубляться в низкочастотные варианты.
Показы пойдут и по одной фразе. И так действительно проще. Но, с другой стороны, Вы должны понимать, что чем больше запросов вы подберёте, прикинете ещё возможные околотематические варианты ("что подарить", "сувениры", "подарочный набор"), то охват будет лучше, шанс найти наиболее выгодное сочетание качества и цены будет выше, страницы и объявления будут релевантнее, аналитика будет точнее.
И, кстати, возможно специально для Вас, Яндекс к Новому году выложил праздничный бонус — списки ключевых запросов по новогодней тематике. )

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