Скрытые сокровища стандартной библиотеки [перевод]

В этот раз я решил перевести для вас достаточно скромную статью за авторством Гарри Уилоби (автор блога nomad.so и создатель TkD), которую я так давно давно хотел выложить, но все не мог найти для этого временнЫе ресурсы…

И вот время перевода пришло…

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

Читать далее →

Подробнее

Изучаем пример из библиотеки vectorflow

В этот раз я распишу еще один неудачный эксперимент и попутно постараюсь сделать небольшое введение в библиотеку vectorflow, которую разработали в Netflix. Дело в том, что сейчас активно развиваются технологии, связанные с машинным обучением и имитацией нейронных сетей человека, поэтому я решил немного вникнуть в эту тему, для чего в течении двух последних недель пытался разобраться, как порвать гегемонию Python с его библиотеками (написаны не на Python, а на C) и поработать с нейронными сетями.

Не советую радоваться тому, что я опишу, но может быть вам удастся то, что не удалось мне.

Читать далее →

Подробнее

Эксперименты с квадратными паттернами в dlib

Почитывая раздел Хабрахабра под названием «Ненормальное программирование» я наткнулся на интересную статью про узор, который как я понял, порождается определенными закономерностями во фрактале Герасимова.

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

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

Читать далее →

Подробнее

Idiomatic D. Генератор псевдослучайных чисел времени компиляции [перевод]

Очередной перевод идиомы (на самом деле, не совсем идиомы, чуть ниже поймете почему) с сайта Idiomatic D, в котором показан довольно интересный код, который смело можно отнести в раздел невменяемого программирования из-за очень нестандартного подхода автора к решению совсем нетривиальной задачи.

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

Читать далее →

Подробнее

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

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

Перейдем же к заполнению массива псевдослучайными числами…

Читать далее →

Подробнее

Синус без стандартной библиотеки

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

Но…

Читать далее →

Подробнее

Кодируем файл в UUE

В одной из статей по Icon, я уже показывал как написать такую программу, которая превращает исходный файл (формат файла значения не имеет) в код UUE, использовавшийся в некогда популярной сети Фидонет, однако, я не объяснял деталей того, как именно функционирует данная программа. Более того, мне любопытно взглянуть иногда назад, чтобы посмотреть, как далеко я ушел в своих изысканиях, а алгоритм положенный в утилиту на Icon кажется мне несколько непрактичным и слишком наивным.

Именно по этой причине, я решился взяться за старое, но с новыми инструментами.

Читать далее →

Подробнее

Функциональные возможности D [перевод]

Эта статья является переводом заметки под названием «D Functional Garden», которая расположена здесь и представляет собой небольшую коллекцию интересных сниппетов, интенсивно использующих возможности D в функциональном программировании.

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

Читать далее →

Подробнее

Абсолютный эзотерический минимум

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

В этой небольшой статье, которую я обещал для нашей группе ВКонтакте, я попытаюсь ответить на этот вопрос и покажу некоторые собственные наработки.

Читать далее →

Подробнее

Мое скромное «открытие»

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

И вот так я приступил к созданию своей функции перестановки элемента в массиве случайным образом…

Читать далее →

Подробнее