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

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

Подробнее

Погружаемся в воды Стикса. Часть III: Заключительное слово.

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Цветной вывод отладочной информации в консоли Linux

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Простой ГПСЧ на базе XorShift256

В этой статье, я покажу простой рецепт для того, чтобы создать собственный генератор псевдослучайных чисел (ГПСЧ) на базе известного алгоритма XorShift256. Данный генератор потребует минимального набора операций, а также задания нескольких констант, инициализирующих ГПСЧ (параметры называются по четырем первым буквам латинского алфавита, и хранятся в виде статического массива ulong[4]). Константы для генератора надо либо подбирать […]

Подробнее

Idiomatic D. Юнит-тестирование с включенной оптимизацией в dub

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

Подробнее