pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как отловить процесс, нагружающий систему?

Лучший ответ: Воспользуйтесь Process Explorer, там есть графики загрузки с историей.

Худший ответ: мен ты серьезно? этож элементарно!
если диспечер задач является тем тригером который застпвляет процесс перестать нагружать систеиу то значит что надо сделать?
Вопрос: Как правильно описать действие «Вернуться назад» в телеграм боте на Python?

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

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

Лучший ответ: В reply_markup передается inline_keyboard из массива массивов объектов кнопок.
Кнопка состоит из text и одного обязательного optional.url ="https://api.telegram.org/bot"+token
json_string = """ 
{
    "chat_id":"300000000",
    "text":"hello",
    "reply_markup":{
       "inline_keyboard": [[
           {
                "text": "Последние операции",
                "callback_data": "\/last"
           },
           {
                "text": "Баланс",
                "callback_data": "\/balance"
              }
            ]]
        }
} """
parsed_string = json.loads(json_string)
requests.get(url + "/sendMessage",json = parsed_string)

Худший ответ: https://groosha.gitbooks.io/telegram-bot-lessons/c...
Здесь и обучение и пример.
Вопрос: Можно ли работать через интернет ИП на патенте?

Лучший ответ: Я считаю что можно, явно в законе это не запрещено.
Условия применения патента:
1. Вид деятельности подпадает под патент.
2. Данная система установлена метсныыми законодательными актами и применяется  вашем регионе
3. Вы осуществляете указанную  деятельность на территории вашего региона.
4. Среднесписочная численность наемных работников, занятых в деятельности, облагаемой УСН на основе патента не должна превышать 5 человек,  включая самого индивидуального предпринимателя.
Вот человек задавал тот же вопрос
forum.klerk.ru/showthread.php?t=568520
и ему ответили следующее:А в сети вообще много ерунды пишут. Если у Вас нестационарная деятельность типа торговли (привязка к конкретному объекту), то и патент Вы покупаете по месту своего жительства. А работать можете хоть в Антарктиде. Никто все равно не узнает, где же вы действительно работаете. И налоговая не ведет разыскных мероприятий по поиску ИП, разъехавшихся по всей планете, ей это без надобности.Update от 03.06.2016
Получил официальный ответ из налоговой. Можно.

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

Лучший ответ: Можно плагином:
https://slideout.js.org

Худший ответ: Посмотрите, как это реализовано в этом фреймворке: Materialize.
Вопрос: Раздал всем директориям на сервере 777 (случайно) — как исправить?

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

Худший ответ: Бэкап?
Вопрос: SPF запись для домена на Яндекс, а с формы сайта идут в Спам, как решить?

Лучший ответ: v=spf1 ip4:136.243.82.21 include=_spf.yandex.ru ~all
Как ты понимаешь основное тут include вместо redirect
  И ступай себе с миром, только не забудь поставить решено ;)

Худший ответ: ~all a:redirect=_spf.yandex.net
так нельзя. Либо ~all либо redirect=_spf.yandex.net и без всяких a:.Здесь описаны эта ошибка и другие потенциальные.
Вопрос: Какие документы интернет-магазин должен предоставить клиенту при оплате через Яндекс.Кассу?

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

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

Лучший ответ: Что вы порекомендуете в данной ситуации ? Проанализировать сайт, посмотреть какие могут быть косяки с точки зрения Google, проанализировать сайты ваших конкурентов в Google. Только после анализа будут видны основные проблемы. Гугл любит ссылки, Яндекс не любит ссылки...Проблема не только в отсутствии ссылок, наверняка есть еще ошибки оптимизации. Что за контент?  Что у вас с активностью в соц сетях? На поведенческие внимание обращаете? Факторов сотни, алгоритмы ранжирования google и яндекс существенно отличаются. Нужен качественный SEO-аудит и конкретные рекомендации для вашего сайта. 
Можете попросить на форуме searchengines.guru бесплатный аудит за отзыв, если не хотите платить.

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

Лучший ответ: Malwarebytes в помощь.

Худший ответ: Удалять сам FF бесполезно - при этом просто стирается бинарник. Удалять надо профиль в домашнем каталоге пользователя, в AppData/Roaming/Mozilla/Firefox. Каталог Profiles забэкапить, потом весь каталог Firefox просто пристрелить. Настройки, плагины, закладки конечно придется восстанавливать потом из бэкапа.
И при следующей настройке сразу же после установки ставьте AdBlock и NoScript. Кстати, NoScript очень хорошо ловит ситуации, когда сайт каждый N-ый клик пытается пробросить на рекламу - этим очень часто грешат порносайты - кликнул на пять фоток - получи проброс на рекламу :D
Вопрос: Можно ли выложить ReactJS на nginx?

Лучший ответ: Нужно настроить nginx примерно так: location / {
    root /var/www;
    index index.html;

    try_files $uri $uri/ /index.html;
}
И в index.html указать <base href="/"> для того, чтобы относительные пути работали.

Худший ответ: Нужно настроить nginx примерно так: location / {
    root /var/www;
    index index.html;

    try_files $uri $uri/ /index.html;
}
И в index.html указать <base href="/"> для того, чтобы относительные пути работали.
Вопрос: Зависает php процесс?

Лучший ответ: Воркер "не умирает после N задач", потому что последнюю N-ную задачу он еще и не выполнил. А почему не выполнил - надо разбираться с вашими исходниками сайта, а не самого PHP. Где-то циклится.
Для начала обновите Laravel до последней версии (5.7.2).
Можно выставить set_time_limit, но это решение не проблемы, а последствий.
Для поиска причины пишите unut-тесты, наймите тестировщика, включайте логирование при вызове каждой функции и пр.

Худший ответ: >несколько серверов, на каждом по 1000-1500 процессов)
Вероятно на серверах минимум по 32Гб? Точно памяти в такие моменты достаточно и нет вытеснения в своп? А сервера железные или виртуалки?
Вопрос: Как в nginx обработать GET запрос?

Лучший ответ: location ~* \.(gif|jpg|png)$ {
 proxy_pass http://imageserver;
 if ($arg_width != "") { return 412; }
 error_page 412 = @img;
 error_page 415 = /empty;
}
location @img { image_filter crop $arg_width $arg_height; }
Возможно не хватает элегантности и ещё может под твою конфу прийдётся чуть подправить, но думаю направление ты поймёшь)

Худший ответ: Сделайте другие URL. Например: img.domain.ru/o/99/image.jpg
img.domain.ru/o/99/800/600/image.jpg
и два location.
Вопрос: Есть ли аналог хабры на английском, в котором есть профильные хабы (Java/HTML/etc)?

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

Худший ответ: codeproject.comИ ещё один вопрос - где публиковать стартапы? Например, если я напишу программку какую-нибудь полезную, на хабре есть тег "пиарюсь", в котором сидят IT-специалисты и могут оценить её по достоинству.
Вот именно, "если", чисто теоретически, а на практике в десять раз эффективнее публиковать в тематические тэги, надеюсь догадываетесь, что писать "всем привет. я создал такую программу и хочу ее вам пропиарить, а ну-ка давайте скачивайте, пишите отзыв, кидайте донат на яндекс и чтоб все купили pro-версию, я прослежу" в любом случае не стоит, если нет, то в бизнесе, по крайней мере в маркетологии (рекламе), делать нечего.
Вопрос: Почему теневые копии занимают мало места?

Лучший ответ: Чтобы понять как работают теневые копии надо разобраться для чего они вообще нужны.
Основная проблема обычного копирования - оно идет долго, и все это время файл нельзя изменять.
Если тебе нужно копировать файл размером 200гб он будет копироваться несколько десятков минут, и работать с ним нельзя в это время, иначе копия будет повреждена.
Вот эту проблему решает теневое копирование, работает оно следующим образом -
В момент создания теневой копии блокируются все обращения к тому - вообще все.
Все что было кэшировано в оперативной памяти, весь буфер записи - принудительно сбрасывается на диск.
После чего все  - абсолютно все файлы на томе блокируются на запись, с этого момента их изменить невозможно.
Вот и все - теневая копия создана.
После создания теневой копии пишутся уже только изменения.
Время создания теневой копии - доля секунды.
Размер тома и количество данных на томе никоим временем не влияет на время создания теневой копии.
Т.е совершенно без разницы сделать теневую копию 2мегбайт или 20террабайт - время создания копии будет одинаковым.
Количество данных на диске во время создания теневой копии не увеличивается.
Т.е по факту теневая копия ничего не копирует.
Все это сложно понять не понимая как работает файловая система.
В файловой системе есть такое понятие - кластер.
Это минимальный блок информации с которым работает ФС.
Как правило он равен 4кб.
Вы записываете на диск файл размером 1кб - на диске он займет 4кб.
Т.е кластер.
А в базу данных ФС будет записано что файл такой-то размещен в таком-то кластере.
Если вы записываете файл размером 400кб - на диске он займет 100кластеров.
В базе данных файловой системы будет запись о том что файл такой-то занимает кластеры по таким-то адресам - и перечисляются все сто адресов всех кластеров.
После создания теневой копии - эти кластеры не трогаются.
Вся информация которая записывается и изменяется  - пишется в другие кластеры.
А читается информация и из старых кластеров, и из новых.
Т.е файлы в базе данных файловой системы это просто список номеров кластеров, которые содержат данную информацию.

Худший ответ: MS допускает использование провайдером VSS одного из трёх методов (technet):Complete copy - делается полная read-only копия тома.Copy-on-write - в теневой раздел переносится старое содержимое изменяемых кластеров тома, в основной том записываются изменения. Этот метод используется в стандартном провайдере windows.Redirect-on-write - в теневой раздел записываются изменения кластеров, основной том не меняется.
Вопрос: Что конкретно нужно в первую очередь изучить из PHP?

Лучший ответ: https://medium.freecodecamp.com/a-roadmap-to-becom...стандартный набор включает в себя что-то около 4000 функций
так говорите как-будто всё зубрить надо и никак иначе.

Худший ответ: например
Но учтите
Вопрос: Где найти примеры очень сложных работ на Javascript/React/Angular/Vue?

Лучший ответ: А кто, собственно, захочет выкладывать в опен-сорс решения для коммерческих организаций? Это же занимает время. Нужно все приготовить, подчистить, задокументировать где не хватает, тесты дописать. Это куча работы, кому за это заплатят? Какой прок от этого организации (повышение доверия к организации - как вариант, но далеко не всем это нужно)? Придется объяснять, что это за продукт, и что он делает. Почему применены такие-то костыли и как с этим жить. Бррр... там работы много. Не нужной для организации работы.
Так же многие компании просто не хотят раскрывать как они сделали ту или иную фичу. Опять же - зачем?Конкурентов плодить? ;)
В то же время, большие опен-сорс решения все же имеют место быть (но у них изначально опен-сорс как фича, или компания хочет таким образом привлечь к себе внимание. Либо компания может себе это позволить). Обычно, они сразу и всем известны, и гугляться на раз-два-три, типа react open source projects, angular open source projects и тд.

Худший ответ: https://pyrus.com
Можно посмотреть на редакторы шаблона и маршрутизации в настройках форм.
Вопрос: Как создать связанные записи в момент сохранения модели?

Лучший ответ: В Модели Node создать релэйшены к Events и Places:/**
     * Relations to Events
     *
     * @return HasMany
     */
    public function events() : HasMany
    {
        return $this->hasMany(Events::class);
    }

    /**
     * Relations to Places
     *
     * @return HasMany
     */
    public function places() : HasMany
    {
        return $this->hasMany(Places::class);
    }
А потом уже после создания элемента сущности работаешь через эти релейшены:$node = Node::create([
    'title' => 'foobar',
    'etc' => '123'
]);
$node->events()->create([
    'title' => 'foobar',
    'etc' => '123'
]);
$node->places()->create([
    'title' => 'foobar',
    'etc' => '123'
]);
Или так:Node::create([
    'title' => 'foobar',
    'etc' => '123'
])->events()->create([
    'title' => 'foobar',
    'etc' => '123'
]);

Худший ответ: $node = new Node;
$node->blahblah = $blahblah;
$node->save();
После сохранения, можешь обращаться $node->id и будет счастье.
Вопрос: Вертикальный ритм в дизайне?

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

Худший ответ: Как правильно выстраивать гармонию по вертикали в макете?
Тетрадки в линеечку из школы помнишь? Принцип ровно тот же.
Вопрос: Не получается загрузить новые карточки товара в битрикс при помощи «csv»?

Лучший ответ: Может кому-то пригодится... Сам убил несколько часов, решая эту проблему.
Сначала нужно настроить поля, которые должны отображаться при экспорте и импорте CSV:
Меню - Настройки - Настройки модулей - Торговый каталог, Закладка "Экспорт/Импорт", Раздел "Экспорт / импорт из CSV", Ctrl + левым кликом выделить в списках поля, которые должны отображаться при экспорте / импорте, сохранить.
Далее у меня так и не заработало, пока не сделал следующее:
Меню - Контент - Инфоблоки - Типы инфоблоков - Каталог товаров - Каталог, Закладки "Поля" и "Поля разделов", Блок "Символьный код", снять галку "Использовать внешний сервис для перевода" (остальные галки в блоке стоят), сохранить.
Следует заметить, что импорт CSV, в общем случае, может осуществляться по разному:
Меню - Магазин - Настройки - Импорт данных, профиль "Import CSV (new)", кликнуть профиль "по умолчанию".
Меню - Контент - Инфоблоки - Импорт - CSV.
При этом, в первом случае проблемное поле обозначается как IE_CODE - Символьный код (B_IBLOCK_ELEMENT.CODE), а во втором IE_CODE - Мнемонический код (B_IBLOCK_ELEMENT.CODE). То есть имя поля в файле CSV всегда неизменно - "IE_CODE", а имя поля в БД - различно. Что интересно во втором случае половины полей не отображается, в частности у меня нет цены.
При импорте поставить галки "Первая строка содержит имена полей", "Использовать настройки инфоблока для транслитерации символьных кодов". Ну и, естественно, при сохранении файла CSV из Excel необходимо перед загрузкой открыть его, например, в Notepad++, в меню Кодировка преобразовать в UTF-8, сохранить.
Вообще, я для себя сделал табличку соответствия полей.

Худший ответ: Ничего толкового "что помогло" не нашел. ( 
На задача уже решена. загрузку наладил. 
Причина была простая ошибка в разделе.
Вопрос: Как можно сократить этот js код?

Лучший ответ: $(document).ready(function() {
    var windowHeight = $(window).height();
    $(document).on('scroll', function() {
        $('.myMouse, .go3, .go4, .go5, .go6, .go7, .go8, .gofooter').each(function() {
            var self = $(this),
                height = self.offset().top + self.height();
            if ($(document).scrollTop() + windowHeight >= height) {
                $('#box2, #box3, #box4, #box5, #box6, #box7, #box8, footer, .line_again').show()
            }
        });
    });
});
И совсем коротко:$(document).ready(function(){var o=$(window).height();$(document).on("scroll",function(){$(".myMouse, .go3, .go4, .go5, .go6, .go7, .go8, .gofooter").each(function(){var n=$(this),t=n.offset().top+n.height();$(document).scrollTop()+o>=t&&$("#box2, #box3, #box4, #box5, #box6, #box7, #box8, footer, .line_again").show()})})});

Худший ответ: Можно воспользоваться UglifyJS, но мне кажется, что этот код нужно сделать не короче, а понятней: как минимум отступы расставить.
Вопрос: Почему S.M.A.R.T. HDD плохой?

Лучший ответ: Более понятно будет, если смотреть с помощью hdd.by/victoria
Расшифровка параметров Smart
https://www.ixbt.com/storage/hdd-smart-testing.shtml

Худший ответ: Почему CrystalDiskInfo 8.0.0 показывает тревогу?Потому что счетчик критического параметра ненулевой.Ведь наихудшее значение данного атрибута никогда не опускалось ниже максимального.А должно???  Вам интересен параметр RAW - если он ненулевой, значит это проблема.
Вопрос: Почему при переносе сайта появились ошибки?

Лучший ответ: Почему при переносе сайта появились ошибки?Потому что изменились настройки php.подскажите что нужно подправитьПодправить, соответственно, нужно эти настройки. В вашем случае, очевидно, ошибка (предупреждение, на самом деле) была всегда, просто на предыдущем сервере их вывод был отключен. Можете попробовать скопировать php.ini со старого сервера на новый, но такой способ может всё поломать, очень много нюансов, так что не забудьте сделать бэкап.

Худший ответ: Кажется вам нужно это - joomlaforum.ru/index.php?topic=129287.0<?php error_reporting( E_ERROR ); ?>
Вопрос: Кто-нибудь ставил macOS High Sierra на MB Air?

Лучший ответ: Дождитесь mac os mojave, там бетка работает резве чем текущая стабильная

Худший ответ: High Sierra нужна будет только если ты хочешь программировать. 
Стрессовая ОС для макбука. 
Я ставил High Sierra и сейчас Mojave
Сейчас от Mojave ноут греется так, как на первых бетах High Sierra
Итог: Можно, но нужно ли?
Вопрос: Как использовать vue js + django?

Лучший ответ: data - всегда функция возвращающая объект.var app3 = new Vue({
  el: '#app-3',
  data() {
    return {
      seen: true
    }
  }
})

Худший ответ: Посмотрите такой туториал, возможно поможет разобраться в некоторых моментах.
https://github.com/michaelbukachi/django-vuejs-tut...
Вопрос: Почему не могу получить данные из буфера обмена в linux?

Лучший ответ: А у вас голый (серверный) Linux? Запускается ли демон для clipboard (для десктопной версии все уже есть)?
Видят ли сторонние приложения clipboard? Например, https://wiki.archlinux.org/index.php/clipboard
Возможно поможет https://habrahabr.ru/post/48954/

Худший ответ: Готово. Разобрался. Извините за беспокойство. 
Работает так:import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk

clipboard = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY)
original = clipboard.wait_for_text()
print(original)
пришлось выпить пол бутылки сидора и почитать код тут https://python-gtk-3-tutorial.readthedocs.io/en/la...
Вопрос: SEO: Стоит ли менять структуру URL?

Лучший ответ: Как есть сейчас - сайт/каталог/id/материал
Как хотим - сайт/каталог/id-материал
Как думаете это может оказать положительный эффект на результаты выдачи?
bbaggins думаю вы не заметите положительный эффект. А работы с структурой сайта, настройкой редиректов, канонических ссылок и прочим вы себе добавите, особенно если каталог большой. Сократить уровне вложенности и убрать неинформативный id, это плюс, но id вы планируете оставить в url, длинна url останется прежней.
Если у вас нет дублирующихся материалов, то лучше id вовсе убрать.
сайт/каталог/материалЯндекс: Структура сайтаGoogle: Структура URL

Худший ответ: Наверное нет и я думаю лучше всего будет - сайт/каталог/материал
Вопрос: На каком этапе Payoneer просит сканы документов?

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

Худший ответ: у них  же форум есть
вообще на любом, радуйдесь, что не просят сфотаться ( или просят)
Вопрос: Хочу делать игры на Java. С чего начать?

Лучший ответ: libGDX победил в опросе на slant.co.
Там же можно посмотреть достоинства и недостатки.

Худший ответ: Варианта всего 2 (с большими комьюнити): 
1. libGDX (Java).
2. Unity (C#)
Вопрос: Как лучше сделать отзывы для Landing Page?

Лучший ответ: Захардкорить версткой, не?

Худший ответ: Лучше всего было бы сделать с backend запрос к vk api, обработать до нужного формата (со ссылками на аккаунты, на пост в обсуждении, откуда и берутся отзывы итп) и отдать на клиент в inline виде json с отзывами клиентов (можно послать запрос к api и через js, но js требует токена - разрешения на использование некоторых функций аккаунта вк - лишнее модальное дочернее окно). На клиенте уже подхватить заинлайненый объект с отзывами (можно и json передать в string и запарсить JSON.parse в объект - непринципиально) и положить в представление. В слайдер, к примеру, или плитку. Как угодно. 
Лучший способ размещения отзывов. Юзеры понимают что они реальны
Вопрос: Почему хром редиректит на https на локалке?

Лучший ответ: Потому что gtld .dev уже несколько лет как перестал быть "ничейным вымышленным доменом", и современные браузеры знают об этом.
https://icannwiki.org/.dev
Замените на .local или .loc, например.

Худший ответ: Всем спасибо, не знал в отношеннии *.dev
поменял виртуалхост в итоге
Вопрос: Введение в программирование для четырёх-пяти-летних детей?

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

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

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

Худший ответ: Работа есть. Для этого надо изучить Codesys. Как дополнение может пригодится LabView (только для National Instruments). Для рисования какие-нибудь SCADA'ы.
Формулы можно практиковать в Матлабе (для связки с Codesys хорош StateFlow, остальные тулбоксы - для алгоритмов) и Питоне.
Так что изучать вам ещё много чего.