Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как отправить SMS без отправки формы?

Лучший ответ:
Сами же сказали, что есть библиотека.
Ее и используйте https://smsc.ru/api/code/libraries/http_smtp/php/#menu

Есть там же и пример формы отправки sms
https://smsc.ru/api/code/examples/formsms/#menu

Худший ответ:
Пыталась ещё с curl разобраться, наверное туда и нужно копать?да, туда и нужно. Смотрите примеры работы с курл, их много, легко гуглится. Можно тупо подключить их библиотеку, как советует Сергей delphinpro, что дает сразу готовые функции по всем основным действиям с апи сервиса. 

Вообще запросы к апи на 90% выполняются в формате сервер-сервер, крайне редко клиент-сторонний сервер...
В вашем случае должно быть что-то вроде: аяксом запрашиваете со своего сервера данные, ваш сервер создает запрос к апи сервиса, получает данные и возвращает в ответе аякса. Все ключи / логины / пароли передаются только от сервера к серверу, на фронте никоим образом не должна светиться подобная инфа.
Вопрос: Нужны ли препроцессоры CSS в 2022/2023?

Лучший ответ:
Переменные давно реализованы в нативном CSS
В препроцессорах другие переменные.
вложенность также.
Разве?

Вообще препроцессоры много удобного сахара добавляют. (https://sass-scss.ru/guide/)

Если вы не видите нужных фич, значит вам не нужны.

Худший ответ:
Смотри пример https://codepen.io/delphinpro/pen/QvLZxg
Сможешь это кратко написать на css?

@for $i from 0 through 60 {
    $angle: 180 / 60 * $i * 1deg;
    .radial-progress[data-progress="#{$i}"] .circle-block .fill,
    .radial-progress[data-progress="#{$i}"] .circle-block .mask.full {
        transform: rotate($angle);
    }
    .radial-progress[data-progress="#{$i}"] .circle-block .fill.fix {
        transform: rotate($angle * 2);
    }
    .radial-progress[data-progress="#{$i}"] .inset .percentage .numbers {
        width: 100%;
    }
}
Вопрос: Как отредактировать данные в php файлах?

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

Чтобы при помощи php можно через форму можно редактировать данные, они не должны лежать в РНР файлах.

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

Если хочется немного удобнее, но всё ещё просто, используйте для хранения цен csv файл, который удобно редактируется в Microsoft Excel, а дальше обрабатывается функцией fgetcsv.

Если хочется поиграться с базами, но всё ещё не переусложнять, посмотрите на БД SQLite - это хорошая база под ваши задачи, при этом все данные она хранит в единственном файле, который удобно переносить в случае чего. Скорее всего вам с головой хватит.

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

Лучший ответ:
Так как я оказался более смелым, то оформил эту подписку на vpneuro на год за 1 руб с карты где денег не держу. Через 2 дня рубль вернулся. И ровно через месяц на карте три попытки списания 1999, 1490, 990 рублей. VPN работать перестал. Так как на карте денег не было, то получилось что пользовался месяц бесплатно. А так да - сайт мошенников

Худший ответ:
Ты из-за такого думаешь еще?))

Единственный 100% адекватный впн - это свой личный. Цена вопроса - 200р / мес на впс
Вопрос: Интернет с IP другой страны?

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

Худший ответ:
Решение без аренды внешнего IP и с минимумом применения мозга. Tailscale, внешний ip участвует, но кординационного сервера. Можно пометить одного из участников сети как Exit Node и выходить в интернет с его ip
Трафик через кординационный центр в норме - не бегает, и пойдёт если только не получится вас связать напрямую

Минус - зависимость от чужой инфраструктуры
Так же можно использовать и ZeroTier
Вопрос: Заменяет ли Mikrotik ПО Kerio Control в плане доступа в Internet?

Лучший ответ:
Микротик это роутер, шлюз,ВПн сервер, wifi сервер. Там нет антивируса. IPS в понимании Керио тоже нет. Как настроете брендмауэр так и будет работать. Обычная философия линукс - запрещаем всё, потом разрешаем только нужное. Как следствие - нафиг ненужен "анализ вторжений". Микротик не будет автоматом проверять файлы, блокировать какие то сайты\порты. Т.к. это немного нелогично. Для такого обычно используется прокси

Керио это комбайн, в который напихали че только надо и не надо)
Микротик это РОУТЕР с отличным функционалом

Я думаю что максимальный вариант приближения к Керио по кол функционала это pfSense. Но могу ошибаться

Худший ответ:
Имею 5 филиалов организации в разных городах. 
VPN туннели, VPN клиенты и прочее. 
В целом перешёл вообще без каких либо проблем, кроме одного момента. 
Говорят, я сам этого не видел, Kerio умел отслеживать какие пользователи, куда ходят в сети. Уж не знаю, как он отслеживал https траффик, ибо я не видел, но на RouterOS пришлось делать связку Mikrotik+linux+sqiud+читалка логов. Страницы не вижу, но сами посещённые сайты - вполне.
Вопрос: Как оптимизировать фукцию next.js?

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

Один из разработчиков Next предлагает следующие решения:


I want to fetch data once, and only once, until the next build, globally for my entire application. Solution
I want to share a layout between pages, while persisting React state to allow nested layouts. Solution
Finally, of course, you can create a shared function fetching your data and use it inside getStaticProps for every page


Как по мне, именно для вашей задачи стоило-бы использовать этот вариант

Худший ответ:
Вообще для этого Custom App компонент https://nextjs.org/docs/advanced-features/custom-app

Только он getStaticProps не умеет. Если хочется через getStaticProps, то можете написать утиль с кэшированием.
Вопрос: Как генерировать красивый PDF с помощью PHP?

Лучший ответ:
TL;DR:  Если нужно точное совпадение с хтмл шаблоном - только хеадлесс хром, остальное достаточно сильно отличается от оригинала, в силу ряда проблем. 

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

Естественно оба со своими нюансами. В первом случае минус в том что пдф по сути будет набором картинок скринов, со всеми вытекающими, типа разных размеров экрана и невозможности выделить например текст в готовом пдф. 
Во втором - надо ставить хедлес хром на сервер и соответственно из бэка отдавать ему сгенеренный хтмл, что несет свои трудности и приколы, зато на 99,9% совпадает с тем что вы отправляете на печать из хрома, и отладка и подгонка хтмл под формат в разы проще и удобнее. Кроме того, использование стилей и медиа запросов для печати открывает невероятную гибкость в плане работы с готовыми шаблонами (автонумерация, поля, колонтитулы етц). А, и забыл киллер фичу - оно выполняет жс, то есть если есть графики или какие-то элементы, выводимые через жс - то только хром, других вариантов просто нет.

Что касается других библиотек (mpdf, FPDF, wkhtmltopdf) - все они сильно "плавают" в отличие от хрома, многие вещи в них просто невозможны, кроме того у некоторых есть хронические проблемы со шрифтами и кодировками... Возможно за последние 3 года с тех пор как я их пробовал что-то изменилось, но думаю часть проблем все равно осталась.

Худший ответ:
Использовать библиотеки заточенные под работу с PDF из PHP:
FPDF
Вопрос: Возможно ли создать OBDII killer (по аналогии usb killer)?

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

главный вопрос - нахрена ??
подлянок для машины навалом прощеее и дешевлееее.

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

Лучший ответ:
Обратиться к системному администратору вашей организации

Худший ответ:
из этой ситуации выйти очень просто - надо заплатить специалисту за работу. во всем мире именно так это и работает - деньги платят за работу тому кто знает как ее работать.
Вопрос: Если ли виртуальный кошелек всех nfc устройств?

Лучший ответ:
Фишка в том, что большинство школьных турникетов использует не то NFC, что есть в телефоне - телефонный чип работает на частоте 13,56 МГц, что подходит, в частности, для карт MIFARE (билеты Тройка и Подорожник в Москве и Питере) и банковским картам PayPass и PayWave.

Школьные пропуска, домофоны и другой СКУД-ширпотреб работает на 125 килогерц. Так что увы.

Однако, телефон может прикидываться картой "Тройка" - для этого нужна специальная симкарта с поддержкой "Мобильного билета" (Брендовое название технологии Мосметро и операторов большой тройки).

И конечно же, вы можете купить flipper.

Худший ответ:
положи карту в чехол тел
Вопрос: А как тестировать handler?

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

Худший ответ:
Если говорить не о чистых юнит тестах (они замороченные), а функциональном тестировании (на базе того же функционала phpunit), то:

Я не могу проверить, что попало в базу, потому что я не знаю Id, по которому туда попадут значения

Но вы же знаете название добавляемого города - по нему и проверьте, появился ли такой город в базе.

P.S.
У вас там сущности можно оптимизировать - как понимаю вы там каждый раз uuid и дату создания передаете в конструктор, можно сделать трейты раз два, и в сущности указывать:

/**
 * @ORM\Entity(repositoryClass=PostRepository::class)
 * @ORM\HasLifecycleCallbacks()
 */
class Post
{
    use IdTrait;
    use CreatedAtTrait;

   // ...

Двумя строчками в сущности добавляете два поля и их автоматическое заполнение. Избавите конструктор от двух параметров.
Вопрос: Как в докер установить ubuntu?

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

Для запуска операционной системы есть виртуальные машины, а докер - в принципе суть заключается в том, что запускается конкретный процесс, в изолированной среде, в текущей ОС.

Худший ответ:
Если хотите запустить целую ОС в контейнере - возьмите какой-нибудь полноценный, вроде LXC. Докер для другого.
Вопрос: Новичёк без предыдущего опыта в разработке, способен устроиться сейчас Junior Golang Developer?

Лучший ответ:
Если в программировании опыта нет - лучше начните с Python.

То, что Go простой в изучении язык - это так, но не на столько простой как пишут в рекламе курсов по Go :)

Еще в рекламе не учитывается один небольшой, но очень важный нюанс - на Go вам предстоит решать задачи, которые будут значительно сложнее тех, которые будут у вас если вы устроитесь Python/PHP/Frontend программистом.

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

Порог входа в Go + highload + микросервисы значительно выше, чем в Python без highload. 

Можно устроиться на работу на Python + Django и при этом даже с базами не особо уметь работать. Но при этом вы сможете выполнить поставленную задачу и по итогу все будут счастливы. 

А вот с go так не получится, вам нужно будет не просто уметь работать с базами, а делать это очень хорошо, понимать как оптимизировать запросы, структуру базы, как и когда нужно применять денормализацию, вы быстро столкнётесь с проблемой, когда база не поместится на одном сервере,  т.е. нужно уметь на практике писать сразу горизонтально масштабируемое приложение и т.п.

Итого: если взять сроки подготовки с нуля до трудоустройства - то, скорее всего, путь Python будет в несколько раз быстрее. Скорее всего во много раз быстрее :)

Как вариант можно попробовать Fronend: ReactJS, VueJS и т.п. - тоже будет вполне быстрым стартом.

Ну и посмотрите developer roadmaps:
https://roadmap.sh/frontend
https://roadmap.sh/backend
https://roadmap.sh/golang (тут надо понимать, что до того, как начнёте изучать Go - надо изучить backend в целом)

Худший ответ:
Да почему нет. Берите хороший курс, платный лучше, а ещё лучше с менторством, учитесь, пробуйте, делайте проекты. Есть деньги - хекслет какой-нибудь. Хуже ничего в начале пути нет, чем когда негде качественно спросить.

Не отступайте от цели и через полгодика будете уже уверенно себя чувствовать. Бейтесь по собеседованиям, подтягивайте свой уровень, заполняйте пробелы.

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

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

Лучший ответ:
Влияет, но не так ощутимо, чтобы об этом думать
Главное не разряжать батарею полностью (например выставить переход в гибернацию после 3х часов сна)
Для хранения батареи на долгий срок рекомендуют оставлять заряда 60-70%
Также некоторые производители ноутбуков позволяют выставить режим работы батареи (не заряжать её до конца, прекратить заряд до достижения определенного уровня заряда и т д)

Худший ответ:
Чтобы не разводить срачь, отвечу так.
Читаем, думаем, делаем выводы.
Вопрос: Как в js посчитать цифры с 0 до числа с фиксированной скоростью?

Лучший ответ:
Типа этого?
{
  const max1 = 9;
  const max2 = 30; // max of two nums
  
  let cur = max2 / max1;
  const inc = cur;
  
  const len = 3;
  const log = (a, b) => {
    console.log(b > -Infinity ? `a: ${`    ${a}`.slice(-len)} | b: ${`    ${b}`.slice(-len)}` : `a: ${`    ${a}`.slice(-len)} |`)
  }
  
  log(0, 0);
  
  for(let i = 1, j = 1; i < max2; i++) {
    const nums = [i];
    if(i >= cur) {
      nums.push(j);
      j++;
      cur += inc;
    }
    log(...nums);
  }
  
  log(max2, max1); 
}

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

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

3. Фронтед разработчики - сколько должно быть их в проекте?
4. Бэкенд разработчики - сколько должно быть их в проекте?
5. UI/UX дизайнеры - сколько должно быть их в проекте?
6. QA инженеры(тестировщики) - сколько должно быть их в проекте?
7. Бизнес-аналитик - сколько должно быть их в проекте?
8. Маркетолог - сколько должно быть их в проекте?

Столько, сколько нужно. Тоесть если 1 человек не справляется с количеством задач, и при этом их можно распараллелить - можно попробовать добавить ещё одного и посмотреть.
От 0 до бесконечности, в зависимости от задач.

Например если продукт не предполагается продавать (в принципе получать из него прибыль) - маркетолог не нужен.
БА не нужен, если ПМ и так нормально задачи ставит, и какой-то глубокой аналитики не нужно (или с ней справляются разработчики)
QA не нужен, если проект на столько небольшой, что с его тестированием справляются разработчики.
UI/UX не нужны, если нет дизайна.
Разделение на фронт/бэк не нужно, если справляется фуллстек.
Тимлид не нужен, если нет команды (команда состоит из одного человека)

Кого я мог не учесть?
Заведующего по карандашным резинкам. Без него никакой проект не может обойтись.

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

Лучший ответ:
Как вариант что бы не настраивать VPN на своем PC - ставьте себе teamviewer и подключайтесь к своему PC так как будто вы на нем работает, но при этом физически можете находится где угодно.
IP у вас не изменится, главное заплатите за teamviewer абонентскую плату и все.
Бесплатная версия для 24ч работы не подойдет.

Или делайте "Удаленный рабочий стол" - "Remote desktop" - если не хотите платить - за teamviewer

Худший ответ:
Впн не предлагать ибо в моем городе нет сервера с впн
:ROFL:
Я хочу есть.
Хлеб не предлагать, так как у меня нет ножа :D

Нет - поставь и будет :) Да, для этого нужен приличный роутер, гумно полуторарублевое не пойдет.
Вопрос: Можно ли сделать монитор из электронной книги?

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

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

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

Но если не получится это применить (например на целевой машине не стоит студия/райдер) или это просто слишком неуловимая ошибка, то Тогда остаётся только обмазаться телеметрией (логами, метриками) и смотреть, что происходит.

Худший ответ:
Из относительно простых способов - APM (NewRelic APM или другой). 
ИМХО, в большинстве случаев позволяет понять в чем проблема не залезая слишком глубоко.
Вопрос: Как перенести стили в футер в новом WordPress 5.8?

Лучший ответ:
// Move jQuery to the footer
function theme_move_jquery_to_footer() {
	wp_scripts()->add_data( 'jquery', 'group', 1 );
	wp_scripts()->add_data( 'jquery-core', 'group', 1 );
	wp_scripts()->add_data( 'jquery-migrate', 'group', 1 );
}
add_action( 'wp_enqueue_scripts', 'theme_move_jquery_to_footer' );
это перенесет в футер все скрипты, если указать их зависимыми от джейквери.

Альтернативное решение
// Enqueue scripts and styles.
function theme_scripts() {
	wp_deregister_script( 'jquery' );
	wp_register_script( 'jquery', includes_url( '/js/jquery/jquery.min.js' ), false, NULL, true );
	wp_enqueue_script( 'jquery' );
}
add_action( 'wp_enqueue_scripts', 'theme_scripts' );

Худший ответ:
Не надо так делать, это антипаттерн и дичайший костыль.
Вопрос: Существует ли метод хранения объектов на c++, похожий на map со способностью дублировать ключи?

Лучший ответ:
Для озвученной задачи имеет смысл использовать не мультимап, а std::map< date_t, std::vector< Event > >

Худший ответ:
Это называется multimap
Вопрос: Удобные ежемесячные git commit отчеты?

Лучший ответ:
cd project1
# даты и имя автора подставить самому
git log --pretty=format:"%ad - %an: %s" --after="2016-01-31" --until="2017-03-10" --author="John Doe" > project1.txt
Повторить 5 раз и отправить 5 файлов руководству.

Худший ответ:
Ага, Jira называется. Автоматическая привязка комитетов к задачам. Или если Gitlab то у них свой менеджер был вроде
Вопрос: Какая программа для 3D моделирования лучше подходит для GameDev?

Лучший ответ:
Если это какая-то компания, то использовать будешь то что дадут (смотри конкретно что в интересующих вакансиях пишут)

В остальном - что 3ds max, что maya, что blender - хороший софт, с которым можно сделать практически что угодно, если уметь.

Спрос есть в принципе на всё.

Худший ответ:
Я перешел с макса на блендер в 2015-м и ни разу не пожалел, т.к. у блендера огромное и дружелюбное комьюнити, он "шустрее" и "легче" чем макс. К тому же он отлично расширяется множеством бесплатных и платных плагинов. Но основной его плюс для меня в том, что блендер мощный "комбайн" содержащий всё, что нужно для создания, риггинга, анимации и покраски моделей сразу в одном пакете и бесплатно.
Вопрос: Как решить задачу на c++?

Лучший ответ:
Ошибка 1. Использование переменной ROWS без инициализации.
while (ROWS < 2) {

Ошибка 2. Обращение к массиву с индексом -1 при j == 0.
if ((arr [i][j - 1] < arr [i][j]) || (arr [i][j - 1] > arr [i][j])){
Ошибка 3. Вместо накопления результата, вы на каждом цикле переписываете значение k. В результате получаете только результат сравнения из последней итерации цикла.

Ошибка 4. Вы в цикле просто сравниваете между собой два соседних числа (ваше условие - просто проверка на неравенство), а вам надо определить, возрастает или убывает вся последовательность чисел.

Худший ответ:
else if () {
    k = false;
    }
Я не уверен как именно работает If  с пустым условием. Есть у меня подозрение что никак и, соответственно, k не присваивается ничего и она остается с изначальным значением (т.е. неинициализированной и имеет какое угодно значение), а все что не ноль это true. (рекомендую научиться пользоваться отладчиком и самому пошагово посомтреть что на самом деле и почему делает ваша программа)

Почему бы не написать просто 
else 
{
    k = false;
}

И в качестве оффтопа -  пожалуста не пишите операторные скобки в плюсах как в яве, это не ява.
Вопрос: Как ускорить работу эксель?

Лучший ответ:
Что-то тут не так...
без уменьшения количества формул

мне нужны только csv-шки

А вообще, есть несколько путей. 
1) Убрать условное форматирование или форматирование вообще, оставить только данные
2) Уменьшить сложность алгоритмов расчёта. Присмотритесь, возможно где-то сидит O(n^3)
3) Кэшировать данные. Например, если по всему столбцу есть расчёт какого-то показателя для которого надо перешерстить целую таблицу, то логично этот расчёт вынести в отдельный столбец, или даже в ячейку.
3) Данные, по которым ищет ВПР и прочие подобные функции - отсортировать по 1му столбцу и указать это в  ВПР - это значительно ускорит поиск
4) Если есть навык и документ для внутреннего пользования - перепишите критические по скорости области на VBA, иногда это помогает
5) На крайний случай - отключить автоматический расчёт формул

Худший ответ:
Иди путем наименьшего сопротивления.
1. попробуй посмотреть работоспособность в другом формате (если xlsx сейчас, то сохранись на xls или наоборот)
2. проверь файл на другом устройстве
Может тогда не придется танцевать с бубном вокруг файла.
отметьте ответ решением если помогло.
Вопрос: Можно ли на новой мат.плате установить старую видеокарту?

Лучший ответ:
Можно любую, которая совместима с разъемом

Худший ответ:
Можно даже гораздо более старую, проверено.
Вопрос: Как работать с parrot os?

Лучший ответ:
Parrot is based on top of Debian, the most advanced and recognized universal operating system that can run anywhere. 
Берите инструкции для Debian. И вообще, я бы посоветовал начинать обучение с чего-нибудь общепринятого.

Худший ответ:
Странно что ты не нашел. Вот их документация https://www.parrotsec.org/docs/introduction/what-i...
Пишут что это - Debian-based. Тоесть какое-то подмножество команд шелла будет совпадать.

Вообще, судя по описанию это - проект для энтузиастов. Тоесть для тех ребят которые не боятся чего-то недокументированного и умеют рыть исходники.