Получаем погоду из wttr.in с помощью D

В этой статье мы вам расскажем, как можно получить информацию о погоде с одного из известных сайтов без регистрации и получения каких-либо API-ключей. Мы покажем, как, используя только стандартную библиотеку D и ряд самописных структур, разобрать ответ с сайта wttr.in и что с ним можно сделать дальше.

Читать далее

Красивый бинарный поиск в D [перевод]

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

Итак, в гостях у нас сегодня автор статьи под названием “Beautiful binary search in D” за авторством Алекса Мускара, которая была опубликована 18 февраля 2023 года в его блоге muscar.eu. Если вы готовы то добро пожаловать под кат этой статьи. Статью мы постарались перевести максимально близко к оригиналу.

Читать далее

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

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

Читать далее

Поиск на диапазонах

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

Читать далее

version – Согласование версии протокола в 9P

Данной статьей мы продолжаем серию переводов секции 5 страниц man из Inferno OS. В этой статье мы расскажем про самый первый тип сообщения Styx – сообщение version. Именно с этого сообщения начинается вся работа с сервером или клиентом, и с него начинается то, что называется транзакция (в современных терминах, это бы называлось сессией). Далее, мы дадим перевод информации из справочного руководства Inferno и покажем простой пример реализации этого типа сообщения в D.

Читать далее

0intro – Введение в файловый протокол 9P в Inferno OS

Данной статьей мы начинаем серию переводов секции 5 страниц man из Inferno OS. Эта секция посвящена целиком описанию протокола 9P, который в Inferno ранее назывался Styx, и содержит описание разных типов сообщений протокола. К D серия переводов почти не имеет отношения, но мы решили опубликовать этот материал, так как он полезен для работы с нашей библиотекой styx2000. Также, как нам кажется, описания из man’ов Inferno поможет взглянуть иными глазами на описанное ранее в статьях по Styx.

Читать далее

Самый бесполезный шаблон

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

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

Читать далее

Новый год – новый порт. Портируем самый “крошечный” эмулятор RV32IMA в BetterC

В этой статье мы расскажем вам немного про порт самого “крошечного” в мире эмулятора архитектуры RV32IMA, оригинальный исходный код которого написан на C99. Расскажем, это конечно, сильно сказано, поскольку мы затронем лишь некоторые моменты, которые касаются портирования в BetterC и почему все-таки это не так просто, как описано во многих восторженных статьях.

Читать далее

Акварелизация изображения с помощью dlib

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

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

Читать далее

Программирование алгоритма цифровой подписи на основе эллиптических кривых

Сегодня мы попытаемся сделать еще один шаг в сторону криптографии, но уже не в попытке сокрытия данных под видом “случайного шума” из байтов, генерируемого современными алгоритмами шифрования, а в несколько ином направлении. В этой статье мы прикоснемся к таким понятиям как доверие и подтверждение подлинности, познакомившись (впервые в этом блоге) с асимметричной криптографией и эллиптическими кривыми.

Эллиптические кривые – это очень привлекательный, интересный и сложный математический объект, поэтому сами механизмы на основании, которых будут работать механизмы подписания и проверки, мы объясним с необходимым минимализмом, подробности вы сможете найти в предложенных ссылках в конце статьи.

Читать далее