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

Лучший ответ:
spl_object_hash не подойдет?

Будет что-то вроде:
$id = spl_object_hash($a);
$array[$id] = $a;

Худший ответ:
Писать свою версию array_unique, ибо сравнение внутри библиотечной идёт по строковым значениям — (string)s1 == (string)s2.
Вопрос: Как создать кликабельный файл запуска последовательности команд для ubuntu?

Лучший ответ:
$ touch file.sh
$ chmod +x file.sh
cat file.sh#!/bin/bash

# очищаем заданный файл
echo -n > file.md

# далее следуют необходимые команды
# ...
п.с.
специально открывать и закрывать файлы в баше не нужно )

Худший ответ:
ну так Вы же сами и написали - bash. Создаете файлик, в нем первой строкой пишите #!/bin/bash , далее со второй строки и далее пишите свои команды. 
далее в консоли делаете файл исполняемым (chmod +x ) - и дальше запускайте его хоть из консоли, хоть "мышкой"
Вопрос: Правильно ли я считаю по поводу изучения программирования?

Лучший ответ:
Потренируйся с алгоритмами.
Пиши на листике что должно происходить в программе. Далее переводи это в код.

Худший ответ:
1. html, css, mysql ты не только не изучил, ты их еще даже изучать не начал. Когда начнешь то узнаешь, что к языкам программирования они ни какого отношения не имеют.
2. Я занимаюсь программированием почти 40 лет и то многое делаю  "с помощью гугла" (так быстрее)
3. Разумеется все что есть в инете уже давно создано, не нужно изобретать велосипед, достаточно найти готовый код. CMS вообще копипасту автоматизировали.
4. CMS означает "система управления содержимым". СОДЕРЖИМЫМ!!!!! т.е. интернет это не html, css, mysql или PHP, а нужная и важная информация. В WEB очень низкий порог входа и по этому туда лезут все кому не лень, по статистике 80% сайтов не набирают 100 посещений в месяц, т.е. они бесполезны и неинтересны.
5. Практика вещь хорошая и нужная, но главное научится писать программы, а писать программы и писать код (а уж тем более копипастить) это оооочень разные вещи.
Вопрос: Как лучше организовать донат?

Лучший ответ:
Миллион систем. Для российской аудитории наверное удобнее ЯндексДеньги

Худший ответ:
Итак, бизнес-цели блог-площадки:
1. Составной донат
2. Выплаты N-сторонам по любой бизнес-модели.
3. Минимум потерь и налогов
4. Максимизировать процентный заработок сервиса-посредника
Решение: только управление операциями аккаунта плательщика на стороне платёжной системы через API. Это позволяет делать система Яндекс.Деньги. Но, нужно настраивать всё очень корректно.
Вопрос: Почему сняли 20%, а не 10% комиссии?

Лучший ответ:
С след недели все будет хорошо.

Худший ответ:
С первых $500 на каждого клиента комиссия 20%, дальше 10% вплоть до $10,000 дальше уже по %5
(И не важно что там сейчас Pending)
Вопрос: Быстро ли можно освоить базовые скрипты powershell?

Лучший ответ:
примерно за один день

Худший ответ:
Powershell не сложный язык, обучиться можно очень быстро. Встроенной справки хватает с лихвой (не забудьте предварительно её обновить: Update-Help).
Вопрос: Port Mapping в Windows Server?

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

Худший ответ:
А со службой, на которую ругается винда, что?
Вопрос: Вопрос художникам и дизайнерам?

Лучший ответ:
Универсального способа нет, рисование это такая "индустрия" где любой метод хорош в той или иной степени, смотря как им пользоваться. Техник миллионы, и раз в час выходят всё новые и новые, потому что такой вид творчества не как музыка к примеру, где исполнение одинаково, на рояле допустим, каждый день можно нажимать на одни аккорды, потом на другие, и через 4-8 лет ты играешь быстро 
Тут не так. И в конце главное чтобы эта лошадь вписалась в общую картину, а не была просто лошадью, иначе никто не заценит такое искусство по достоинству Техника рисования лошади - Результатов: примерно 888 000 (0,71 сек.)
Если я бы рисовал для 3д то конечно в максе, брал уже готовую лошадь и мэш менял бы так как надо, если надо для 2д то брал бы фотографии живых лошадей и перерисовывал от руки сохраняя пропорции
пропорции - это самое главное в рисовании, один из способов их имитации вы уже может быть часто видели у художников, сохранять одну и ту же дистанцию на вытянутой руке поднеся карандаш, тем самым измеряя пальцем расстояние от начала объекта на кончике и до временной пометки пальцем, чтобы перенести быстро его на холст в виде меток не отрывая большой палец руки с карандаша
процесс рисования это по сути и есть действие переноса пропорций на бумагу или в электронный вид, их конечно намеренно можно искажать (как часто делают в мультиках или комиксах), этого никто не запрещает, более того, в рисовании вообще всё разрешено, что очень хорошо
также процесс рисования это перспектива
Если рисовать лошадь в профиль, то она с перспективой мало чего общего будет иметь (разве что задние копыта более смещены и меньше размером), а если например делать в полуанфас - то понимание или чувство перспективы уже более важно
Перспектива и Пропорции это 2 постулата рисунка, завершает весь этот процесс композиция

Худший ответ:
Яна Франк «Тайные знания коммерческих иллюстраторов».
Вопрос: Возможно ли сделать ЧПУ в социальной сети битрикс?

Лучший ответ:
На счет пользователей - не подскажу.
Но вот по блогам:
категории блога нужно в админке написать в такие поля joxi.ru/L213WgRu6jpJMr.jpg
добавление/редактирование поста joxi.ru/gmvjYM7IxEVb1m.jpg
настройки SEF для комплексного компонента Блог:
"SEF_URL_TEMPLATES" => array(
			"index" => "index.php",
			"group" => "group/#group_id#/",
			"blog" => "#blog#/",
			"user" => "user/#user_id#/",
			"user_friends" => "friends/#user_id#/",
			"search" => "search.php",
			"user_settings" => "#blog#/user_settings.php",
			"user_settings_edit" => "#blog#/user_settings_edit.php?id=#user_id#",
			"group_edit" => "#blog#/group_edit.php",
			"blog_edit" => "#blog#/blog_edit.php",
			"category_edit" => "#blog#/category_edit.php",
			"post_edit" => "#blog#/post_edit.php?id=#post_id#",
			"draft" => "#blog#/draft.php",
			"moderation" => "#blog#/moderation.php",
			"trackback" => POST_FORM_ACTION_URI."&blog=#blog#&id=#post_id#&page=trackback",
			"post" => "#blog#/#post_id#/",
			"post_rss" => "#blog#/rss/#type#/#post_id#",
			"rss" => "#blog#/rss/#type#",
			"rss_all" => "rss/#type#/#group_id#",
		),

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

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

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

Лучший ответ:
Используй postcss и не забивай ерундой себе голову

Худший ответ:
нет!
Вопрос: Форматирование строки в Eclipse после ввода точки с запятой?

Лучший ответ:
Следующие комбинации клавиш используются для автоматического форматирования кода текущей строки либо выделенного фрагмента:

Ctrl + Shift + F
Ctrl + I

Как настроить автоматическое форматирование, я не знаю, предполагаю, что никак. Может в настройках сборщика проекта можно найти что-нибудь?

Худший ответ:
Следующие комбинации клавиш используются для автоматического форматирования кода текущей строки либо выделенного фрагмента:

Ctrl + Shift + F
Ctrl + I

Как настроить автоматическое форматирование, я не знаю, предполагаю, что никак. Может в настройках сборщика проекта можно найти что-нибудь?
Вопрос: Сдавал ли кто экзамен Microsoft 70-483?

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

Худший ответ:
На этом сайте можно найти все вопросы в одном файле касательно этого экзамена и многих других https://exambraindumps.com/70-483.html. Скачивать файл надо на loorex.com.
Вопрос: Как делают Responsive сайты?

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

Худший ответ:
Как верстать адаптивно с нуля?
Вопрос: Есть ли аналог Principle на win?

Лучший ответ:
Я бы тебе советовал все таки AE. Он конечно не такой простой, но возможности шире намного.

Худший ответ:
Я бы тебе советовал все таки AE. Он конечно не такой простой, но возможности шире намного.
Вопрос: Микроволновка в офис?

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

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

Лучший ответ:
Бюджетный телефон на Android + простое приложение, переправляющее все принятые смски на ваш сервер. Можно уложиться в пару тысяч рублей.

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

Лучший ответ:
Лично для меня было первейшей причиной рутануть аппарат — это впарить свои звуки в систему.

1) Я не люблю дефолтные звуки либо за глупость, либо за затасканность в народе, либо за путаницу чей это телефон

2) Музплеер для чайников и хомячков играет вообще всё, до чего дотягивается. Слышать звук будильника между Вивальди и Гориллаз — это не гламур ни разу.

3) Защитив звуки от жадного плеера посредством файла .nomedia, мы защищаем так же и будильник с телефоном — они не могут найти юзерских звуков для настройки.

4) Ставить умный и нежадный музплеер для одного каталога — это потерять Dolby в наушниках, что обычно печально.

Вывод один для меня один — ставить звуки куда не дотягивается плеер, и куда нормально дотягивается скин системы.

Решение нашёл одно — рутить, ибо нех.

Потом всплывают прикольные плюшки, навроде TimeZone Fixer, AdFree, Titanium Backup, Nandroid Backup и прочих.

Худший ответ:
>Существует ли способ обойти проблему без root-a?
А какое решение вы предлагаете? Отсутствие звуков, если карта извлечена? Имхо это не лучше, чем то, что есть.
Вопрос: Как в MODX загружать ресурсы (документы) через базу данных?

Лучший ответ:
У MODx есть api позволяющая создавать ресурсы и т.д.
Небольшой пример полезных функций code.re/7Re

Худший ответ:
Если хорошо себе представлять устройство БД modx, то вам ни чего не помешает загонять данные в бд любым способом, хоть импортом из CSV, хоть любым другим способом.
Вопрос: Gulp и его будущее?

Лучший ответ:
Мне коллега сказал что Gulp умирает и поддерживаться больше не будет
где пруфы?
p.s. это тот самый вопрос который ты должен был задать коллеге.

Худший ответ:
Галп прекрасен, но конечно не вечен как и все в этом мире, когда устареет - напишут что-то новое, как всегда.
Альтернативы:GearBrunchGruntCodeKit
ps На мой взгляд webpack инструмент для решения других задач, то что там есть всякие лоадеры для сборки стилей это конечно хорошо, но в первую очередь он заточен под JS.
Вопрос: Клонирование строк таблицы с массивами?

Лучший ответ:
name="mas['name'][]"
вот что сразу приходит в голову.

Худший ответ:
Я делаю так:
<table id="table" data-template="<tr><td><input type=«text» name=«mas[$$id$$]['name']»></td><td><input type=«text» name=«mas[$$id$$][col]»></td></tr>">
 <tr><td><input type=«text» name=«mas[1]['name']»></td><td><input type=«text» name=«mas[1][col]»></td></tr>
 <tr><td><input type=«text» name=«mas[2]['name']»></td><td><input type=«text» name=«mas[2][col]»></td></tr>
 <tr><td><input id="add" type=«button» name=«add» value=«еще»></td></tr>
</table>
<script type="text/javascript">
	$(document).ready(function(){
		$('#add').click(function(){
			var template = $('#table').data('template');
			var index = $('#table > tr').length;
			template = template.replace(/\$\$id\$\$/g, index);
			$('#table').append(template);
		});
	});
</script>
Вопрос: Как выровнять блок position: absolute; по центру?

Лучший ответ:
Вы явно ошиблись с отступом, если хотите сделать по центру, то если logo 50x50:left: 50%;
margin-left: -25px; /* половина ширины logo */
либо вместо margintransform: translateX(-50%);

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

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

Худший ответ:
Какая нафиг разница, если это веб?
Вопрос: Как настроить xdebug для phpstorm на nginx в ubuntu?

Лучший ответ:
nginx тут вообще не при чём, а вот по остальной настройке смотрите на официальном сайте xdebug

Худший ответ:
nginx тут вообще не при чём, а вот по остальной настройке смотрите на официальном сайте xdebug
Вопрос: Какая математика нужна програмисту?

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

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

Лучший ответ:
>> - оператор бинарного сдвига вправо, то есть число 13 в бинарном виде 1101, при сдвиге вправо на один бит будет число 6 (110)
& - бинарное И, каждый бит числа слева сопоставляется с соответствующим битом числа справа, например 13 & 6 (1101 & 0110) будет 4 (0100)
Теперь разберем конкретный пример, начальные условия
n = 1234 (10011010010)
c = 0
Условие цикла for - значение переменной n, так как переменная числовая, цикл будет выполнятся пока n не станет равной 0
Первая итерация:
n & 1 - 0 (так как 1 - это 00000000001), все биты при & дают 0
с += 0 - c будет 0
n >>= 1 - n будет 617 (1001101001)
Вторая итерация:
n & 1 - 617 & 1 - 1
c += 1 - c будет 1
n >>= 1 - n будет 308 (100110100)
Ну и так далее, пока на последней итерации, перед которой в n останется 1 и операция n >>= 1 сделает его 0, что и послужит завершением цикла, а в c на тот момент будет количество еденичных битов начального числа

Худший ответ:
Давайте разберемся, что такое бит вы знаете? Надеюсь да. Так вот, все в компе состоит из этих байтиков и т.д.
В данном случае так выходит:14 1110
&9 1001
=8 1000
Вопрос: OpenVPN за NAT почему скорость 0.5mB\sec?

Лучший ответ:
Проблема не в NAT, а в SMB.при копировании по SMB больше 0,5 мегабайта скорость не поднимается
SMB заточен для работы в локальной сети - низкий пинг, и стабильная доставка. Нет этого, нет и нормальной работы по этому протоколу.

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

Лучший ответ:
arr2 = arr2.filter(e => !~arr.indexOf(e));
// facebook.com,ya.ru
Метод массива filter() создаёт новый массив, в котором остаются только те элементы исходного, для которых функция проверки вернула true.
Внутри этой функции проверяем, есть ли очередной элемент в массиве arr: вернёт ли indexOf() что-то отличное от -1.  Для короткой записи такой проверки удобно использовать побитовое НЕ ~ которое даст 0 в единственном случае, когда операнд равен -1. Его отрицание ! даст true в том же единственном случае. Итого эта функция вернёт true только, если элемент не найден в массиве arr.

Худший ответ:
let obj = [{ id: 1, name: 'abc' }, { id: 2, name: 'abc' }, { id: 3, name: 'abc' }, { id: 4, name: 'abc' } ];
let idArr = [1, 2]
let data = obj.filter(item => !idArr.includes(item.id));
Тут стащил
Вопрос: Как управляют самописным сайтом?

Лучший ответ:
Переделывают на CMS, она как бы для этого и нужна.

Худший ответ:
Как правило, студии без "админки" работу не сдают. Если не было указано заказчиком такое решение. Чисто теоретически PhpMyAdmin - та же админка, но с прекрасной возможностью быстро достигнуть пиз.... Ну вы поняли. Кроме того, никто не запрещает добавлять контент в виде статических файлов, например.
Вопрос: Почему Bacula (Bareos) для каждого типа бэкапа создаёт полный бэкап?

Лучший ответ:
В общем не знаю, нашли ли вы решение, я нашёл.
Суть в том, что каждая из Job - самостоятельная единица, которая создаёт для себя отдельный счётчик в каталоге. То есть Job {
  Name = "Backup Desig DIFF"
...
}
Ничего не знает, о том, что сделал Job {
  Name = "Backup Desig FULL"
...
}
Даже, не смотря на то, что они используют общий Volume. Суть работы бекапа заключается в том, что мы должны для одного Job описать как и куда он будет делать бекапы разных типов. Вот к чему пришёл яJob {
  Name = BareosConfBackup
  Client = gazer-fd
  Type = Backup
  Level = Incremental
  Pool = IncBareBup
  Full Backup Pool = FullBareBup                 # Раз
  Differential Backup Pool = DiffBareBup     # Два
  Incremental Backup Pool = IncBareBup     # Три
  File Set = BConfig
  Schedule = WeeklyCycle
  Priority = 10
  Write Bootstrap = "/var/lib/bareos/%c.bsr"
  Messages = Standard
}

Schedule {
  Name = WeeklyCycle
  Run = Level = Full 1st sun at 23:00                        # Раз
  Run = Level = Differential 2nd-5th sun at 23:00     # Два
  Run = Level = Incremental mon-sat at 23:00          # Три
}
Получаем, что это задание, каждый первый понедельник каждого месяца делает полный бекап, со второго по пятый понедельник делает Diff, и каждую неделю с понедельника по субботу делает Incr
А что бы запустить это задание в консоли с определённым уровнем, нужно запускать его такrun job=XXX level=Full #{Differential, Incremental  и тд}
вот как-то так.

Худший ответ:
No prior Full backup Job record found.
Вероятно, предыдущий Full Backup отротейтился. Это нехорошая ситуация, означает, что восстановиться если что не получится - полного бекапа нет. Советую попробовать Restore сразу после создания полного бекапа, чобы убедиться, что всё ок, и потом искать, куда он пропадает.
Вопрос: Автоматический постинг в группу в контакте

Лучший ответ:
Если у Вас блог на Wordpress — Публикация записей на стене ВКонтакте.
Плюс скоро опишу на блоге как всё сделать средствами самого контакта на любом сайте или блоге. Но будет подходить только для публикации на паблики. Интересно?

Худший ответ:
Копать в сторону модулей для своего блога, если таких нет — смотреть в сторону api. Там все просто, в принципе.
Вопрос: В какой ИТ-сфере реально продолжить карьеру после 55 лет?

Лучший ответ:
Где нет конкуренции, там не будет ни денег, ни перспектив.

Худший ответ:
Я бы на вашем месте вернулся к Ассемблеру. Людей понимающих на языках высокого уровня всегда навалом, а вот создать логику на уровне ЦПУ - это могут не многие. Но возможно с вашими знаниями стоит рассматривать работу где-то не в России, например в Кореи или в Кремневой долине. Хотя если дети уже взрослые - это не должно быть проблемой.
Вопрос: Какой лучший способ изучить основы PHP и SQL?

Лучший ответ:
для начала нужно найти задачу. и решать ее. 
мне однажды понадобилось на компьютере прибраться в фотоархивах, срыть от лишних глаз определенные категории фоток )))
нашел и поставил какой то фотоальбом. 4images назывался. 
и когда стало не зватать некоторых функций, полез во внутренности. сначала просто менял расположение текстов в шаблоне, потом постепенно начал дописывать по примеру кода рядом свой функционал. там же и sql разобрал. чтоб апомнить выписал основные моменты в тетрадь и пользовался ею пока не запомнил уже наизусть

Худший ответ:
Заголовок вопроса уже подразумевает быстрость) Быстрее нкакой язык не изучить наверно)
Вопрос: Как грамотно и красиво оформлять комментарии на TOSTER.RU?

Лучший ответ:
Многие пользователи очень "грамотно" оформляют свои комментарии
Это простой htmlкод
Теги работают и в ответах и в комментариях.

Худший ответ:
Теми же тэгами, что и в ответах WYSIWYG вставляет.
Вопрос: Не тривиальная проблема

Лучший ответ:
Нашими умельцами все же была решена данная задача!!! 

На новом свистке фирмы Huawei, после поднятия трубки командой ATA
Пишется в управляющий порт команда AT^DDSETEX=2
после этого в интерфейсный порт пишется звук PCM 8000Гц 16bit Mono блоками по 320 байт каждые 20 миллисекунд если пишется в порт из файла то позиционировать указатель в файле надо со смещением 44 байта (это заголовок WAV файла)

(Проблема была решена благодаря снифферу COM порта, и жуткому желанию решить проблему своим методом)

Худший ответ:
Судя по форумам в интернете, вроде бы у модемов ZTE голос передается через отдельный USB-порт (/dev/ttyUSB0?), на который нужны драйвера, и причем для разблокировки этой функции надо его перепрошивать.
Вопрос: Что не так с передачей строки между активностями?

Лучший ответ:
Найдете отличие от моего кода ?
startActivity(new Intent(getActivity().getApplicationContext(), DetailActivity.class)
.putExtra(DetailActivity.INTENT_PRODUCT, product));
mProduct = getIntent().getParcelableExtra(INTENT_PRODUCT);

Худший ответ:
Заработало вот такBundle bundle = new Bundle();
                bundle.putString("headers", Headers);
                Intent intent = new Intent(LoginActivity.this, MyPageActivity.class);
                intent.putExtras(bundle);
                startActivity(intent);Bundle bundle=getIntent().getExtras();
        String headers2 = bundle.getString("headers");
        TextView outputView = (TextView) findViewById(R.id.responseView);
        outputView.setText(headers2);
Вопрос: Возможно ли начать зарабатывать фрилансом (язык Objective-C) без предварительной работы в офисе?

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

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

Лучший ответ:
Linksys SPA3102 подойдет для требуемой задачи.
У него 1 порт FXS (для стационарного телефона), 1 порт FXO (телефонная линия).
Подключаете — настраиваете в админке — пробрасываем нужные порты и получаем требуемое, без использования сервера.

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

Лучший ответ:
Виртуальной бокс устанавливает свой драйвер сети, который эмулирует работу "железного" для хвостового виртуального образа. Подозреваю, что косяк выпадает из-за того, что по умолчанию этот драйвер привязывается к реальной карте по NAT.
Попробуйте после установки зайти в настройку сети, выбрать сетевое соединение которое работает через wifi,  открыть свойства и отменить привязку к данной сетевой карты нового устройства от ВиртуалБокса.

Худший ответ:
svd71 @svd71  все правильно написал. Зайдите в "центр управления сетями и общим доступом" там в "изменение параметров адаптера", отключите раздающий вайфай адаптер, откройте его свойства и уберите галочку с VirtualBox Bridged Networking Driver. После включения адаптера будет вам вайфай.