Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: SMART hdd диск умирает?

Лучший ответ:
196 Reallocated_Event_Count 0x000f   087   087   030    Pre-fail  Always       -       11521 (57177 0)
Я бы сделал бэкап как можно скорее.

Худший ответ:
Приведенный SMART вроде в норме, особых нареканий не вызывает сам по себе. И должен выдавать статус  PASS или ОК при проверке
Есть какие-то проблемы  с диском в работе?
Вопрос: Как в typescript проинициализировать класс?

Лучший ответ:
Потому что в ангуляре еще есть декораторы@Injectable и @Component прочие, использующие DIAngular 2 и внедрение зависимостей
они регистрируют класс сервиса (компонента и т.д) в инжекторе, используя ссылку на класс как индентификатор.
А так же просматривают параметры конструктора.
Когда вы запрашиваете сервис в конструкторе, инжектор просматривает свой реестр, и если экземпляр класса найден, то передает его в конструктор, а если нет, то создает экземпляр. Т.е. ваше new UserService() присуствует, но скрыто в декораторе.
Понятное дело, что в голом typescript такое поведение не предусмотрено.
Если вы хотите использовать фишки а ля Angular на бэкенде, то посмотрите на Nest.js, там все это уже настроено, весьма годный бэкенд фреймворк (впрочем есть и другие). 
Если хотите просто взять механизм DI для своего проекта, посмотрите библиотеки typedi и Inversify

Худший ответ:
Ваш код не работает, потому что за вас никто экземпляр класса в ваш constructor не передает.
В Angular этим занимается IoC контейнер который реализует Dependency Injection.
Если вам нужен подобный функционал, то ищите реализации IoC  контейнеров для JS/TS, например inversify.io/
Вопрос: Юридическое оформление сайта (и соответственно компании) уровня ВК?

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

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

Лучший ответ:
Сбер.

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

Лучший ответ:
import pandas as pd
import requests
response = requests.get('https://rossvyaz.ru/data/DEF-9xx.html')
table = pd.read_html(response.text, encoding='utf-8')
print(table)
 Дальше с пандас таблицей делайте что хотите

Худший ответ:
import pandas as pd
import requests
response = requests.get('https://rossvyaz.ru/data/DEF-9xx.html')
table = pd.read_html(response.text, encoding='utf-8')
print(table)
 Дальше с пандас таблицей делайте что хотите
Вопрос: Какую нужно иметь специальность, чтобы уехать работать Геймдевом за границу?

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

Худший ответ:
Вообще не важно. Любой приличный ВУЗ, где есть необходимые знания.
Потом на Devgamm и на WN просишься на стажировку да в РФ, желательно в известную компанию, которая есть на рынке за пределом РФ. Потом либо в более крутую, либо с ней зарубеж.
Много таких кейсов встречал.
Вопрос: Имеет ли смысл создавать много простых методов?

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

Худший ответ:
если для вашей задачи принципиальны затраты на лишний вызов метода - тогда наверно не стоит делать лишний вызов (если конечно это не С++  inline). 

опять же - если код исполняется 1 раз, то особого смысла выводить его в функцию нет, а если таких вызовов много - то конечно надо оборачивать функцией.
Вопрос: Почему код не работает. Это из-за FixUpdate и Void Start??

Лучший ответ:
Код в Start выполняется при старте скрипта (грубо говоря) и раньше чем FixedUpdate. На этот момент second еще будет равна 0. И никакая корутина не выполнится.

Худший ответ:
StartCoroutine должно запускатся не в начале сцены??- тут без знаков вопроса.
Вопрос: Как на сервере разместить 1000 директорий?

Лучший ответ:
На Пайтоне, создаёт 1000 папок с именами dir1...dir1000:
import os

for i in range(1000):
	os.mkdir("dir{}".format(i+1))
Если хостинг бомжатский и ничего кроме PHP не предоставляет, то можно и на PHP:
for ($i = 1; $i <= 1000; $i++)
  mkdir('dir' . $i);

Худший ответ:
На Пайтоне, создаёт 1000 папок с именами dir1...dir1000:
import os

for i in range(1000):
	os.mkdir("dir{}".format(i+1))
Если хостинг бомжатский и ничего кроме PHP не предоставляет, то можно и на PHP:
for ($i = 1; $i <= 1000; $i++)
  mkdir('dir' . $i);
Вопрос: Как записать в MySQL большое число при создании новой таблицы?

Лучший ответ:
Используйте BIGINT вместо INT
И тогда можно вписывать числа
от  -9223372036854775808 до 9223372036854775807 (BIGINT)
или
от 0 до 18446744073709551615 (BIGINT UNSIGNED)
если надо записать отрицательное число то свойство UNSIGNED точно не надо выставлять

Для текста длиной в 500 символов используйте varchar(500)

Худший ответ:
Главная проблема с тем видео которое ты смотришь на Ютубе - оно втирает тебе что писать на пхп можно не зная программирования и SQL. Разумеется, это враньё, только чтобы впарить тебе видео

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

Чтобы потом таких вопросов но возникало, в таблицу сам мог сделать нормально, такую:

update_id - int(11) UNSIGNED
text - varchar(500) character set utf8mb4_unicode_ci
create_date - datetime
Вопрос: Почему пропал ssl?

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

Худший ответ:
В хроме в инструментах разработчика - вкладка Security, откройте её и обновите страницу.
И на вкладке Console тоже посмотрите, какие жалобы у браузера.
Вопрос: Как синхронизировать базу данных между сервером (PostgreSQL) и клиентом (SQLite)?

Лучший ответ:
Поищите  вот тут.
https://www.google.com/search?q=postgresql+sqlite+...

Если сугубо руками. То нужно сделать следующее, не важно через веб сервис или через sqldump

1. Перенос всех словарей (1 раз)
2. Перенос всех данных или поднабора (1 раз)
3. Процесс синхронизации клиента и сервера (много раз)

Итак п.1 в данный момент формируется схема обмена данными и фиксируется, важно что бы в дальнейшем учитывать изменения в БД. Перенос происходит на клиент либо руками, либо с помощью сервиса.
GET /api/dbsync/getdictionaries/
{
"schema": "0.4",
[ 
{ "name":"cityes", "sql": "create table ....."},
.....
]
}

где передается схема и дата начала
GET /api/dbsync/getdata/0.4/31.05.2020
Этот запрос отдает поднабор данных или просто список таблиц которые нужно создать. 
обратите внимание на первичные ключи, желательно что бы они были типа UUID или GUID 
либо таблицы содержали служебные поля позволяющие идентифицировать пользователя.
Кроме того необходимы поля created, updated
Также важно что бы данные отдавались конкретно для этого пользователя. Типичный пример таблица users будет содержать только его, и возможно список его подчиненных, а таблица customer только его заказчиков

пункт 3
GET /api/dbsync/sync/0.4/31.05.2020
получение с сервера только дельты данных на указанный период

POST /api/dbsync/sync/0.4
логика клиента формирует пакет изменений, сервер сам разбирается что закоммитить, а на какие данные ругнуться, мол уже исправлено это какие изменения оставить. 
В ответ выдается список статусов для каждой записи. 

Вот примерная простая схема.

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

Лучший ответ:
Подскажите как вы разбиваете вашу верстку на блоки
Вот возьмем, например, header. 
Хедере это конкретный блок со своим классом и модификаторами (если нужно). Далее все намного проще - позиционирование мы не включаем в стили модификатора, это скорее изменение его внешнего вида, об этом следует помнить.Предположим внутри блока есть кнопка, которая есть и в других блоках. 
Ну так и делайте ее отдельным блоком, например с классом .btn или .button и у нее будут свои модификаторы. Чаще всего у блока кнопки их много. Пример как делаю я:.btn {}
/* style */
.btn--primary {}
.btn--secondary {}
/* size */
.btn--sm {}
.btn--md {}
.btn--xl {}
/* special */
.btn--link {}Маргины мы прописываем в стилях к этой кнопке и добавляем соответствующий модификатор?Нет, отступы и кастомные стили (очень специфичные) мы задаем в зависимости от родительского блока в котором находиться кнопка, в данном случае это хедер. Мы может сделать так:.header .btn {}
или например такой класс сделать.header__btn {}
Я предпочитаю вложенность (но не больше 1 уровня)А как эти кусочки потом собрать? С помощью pug includes или gulp
Ну тут уже по разному, как вам удобней и зависит от конкретного инструмента, если говорить о pug, то я делал так
1. объявление миксина в отдельном файлеmixin button(caption)
  button.button&attributes(attributes)!= caption
2. Подключал в глобальный скоуп через шаблоны (include)
3. Пользовался миксином в любом места.Предположим еще в этом блоке есть меню, которое больше нигде не используется, его мы уже верстаем не отдельно, а вместе?
Сделайте отдельным компонентом - не пожалеете. Во первых держать весь код в порядке (в одном понятном виде) удобно. Во вторых - если будет нужно расширение проекта или почти такое же меню но в другом месте, это вам пригодиться.

Худший ответ:
"Не стоит плодить сущности без нужды" (с) У. Оккам
Разбивайте блоки по логическим и семантическим признакам. Т.е. просто задумайтесь - как ВАМ БУДЕТ УДОБНЕЕ потом работать.
Кнопки - окей. Выносите для них общие стили. А позиционирование делайте контекстным селектором от родителя. Либо навешивайте отдельный класс (именно для позиционирования).
Тут ещё такой момент, что вы заранее не можете знать насколько общие стили будут иметь эти "переиспользуемые блоки" (ну серьёзно, у меня уже просто люто бомбит от этого БЭМа, переиспользуются в основном как раз элементы, но по "семантике БЭМа" - это, мать их за ногу, блоки)))
Например, вы вынесли весь декоратив в общий стиль. А для модификации оставили позиционирование. А зватра вам дизайнер даёт практически идентичную кнопку, но другой высоты. Вы её можете контекстом снова поправить. А послезавтра снова другая высота. И в итоге получается что выносить надо как раз стиль для поздних кнопок, а вот первую делать "модифицируемой".
Так что я бы просто набирал стили as is. А уж потом, при желании, можно и рефакторинг сделать - и объединить, вынести какие-то отдельные стили.
Вопрос: Как вставить РНР код в echo?

Лучший ответ:
echo '<div class="outofstock"><span class="meta-name">' . _e('in stock', 'detail') . ': </span> <i class="fas fa-times"></i> Нет в ниличии</div>';

Худший ответ:
Либо, раз это представление:<div class="outofstock">
    <span class="meta-name"><?= _e('in stock', 'detail') ?>: </span> 
    <i class="fas fa-times"></i>
    Нет в наличии
</div>
Вопрос: Почему все чаще пользователи отвечают в комментах к вопросу?

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

Худший ответ:
потому что могут
потому что интерфейс площадки такой, что подсказывает пользователю сделать это (на экране два поля ввода текста, первый - для комментария, второй для ответа, народ тыкает что первое попадается.

решение - править ui (сделать чтобы поле ввода отсутствовало по умолчанию и появлялось только если пользователь ткнул ответить или комментировать) и к примеру добавить возможность кураторам переводить ветку комментариев в отдельный ответ (неоднозначно, что делать если есть и комментарий и ответ от пользователя)
Вопрос: Как скопировать файлы используя Ansible и регулярные выражения?

Лучший ответ:
Задача решилась.
Необходимо добавить в блок с поиском delegate_to: localhost
- name: Prepare list of packages to copy
        find:
          paths: "/srv/test_files/"
          patterns: '(^((?!.*dbg).)*arm64.*$)'
          use_regex: yes
        register: file_list
        delegate_to: localhost

Худший ответ:
На правах идеи , без кода (пишу с тедефона)
В первый таск найдите файлы используя find , результат в переменную. Во второй таск работайте с этой переменной.
Вопрос: Почему компании не индексируют зп?

Лучший ответ:
Видать спецы, подходящего для них уровня, успешно хантятся. Иначе бы индексировали.

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

Лучший ответ:
Слишком размытый вопрос.
"Понимает" не ПК, а процессор, который принимает процессорные команды и выполняет их, гоняя байты и биты, посылая определённые сигналы по шинам другим устройствам и из всего этого, через уровни абстракции от нижних к верхним, происходит просмотр котиков на Ютубе.
Подробное объяснение займёт страниц этак двадцать в общих чертах.

Худший ответ:
Учебник по курсу архитектуры ЭВМ вам поможет. Там ответы на все вопросы)
Вопрос: Шумоизоляция холодильника?

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

Худший ответ:
Если с компрессором - закрывайте.
Если с тепловыми трубками - нет.
Вопрос: Стоит ли учить C++ в 2020?

Лучший ответ:
учить кому ? школьнику старших классов ? 20 летнему студенту ? 35 летнему мужику с 2 детьми ? человеку который разбирается в информатике ? человеку который просто любит поиграть в игры и умеет поставить винду ? учить чтобы писать софт ? учить чтобы делать игры ? учить чтобы поднимать бабло ? учить как хобби ? 
нет начальных данных. как вам ответят на него ?

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

Лучший ответ:
Вам бы на 4pda.
Это ответ.

Худший ответ:
Вам нужен eeprom програматор, снять дамп и восстановить из образа данные известным методом. вроде как то так.
Вопрос: Как alert преобразовывает введенные данные в строчный тип?

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

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

Лучший ответ:
А хрен его знает. Если это частная шарага, то эти слова могут обозначать всё, что угодно.
Если государственная, то назовите ВУЗ.
Лично я склоняюсь ко второму варианту, "математическое" в первой навевает мысль о превалировании матана перед программированием.

Худший ответ:
  "Математическое обеспечение и администрирование информационных систем" или "Программная инженерия" 
Интересно, на что рассчитывают учебные заведения, если по названиям специальностей никто не может понять, кого они готовят. Что выпускники в сопроводительных письмах работадателю сами будут объяснять, кто они... Мне кажется, одно это - показатель оторванности ВУЗов от реальности. А так да, смотрите учебный план.
Вопрос: Анонимная премодерация новости на Wordpress?

Лучший ответ:
Привет.
Добавлю ещё один вариант к ответу yarovikov .
Плагин Public Post Preview.
Генерирует временную ссылку (по умолчанию 48 часов) для неопубликованных записей.

Худший ответ:
1 вариант - делать запороленные записи (исключить их из общего цикла)
2 вариант - забацать кастомный статус записи, который исключить из общего цикла (но будет доступен всем желающим по ссылке,  хотя можно ограничить доступ по ip, но так себе)
Вопрос: Как на VPS обойти блокировку Роскомнадозора?

Лучший ответ:
В целом, нельзя.

А так достаточно просто иметь уникальный IPv4 (то есть не делить его с другими сомнительными сайтами) и не попадать под эту самую блокировку.

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

На самом VPS никакой блокировки нет. Блокирование происходит у провайдера пользователей. Поэтому задача обходить блокировку - это задача пользователя, а не владельца (обычного) сайта.

Худший ответ:
Любая блокировка - это ограничение пользователя на доступ к определенным ресурсам.
Блокируют именно пользователя, а не ресурс.
Поэтому и бороться с блокировкой может только пользователь.
Вопрос: Ошибка при установке Gitlab: E:Невозможно найти пакет gitlab-ee?

Лучший ответ:
Для справки - ЕЕ это платная энтерпрайзная версия, где без лицензии доступно далеко не всё. Бесплатная community edition - gitlab-ce.

Худший ответ:
Все шаги закончились без ошибок? Репозиторий с гитлабом добавился?
Вопрос: Как увеличить длину в range во время итерации по нему?

Лучший ответ:
Получить первых 3 ненулевых элемента, если я правильно понял:
spisok = [1, 0, 2, 0, 0, 0, 0, 3, 0, 4, 5]
list(filter(bool, spisok))[0:3]
# [1, 2, 3]

Худший ответ:
Надо работать в цикле со своим списком, а не с range, это реально какой-то бред, надо что-то типа такого: ll = [1, 0, 1, 1, 0, 1, 0, 1, 1]
answeк = []
    for i in ll:
        if i == 0:
            continue
        elif i == 1:
            if len(answer) >= 3:
                break
            else:
                answer.append(i)
Вопрос: Почему Windows 10 2004 не открывает сетевую папку по имени ПК, но открывает по IP?

Лучший ответ:
https://support.microsoft.com/en-us/help/3181029/s...

To resolve this issue on a file server that is running the SMB version 1 protocol, add the DisableStrictNameChecking value to the registry:
Registry location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
DWORD name: DisableStrictNameChecking
DWORD value: 1

Если коротко, протокол SMB 1 который использует ваш нас устарел и netbios работает не корректно. 

Что можно сделать
 - ходить по IP
 - прописать DNS имя в hosts на этом компе
 - поднять свой DNS в сети
 - попробовать обновить NAS, отключить поддержку устаревших SMB

Худший ответ:
Включите поддержку устаревших версий SMB протокола. 
https://winitpro.ru/index.php/2018/01/24/ne-otkryv...
Вопрос: В каких случаях использовать политики и гейты в Laravel?

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

Худший ответ:
Политики Лары хороши всем, кроме того, что отсутствует понятие "роль", т.е. получается что все политики будут применяться ко всем пользователям без исключений. Но в реальных системах одним пользователям нужно что-то разрешить, а другим - запретить и без ролей становится грустно...
После появления в Ларе политик и гейтов я написал небольшой модуль h-rbac - обертку над гейтами, который позволяет использовать абсолютно все стандартные фишки, но в контексте наличия ролей.
Статья о модуле: Laravel 5. Иерархический RBAC для самых маленьких
Вопрос: Какие есть сервисы, что увеличить разрешение фотографии?

Лучший ответ:
очень хвалят - https://imglarger.com/

Худший ответ:
очень хвалят - https://imglarger.com/
Вопрос: Какой проект сделать front-end разработчику?

Лучший ответ:
адалт сайт

Худший ответ:
Попробуй сделать обычный сайт для кого-нибудь либо придумать свой
Вопрос: Как передать Request Payload в запрос?

Лучший ответ:
payload = {
        "game": "csgo",
...
    }

r = requests.post('xxx.com', data=payload)

Либо из браузера копируем в CURL:
IMG


Затем преобразуем с помощью  curl.trillworks.com

Худший ответ:
Если вы используете requests, то у функции requests.post есть необязательный параметр data, который и содержит в себе request payload.
Пример из документации, на передачу JSON в payload:
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("https://httpbin.org/post", data=payload)
print(r.text)
Вопрос: Безопасен ли простой сайт перед взломами/атаками?

Лучший ответ:
Довольно странный вопрос.
Сам по себе статический html безопасен.
Но есть вероятность что сломают ftp или что там у тебя.

Худший ответ:
Могут быть атаки на сам web-сервер, который отдаёт Ваш сайт клиентам при запросе из браузера.
И в этом случае - код приложения (html,css,js) уже не имеет значения.
Сам код сайта (приложения веб-сервера) - не обрабатывает клиентские запросы. 
И именно с этой точки зрения, код сайта - безопасен, но это вовсе не значит, что он защищён.
Вопрос: Лучшие антивири для Windows 10?

Лучший ответ:
Защитник windows

Худший ответ:
Касперский, если тебя не смущает, что им рулят люди из органов, Bitdefender, Norton,  Eset Nod32
Ну и защитник виндовс конечно, ванлав
Вопрос: Какие книги есть для новичков по C# в 2020?

Лучший ответ:
Такие же, какие и в 2019, 2018, 2017 и так где то до 2004. 
Шарп конечно развивается, но основы языка не менялись.
А если вы еще и новичок в целом, а не именно в шарпах (т.е. опыта нет ВООБЩЕ) - то вам все равно какой год читать.

Худший ответ:
Мне понравилась книга Герберта Шилдта "C# 4.0 Полное руководство". Хорошая книга, с большим количеством примеров, которые обязательно нужно разбирать в IDE.
Вопрос: Window 10, на что используется RAM?

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

P.S. При чем тут MemDiag конечно мне не понятно

Худший ответ:
Я Вам и без средств скажу, что занимает память. Это бажный Working Set. Хотя утверждается, что вызов функции EmptyWorkingSet нужен лишь для отладочных целей, но на деле стоит делать это раз в день для каждого процесса. Можете использовать утилиту RamMap для этого.
Вопрос: Как посчитать количество комбинаций в диапазоне ip?

Лучший ответ:
На JS: (язык тут не был указан)const ip2int = (ip) => 
	ip.split('.')
	.map( (value, index) => Number(value) * 256 ** (3-index))
	.reduce( (sum,value) => sum + value, 0);
const range = (from, to) => ip2int(to) - ip2int(from);
console.log(range("192.168.1.0", "192.168.1.255"));
// 255 - т.е. броадкаст адрес он тоже считает
Суть - перевести ip в целые числа  и вычесть их
Универсальный и простейший алгоритм перевода ip в число, например 5.24.0.0:5 * (256^3) + 24 * (256^2) + 0 * 256 + 0 = 85458944

Худший ответ:
Формулу с вашего листочка. Или вам принципиальна формула в одну строку?
Хотя, вы же хотите считать сумму диапазонов, небось произвольных (без маски), куда уж там в одну строку.
В общем, если есть алгоритм, значит можно сделать калькулятор. А будет ли там 10 строчек кода или 200 - не так важно.