“Трудно искать кота в черной комнате, особенно если его там нет”

Разбирая блоги и релизы знакомых ИТ-компаний для понимания вектора развития современного (в том числе Российского) рынка ИТ споткнулся (да-да, именно споткнулся — это не опечатка) о заметку в блоге компании Синезис (Synesis, Mink, Belarus). Ссылка на публикацию (на английском языке).

Связавшись с представителем компании (один из управляющих партнеров — Птицын Николай), с кем знаком лично по встречам на разных международных мероприятиях и тусовках (MWC, iGB Affiliate, etc), узнал немного деталей имевшего места “кейса”.

Long story short: некий молодой человек по имени Санчаров Кирилл связался с фаундерами компании Synesis(Минск, РБ) и предложил партнерство в области развития математического алгоритма сжатия данных (архиватора) с использованием вполне научно-подобного метода “поиск заданной n-битной последовательности в бесконечном иррациональном числовом ряду, коим является значение Пи после запятой”. Науко-подобное звучание, стечение обстоятельств, а также упорство молодого “разработчика-предпринимателя” сделали фантазию — реальностью. Уважаемая, опытная, многопрофильная ИТ-компания подхватила проект и дала зеленый свет выделив материальные, человеческие и прочие ресурсы на развитие инициативы и даже предоставила свое имя для представления проекта Aleph на различных профильных конференциях и мероприятиях (EMERGE 2019). 6 месяцев плотной работы команды компании и желание сделать дерзкий старт-ап рельным бизнес-кейсом разбивались о преграды очень странных свойств, будь-то периодическими исчезновениями “автора” идеи под разными предлогами (например “надо сдать сессию в МФТИ”; В 26 лет? Сессия? Не иначе заканчивал 8 курс?), попытками “взлома” серверов системы злыми хакерами, или криворукостью “разработчиков” работающих на удаленке, которые периодически “ломали систему” и требовалось срочное личное присутствие в другой стране для исправления “повреждений”. Демонстрируемый исходный код был подозрительно похож на обфусцированные решения PAQ разных поколений. Дальше — больше, данные волшебным образом сжимались в 2/4/8/.../n^32 раз. Апофеозом истории стал момент, когда “алгоритм” стал сжимать только что сжатые данные в те же n-раз (правда стоит отметить, что для этого пришлось зашифровать сжатые данные, иначе программа их узнавала и отказывалась “сжимать” повторно) и чудесным образом 1Gb вполне себе плотных данных в формате MPEG-4 в рекордные 7Kb!

Synesis закрыла проект. Суммарный ущерб от действий мошенника компания оценивает в сотни тысяч долларов США.


Странно звучит, да? 2019 год, Python учат в школах, ИТ давно стал мейнстримом, а число людей понимающих термины “нормализация данных”, “медиана”, “инкапсуляция кода” исчисляется десятками, если не сотнями тысяч. Машинное обучение только что еще не учит детей (или уже учит?). В этой среде происходит ситуация подобная той, что описана выше.

Почему? Как? Неужели распространение знаний приводит не только к росту профессиональных экспертиз в индустрии, но и к проникновению мошенников уделом которых ранее было воровство данных банковских карт и обман вендоров на электронных торговых площадках?

Я склонен допускать, что сегодня 9 из 10 профессионалов в рынке ИТ (людей считающих ИТ своей профессией) даже не слышали про трехтомник Кнута “Искусство Программирования”. Но логика — наука упрямая, да и теорию информации изучали многие причастные к индустрии! Следуя логике и знаниям в области алгебры можно допустить, что при определенной доле удачи (подразумевается математический смысл термина — прим.автора), а также правильной методике поиска/вычисления/обращения можно найти определенный баланс в скорости кодирования/степени сжатия и получить какой-то вменяемый результат. Но ключевое слово — баланс. Сразу вспоминается триада-противоречий: “Быстро, качественно, дешево” — если взять за предпосылку два любых утверждения, то силлогизм противоречит третьему (“быстро и качественно — не может быть дешево”, “быстро и дешево — не может быть качественно”, “качественно и дешево — не может быть быстро”). Опираясь исключительно на методы математического кодирования и не используя прикладной оценки кодируемых материалов энтропию не победить. Тот же “JPEG требует применения теории из цифровой обработки сигналов, математического анализа, линейной алгебры, теории информации, в частности, преобразование Фурье, кодирование без потерь и др” (habr.com — цитата, Филипп Володин@Fil).

Послесловие.

Любому специалисту в области ИТ не в новинку слышать термин «дьюдил» (due diligence), но хорошо ли мы понимаем важность столь привычного нам процесса в реальном мире? История, описанная выше и ставшая поводом к этой статье, подводит меня к переосмыслению важности проверки гипотезы не только на предмет ее обоснованности с точки зрения идеи и возможности реализации, но и также с точки зрения проверки порядочности “изобретателя”. “Алгоритм Бабушкина” бывший забавной шуткой несколько лет назад случился вновь — и это тревожный знак!

Мир ИТ — это мир погони за «единорогом» во всей красе этого процесса! И вот, догнав нечто рогатое и вроде бы правильного розового оттенка встает вопрос: «Это точно он?», «А точно рог один (а второй не спилен хитрецами для идеализации результата)?», «А точно он розовый (в обманчивом свете бинарной луны оттенки могут менять самым причудливым образом)?» И прочие вопросы, которые мы могли бы придумать — все они с одной стороны добавляют нам уверенности, а с другой могут оказаться непростительным лагом в принятии решений.

Желаю всем простых и понятных дьюдилов, побольше идей и настоящих единорогов!

Комментарии (11)


  1. justhabrauser
    29.11.2019 11:57

    Дальше — больше, данные волшебным образом сжимались в 2/4/8/.../n^32 раз

    Но баян же!
    "Архиватор Бабушкина" — это же не седая старина, а буквально вчера было!
    Это уже снова можно кого-то на Болген-ОС разводить?
    "А что, так можно было?"


  1. fougasse
    29.11.2019 11:59
    +3

    Не очень понял претензии к 26 годам и сессии, если честно.
    Как видим, фаундерам ИТ компании правильно и вовремя полученное образование(если оно было, конечно) не помогло увидеть явный «разводняк».


  1. A114n
    29.11.2019 12:46

    А можно мне сто тыщ долларов от этой компании? Я их честно потрачу на себя, не буду придумывать мошеннические архиваторы!


    1. Bedal
      29.11.2019 16:45
      +5

      так нечестно. Это лишит работы множество менеджеров, которые должны думать над предложениями, отсеивать таких, как Вы и поддерживать наукоёмкость продукта.


      1. A114n
        29.11.2019 18:25

        :'с


  1. valemak
    29.11.2019 15:43
    +6

    Это они ещё отделались лёгким испугом.

    Если бы стартап выстрелил, их бы засудил Алексей Бабушкин, за то что они украли идею его архиватора.

    Бабушкинский алгоритм сжатия данных, 2013 год
    Алгоритм архивации таков: любой файл представляет собой HEX-последовательность символов, переводим этот HEX в DEC, получаем неебически-большое число, дописываем перед этим число 0, — получаем число в диапазоне от 0 до 1 с огромным числом знаков после запятой, а дальше всё просто — подбираем 2 таких целочисленных числа, частное которых даст нам искомое число в диапазоне от 0 до 1 с точностью совпадений до последнего знака. Беда в подборе чисел, которое может идти и 2 часа, а может идти и 2 недели. Есть опытные образцы и работающая программа, и всё это работает.

    Алексей Бабушкин


    1. Revertis
      29.11.2019 21:48
      +2

      Алгоритм майнинга архива :)


      1. iig
        29.11.2019 22:09

        Иллюстрация к вопросу, нужна программисту математика или нет :)
        Периодические дроби учат в 6 классе. И размер делителя как-то связан с периодом дроби… Короче, в общем случае для описания волшебной дроби понадобится больше цифр, чем для кодирования этого файла. Но гигабайт нулей должен хорошо сжиматься :)


    1. demp
      01.12.2019 18:45
      +1

      Похоже, что Алексей Бабушкин просто позаимствовал идею ?fs https://github.com/philipl/pifs


  1. Karl_Marx
    30.11.2019 01:47
    +3

    Я вообще не понял, как можно продать архиватор в 2019, может ребята кому-то откатили?


    1. terantul
      30.11.2019 06:02
      +1

      не архиватор, а рабочий код сжатия данных. Например для хранения бэкапов очень нужная штука, на больших объёмах есть существенная разница хранить 2 петабайта или 1.8 петабайта.