Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: ОС Symbian sources?

Лучший ответ:
Кастомные прошивки делаются банальной правкой конфигов, добавлением картинок и перерисовкой системной графики. Некоторые системные модификации, действительно, были получены на основе исходного кода Symbian^3, но более поздние версии ОС в виде исходных кодов доступны не были и не будут.

Худший ответ:
Тут — symbiangeek.flaminghorns.com/tag/symbian-source-code — написано как получить сорсы.
Вопрос: Как выбрать ноутбук для ВУЗа?

Лучший ответ:
Важные параметры-Процессор оптимально - не ниже пентиума.Память - минимум 8гб. Либо возможность без проблем и потери гарантии добавить сразу памяти.Диск - обязательно SSD, размером не менее 120Гб. Либо возможность без проблем и потери гарантии сразу поменять диск на SSD.
Остальное неважно.
Производитель желательно из известных, чтобы не нарваться на откровенный брак, продавец должен быть стабильный и расположен в пределах шаговой доступности, чтобы с гарантией в случае чего не бегать.
Видеокарта нафиг не нужна, хотя если будет - не проблема, они отключаются программно.
Размер экрана, емкость батареи, производитель - на вкус и цвет.
Тут советовать невозможно. 
Есть люди которым подавай ноутбуки с экраном 17дюймов, а я например вообще не понимаю нафиг нужен ноутбук с экраном больше 13дюймов.

Худший ответ:
Какой-нибудь макбук 13" 16 года вполне себе (не нужно будет таскать огромный 15"), но тогда придется разбираться с виртуалкой и подумать, хватит ли оперативки. Виртуалка понадобится, если будут всякие лабы на сишном стеке или маткад (на маке нету). Для учебы можно взять норм ноут за 20-25к на винде, который будет вполне ок, а для души или работы, не связанной с разработкой программ под винду или маткадом — макбук идеален.
Вопрос: Какие разработчики и ЯП популярны в США?

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

Худший ответ:
это всё инструменты для работы, если ты профессионал -> то сам постепенно подберёшь подходящий инструмент.
по трендам -> JS очень сильно набирает, объективно из-за повсеместной поддержки и распространённости он сейчас становиться просто ответом на большинство типовых задач, там где использовался php, python -> там js их полностью заменит - инфа 100%.
для обработки данных и серьёзных проектов конечно правит бал статически типизированные языки -> java, scala, c++ наше всё, туда JS никак не пролезти.
go новичёк -> может наберёт обороты, рано ещё говорить что-то про него, может гугол через год забросит его развивать, и скажет что теперь супер go будут делать, который в сто тыщь раз лучше, но полностью не совместим, по концепциям и семантике.
.net -> хотите связать себя с миром майкрасофт? вы серьёзно? не советую, там вход рубль, выход два.
Вопрос: Как можно определить несколько классов с одним родителем в рамках одного типа?

Лучший ответ:
Эм.....а почему нельзя кэшировать в "массив" типа ParentClass? 
Для каждого объекта кэша будут известны все его методы, а реализацию (или уточнение реализации) их берут на себя потомки.
Я насколько понимаю ООП, наследование и полиморфизм для того придумано....

Худший ответ:
хранить в типе objectах, а по нему смотреть какого он типа .GetType().ToString() и приводить к этому типу var A= (ЯтиПтИпа)object; далее делать с ним все что душе угодно. Но такое решение не идеал, масштабируется плохо.
Вопрос: Какие области математики нужно изучать для веб-программирования?

Лучший ответ:
Никакие.
Достаточно уметь складывать, делить, умножать, вычитать.
Дроби.
Даже квадратный корень и степени - могут вообще за неколько лет не пригодится ни разу.
С другой стороны, если вы делать будете какую нибудь игрульку, вам пригодятся аффинные преобразования, умножения матриц и пр.
Но это несложно и учится за пару недель.
С третьей стороны, если вы будете работать над каким нибудь распознаванием речи (причем не использовать готовую библиотеку, а именно разрабатывать свою, то тут вам понадобится и быстрое преобразование Фурье хотя бы понимать про что оно). Но это только если вы будете работать где нибудь в серьезном отделе фундаментальных разработок Яндекса или Гугля или Фейсбука.
Для понимания логических операций в программировании дискретная математика и теория множеств нафиг не нужна. Хотя они и связаны друг с другом.
Логарифмы нужны только для понимания оценок сложности алгоритмов. Но суть знать не надо, достаточно интуитивно понимать что экспонента - это дофига.
Математическая вышка нужна для:
1) Дисциплины мозга. Но программирование дисциплинирует не хуже.
2) Для разработки фундаментальных алгоритмов криптографии, ключевых алгоритмов серьезных игровых движков и подобных редких вещей. То есть не пригодится 99,99% пррограммистов никогда в жизни.
С другой стороны, если ты не спешишь работать, то ВУЗ я настоятельно рекомендую. Это интересно и полезно для ОБЩЕГО развития.

Худший ответ:
То что первым нагуглилось: https://www.susu.ru/zh/node/442976
Там список преподавателей кафедры "Прикладная математика и программирование", посмотри у них информацию в пунктах "Преподаваемые дисциплины", можешь выборку сделать и посчитать частоту встречаемости отдельных дисциплин, тогда сможешь отсортировать эти дисциплины по частоте встречаемости и начать изучать с самой часто встречающейся, например.
Вопрос: Где взять актуальную и мультиязычную базу данных стран, регионов и городов мира?

Лучший ответ:
По мне самая известная www.geonames.org

Худший ответ:
Вот типо хакер 9298345094.
Вопрос: Как сделать выполнять действие при удалении поста wp?

Лучший ответ:
не надо регуляркиget_attached_media( $type, $post_id ) или get_children( $args, $output );
и далее:wp_delete_attachment( $post_id, $force_delete = false )

Худший ответ:
заменить вот это
$content = get_the_content();
на это
$content_post = get_post($postid);
$content = $content_post->post_content;
дальше не смотрел.
Вопрос: Подскажите напоминатель дней рождения и прочих поздравляльных событий

Лучший ответ:
может быть, Гугл-календарь? Лично мне он присылает уведомления в ДР моих контактов на Андроид-телефон

Худший ответ:
Я настроил себе личный календарь на calend.ru. Там есть уведомления на e-mail (настраивается). Также кроме собственных событий можно добавить и конкретные праздники (например, тот же День учителя). И да, сервис отечественного производства (хотя для меня это не проблема).
Вопрос: Как правильно знакомиться с новыми технологиями?

Лучший ответ:
Каков рецепт изучения новых языков/технологий?
Сначала хорошо ищучите парочку тех что уже знаете. Стоит ли мне для изучения Ruby далее или Tornado, или Angular читать об этом целую книгу, которая будет много говорить о философии этого инструмента, как он устроен? Или стоит искать какие-то поверхностные методы?
Нет ничего быстрее документации.Если же кто-нибудь считает, что второй метод вполне работает, то могли бы вы дать ресурсы на изучение каких-либо веб-технологий очень быстрым способом?
RTFM

Худший ответ:
Изучайте архитектуру построения программ Hello World! на различных языках.
Дальше - сравнивайте различия и изучайте то, что для Вас новое.
Вопрос: Посоветуйте тихую мышь и клавиатуру?

Лучший ответ:
Достаточно тихой себя показала Apple Magic Mouse, но она тоже дорогая.

Худший ответ:
А кто что может рассказать о клавиатурах Microsoft?
Вопрос: Что такое динамическая диспетчеризация?

Лучший ответ:
1. А как вы себе представляете обращение к объекту во время компиляции, когда этого объекта даже не существует? Это ж абсурд. Конечно, оно происходит во время выполнения, когда инстансы этих объектов созданы и существуют.
2. Не важно, на что это влияет, когда это верный подход. Лучше процент потерять на производительности, чем поломать инкапсуляцию и полиморфизм и писать говнокод.
3. Да, в 99% нужно использовать её, ибо это нативная для многих языков реализация Принципа подстановки Барбары Лисков из паттернов SOLID.Может вопросы покажутся кому-то глупыми, но я не могу приступить к следующей главе, пока не разберу хорошо тему и не найду ответы на свои вопросы.
Правильно думаете, многие забивают на это понимание, а потом говнокодят со всякими switch instanceof.
Вообще, в хорошем ООП дизайне, когда вы встречаете стопку поведенческих if'ов, больше 5-7 штук, switch'ей, и так далее, то в этом месте стоит задуматься об использовании диспетчеризации, ибо они, в подавляющем большинстве случаев, заменяемы в пользу более гибкого и адекватного ООП-дизайна. Но, не фанатично всё подряд менять, конечно же =)

Худший ответ:
1) правильно
2) прeимущeства - можно работать с объeктами одинаково. Напримeр, брать из контeйнeра и вызывать мeтод. Недостатки - нeбольшиe накладныe расходы на вызов. Объeкты занимают большe мeста из-за таблицы виртуальных мeтодов.
3) правильно вначалe коррeктно рeализовать программу, а потом убирать дд в мeстах гдe она мeшаeт по производитeльности
Вопрос: Выбор версии python для новичка?

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

Худший ответ:
Как по мне так в плане изучения - версия не важна.
Когда человек дойдет в своих познаниях до тех вопросов, которые различаются (принципиально) в 2-м и 3-м питоне, ему уже будет не важна версия ибо Python примерно на 90% один и тот же в версии 2 и в версии 3.
И более того - нужно (уже освоив азы) познать в чем разница между 2 и 3, опять же потому, что множество примеров кода на которые выбудете смотреть при решении своих задач - все равно будут в Python2.
Да и учебников по второму питону написано море - не стоит их игнорировать - есть очень толковые книги. 
Но писать лучше сразу себя приучать в стиле 3-го питона (тот же print - функцией, а не оператором) тем более что 2.7 синтаксически очень сильно совместим с 3.x.
Вопрос: Как реализовать перенаправление с отрицанием в nginx?

Лучший ответ:
Например так:location /category/ {
    # если URI заканчивается на XXX.html,
    # то реврайтим в то же самое и прекращаем обработку.
    rewrite "^(.+\d{1,4}\.html)$" $1 break;
    # у всего остального заменяем `.html` на `/`
    rewrite "^(.+)\.html$" $1/;
}{1,4} можно заменить на + если количество цифр не принципиально.

Худший ответ:
все URL вида /category/*.html за исключением URL вида /category/*/XXX.html/category/[^/]*\.html
P.S. в буквенной последовательности кроме букв могут встречаться символы слэша, тире и цифры
Тогда /category/*.html ничем не будет отличаться от /category/*/XXX.html
Вопрос: Кто должен публиковать мобильное приложение, клиент или разработчик?

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

Худший ответ:
пусть даст вам доступ или по тимке сделайте
Аккаунт должен быть клиента, а помочь выложить ... почему бы нет.
Вопрос: Как сделать эту крутую штуку на CSS?

Лучший ответ:
На чистом CSS такое сделать не получится. Проще всего использовать волну (верхнюю ее часть) в виде SVG картинки (пример). Надеюсь проблем с тем, чтобы нарисовать ее одной кривой, не возникнет.

Худший ответ:
Проще сделать на svg.
Если же надо на чистом css - можно поверх фиолетового прямоугольника сделать большой белый div с rotate и border-radius.
Вопрос: Вопрос о python-way

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

Худший ответ:
В Python модуль (в отличие от PHP) имеет свой namespace и несколько классов в рамках одного модуля — обычное дело.
Вопрос: Как можно изменить тему Yii 2 basic на Admin LTE?

Лучший ответ:
https://almsaeedstudio.com/themes/AdminLTE/documen...
вроде все доступно написано.
на гитхабе, для тех кто в танке 
Installation
There are multiple ways to install AdminLTE.
Download:
Download from Github or visit Almsaeed Studio and download the latest release.
Using The Command Line:
Github
    Fork the repository (here is the guide).
    Clone to your machine
git clone https://github.com/YOUR_USERNAME/AdminLTE.git
Bower
bower install admin-lte
Composer
composer require "almasaeed2010/adminlte=~2.0"

Худший ответ:
 Как поставить этот AdminLTE
Как вариант, есть ещё  и  видео инструкция.
Вопрос: Какой php-фреймворк посоветуете изучить новичку?

Лучший ответ:
yii2 или/и laravel
Выбор в сторону того или иного дело вкуса. Начни оба и поймешь что тебе подходит.

Худший ответ:
Лично я брал бы сразу 3 - Yii, Symfony, Laravel. Все 3 во многом похожи, у всех 3 есть существенные и даже принципиальные различия, плюс и минусы. Да, это немного замедлит начальный этап. Но польза будет огромная.
Вопрос: Зачем PING.EXE сам подключается к сети?

Лучший ответ:
C 99% вероятностью его использует какое-то ПО, может даже сам фаервол или антивирус или браузер или система или игра. Надо смотреть мониторинговой программой, кто запускает пинг и будет ясно. 
51.141.32.51 - действительно мелкософсткий, может просто проверяют есть инет или нет.

Худший ответ:
M$ такую схему использует например для проверки доступности тырнета - пинает свои сервера. Если пинга нет - рисует желтый треугольник на значке подключения к сети.
Вопрос: Откуда появляются символы после сохранения файла?

Лучший ответ:
Делая так:FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate);
fileStream.Write(data, 0, data.Length);
fileStream.Close();
Если у вас уже есть файл размером в 10 байт, то записав 5, вы получите размер файла в 10 байт, так как файл не пересоздается и FileStream просто переписывает значения с позиции 0.
Вот и появляются лишнии байты.

Худший ответ:
Вы пишите с 0 байта и ни какого профита вам FileStream не даёт, просто используйте System.IO.File, там проблем быть не должно, почти всё заданно по умолчанию.
Можете выложить выходные данные? Конкретно: входной массив байт, то что он сохранил, и то что прочитал?
Вопрос: Возможен ли Phalcon на VDS в РФ?

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

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

Лучший ответ:
Привет,
Никаких проблем. USB-1Tb с NTFS уже лет пять как кочует между Windows, Linux, FreeBSD, Mac OS X, OS X, macOS, OS/2, eComstation.

Худший ответ:
Вообще-то есть проблемы! ( Moris Haos )
Тоже самое, стандартная ядерная реализация - только чтение!
Есть драйвер ntfs-3g, но он под FUSE. Он умеет и на чтение и на запись, с ним проблем особенных нет.
Что касается OSX - то тоже только чтение. Если хочется запись - если платный драйвер Paragon NTFS.
И да, есть под мак драйвер NTFS-3G, тоже через fuse от сообщества - https://github.com/osxfuse/osxfuse/wiki/NTFS-3G
Упс, немного ошибся, но немного. Запись есть , но ограниченная.- This is a complete rewrite of the NTFS driver that used to be in the 2.4 and
  earlier kernels.  This new driver implements NTFS read support and is
  functionally equivalent to the old ntfs driver and it also implements limited
  write support.  The biggest limitation at present is that files/directories
  cannot be created or deleted.  See below for the list of write features that
  are so far supported.  Another limitation is that writing to compressed files
  is not implemented at all.  Also, neither read nor write access to encrypted
  files is so far implemented.
Отсюда - https://www.kernel.org/doc/Documentation/filesyste...
Вопрос: Разметка жесткого диска

Лучший ответ:
dd if=/dev/zero of=/dev/sda bs=1M count=1
С любого никсого liveCD
Затрёт таблицу разделов (хоть MBR, хоть GPT накроет) и получится неразмеченный диск.

Но лучше было бы прогнать MHDD в режиме erase — чтобы удостовериться в работоспособности диска.

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

Лучший ответ:
Поймите, все утечки которые происходят - в 99% это не exploit, а тупо человеческий фактор.
Все решения с конфигами сервера, ORM и прочим - абсолютно бессмысленны когда вашему сисадмину подарят новый X6 и он сольет дамп сервера целиком.
Единственное что можно сделать - на уровне архитектуры проекта минимизировать количество людей имеющих доступ к действительно критическим данным, ну и проверять этих людей как следует.
В идеале создать ситуацию когда утечка любых данных невозможна без сговора нескольких таких проверенных людей и опять же регулярно допроверять этих людей СБ.Могу пример из личного опыта рассказать:
Ваша компания пишет известный мульти-мессенджер работающий по некому протоколу с внешними сервисами. 
Что бы к ним подключаться, вы вынуждены где то хранить логины-пароли от внешки в не зашифрованном виде.
Понятно что если просто положить их в базу - утечет все сразу же.Решение 1:
Пишем хранимку которая отдает связанные логины-пароли от внешнего сервиса по логину-паролю от нашего мульти-мессенджера.
Доступ к изменению хранимки и к базе в которой лежат все пароли есть у 1 человека в компании. Остальные тупо ходят через хранимку. Способа получить полный список логинов-паролей сервиса не существует.
Первое решение в принципе хорошо, но человек имеющий доступ - bigboss и слегка устал лично заниматься этим волшебным сервером.Решение 2:
Разделяем каждый пароль от внешнего сервиса на N частей (N >= 3)
Дублируем решение 1 на N серверов, каждый пароль получается размазан на N серверов.
Первоначальная хранимка занимается тем что собирает данные из N хранимок с N серверов.
У каждого сервера - свой ответственный человек. Доступ к каждому серверу есть только у ответственного и у bigboss (на случай внештатных ситуаций).
Решение достаточно дорогое и по людям и по железу и по скорости работы - но я за всю свою трудовую деятельность, так и не увидел ничего лучше.

Худший ответ:
1. Храним пароль к базе в .htaccess
2. Запросы к базе (ORM) через функцию-шаблонизатор (используем sprintf) с цифровой подписью, в которую при необходимости, передаются параметры. Это позволит контролировать "свои/чужие" запросы и автоматически создаст "белый" список (исключая все неожидаемые).
Вопрос: Задачи (TO DO) с синхронизацией?

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

Худший ответ:
Использую Google Tasks как браузерное приложение, есть клиент для андроида.
Вопрос: Как НЕ учить языки?

Лучший ответ:
Все просто, чуть более чем очень. Нужно понимать, как можно решить задачу (в вашем случае это программирование) и знать, как пользоваться инструментом (в вашем случае это язык) для ее решения. Решений и инструментов может быть больше одного. Также решения могут зависеть и от инструментов, то есть зная, как решить с одним инструментом у вас не будет знаний, как решить с другим, более того, третий инструмент может решать задачу совершенно другим способом, а четвертый - бессилен.
Декомпозировали.
Берем понравившуюся вакансию, по которой желаем работать. Придумываем себе аналогичные задания из пункта обязанностей. Для решения заданий используем инструменты из пункта требований. Развлечение со сборниками задач вам могут ничем и не помочь в том, с чем вы собираетесь работать. Зато развлечетесь.
Ave!

Худший ответ:
Да, если у вас есть время - толк будет.
Вопрос: Как передать параметр в action в YII2?

Лучший ответ:
Как передать или как обработать запрос из Post? все это подробно описано в документации

Худший ответ:
print_r($_GET);
print_r($_POST);
посмотрите что там будет
это уже эквивалент \Yii::$app->request->post();
Вопрос: Редирект с https основного домена на http поддомена?

Лучший ответ:
Можете попробовать изменить настройку `"search_host": "search.ecoizbatravel.ru/flights"` на `"search_host": "ecoizbatravel.ru/flights"`, который поддерживает https и с этого URL на своей стороне уже сделать редирект на вайтлейбл по http. Мы сейчас вам быстрое решение не сможем предоставить так как специально везде в форме принудительно ставим относительный протокол.

Худший ответ:
Проблема решена, благодарю за идею Павла Горлова. 
Выкладываю алгоритм, вдруг пригодится: 
1. Создаем WhiteLabel на поддомене (в моем случае search.ecoizbatravel.ru) 
2. В файле .htaccess на хостинге добавляем следующую строку: Redirect 301 /search http://search.ecoizbatravel.ru/
3. В поисковой форме заменяем "search_host"
с "search_host": "search.ecoizbatravel.ru/flights", 
на "search_host": "ecoizbatravel.ru/search/flights"
Все работает просто идеально!
Вопрос: Как обойти блокировки РКН настроив роутер?

Лучший ответ:
Поднять на роутере vpn куданить. 
Либо прошить на openwrt и снова vpn | openvpn куданить.
rublacklist.net/bypass
Но вообще публикация инструкция вроде как в России по закону терь приследуется.

Худший ответ:
Если провайдер даёт Инет по dhcp, то возможно купить VPS, поднять там pptp-сервер и гнать через него. Собственно, я так делал, всё работает.
Вопрос: При наборе текста сразу отображался в canvas?

Лучший ответ:
Во-первых, у тебя ошибки в коде, нажал бы F12 что-ли и посмотрел в консоль, прежде чем писать вопрос. Во-вторых, вместо события change нужно юзать inputdemo

Худший ответ:
Без библиотек на чистом js https://jsfiddle.net/Politonius/6nhyv5n6/1/
Вопрос: Qt: обратботка событий нажатий нестандартных клавишь мыши. Как?

Лучший ответ:
За что минусуете? Знаете ответ — так поделитесь им. Фу.

Худший ответ:
Уж не знаю, сколько у вас там кнопок и соответствуют ли они тем, которые перечислены, но всё же кое-что есть тут: qt-project.org/doc/qt-4.8/qt.html#MouseButton-enum
Вопрос: Работал ли кто нибудь в Индии?

Лучший ответ:
По аналогии: "Почему москвичи не едут работать на стройку в Таджикистан? Понятно, что там миллион "своих" голодных, но там же тоже что-то строят, и мы для них Европейцы")) Понимаете абсурд вопроса?
Почему нельзя заниматься тем же, что и 4 млн. индийских кодеров, но в своей стране в более благоприятных условиях? Конкретно:пахать на америкосов/европейцев в местной аутсорс-галере;аутсорсить на америкосов/европейцев через upwork/linkedin/toptal и т.д.
Китай - совсем другая тема, это замкнутая рыночная система, обслуживающая сама себя, в которую крайне сложно интегрироваться. Если по каким-то причинам не привлекает релокейт в страны "золотого миллиарда", то рациональнее рассматривать арабские регионы, примеры есть.

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

Лучший ответ:
гуглите по "V-USB HID Arduino"
вот один из примеров rukodelie-ds.ru/forum/viewtopic.php?t=804
Также есть от Digispark для Attiny85 - его основа V-USB
Также вам придется узнать что такое "HID дескриптор" и о правилах его написания(в инете есть документация и проги для этого).

Худший ответ:
Брать ардуино на Atmega32u4 (leonardo большая, pro micro компактная) она умеет в железный HID и требует всего пары строк инициализации. 
А если строить на атмера32, atmega328 (большинство ардуин) то как в ответе от Александр v-usb в помощь.
Upd. Сперва ответил на вопрос шапки, потом прочитал уточнение. Но все равно пускай будет