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

Лучший ответ:
"Дожмите" ваше собственное решениеtext = text.replace('. ', '.|').replace('! ', '!|').replace('? ', '?|')
добавив проверку на вхождение заглавных букв и чуточку подкорректировав аргументы в replace():>>> letters = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЭЮЯ'
>>> text = '"Смотри, как расхрабрился!" говорил Чуб, оставшись один на улице..' # и далее по тексту
>>> for letter in letters:
	        if letter in text:
		            text = text.replace('. '+letter, '.|'+letter).replace('. "'+letter, '.|"'+letter).replace('! '+letter, '!|'+letter)
		
>>> for sentence in text.split('|'):
	        print(sentence)
	
"Смотри, как расхрабрился!" говорил Чуб, оставшись один на улице.
"Попробуй, подойди! вишь какой! вот большая цяца! ты думаешь, я на тебя суда не найду.
Нет, голубчик, я пойду, и пойду прямо к комиссару.
Ты у меня будешь знать.
.... 
и т.д.

Худший ответ:
i = 0
while i < len(sentences) - 1:
    if ord(sentences[i + 1])>1039 and ord(sentences[i + 1])<1071:
      print (sentences[i + 1])
    i += 1
;) метод топором =)
p.s. Только не забудьте , у вас ещё присутствуют предложения такие: бла бла. "Ой..."
Вопрос: Почему не хватает места?

Лучший ответ:
Беру файл jpg размером в 260 Кб, преобразовываю в bmp. 
Получается файл размером 6.2 Мб - разница в 23 раза.
То есть если бы я преобразовывал файл размером в 200 Мб, место он бы занял ок 4.6 Гб.
Примерно такие преобразования производит стандартный виндовый Paint, и ему видимо не хватает места в оперативной памяти, чтобы распаковать ваш файл.
По видимому он пытается зарезервировать место в оперативке под распаковку, а оказывается, что места-то и недостаточно.
Как решить проблему? - попробовать другой графический редактор.

Худший ответ:
Нормальный графический вьювер уровня FastStone Image Viewer не помогает?
Вопрос: Есть ли хорошие алгоритмы для смыслового сравнения текстов?

Лучший ответ:
Задача называется Semantic Similiarity. Я с этим направлением не работал вообще, но интуитивно могу предположить LSTM/CNN и разные вариации на тему Siamese/Triplet networks.

Худший ответ:
Doc2Vec пригоден для большого количества документов (с 5-10 тысяч), хотя многое зависит от их длины. Можно увеличивать размерность векторов, количество интераций, уменьшить окно, но это для малого числа документов слабо помогает. То есть для небольшого количества данных лучше  LSI.
Вопрос: В чём разница между Верстальщиком и Фронт-энд разработчиком?

Лучший ответ:
Верстальщик может обойтись лишь html+css. Фронтендер тебе сделает сложный динамический интерфейс, должен знать хотя бы несколько js библиотек и фрейморков.

Худший ответ:
Веб все активнее переносится на клиентскую сторону(привет, ОЗУ), и если раньше на стороне юзера отрисовывался только фасад(тот самый html+css верстальщика), то теперь диапазон клиентской стороны по обьему кода вырос в очень много раз(посмотрите сколько мб загружает браузер для отображения простой статьи, а затем скопируйте ее содержание в блокнот и посмотрите размер сохраненного файла). Простой html-странички теперь мало, практически любой сайт имеет десяток-второй библиотек и скриптов, нередко самописных, пару фреймворков(те же SPA-приложения или целые системы на ангуляре или реакте) и несколько десятков запросов на другие сайты/сервисы со стороны клиента. Это уже далеко за пределами вакансии рядового верстальщика, но и до бэкенда это совершенно не относится. Вот тут и приходит решала-фронтендер, пишущий фактически полнофункциональное приложение, обернутое в окно браузера на стороне клиента.
Вопрос: Насколько тяжело работать с большой MySQL базой?

Лучший ответ:
1. примерно 700 мегабайт
2. зависит от индексов, организации. Если правильно проставите индексы, то проблем не будет и запросы будут обрабатываться быстро. У меня есть один сайтик с 60млн записей в одной таблице - все норм. 
3. Желательно взять с ssd, но такие стоят дороже.

Худший ответ:
1) Сколько места будет занимать база с 1 млн подобных записей? В текущих реалиях - незначительное. Грубая верхняя граница - 10Гб (плюс-минус пара петабайт).Насколько тяжёлые будут запросы к выборке из такой большой базы?Зависит от запросов.Если база увеличится до 10 млн, то и длительность/тяжесть запросов пропорционально в 10 раз увеличится?Прямой корреляции между размером таблицы и скоростью выполнения запросов нет, движущихся частей в этом процессе довольно много - это и индексы и структура самих запросов.На какие параметры стоит обратить внимание при выборе хостинга/vps/vds под такую базу?Для сферической базы в вакууме, с которой будет работать сферическое приложение в вакууме берите тот сферический VDS в вакууме, на который у вас хватает денег. Если он не будет справляться со сферической нагрузкой в вакууме, берите VDS мощнее. Live - Die - Repeat.
P.S.Насколько тяжело работать с большой MySQL базой?К вечеру начинает лапы ломить и хвост отваливается, но в целом - терпимо.
Вопрос: Установка Linux без потери данных?

Лучший ответ:
Купите второй диск, установить Linux на него.

Худший ответ:
Купите второй диск, установить Linux на него.
Вопрос: Что лучше bootstrap или grid css использовать?

Лучший ответ:
bootstrap - это НЕ технология и не API-функции нативной библиотеки.
Разумеется, что css grid - будет и лучше, и удобнее, и БЫСТРЕЕ!

Худший ответ:
Grid это родная рука, bootstrap это протез.
Скоро и препроцессоры ненужны будут,css развивается очень быстро. Просто все эти сторонние "помошники" показали создателям css в каком направлении развиватся и выявили потребности, теперь же они уже ненужны.
Свои руки выросли))).
Я за Grid однозначно!!!
Вопрос: Непонятно, почему выбивает?

Лучший ответ:
Рабочим каталогом является тот, в котором скрипт запущен. В вашем случае - это C:\Users\111. Все относительные пути строятся от рабочего каталога. То есть open("text.txt", "r") попытается открыть C:\Users\111\text.txt, в то время как он доступен по пути E:\Проект_2018\text.txt Либо запускайте скрипт в том же каталоге, где находится требуемый файл, либо используйте абсолютные пути, либо пишите код для получения местоположения скрипта и построения относительных путей от него.

Худший ответ:
1. Как только вы применили к себе слово "программист", сразу зыбаваете про кирилические имена в путях (ну и пробелы, к счастью их нет).
2. Ваш скрипт ищет файл test.txt не там где вы этого ожидаете а в c:\users\111
Запускайте скрипт в каталоге где он находиться или указывайте абсолютный путь, не помню как там в питоне под виндой, но можете попробовать указать так "./test.txt".
В винде, лучше юзать bat скриптик для запуска скриптов - избавляет от необходимости возни с путями.
Подсказка: что-бы запустить консоль в нужном каталоге сразу, зажмите шифт и правой кнопкой в нужном каталоге, там будет "запустить консоль"
Вопрос: Как сделать аккумулятор для ноутбука?

Лучший ответ:
Можно оснастить ноутбук ядерной батареей. 
А если серьёзно, то можно это сделать. Правда, не знаю, как реализовано в аккумуляторном отсеке ноутбука. У каждой он свой. Надо изучить конкретную схему. Но есть более короткий путь - через разъём питания. Так и так можно. Я тогда на старом ноутбуке сделал просто питание без аккумулятора. А если на базе аккумулятора, то тут надо использовать литий-полимерные аккумуляторы. Их можно достать в Китае. В России, наверное, тоже можно найти. Остальное, надо смотреть на схемы.

Худший ответ:
Нужен контроллер питания для батарей именно такой серии ноутбуков. Далее - по спецификации контроллера, навешивайте стандартные банки 18650 в нужном количестве и конфигурации. 
Если контроллер распаян на материнке - просто ищите к нему даташит и смотрите типовую схему подключения банок.
Вопрос: Как правильно организовать изменений 50-100 строк в mysql?

Лучший ответ:
Делать 50-100 запросов циклом?
Вот этого категорически делать не нужно. Изменения должны происходит в рамках одного запроса update, просто сформируйте массив из ID выбранных товаров и проставляйте его в условии where, используя оператор IN, например:UPDATE table_items
    SET option = true
    WHERE id in (11, 45, 81);

Худший ответ:
Если для всех надо сделать что-то одинаковое - т.е. для всех значение одного поля поставить одинаковым - то update с where id in ....
иначе - для каждого изменения отдельный запрос;
Если драйвер бд позволяет можно сделать несколько запросов одновременно:
mysql.query('UPDATE ... WHERE ID = 1; UPDATE ... WHERE ID = 2;....'. ....)
Вопрос: Как записать текст из команды Telegram в переменную?

Лучший ответ:
Вот решение моего вопроса 
Все оказалось проще простого@bot.message_handler(commands=['1'])
def handle_text (message):
    bot.send_message(message.chat.id, "Введите данные")
    @bot.message_handler(content_types=['text'])
    def handle_text(message):
        txt = message.text
        print(txt)

Худший ответ:
тем у кого ничего не отображается, что бы начать выполнение кода нужно ввести команду прописанную в условии, здесь это будет /1
Вопрос: Распараллеливание процесса верстки между верстальщиками?

Лучший ответ:
Распределить работу покомпонентно.
Любые макеты можно разобрать на следующие компоненты и этапы.0. Создается общий репозиторий для проекта. 
Все работы ведутся сразу в нем. Чем чаще делаются коммиты, тем раньше вылезут и будут исправлены проблемы. У каждого компонента есть свой css/less/sass файл, чтобы легче управлять кодом и избегать merge-конфликтов.  1. Основные строительные блоки:
- Типографика и стили для контента (таблицы, цитаты)
- Элементы форм + стили валидации
- Декоративная графика (иконки, плашки)
- Модульная сетка (сразу респонсив)
Каждый верстальщик отвечает за свой кусок работы и создает демо-страничку с перечнем компонентов, которые он сверстал. Работа верстальщиков не пересекается.2. Повторяющиеся компоненты:
- Навигация
- Ленты новостей, событий, блогпостов, результатов поиска, чего угодно
- Типовые формы (логин, регистрация, поиск)
- Табы
- Слайдеры
- и так далее
Каждый верстальщик делает свою категорию элементов и создает демо-страничку с перечнем компонентов и всеми их модификациями. Работа верстальщиков почти не пересекается, но каждый компонент основан на стилях, написанных на первом этапе.
После этих двух этапов у команды готов UI-kit проекта.3. Предварительная сборка всех шаблонов страниц с реальным контентом
Работа распределяется постранично. Каждый верстальщик копипастит блоки из UI-кита и наполняет реальным контентом. В конце команда оценивает, где что еще нужно доделать.4. Редкие кастомные компоненты и модификации
На основе проблем, которые вылезли на третьем этапе, каждый верстальщик допиливает блоки, за которые он отвечает. 
В общем, верстать надо от простого к сложному, от общего к специфичному и при этом независимыми блоками. Тогда несколько верстальщиков спокойно могут уживаться на одном проекте, не мешать друг другу и не ломать друг другу код.
Обо всем этом говорят Atomic Design, ITCSS и многие другие методологии.

Худший ответ:
Чтобы так с ходу, без общих репозиториев? Раскидать по DOM-иерархии - один делает лэйаут (скелет, резину, адаптивность, секции), другой верстает уже внутренности секций, а третий занимается декоративными вещами (элементы форм, иконки, оформительская графика). Так хотя бы стиль кода и селекторы не будут особо путаться.
В БЭМ сходу очень трудно въехать. Да и избытычна она для небольших проектов.
Вопрос: Как показать верстку клиенту, не загружая на хостинг?

Лучший ответ:
Есть довольно занятное сочетание browsersync + localtunnel. Первый инструмент сам по себе при верстке используется, а при необходимости показать что-то, вы в одну команду расшариваете то, что делаете и посылаете ссылку клиенту. Он смотрит, потом вы все выключаете. Из занятного - browsersync продолжает исправно работать, ваш браузер и браузер клиента получаются связанными - скролл, нажатия кнопок, все действия, которые влекут за собой добавление/удаление классов у элементов - вы видите все, что клиент смотрит и можете сами что-то показать. Может быть удобно при одновременном общении в skype/hangouts. Для всего этого не нужен ни хостинг, ни белый ip, ни нормальное железо.

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

Лучший ответ:
прилепите к бегунам qr код

Худший ответ:
Можно попробовать использовать гугловский vision api.
Вопрос: Как осуществить перевод куска кода LESS в SCSS?

Лучший ответ:
Я просто оставлю это здесь...

Худший ответ:
Ответ:@mixin stitches-sprite($x: 0, $y: 0, $width: 0, $height: 0) {
    background-position: $x $y;
    width: $width;
    height: $height;
}

.sprite {
    background-image: url('spritesheet.png');
    background-repeat: no-repeat;
    display: block;

    &.sprite-courier {
        @include stitches-sprite(-5px, -5px, 79px, 43px);
    }

    &.sprite-dhl {
        @include stitches-sprite(-94px, -5px, 84px, 21px);
    }

    &.sprite-icon {
        @include stitches-sprite(-94px, -36px, 51px, 51px);
    }

    &.sprite-icon-2 {
        @include stitches-sprite(-155px, -36px, 51px, 51px);
    }

    &.sprite-icon-3 {
        @include stitches-sprite(-5px, -97px, 51px, 51px);
    }

    &.sprite-icon-4 {
        @include stitches-sprite(-66px, -97px, 51px, 51px);
    }

    &.sprite-icon-5 {
        @include stitches-sprite(-127px, -97px, 51px, 51px);
    }

    &.sprite-icon-6 {
        @include stitches-sprite(-5px, -158px, 53px, 15px);
    }

    &.sprite-item-big {
        @include stitches-sprite(-68px, -158px, 90px, 35px);
    }

    &.sprite-item-header {
        @include stitches-sprite(-188px, -5px, 32px, 13px);
    }

    &.sprite-jcb {
        @include stitches-sprite(-188px, -97px, 43px, 41px);
    }

    &.sprite-mastercard {
        @include stitches-sprite(-230px, -5px, 74px, 51px);
    }

    &.sprite-mastercard-securecode {
        @include stitches-sprite(-188px, -148px, 80px, 42px);
    }

    &.sprite-post-russia {
        @include stitches-sprite(-241px, -66px, 76px, 38px);
    }

    &.sprite-visa {
        @include stitches-sprite(-168px, -200px, 56px, 39px);
    }

    &.sprite-visa-verified {
        @include stitches-sprite(-234px, -200px, 74px, 47px);
    }
}
Вопрос: Владелец сайта предпочёл скрыть описание страницы. WordPress?

Лучший ответ:
"прошло 3 дня"
Конечно нужно подождать. В Яндексе эта надпись исчезнет в период от 3 недель до полутора месяцев. Он очень инертный + ваш сайт новый, а значит Яндекс его посещает вначале редко до 1 раза в неделю полторы. Ктому же, обновления индекса результатов поиска Яндекса  происходит не ежедневно, а раз в 3-4 дня, а то и раз в неделю.
В файле robots.txt обязательно пропишите директиву 
Host: вашдомен.ru

Худший ответ:
От снятия запрета до появления страниц в индексе яндекса, по моему опыту, проходит от 2 до 4 недель. У гугла все быстрее - несколько дней. Ждите
Вопрос: Как повысить скорость загрузки сайта?

Лучший ответ:
1. Нет
2. Да, но только если картинок в контенте на странице 20+
3. Нет, обьединять нужно множество мелких картинок
Для нахождения проблем нужно использовать профайлер браузера
Часто проблемы связаны не со скоростью загрузки, а с тормозами от кривого жс и цсс

Худший ответ:
ограничение на одновременную загрузку N-числа файлов с одного домена
Ограничения нет. Есть только принцип что все загрузки с одного домена идут последовательно. То есть можно отделить файлы фотографий на поддомен, при этом они будут грузится паралельно всем остальным файлам типа js css.
Вопрос: No-reply@, для кого?

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

Худший ответ:
То, что написано в заголовке From: может вообще не иметь никакого отношения к тому адресу, на который вы будете писать нажав "Ответить". Последний может быть указан в заголовке Reply-to:
Причин отправлять (показывать вам) что-то в роде noreply@ может быть вагон. Несколько из них вам уже написали.
Ещё одной может быть специфика работы сервисов рассылки, когда требуется наличие определённого домена именно в поле From: для прохождения проверки цифровой подписи DKIM, но не предполагающее предоставление вам возможности написать на использованный адрес.
Вопрос: Как заставить себя идти спать во время?

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

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

Лучший ответ:
Да 5 - максимум 5 цифр, но если вы укажете 10 то максимальное значение будет не десять девяток а  2147483647
Максимальные и минимальные значения других полей: dev.mysql.com/doc/refman/5.7/en/integer-types.html

Худший ответ:
Вы удивитесь, но то, что вы называете размером - это не размер:
rmcreative.ru/blog/post/mysql--dlina-int
Вопрос: Телеграмм лимиты, миф или реальность?

Лучший ответ:
Ограничение - не миф.
Если у вас действительно популярный и полезный бот, можете написать об этом в поддержку.
Обоснование придётся писать серьёзное и обоснованное. Запросы в стиле "отключите мне пожалуйста лимиты" отклоняются. И, да, писать надо на англ. языке.
Моему боту сняли лимиты в обмен на отключение хранения сообщений старше недели на стороне Telegram.

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

Лучший ответ:
Можно, для этого даже готовые библиотеки есть.
1. Symfony dom crawler
2. phpQuery
3. simple_html_dom
С ними будет куда проще, чем с регуляркой.

Худший ответ:
Как можно....
Ссылочки в массив и по ним пробежаться циклом? <?php
$urls = array('http://url1.com', 'http://url2.com', 'http://url3.com');
foreach($urls as $url) {
    $content = file_get_contents($url);
    preg_match_all("РЕГУЛЯРКА", $content, $matches);
    $data = $matches['0'];
    $data1 = implode("\n", $data);
    echo $data1;
    $fp = fopen ("text.txt", "a"); // a - перемещает указатель для записи в конец файла
    fwrite($fp,$data1);
    fclose($fp);
}
?>
А лучше наверное посмотреть на библиотеки в ответе выше, чтоб с самим парсером не мучатся.
Вопрос: Как правильно организовать рейд на 10-15ТБ?

Лучший ответ:
Нужен RAID, все зависит от требуемой надежности. Чем надежнее, тем больше теряете полезного объема.
altastor.ru/apps/raid-calculator
Средним будет RAID5 с дисками на 4ТБ. Не самый быстрый, не самый медленный, отказоустойчивость в 1 диск, относительно небольшая потеря места
Надо 5 дисков, итого будет 16ТБ

Худший ответ:
RAID5 или RAID6 
второй хороший вопрос -- выбор файловой системы. Если для больших файлов с видео -- можно посмотреть в сторону XFS/ ZFS
Вопрос: Свое облачное хранилище?

Лучший ответ:
возможно это сделать вообще
Dropbox же есть, значит возможно.написать свой сайт, где будут хранится мои файлы
Это и без облачных технологий можно сделать.Как это реализовать?Изучить принципы web-разработки;Изучить Python;Выбрать подходящий фреймворк;Написать код;Настроить сервера(а);Развернуть на них свой проект.

Худший ответ:
Owncloud в помощь
Вопрос: Какую технологию выбрать веб сервиса и БД?

Лучший ответ:
Посмотрите на базы данных КЛАДР и ФИАС fias.nalog.ru/Updates.aspx
У них реляционная структура, из DBF легко сделать экспорт в mysql.
Собственно практически никто не пишет свои велосипеды и используют их.

Худший ответ:
Под БД можете Elastic заюзать. Забивать адреса можно в полу автоматическом режиме: если адрес стандартный
(ул|пр-т|пр|...). (Адрес улицы/проспекта/...), д. (буквы/цыфры), кв. (буквы/цыфры) - разбивать регуляркой, и вбивать автоматически, в противном случае в ручную.
Есть альтернативный вариант - пытаться искать адрес через гугл, далее пытаться получить адрес через его API
Вопрос: Какие должны быть первые шаги новичка во фрилансе?

Лучший ответ:
1 шаг - получить базу фундаментальных знаний в выбранной сфере (в это же время можно сформировать некое начальное портфолио)
2 шаг - изучить основы маркетинга для дальнейшего построения общения с клиентами
3 шаг - изучить рынок на предмет ценовой политики для формирования собственной стратегии роста и постановки первоначальной почасовой ставки
4 шаг - оформить профили на фриланс биржах основываясь на знаниях полученных выше и примерах профилей успешных фрилансеров(не копировать, а писать своё)
5 шаг - начинать посылать отклики на проекты, выполнение которых требует не меньше ~70% текущих знаний 
6 - повторять 5 шаг, корректируя стоимость часа, до "устаканивания" в среднем рейте по сфере, регулярно обновляю информацию в профилях на биржах и пополняя портфолио завершёнными проектами - с чёткой детализацией выполненных задач в них.
7 - не забывать продолжать развиваться в выбранной сфере и нишеваться в узких направлениях если изначально было выбрано слишком широкое
Альтернатива фрилансу - бодишопы по типу топтал, при этом процесс тот же самый, только клиентов человек будет подбирать не сам, а их будут подбирать для него дядьки, которые будут брать за это ~половину его заработка

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

Лучший ответ:
См. HTTP заголовок User-Agent.
Например, готовая реализация: faisalman/ua-parser-js.   Её демо.

Худший ответ:
На самом деле такую строку выдаёт только хром, поэтому можно точно понять, что это он. Какие-то браузеры определяются по navigator.userAgent, другие по navigator.vendor. Операционную систему можно так же узнать по navigator.platform. Посмотрите вот тут есть хороший пример: https://yraaa.ru/test/118/  (откройте исходный код страницы, что бы понять как это работает, там есть прямо готовый метод для ваших целей)
Вопрос: Как правильно сделать выборку один-ко-многим?

Лучший ответ:
leftjoin или rightjoin должен ты использовать

Худший ответ:
Несколько возможных вариантов:
1) Подобный вопрос. Используйте group by post_id + group_concat для tag.name
2) JSON_ARRAYAGG(col_or_expr). Т.е. формировать сразу JSON массив
Вопрос: Лучшие способы изучения java?

Лучший ответ:
Программировать, практиковаться.

Худший ответ:
Попробуйте браузерную автоматизацию через selenium писать.  Для понимания и применения ооп очень благодатная почва. Потому что обьекты очень осязаемые. И азы автоматизации в веб тестировании заодно изучите.
Вопрос: Что создать новичку для практики?

Лучший ответ:
https://codepen.io/pens/ - выбирайте демку и пробуйте сделать ее самостоятельно.

Худший ответ:
Загугли corporate flyer psd
Вопрос: Viber в качестве офисного мессенджера?

Лучший ответ:
А чего там подводных камней? Мессенджер, как мессенджер. У джаббера есть плюс в том, что можно иметь свой сервак и не зависеть от стороннего сервиса, который может упасть в самый неподходящий момент или попасть в немилость политикам. Зависит от того какие цели преследует начальство, нужны ли им звонки или достаточно только текста. Я бы вообще на телеграм перешел, и узнавал бы о состоянии/наличии заказов, наличии сотрудников в офисе, да много чего еще с помощью бота и отвлекал бы сотрудников только по необходимости личного общения)  Но джаббер бы обязательно оставил, как резервный вариант.

Худший ответ:
Сейчас в тренде:
https://rocket.chat
https://slack.com
))