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

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

Подробнее

Конвертация изображений из формата PPM в QOI

В этой небольшой статье, мы вам покажем как с помощью нашей библиотеки qoiformats, про которую мы еще не рассказывали, осуществить перевод картинок из уже знакомых вам PPM P6 файлов в относительно новый формат со сжатием QOI.

Подробнее

Одномерные клеточные автоматы в D

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Циклический битовый сдвиг влево и вправо

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

Подробнее

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

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

Подробнее

Погружаемся в воды Стикса. Часть I: вводное погружение

Эту статью мы обещали уже давно и материала в ней будет много, поскольку нужно дать некоторое начальное понимание того, что такое Styx и что нам в нем так приглянулось. Также в этой статье мы расскажем вам о том, что положено в основу самой популярной библиотеки от LHS в реестре dub. Эта статья является начало крупной […]

Подробнее

Пиксельные войны: как создать свой Pixelflut-сервер на D

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

Подробнее