По следам примера использования генетических алгоритмов от eax.me

В этой статье мы расскажем про один из интересных на наш взгляд экспериментов, которые мы давно планировали, но не могли реализовать, поскольку оригинальный код написан был на Perl, а разбираться с алгоритмом не было времени.

Автор оригинального кода довольно известен и для его блога eax.me, мы как-то делали гостевую статью про FPGA, и именно его идею мы и хотели воспроизвести в D.

Эксперимент, а именно так можно это назвать, который будет описываться здесь связан с генетическими алгоритмами…

Читать далее

Шум Перлина в D

В этой статье мы покажем простой порт реализации шума Перлина в D. Реализация очень простая и ее легко повторить вообще без сторонних библиотек и иных сторонних компонентов. Если вам интересно, то на правах рецепта, мы прилагаем код ниже.

Читать далее

Генератор псевдослучайных чисел из правила 30

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

Читать далее

Реализуем дизеринг в dlib

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

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

Читать далее

Запускаем свой Gopher-сервер

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

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

Читать далее

Реализация поточной системы шифрования Salsa20

В этом скромном рецепте мы вам покажем, как реализовать систему поточного шифрования Salsa20 от уже знакомого нам Даниэля Бернштейна (того самого, кто придумал redo) в D. Сразу скажем, что наша реализация — это голый порт с C99 с некоторыми улучшениями, но нам показалось, что неплохо бы было поделиться с читателями этим незначительным портом.

Читать далее

Реализация хэш-функции SipHash на D

В этой статье мы покажем вам, как реализуется криптографическая хэш-функция SipHash, которая дает небольшой по размеру хэш и обладает очень высокой производительностью. Реализация данной функции есть на многих языках: C, C#, Rust и даже Haskell, но нет версии на D — и наша команда решила исправить это недоразумение…

Читать далее

Некоторые вспомогательные функции для работы с битами

В этом скромном рецепте мы предлагаем вам некоторые функции, которые потенциально могут облегчить вам программирование, если вы вдруг будете работать со значениями как с наборами битов. К сожалению, в рецепте практически нет ничего оригинального, и большая часть реализации взята из одной очень интересной библиотеки для Python 3, но это не значит, что в изложенном нами нет полезных решений…

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

Читать далее

Складываем пасьянс Медичи

В этой статье, я попытаюсь объяснить, как мне удалось своими силами создать алгоритм свертки одного из самых загадочных пасьянсов — Пасьянса Медичи. Предупреждаю сразу, в отличии от множества эзотерически настроенных людей, я не склонен думать, что этот пасьянс как-то влияет на события или описывает алгоритм их схождения к некому результату. Я скромный экспериментатор, которому интересна любая нетривиальная задача, которой в этот раз оказался злополучный пасьянс…

Читать далее