Побеждаем ошибку линковки при использовании ldc в Termux

Мы как-то уже упоминали о том, что с D можно работать прямо на смартфоне, поскольку есть замечательный компилятор LDC. Но, в последнее время, мы столкнулись с тем, что несмотря на наличие свежих пакетов для LDC в Termux, компиляция любых проектов кончается непонятными ошибками.

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

Читать далее

Реализации алгоритмов шифрования Raiden и RC5

И вновь в нашем блоге мы решили затронуть тему криптографии, но сделать это на примере двух разных алгоритмов Raiden и RC5. Оба алгоритма разрабатывались разными разработчиками и принадлежат к разным семействам, но мы покажем, что может быть общего между ними и как это можно использовать.

Читать далее

Поворот изображения на любой угол

В этой статье, мы покажем вам простую функцию поворота изображения на любой угол, которая основана на обычной математике (не содержит ничего сложнее синуса/косинуса) и может быть использована для реализации при любом формате изображения. Для целей иллюстрации мы покажем реализацию поворота для формата Farbfeld и воспользуемся для этого библиотекой farbfelded.

Читать далее

Небольшие заметки о портировании в BetterC

Две с половиной недели назад мы закончили один из наших проектов – портирование программы с C в BetterC, и программой этой оказалась совсем крошечная утилита redo. Об этой утилите мы уже писали и даже сделали ее версию на чистом D, казалось бы с какой стати мы взялись за порт точно такой же утилиты?

Читать далее

Просматриваем изображения в терминале с помощью dlib

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

Читать далее

Проверяем решение задачи о 100 заключенных в D

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

Читать далее

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

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

Читать далее

Любительский протокол spartan. Спецификация [перевод]

В этот раз мы решили подготовить уникальный для русского сегмента Сети материал про малоизвестный, новый и интересный протокол spartan. На описание протокола мы наткнулись в gemini и описание, увы, выполнено на английском, а в русскоязычной части Интернета поиск описания затруднен интерференцией наименования протокола с одноименными околокриптовалютными технологиями или FPGA от фирмы Xilinx. Поэтому, мы решили выполнить перевод официальной спецификации spartan, и хотя в ней ничего нет про язык программирования D, но мы вам обещаем, что эта статья только начало…

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

Читать далее

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

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

Читать далее

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

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

Читать далее