pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Оцените сайт джуниора, какие минусы?

Лучший ответ: 1. Теги h1 и h2 нужно использовать для заголовков, а не для всего подряд.
2. В теге ul должны быть элементы списка, а не ссылки. https://developer.mozilla.org/ru/docs/Web/HTML/Ele...
3. В img должен быть атрибут alt (для декоративных - пустой)
4. Разметку нужно проверять валидатором https://validator.w3.org/
5. Иконки нужно не в png,а svg (и в спрайт объединить)
6. Ширину, да и высоту кнопки не стоит делать фиксированными (по крайней мере min-width)
7. Контейнеры разной ширины предусмотрены дизайном?
8. letter-spacing: -0.4; -0.4 - это сколько? https://developer.mozilla.org/ru/docs/Web/CSS/lett...
9. Ссылкам в меню задайте padding - пользователь не должен целиться в область ссылки
10. Скрипты из head перенести перед </body> либо атрибут async


chrome dev tools => audits => accessibility страдает явно

Худший ответ: А ты прогони его через валидатор и сам все увидишь)
Адаптивки нет, ну ок. 
Скрипты подключать в подвал.
В разметке ошибки, даже хром не смог распарсить.
http: //prntscr.com/rdat6p
Инлайн стили, повторяющиеся заголовки первого уровня, отсутствие alt у img, отсутствие семантики.
Скрипт прокрутки по анкорам вызывает ошибки, потому что неверно задан таргет.
Это то что за пару минут в глаза попало
Вопрос: Можно ли написать webserver на cuda?

Лучший ответ: Но  я бы сказал что это извращение
https://github.com/NVIDIA/gpu-rest-engine

Худший ответ: CUDA является лишь интерфейсом, но никак не яп
Что же касается использования CUDA на веб-серверах, то да—это возможно
Вопрос: Чем создание JVM под конкретные платформы «лучше», «проще», «продвинутее», «правильнее» написания компиляторов под те же платформы?

Лучший ответ: Упрощения для разработчиков инструментальных средств - это тема очень непростая. Намного легче объяснить плюсы с позиции прикладного программиста и пользователей ПО. В 2003-м году я участвовал в разработке одной системы на Java EE. Написанный мной и другими разработчиками код был скомпилирован с помощью Java 1.4, упакован в war и развёрнут на сервере заказчика. Это был сервер с 32-битными процессорами Xeon Prestonia, работавший под управление FreeBSD. Позже это приложение в том же war-файле было перенесено на сервер Fujitsu PRIMEPOWER с процессорами абсолютно иной архитектуры - SPARC, и управляемый очень отличающейся операционной системой - Solaris. Сейчас оно крутится на IBM'овских блэйдах c процами POWER и под управлением AIX, на сколько мне известно. Не удивлюсь, если через некоторое время приложение перенесут на что-нибудь с ARM'ами и под Linux или HP-UX. Все эти миграции выполняются без перекомпиляции и без привлечения разработчиков. Если бы приложение было написано на чём-нибудь вроде C++, код приложения пришлось бы портировать на каждую платформу и перекомпилировать. Это было долго, сложно и очень дорого.

Худший ответ: В теории, проще тем, что не нужно каждую программу перекомпилировать под все платформы. Ты получаешь один файл для каждой программы и запускаешь его везде, где есть jvm. Если разработчик программы с закрытыми исходниками не скомпилировал её под твою платформу, то ты эту программу никогда не запустишь.
На практике всё не так радужно, конечно.
Вопрос: Актуальна ли книга «Разработка ядра Linux, 2-е издание»?

Лучший ответ: Увы, актуальна! Да, изменений в ядре много, иногда кардинальных. Но это не умаляет того факта, что по этой книге можно написать драйвер, один, второй третий. Потом полезть в исходники, посмотреть изменения - и писать с новыми API.
А вообще - рекомендую https://lwn.net/Kernel/LDD3/ и свежие примеры https://github.com/martinezjavier/ldd3
И https://github.com/0xAX/linux-insides

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

Лучший ответ: Добрый час, M4xwell.

Ваш $phone всегда нормирован?
Телефон может записываться совершенно различными способами (+7926..., +7(926)..., 8926, 8(926), 8 926)

Предположим, что да. В таком случае, $phone содержит 11 символов, начинающихся на "89".
План прост:

Формируем массив искомых значений (предполагаю, что все они по 4 символа).
Выделяем из $phone первые четыре символа с помощью метода substr и записываем в $phoneCode
Ищем совпадение $phoneCode в массиве искомых значений с помощью метода in_array.

<?php
$successCodes = ["8909", "8961", "8900"]; //Наполнить на свое усмотрение
$phone = "89091234567" // Заполняется динамически, в соответствии с вашей логикой приемки параметров
$phoneCode = substr($phone, 0, 4);
if (in_array($phoneCode, $successCodes)) {
  echo "Успех";
} else {
  echo "Неудача";
}
Вполне допускаю, что вам потребуется модифицировать перечень допустимых кодов. 
В этом случае, я рекомендовал бы вам положить значения в отдельную таблицу БД и искать уже в таблице БД совпадения с кодом.

Если параметр $phone приходит от пользователя в произвольном виде, вам необходимо будет его нормализовать или валидировать.

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

С уважением,
Олег Раев
CIO of Athanor

Худший ответ: использовать регулярку
готовый пример https://regex101.com/r/MUHU9v/1

if(preg_match("#^(8909|8961|8966)[0-9]{6,14}$#", $phone) ){
     return $phone;
}else{
     return false;
}

регулярка для всевозможных мобильных кодов
^\+(91|994|82|372|375|374|44|998|972|66|90|81|1|507|7|77|380|371|370|996|9955|992|373|84)[0-9]{6,14}$
Вопрос: Ограниченная скорость в 1Gb на Esxi на картах 10Gb, почему?

Лучший ответ: У вас Hardware offload на порту брижда sfp-sfpplus1 по каким-то причинам не активировался, поэтому данные свичевались процессором коммутатора, а не аппаратно свич-чипом. Насколько я помню, HW. offload в коммутаторах Микротик работает только для первого созданного бриджа, а у вас порты SFP+ в bidge2, возможно причина в этом. Если ether1 используется только для управления, попробуйте вывести его из бриджа и использовать независимо, а порты SFP+ перевести в bridge1.

Худший ответ: Может быть несколько проблем, вот только часть вариантов:

Пропускная способность vswitch
Некорректно встали драйвера на сетевухи
Медный кабель с наводками или вообще поврежден


В таких случаях проверять надо в режиме UDP, задав скорость 10G в ключе, и смотреть, в том числе packet drop.
Скорость поставить жестко 10GE, отключить автоопределение.

Надо локализовать проблему.

Исключить микротик - соединить два сервера на прямую и проверить между ними скорость.
Исключить vmware - загрузить серверы с чистыми линуксами, прогнать между ними скорость.
Исключить DAC - подключить двумя обычными SFP и оптическим шнурком.


P. S. в вашем случае вообще похоже на то, что ваш микротик не пропускает больше гигабита  (см Ethernet Test). То, что порты 10GE, не факт, что девайс пропустит эти 10GE.
Вопрос: Почему не виден файл Hosts?

Лучший ответ: РЕШЕНИЕ. 
ПКМ по etc -> Свойства -> Безопасность -> Дополнительно -> Владелец и напротив синяя надпись: изменить -> Дополнительно... ->  Поиск -> все(весьма опасно, но если грамотно юзать дальше пк - сойдет) -> Ок -> Ок -> Ок-> в окне свойств (вы должны находиться здесь после всех нажатий окей) нажать Изменить.... -> и поставить галочки в администраторы и пользователи напротив надписи полный доступ
После этого я все равно не видел самого файла, хоть и доступ теперь есть. в этом был виноват какой-то троян или прочий вирус. 
Создаем на рабочем столе файл hosts без расширения и переносим в папку etc, Вам предложат заменить файл. Соглашаемся. Вуаля, файл виден, имеется доступ, а все ради OpenServer и одной строчки кода в php....
Будьте аккуратнее с вирусами.

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

Лучший ответ: Я нашел решения к этой задачи. На самом деле, как оказалось, всё просто. Просто нужно использовать фильтр |striptags в шаблоне. Также хочу отметить что фильтры такие как |truncatewords нужно ставить после фильтра |striptags. Надеюсь что кому то помог,или помогу своим решением своей же задачи.

Худший ответ: попробуйте https://pypi.org/project/html2text/
Вопрос: Стоит ли учить С# + WPF ради одного приложения?

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

Худший ответ: JavaFX я изначально выбирал потому как Java мой первый язык и я на тот момент понятия не имел о существовании С# и WPF. Видимо я изначально не правильно выбрал технологии для написания десктоп программы под Windows. Пойду изучать C# =)
 Благо время есть для этого дела.Всем спасибо за комментарии)
Вопрос: Как сделать скрипт на .bat который бы автоматически перезапускал «Не отвечающие» приложение сервера?

Лучший ответ: Попробуйте нечто вроде:
@ECHO OFF
:CHECK
TASKLIST /NH /FI "IMAGENAME EQ CALC.EXE" /FI "STATUS EQ RUNNING" | FIND /I ":" > NUL
IF %ERRORLEVEL%==0 GOTO NOT_RUNNING
TIMEOUT /T 300 /NOBREAK
GOTO CHECK
:NOT_RUNNING
TASKKILL /IM CALC.EXE /T /F
START CALC.EXE
TIMEOUT /T 10 /NOBREAK
GOTO CHECK

Предполагается, что экземпляр сервера (в примере CALC.EXE - калькулятор) запущен всего один, иначе необходимо проверять/отстреливать не по IM (имени процесса) а по его PID.

Худший ответ: Запустите ваш сервер под Kubernetes и проверяйте живучесть сервера вашим способом.
Это не шутка. Установить Kubernetes несложно.
Вопрос: Не могу разобраться с присваиванием значения вложенного списка?

Лучший ответ: Всё так происходит из-за способа задания таблицы:
a = [[0] * n] * n
Каждый раз при a[0][0] = 1, оно как бы сначала обращается к a[0] = [[0] * n] а потом уже этом массиве, изменяет первый элемент в последовательности, и далее хоть и кажется, что получается тот массив, который мы хотим, но по итогу выходит что-то вроде... [[1, 0, 0...]] * n , и в конечном итоге, после такой отрисовки устанавливается, что каждый сделующий добавленный элемент, копирует значение первого.

Ps. Для пробы, немного изменил способ создание массива, и всё сработало хорошо
a = []
for i in range(n):
	a.append([0] * n)

Худший ответ: Потому что это один список. Походу ты совершенно не знаком с Python.
Попробуй что-то вроде
a = [[0] * n for _ in range(n)]
Я посмотрел на твои вопросы, и рекомендую их пока больше не задавать. Открой учебник по питону, прочитай от корки до корки - это избавит тебя от большинства недопониманий.
Вопрос: Как подключить файл с определённым именем только 1 раз php?

Лучший ответ: require_once / include_once

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

Худший ответ: lolipop.php', который расположен по-другому адресу.
Вырвать руки тому, кто это придумал, и воткнуть туда, откуда они у него растут

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

Лучший ответ: Без конструктора:
Создаёте несколько разных экземплятор класса ymaps.Map с нужными вам настройками (center, zoom)
Используя objectManager добавляете Гео-обьекты на нужную карту(ы)UPD:Экспорт объектов карты

Худший ответ: Решение нашел сам: 
1. Открываем карту в режиме просмотра
2. Выставляем центр карты и нажимаем поделится:
3. Вставляем код на сайт 
4. Запрещаем скролл по этому методу.
Вуаля
Вопрос: Безопасно ли держать сабвуфер на одной поверхности с системным блоком?

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

И да, вибрацией можно ушатать диски, хотя это вопрос везения - нужно еще в резонанс попасть.

Худший ответ: Я думаю пофиг, т.к. не один год мощные колонки стояли на столе вплотную с системником, на полной громкости во время частых пьянок стаканы на столе дрожали.
Вопрос: Windows 10 pro BOX версия c aliexpress для ИП?

Лучший ответ: Нет. Единственное место, где можно легально купить венду - магазин microsoft.

Худший ответ: 1. На коробке обычно указано для какого региона предназначена эта Windows. Это не значит что переезжая с ноутбуком в другой регион вы лишаетесь лицензии. Это значит что версия для продажи на территории стран С
НГ может продаваться только на этой территории. Соответственно если коробка будет предназначена для США, то при проверке могут возникнуть вопросы - где купили?
2. Судя по цене, это подделка. То есть вполне рабочий ключик может быть внутри, и выглядеть может натурально. Но могут быть ошибки в оформлении, написании. При проверке могут возникнуть вопросы.
3. При проверке могут попросить доказать факт приобретения (чеки, акты передачи). Можно сказать что чеки потеряны (нужно почитать лицензионное соглашение, вероятно чеки просят хранить, что не очень законно на территории РФ), а можно показать документы покупки. И тут у проверяющих могут возникнуть вопросы.
То есть, это 99% контрафакт. Риски зависят от того насколько сильно к вам будут привязываться проверяющие и будет ли проверка вообще. С таким же успехом можете купить контрафакт на Авито, не бокс, а ggk/oem версию. Будет дешевле, и при проверках такие же шансы попасть.
Если в бизнесе и так достаточно рисков, то покупайте по обычным каналам. ПК сразу с win home/pro, или отдельно win home/pro в виде box.
Вопрос: Стоит ли учить tkinter в 2020?

Лучший ответ: от целей зависит.
Если цель - простенькая утилита... Блин, да в любом случае PyQT выигрывает.
Впрочем, чего там учить? Открыл мануал, по-быстрому набросал чего надо.

Худший ответ: Из всех известных мне программ на Tk знаю только tkman и tkinfo :) Если хотите просто "графический тулкит на питоне" - я бы вот тоже за PyQT взялся...
Вопрос: Дать права на редактирование фалов и папок через SFTP линукс сервера, как?

Лучший ответ: chmod 777 abracada.bra
также и на папку  chmod -R 777 /mnt/data

Худший ответ: 1) какой ftp сервер, и какой веб-сервер?
2) с какими правами создаются файлы, залитые через битрикс, и в какой они группе? www-data? Покажитеls -l /var/www
3) попробуйте добавить вашего пользователя manager в группу www-data
4) попробуйте примонтировать (именно примонтировать а не создавать символическую ссылку) папку /var/www в домашнюю папку пользователя ftp (после того как добавите пользователя в группу www-data).
Вопрос: Какие существуют DDNS сервисы на подобие No-Ip, но с переадрессацией портов?

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

Худший ответ: Купите себе статику. 
Или арендуйте впс и сделайте все через впн. 
Че фигней страдать, затрат на 2-3$
Вопрос: Как побороть переполнение?

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

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

Лучший ответ: Все дело оказалось в правах на папку Events.

Худший ответ: Все дело оказалось в правах на папку Events.
Вопрос: Можно ли подключить несколько мониторов к нескольким видеокартам в одном системном блоке?

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

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

Лучший ответ: привет.
Пойдем не по порядку.

Первое – БД
Для чего выносят на отдельный сервер? Делается это, как правило, когда первоначальный сервер не тянет из-за большого количества запросов к БД. У вас сейчас такая ситуация? Да – выносить на отдельный сервер. Нет – оставить сервера в покое. 

VPN – тоже оставьте в покое. Если надо выносить БД в отдельный сервер, то тогда иногда имеет смысл закрыть внешку и оставить только VPN.

Docker – докер на проде? У вас точно такой серьезный ресурс, что нужно поднимать в день по несколько VDS и нужен докер? Когда на локале докер еще можно понять – удобство и без мусора. Но на проде? Или есть лишние деньги/ресурсы?
Похоже, что докер тоже стоит оставить только на локале и в покое.

Секретные ключи – это вообще никогда нельзя хранить в репозитории. Иногда можно использовать компромисс – зашифрованные файлы. Но тут нельзя быть в покое и следует всё проверить несколько раз.

минутка занимательной теории:
Как работает деплой? (пример из жизни в очень общих чертах для понимания принципиальной схемы)

Разработчик отправляет пуш в гит. После этого гит кидает оповещение в CI&CD-сервис. 
CI&CD-сервис запускает свой процесс, согласно описанному в запушеной ветке протоколу (конфиг сервиса).

Обычно, порядок действий в CI&CD-сервисе такой:
– поднимается контейнер с ОС
– в контейнере разворачивается репо
– подтягиваются все зависимости, настраивается окружение, поднимается база с сидами.
– накатываеются миграции
– прогоняются тесты

Далее запускается скрипт деплоя:
– репо заливается на сервер, например, с помощью rsync или другого инструмента (в этом месте мы используем зашифрованные приватные ключи для доступа к конечному серверу)
– на сервере запускается рутина обновления (например, накатить миграции, обновить конфиги, перезагрузить сервисы)

По окончанию приходит уведомление о статусе. Например в слак.

Все счастливы, разработчик отмечает успех (или устраняет результаты безуспешных тестов).

P.S. Если у вас возникают эти вопросы, то, похоже, вы не DevOps'или раньше. 
И это не предмет для обиды или оскорбления, а, наоборот, предмет для размышления над сложностью решений. Сейчас создается впечатление, что вы хотите стрельнуть себе в колено, причем из дробовика.

Худший ответ: Вариант деплоя от автора PHP: https://codeascraft.com/2013/07/01/atomic-deploys-...
Вопрос: Можно ли подключить php файл у vue?

Лучший ответ: Если вы пытаетесь таким способом сунуть в шаблон vue исполнение php кода, то вы что-то не так делаете)))
Такого в принципе не может быть и это не будет работать))

Худший ответ: подключить можно не только html, но и другие шаблонизаторы - pug например. да и вообще - можно самостоятельно написать свой лоадер для плагина вебпака (webpack занимается SFC компонентами)
другой вопрос - ДЛЯ ЧЕГО понадобилась такая НЕОБХОДИМОСТЬ? если знать для чего, возможно сообщество подскажет вам правильный путь решения.
Вопрос: Почему сгенерированный js в одну строку?

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

Но тебе этого не нужно. Этот файл вообще трогать не нужно.

Худший ответ: Увидела кнопку pretty-print в консоли, всем спасибо
Вопрос: Где взять wysiwyg редактор?

Лучший ответ: Вот целый список действующих wysiwyg-редакторов: https://github.com/JefMari/awesome-wysiwyg

Худший ответ: практически любой можно кастомизовать - https://habr.com/ru/post/129262/
Вопрос: Как лучше хранить логи в базе данных?

Лучший ответ: Логичнее всего - не хранить логи в базе данных, черт побери) Использовать надо для каждой задачи свои инструменты, например, тот же самый пресловутый ELK

Худший ответ: Посмотрите в сторону ELK, graylog и иже с ними.
Вопрос: Обязательно ли размещать на сайте политику конфиденциальности и т.п., согласно 152 ФЗ?

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

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

Лучший ответ: Опишу свой опыт, попутно отвечая на вопросы.
Для начала я бы порекомендовал не заполнять бумажки, а воспользоваться личным кабинетом на nalog.ru. Входишь через госуслуги (или логин с паролем, если есть) и выпускайте для себя цифровую подпись для подписывания декларации. Может уйти от нескольких часов до пары дней (похоже, они там RSA руками генерят :) ).

Если в первый раз подаешься, стоит усвоить, что подать можно только одну декларацию. То есть, например, если есть несколько работ, по которым платит налоги работодатель, это тоже должно быть в декларации. В одной. Любая следующая декларация отменяет предыдущую и считается уточненной. 
Бояться не надо. Если накосячишь- можно потом подать уточнённую.

Итак, входишь в кабинет, затем - Жизненные ситуации - 3ндфл. 

Сразу увидишь свои доходы от работодателя, если где-то ещё устроен. Там все ок, ничего трогать не надо. Переходим на вкладку «Доходы за пределами РФ» и начинаем вбивать на каждый доход отдельную графу (это как отдельный лист в декларации), после каждого нажимая "Добавить доход".
В качестве источника укажи наименование компании. Просто как есть, "ITBerlin LTD", например.
Вид дохода - если это твоя заработная плата и в договоре указано, что это заработная плата - так и вбивай - 2000.
Указать страну, валюту, дату, сумму. Внизу графы будет галочка - курс на дату поступления дохода, кликаешь - все пересчитывается в рубли по курсу на дату поступления (естественно, дата уже должна стоять)
Датой поступления дохода считается день, когда на твой банковский счет свалились деньги (либо, если аккаунт в Пионере твой - значит дата поступления на тот аккаунт... но я бы уточнил на всякий)
Есть ещё момент - вбивать надо всю сумму зарплаты, которая пришла в этот день из одного конкретного места. Нельзя вычитать проценты, которые забирает себе платежная система.
При сдаче декларации с тебя не будут требовать других документов, подтверждающих доход. Если ты станешь интересен налоговой - она сама к тебе придет :)

Худший ответ: см.

никаких Пионеров
Вопрос: Возможно ли написать свой ЯП на php?

Лучший ответ: Конечно можно. Потому что php, как и все другие языки, Тьюринг-полный.
Я писал свои ЯП на Delphi, C#, Java.
В этом нет ничего сложного.
Для совсем ленивых есть ANTLR, где достаточно только описать грамматику языка в конфиг-файле и всё остальное сгенерирует сама либа на любом языке.

Худший ответ: На любом языке можно написать его клон. Т.е. использующий те же (или меньшие!) возможности и ту же среду ("экосистему") исполнения.

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