Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как правильно построить сетку с картинками, чтобы они заполняли пустоту?

Лучший ответ:
Если немного доделать ответ от apoca1ipsis, то получится что-то такое: https://codepen.io/daemonhk/pen/xxaxmBa
Однако стоит учесть, что элементы располагаются, условно говоря, как им вздумается, дабы заполнить все пространство.

Худший ответ:
Как вариант
https://codepen.io/apoca1ipsis/pen/ababaJE

<div class="images">
        <img src="https://via.placeholder.com/468x160" alt="">
        <img src="https://via.placeholder.com/468x260" alt="">
        <img src="https://via.placeholder.com/468x60" alt="">
        <img src="https://via.placeholder.com/468x160" alt="">
        <img src="https://via.placeholder.com/468x360" alt="">
        <img src="https://via.placeholder.com/468x560" alt="">
        <img src="https://via.placeholder.com/468x460" alt="">
        <img src="https://via.placeholder.com/468x60" alt="">
        <img src="https://via.placeholder.com/468x460" alt="">
        <img src="https://via.placeholder.com/468x260" alt="">
</div>

    <style>
        .images {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-gap: 20px;
        }
        .images img {
            display: block;
            width: 100%;
            min-height: 100%;
            object-fit: cover;
            object-position: center;
        }
    </style>
Вопрос: Как подключить два монитора к ноутбуку одновременно (HDMI + VGA + Дисплей) на Intel HD 4000?

Лучший ответ:
Убедитесь, что у вас установлена последняя версия драйвера. Это единственный вариант получить поддержку трех моников на винде
https://www.intel.ru/content/www/ru/ru/download/18...

Если в диспетчере устройств в свойствах карты вы видите именно эту версию, то увы

Худший ответ:
Если видяшка не поддерживает - то выход купить видеокарту USB. У меня так 4 монитора подключено. Один HDMI + 3 внешних видеокарты.

https://market.yandex.ru/search?clid=2374179&text=...
Вопрос: Возможно ли изменить исполняемый файл в процессе выполнения*?

Лучший ответ:
Unix-way: в исполняемом файле - только исполняемый код, он при запуске читается в память, после этого файл свободен и с ним можно делать все, что позволяет твой доступ.
Windows-way: в исполняемом файле может быть навалено три короба ресурсов, вплоть до вырожденных случаев вроде самораспаковывающегося архива, когда код - это просто небольшая вставка в гигантский исполняемый файлище. Так что в память читается только код, но при этом предполагается, что он может подтягивать из файла ресурсы, когда они понадобятся. Поэтому файл блокируется на запись до тех пор, пока этот код не закончит выполнение.

Худший ответ:
Из того что приходит на ум только костыль аля открыть ofstream переписать им файл, натравить на него через system компилятор и за тем перезапустить программу через exec из скомпилированного файла. Да это можно было бы сделать, но это бред. Менять C/C++ код в рантайме всё равно что юзать микроскоп для забивания гвоздей. Проще было бы подключить V8 и в рантайме менять JavaScript он так из коробки умеет вродебы.

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

Так же есть вариант для совсем уж отбитых: писать в исполняемый файл через ofstream машинный код(предварительно скопировав сам исполняемый на системах семейства Windows) и перезапускаться exec'ом, но тут более чем дофига причин так не делать - как минимум будет больно и страшно.
Вопрос: После подключения белого ip нужно ли самому в настройках ADSL роутер прописывать статику?

Лучший ответ:
Нет.

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

Лучший ответ:
Сетевое обнаружение работает по MAC на уровне широковещательных запросов Ethernet.
Соответственно, устройства должны быть в одном широковещательном домене сети.
Какие у них при этом IP-адреса для WinBox абсолютно всё равно.
Можно подключиться к любому микротику, вручную указав его IP-адрес, если до этого адреса настроена маршрутизация.

Худший ответ:
Neighbors - буквальный перевод - "соседи"
т.е. поиск только в своей локальной сети
при этом ты можешь увидеть ВСЕ микротики, даже если у них отсутствует IP адрес или он другой . Но только если: 
1. они в одной с тобой локальной сети 
2. Это самое обнаружение включено (IP → Neighbors → Discovery Interfaces)
За NATом или маршрутом уже не увидишь

Пиши IP адрес Микротика в Managed и если маршрут до него имеется - то подключишься
Вопрос: Как безопасно передать переменную от JS к PHP чтобы ее нельзя было подменить?

Лучший ответ:
Если в коде фронтенда присутствуют "секретные" данные, значит где-то в момент проектирования приложения нехилый косяк. Это значит от js НЕ ДОЛЖНО приходить данных, непроверяемых через бэкенд. 

Малопонятно что вы пытаетесь сделать, но вы точно делаете это неправильно.

Худший ответ:
Героически борешься против csrf? Можно погуглить эти буквы. Или пояндексить.
Вопрос: Как инвертировать фоторезистор?

Лучший ответ:


D1 - фоторезистор (не нашел в редакторе более подходящего обозначения)
Номиналы условные, не обращайте на них внимания.

Суть в том, что чем сильнее открывается транзистор - тем больше падение напряжения на резисторе в коллекторе и наоборот. Если транзистор полностью закрыт - на выходе 5 вольт. Если полностью открыт - около нуля (напряжение насыщения транзистора).

Худший ответ:
Вы запутали себя и нас весьма грубой формулировкой в заголовке, а потом ещё больше запутали в "теле" вопроса. Пришлось применить телепатию.
Во-первых, 0 и 5 вольт - это двоичная, пороговая градация, а фоторезистор изменяет своё сопротивление не скачком, а плавно. Если вам важно именно пороговое срабатывание, то действительно без транзисторов (и прочих пороговых устройств) не обойтись.
Во-вторых, если вам требуется инвертировать не фоторезистор (это невозможно), а только лишь его выходной сигнал (пусть и в "плавном" непороговом виде), то никаких транзисторов не требуется. Фоторезистор ведь не сам собою работает, а в составе делителя напряжения. Это и есть решение вашей проблемы - надо всего лишь этот делитель перевернуть:

Если подсветить фоторезистор в варианте А, то выходной сигнал будет увеличиваться, а в варианте Б - уменьшаться.
Вопрос: Можно установить Ubuntu паралельно Windows?

Лучший ответ:
Нет.
Ставьте в виде виртуальной машины.
Меньше геморроя будет.

Худший ответ:
Что бы без перезагрузки возможно и можно, но это точно не домашнее решение.
Ставьте виртуалку (VirtualBox или VMware) под Windows и в нее Ubuntu.
Вопрос: Есть ли готовые решения для домашнего сервера с поддержкой RAID1?

Лучший ответ:
любой рейд сейчас спокойно делается софтовыми средствами. 
ваша задача - найти комп за 150 (или меньше) бачей.

Худший ответ:
Берется настоящий серверный сервер в конторе, которые торгуют бу серверами, снятыми по регламенту с ДЦ - таких контор полно. В него ставится raid-контроллер и покупаются новые диски. И эта штука будет молотить еще лет пять самое малое - у серверов обычно запас такой, что они раньше устаревают, чем ломаются.

В апреле 2018-го я купил вот такой сервак:
Платформа ASUS RS500-E6/PS4
2xXeon E5620 (4 cores, 16 logical cores)
24G RAM
Adaptec RAID 5405 (стоит в ризере)
4xSeagate ST2000NM0008 2Tb (RAID10 4Tb)

Сервак пережил нашествие десяти тысяч тараканов и молотит, милостью Господней, до сих пор. Железка бу, отходившая пять лет в телекоме.
Вопрос: Проблема с пониманием проектирования бд, поможете?

Лучший ответ:
 к примеру, у одного объявления в среднем 3 тега, на 1 миллион объявлений будет 3 миллиона записей в "объявления-теги", как там будет по скорости при выборке? Сильно я выиграю, если нарушу правило и буду писать теги, перечисляя их в строку через запятую?
1. Представим, что промежуточная таблица объявление-тег - это два гуида.
Тогда одна строчка будет занимать около 32 байт. 3*32*1000000 = 96 мегабайт (метрических)
2. Естественно, выборка будет медленной, если не добавить индекс. Индекс по id объявления ещё примерно столько же займёт. Выборка уже будет быстрее. Для фильтров ещё надо будет добавить индекс в обратную сторону - от id тега. 
3. Ещё и фильтроваться по тегам можно будет, что, мне кажется, является одним из важнейших качеств тегов.
4. Если 96 мегабайт тебя пугает - используй int64 или int32 - тогда будет меньше в 2 или в 4 раза соответственно
Сильно я выиграю, если нарушу правило и буду писать теги, перечисляя их в строку через запятую?
Как уже сказали в комментах - очень сильно обосрёшься.
Выборка, конечно, будет очень быстрая, но 
1. Представим что тег - это 6 букв на русском языке, а храним мы строки в Utf8 кодировке.
Тогда на каждое объявление будет тратиться 6*2*3+3+4=45 байт. Соответственно на миллион объявлений уйдёт 45 метрических мегабайт.
2. Но тут не будет индексов, по тому и фильтроваться будет очень дорого

PS: все прикидки по памяти взяты с потолка. В реальной БД числа будут другие, но примерно похожие.
PPS: если не совсем понятно, что я предлагаю, то вот:
._________.             .______________.           .____________.
| post    |             | post_tag     |           | tag        |
|=========|             |==============|           |============|
| id: int |<------------| post_id: int |           | id: int    |
| ...     |             | tag_id: int  |---------->| name: text |
|_________|             |______________|           |____________|

Худший ответ:
я вообще не эксперт по БД, но может создать отдельную таблицу для тегов... перечислить их там
далее добавить поле\поля к объявлению и там уже помечать. типо 1 есть тег, 0 нет тега... и так по каждому
Вопрос: А где проводятся вычисления при работой с изображениями?

Лучший ответ:
Нельзя просто так взять и перенести вычисления на GPU - для этого (на 2021 год) программа должна разрабатываться отдельно, с учетом возможностей и структуры этого самого GPU.

Главный плюс GPU - высокая степень параллельности на независимых данных. GPU может одновременно делать тысячи математических операций, при условии, что результат каждой из них не зависит от результата других - что часто встречается при обработке изображений - отсюда высокая скорость вычислений.

Однако, GPU может работать только с теми данными, что загружены в видеопамять и результат записывает тоже только в видеопамять, а ее, как правило, меньше чем обычной RAM. 

Отсюда следует, что выиграть, считая на GPU, можно только тогда, когда данные независимы, хорошо умещаются в память видеокарты и успевают перекачиваться.

Худший ответ:
Разница в заточенности GPU именно под определенный тип операций, из-за чего при с виду одинаковой мощности некоторые данные на GPU обрабатываются гораздо быстрее чем на CPU. Это как сейчас в Биткоинах - на GPU  майнить можно, но Asic-чипы делают это гораздо шустрее т.к. заточены именно под криптооперации.
Компиляторы по умолчанию делают проект который должен работать на всем, CUDA есть далеко не везде. Поэтому если хотите использовать CUDA, то читайте как ее программировать
Вопрос: Как узнать количество цифр после точки?

Лучший ответ:
В двоичной системе счисления данное десятичное число в виде конечной дроби не представимо. Т.е. ответ зависит от разрядности компьютера и т.д. и т.п. и он будет совсем не 3. Если, конечно, речь идет о числе, а не строке.

Худший ответ:
Держи
Вопрос: Как сделать копию сайта на втором сервере?

Лучший ответ:
Делаете репликацию базы, распределённую сетевую ФС для файлов, скриптами или каким-то ПО реализовываете failover в виде переключения DNS A-записи и запуска на втором сервере базы на запись. Опционально - делаете где-то балансировщик, тогда переключать DNS и ждать, пока у клиентов протухнет кэш не придётся, но появится дополнительная точка отказа.

Худший ответ:
как вариант:

на основном и резервном серверах обращение к контент-серверам организовать через прокси (nginx), причем прокси на резервом сервере редиректит запросы на основной контент-сервер. В аварийной ситуации он переключается на собственный контент-сервер. Прокси можно опять же поднять несколько.
Вопрос: Какой MacBook купить для обработки графики/видео?

Лучший ответ:
Однозначно, надо брать новый мак на м1

Худший ответ:
Во-первых, Air на Intel это самый слабый мак из всех существующих - годится разве что для проверки почты и чтения статей в одном единственном табе в Сафари. Для ресурсоемких задач типа редактирования видео и фото этот ноут и этот процессор не подходят от слова совсем. iPhone будет помощнее в разы. Во-вторых, вы его потом никому не продадите, разве что за копейки. В третьих, брать сейчас мак на интеле нет никакого смысла, наступила эпоха Apple Silicon. Берите Air на М1 и будет вам счастье.
Вопрос: Возможен ли LIMIT на сгруппированные строки?

Лучший ответ:
В MySQL 8 через оконные функции.

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

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

Рекомендую следующую сборку которой вам хватит на 3 года и от которой у вас не будет гореть.
1. Заменяем hdd на ssd. По деньгам одно и тоже, но профит в 500%. 
SSD 500GB за 3.7к рублей 
2. Лучше DDR4. 
3.5к за 8ГБ
2.6к за 8ГБ чуть хуже, но вы не заметите
Итого за 6к вы возьмете 16GB. Этого хватит ещё на долго.
3. Материнку любую в пределах 6к берёте, но не самую галимую. 
4. Процессор берите со встроенным графическим процессором. Профит будет такой же как и от GTX 1060 3GB (да, она плоха).
Рекомендую AMD Ryzen 3 PRO 3200G или типа того, можешь пошарить. Intel не бери, у них малый ресурс по задачам, любая задача превращается в 100% утилизацию процессора, а это проблемы с охлаждением. Итого 14к на процессор. На нём никогда не экономь. Ведь к примеру видеокарта несмотря на свою стоимость в 90% случаев тупо простаивает, а стоит она больше всех. 

Считаем - 6 + 6 + 6 + 14 = 32 тысячи рублей. При этом сборка будет современна, радовать глаз и есть возможность её усовершенствовать, а хлам с алика ты выбросишь после полугода.

Худший ответ:
Я бы вообще купил 2700к и ssd, вышло бы в копейки. И он кстати быстрее 3200G.
Вопрос: Какие есть универсальные форматы (кроме pdf), в которые можно конвертировать html?

Лучший ответ:
PDF все используют не просто так.
Есть, конечно, разные, даже docx и сам html умеют уже открывать телефоны. Но нужен ли вам этот геморрой?

Если у вас ничего не вышло с PDF, вряд ли ваш путь с epub, например, будет сильно проще.
Под PDF есть множество библиотек и в целом формат очень простой для языков и, к тому же, он открытый.

Худший ответ:
Если это html-страница, то логично предположить, что ее можно открыть в браузере.
Все современные браузеры имеют возможность сохранять страницу в PDF.
CTRL (CMD) + P и выбрать сохранение в PDF.
Вопрос: Как я могу вернуть деньги за купленный курс?

Лучший ответ:
Думаю что нет. Юридически они правы.

Может возможно перепродать курс.
Либо скачать из ЛК данные и смотреть потом

Худший ответ:
есть какой-то способ вернуть свои деньги
Нет. 

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

Лучший ответ:
Работаю с Python, Sql, php, html+css, c#, Javascript, Java, electron js
Пахнет средами от Jetbrains, а именно:
Pycharm Professional - python
Phpstorm - php
Rider - C#
Intellij IDEA Ultimate - Java

При этом в контексте каждого языка среды от JB - лучшие.
При этом в каждой из них можно делать фронт с html/css/js а также есть функции Datagrip для работы с SQL.
Соответственно, для JS есть ещё отдельно Wbstorm, а для баз данных - Datagrip
По красивости - новый UI там очень приятный, кмк, но если очень хочется - можно использовать их старый UI или обмазаться расширениями, которые внешний вид сильно изменят


Худший ответ:
Да вот тебе статья, прям на этом ресурсе.
Раз акой манерный, обрати внимание на Spyder, прям гламурный.
Вопрос: С чем связано уменьшение количества RSS-каналов новостей?

Лучший ответ:
С тем же, с чем было связано фактически полное исчезновение такой вещи, как nntp. 
Где нынче news-сервера? Нет их... Хотя лет так пятнадцать назад мы десятка полтора эх выписывали у провайдера, причем это были не знакомства какие-нибудь, а серьезные тематические эхи по осям, по софту.

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

Теряется популярность - уходит народ. Уходит народ - прекращается работа. Прекращается работа - технология уходит в архивные.

Раньше были популярны форумы. Сейчас живые форумы только те, где идет какое-то техническое обсуждение, все "околожизненные" площадки давно сожрали соцсети. Пройдет еще пара лет - RSS тоже пополнит собой зоопарк технологий, которые пережили свое время...

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

Лучший ответ:
https://tpverstak.ru/common-css-class-names/
https://github.com/yoksel/common-words
https://habr.com/ru/post/303174/

Совмещайте с БЭМ

.regular-text – обычный текст
.regular-text_inverted – на темном фоне

Если фоны могут быть произвольные, имеет смысл сделать отдельные классы-помощники

.regular-text.bg-black
.regular-text.bg-reg

Слайдер можно так и обозвать – .slider
Если есть еще один – назовите его .carousel
Что показывает слайдер? 
Картинки из галереи – .gallery-slider
Карточки с новостями – .news-slider
И т.д. Помним, что помимо .slider можем использовать .carousel и без лишних заморочек имеем возможность именовать два разных слайдера с новостями. Хотя обычно он один.
Еще кейс: у вас несколько разных слайдеров, функционально они одинаковые, но сами слайды отличаются. Обзываем из все просто .slider, а слайдам даем отдельные названия. .slide-news, .slide-image и т.п.

Фантазируйте.

Худший ответ:
Называйте ассоциативно)
Например для слайдеров
Вопрос: На каком языке нужно писать название и описание видео на YouTube?

Лучший ответ:
Какой-то язык обозначаете основным при начальном заполнении инфы.
Потом в редакторе видео на YouTube – Subtitles – Add Language
и добавляете новый язык, в нём новые Title и Description на новом языке.
скринПользователи, у которых выбран один из доступных в вашем видео языков, сразу увидят название и описание именно на нём.

Худший ответ:
Непонятно (ютуб автопереводит? но не всё?)
Ну, почти
Вопрос: Как создать метод из SQL запроса?

Лучший ответ:
то же самое почти что:

ResultSet resultSet = statement.executeQuery("SELECT count(*) as cnt FROM customers WHERE name = 'Bob' AND purchase = 'bike'");
  resultSet.next(); // not first() with PGSL JDBC it is forward only cursor
  final int cnt = resultSet.getInt(1);   
  System.out.println("cnt: " + cnt);

учтите что можно конечно исходный SQL  запрос выполнит через JDBC  но его синтаксис не является стандартным SQL это какое то постгрес расширение:

String query = "SELECT count(*) <> 0 FROM accounts WHERE username = 'bob';";
              System.out.println("Executing count query: " + query);
              ResultSet resultSet = connection.createStatement().executeQuery(query);
              resultSet.next();
              final boolean status = resultSet.getBoolean(1);
              System.out.println("status: " + status);

Худший ответ:
то же самое почти что:

ResultSet resultSet = statement.executeQuery("SELECT count(*) as cnt FROM customers WHERE name = 'Bob' AND purchase = 'bike'");
  resultSet.next(); // not first() with PGSL JDBC it is forward only cursor
  final int cnt = resultSet.getInt(1);   
  System.out.println("cnt: " + cnt);

учтите что можно конечно исходный SQL  запрос выполнит через JDBC  но его синтаксис не является стандартным SQL это какое то постгрес расширение:

String query = "SELECT count(*) <> 0 FROM accounts WHERE username = 'bob';";
              System.out.println("Executing count query: " + query);
              ResultSet resultSet = connection.createStatement().executeQuery(query);
              resultSet.next();
              final boolean status = resultSet.getBoolean(1);
              System.out.println("status: " + status);
Вопрос: Как думаете, есть ли подвох в пк за 10 к?

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

Худший ответ:
Очень дешево даже для б/у.  С другой стороны как говорится "на авито один дурак продает, другой дурак покупает", может дурак продавец. Если логично мыслить то такой комп даже б/у должен стоить 150-200 баксов при оф. курсе 50 это и будет 10000р. Но реальный курс за 150. так что здесь сложно что-то сказать
Вопрос: Можно ли сделать js запрос с сайта на локальный ip адрес другого комьютера?

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

Худший ответ:
Что значит "локальный IP"? 127.0.0.1? Тогда нет - трафик на 127.0.0.1 никогда не покидает компьютер.
Вопрос: Как продолжить скачивание через rsync?

Лучший ответ:
просто запустить еще раз ту же команду. он докачает

Худший ответ:
А зачем rsync для банальной закачки сайта. 
Всегда  качаю так. так
tar cvfz -/var/www/public_html/ |ssh root@11.111.111.11 "cd/var/www/new_public_html/;tar xvfz -"
дешево и сердито а  главное это самый быстрый(в плане скорости копирования) способ объединяющий все плюсы скачки одним архивом и все плюсы скачки файлов не имея при этом минусов.
По интернету проходит 1 файл архивный а на обоих сторонах только файлы.

если отвал сессии мешает то nohup и все
Вопрос: Почему не работает интернет на новом компе?

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

Худший ответ:
Когда у меня не было роутера, то мне приходилось вписывать все необходимые адреса в настройках сетевого адаптера. Так что посмотри что прописано на старом компе, или посмотри какие данные прилагаются к контракту и впиши их.
Вопрос: Как организовать одновременную работу на RDP через VPN и другой программы по удаленному доступу (Anydesk, TeamViewer, Chrome) (VNC не подходит)?

Лучший ответ:
Rdp заходит в того пользователя, которого укажешь
А выбивает потому что RDP и работа за ПК одновременно в 1 сессии не возможна

Худший ответ:
Вы описали сразу 2 проблемы:
1. Десктопная винда (это та что не серверная) она однопользовательская в принципе. Т.е. работа одновременно двух пользователей - это нарушение лицензии. А подключение RDP всегда пытается создать новую пользовательскую сессию для своего подключения. Поэтому винда автоматически выкидывает пользователя, который уже залогинен.
Можно использовать Windows Server там этой проблемы нет. Можно на десктопную винду поставить RDPWrapper, тогда поведение RDP сессии будет аналогично серверной винде, но это нарушение лицензии.
К тому же это не избавит вас от того, что новое RDP соединение будет пытаться создать новую сессию.

2. Есть режим RDP, когда вы подключаетесь к существующей сессии (консольной или RDP). Называется теневое подключение (Remote Desktop Shadowing). Но это требует дополнительной подготовки. Почитать можно, например, тут: https://domoticzfaq.ru/rds-shadow-tenevoye-podklyu...
Если вы используете только теневое подключение, то с RDPWrapper можно не заморачиваться.