Рубрика «энтропия»

Поиск секретов в программном коде (по энтропии) - 1Недавно в открытом доступе появился новый инструмент для поиска приватной информации в открытом коде. Это Entropy — утилита командной строки, которая сканирует кодовую базу на предмет строк с высокой энтропией. Предположительно, такие строки могут содержать секретную информацию: токены, пароли и др.

Подход логичный. Пароли и токены — это по определению строки с высокой энтропией, поскольку они создаются с помощью генераторов случайных или псевдослучайных чисел. Символы в такой последовательности в идеале непредсказуемы.
Читать полностью »

Вселенная стремится к беспорядку — но никто не знает, почему - 1

Вся королевская конница и вся королевская рать не могут Шалтая-Болтая собрать. Правда, в этом стишке не упоминается яйцеобразная форма Шалтая. Этот неудачливый персонаж обрёл форму яйца только, когда мы вместе с Алисой отправились в Зазеркалье. И вот тогда разбитое яйцо стало неразрывно ассоциироваться с невосполнимыми повреждениями. Возможно, Кэрролл частично виноват в том, что наши представления об энтропии похожи на яичницу-болтунью.

Об энтропии обычно говорят как о мере беспорядка или случайности, а связана она с термодинамикой – разделом физики, изучающим тепло и механическую работу. Её предрасположенность к постоянному возрастанию придала ей возвышенный статус наиболее содержательного ответа на некоторые глубокие вопросы. Начиная с того, что такое жизнь и как шла эволюция Вселенной, и заканчивая тем, почему время движется вперёд, как стрела. Но как только мы пытаемся разобраться в энтропии поглубже, получается болтунья — Шалтай, упавший со стены.
Читать полностью »

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

Программист и энтропия - 1
Какаду воспринимают тезис про увеличение энтропии снаружи слишком буквально.

Что такое энтропия в контексте программного кода? Википедия приводит восемь разных определений энтропии в разных науках и все они ограниченно применимы в нашем случае, так что я не берусь дать формализованный ответ на этот вопрос. Но при принятии архитектурных решений и написании кода я всё чаще задумываюсь о последствиях в терминах энтропии, так что приглашаю и вас в свой чудный мир сомнительных аналогий.Читать полностью »

Визуальная теория информации (часть 2) - 1

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

Для полноты восприятия, перед чтением второй части, рекомендую ознакомиться с первой.

Читать полностью »

Визуальная теория информации (часть 1) - 1

Перевод интересного лонгрида посвященного визуализации концепций из теории информации. В первой части мы посмотрим как отобразить графически вероятностные распределения, их взаимодействие и условные вероятности. Далее разберемся с кодами фиксированной и переменной длины, посмотрим как строится оптимальный код и почему он такой. В качестве дополнения визуально разбирается статистический парадокс Симпсона.

Теория информации дает нам точный язык для описания многих вещей. Сколько во мне неопределенности? Как много знание ответа на вопрос А говорит мне об ответе на вопрос Б? Насколько похож один набор убеждений на другой? У меня были неформальные версии этих идей, когда я был маленьким ребенком, но теория информации кристаллизует их в точные, сильные идеи. Эти идеи имеют огромное разнообразие применений, от сжатия данных до квантовой физики, машинного обучения и обширных областей между ними.

К сожалению, теория информации может казаться пугающей. Я не думаю, что есть какая-то причина для этого. Фактически, многие ключевые идеи могут быть объяснены визуально!

Читать полностью »

image

Вы когда-нибудь слышали о команде разработки программного обеспечения, которой бы не приходилось сталкиваться с техническим долгом?

Читать полностью »

Что такое энтропия в ПО и как ею управлять? - 1

Сегодня солнечный день. Вы едете по дороге в вашу деревню, в которой живут все ваши друзья, ваша семья и ваша любимая собака. Прекрасный день! Неожиданно вы слышите ужасный, кошмарный вопль, разрывающий окрестности. Огромная отвратительная Гидра приближается к деревне, чтобы её уничтожить! Вы хватаете меч (конечно, у вас есть меч!) и стараетесь защитить всех, кого любите. Но есть небольшая проблема: у чудовища много голов, и когда вы отрубаете одну из них, быстро вырастает новая!

Кажется, что вы не можете победить в этой битве. Возможно, вы сможете играть с Гидрой достаточно долго, так чтобы вся деревня успела улететь от ужасной угрозы? Наконец, вы станете настоящий героем всего мира! Кому этого не хочется?

В роли Гидры выступает энтропия в ПО: это ваш враг, он вас измотает, но вы никогда не сможете полностью от него избавиться. Но с ним всё равно нужно бороться, чтобы ваши приложения (и коллеги) оставались здоровыми и вменяемыми.

Мы узнаем:

  1. Что такое энтропия в ПО и как заметить её в своём коде.
  2. Что является её возможными причинами и как сохранить энтропию на низком уровне.

Хватит болтовни, к делу!
Читать полностью »

Когда я был исполнителем, мне было хорошо. Делаешь свой фронт работ (мне повезло, и он всегда был чётко ограничен), получаешь за это немного денег и чувствуешь себя нужным и важным членом команды. Полагаю, я был хорошим инженером тех-и-этих-поддержки и хорошим администратором сайтов — добродушным, въедливым, дотошным и постоянно улучшающим способ работы.
Читать полностью »

Протокол “Энтропия”. Часть 6 из 6. Никогда не сдавайся - 1

А вокруг меня тундра, вокруг меня лед
Я смотрю, как все куда-то торопятся,
но никто никуда не идет.

Б. Г.
Читать полностью »

image

Там для меня горит очаг,
Как вечный знак забытых истин,
Мне до него — последний шаг,
И этот шаг длиннее жизни…

Игорь Корнелюк
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js