Перевод текста в команды FALSE

После публикации статьи про FALSE мне пришла в голову интересная, хоть и бесполезная идея — реализация программы, которая составляет другие программы. Все было бы нормально, но в этот раз эта статья будет точно соответствовать одному из разделов нашего блога — разделу «Невменяемое программирование».

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

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

Подробнее

В дебрях эзотерики

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

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

Подробнее

Создаем виртуальный Forth-процессор

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

Новый импульс я получил после того, как наткнулся на нечто интересное и действительно захватывающее… Читать далее →

Подробнее

Преобразование карт окружения при помощи dlib

Разрабатывая 3D-движок для D, я столкнулся с интересной задачей – преобразованием равнопромежуточной карты окружения (equirectangular environment map) в кубическую карту (cube map).

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

Подробнее

Вставка сообщений в изображения

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

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

И тут встал интересный вопрос: как доказать всем (в том числе, и судебным работникам) свое авторство или некоторое участие в работе относительно некоторого произведения?

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

Подробнее

Отображение шкалы для диапазона значений в консоли

В этом рецепте, на который меня вдохновил RosettaCode, я покажу простой пример того, как нарисовать «графическую» школу из столбиков для некоторого массива значений прямо в консоли и без всяких сторонних библиотек (окромя, стандартной) !

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

Подробнее

Как определить день недели по указанной дате

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

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

Подробнее

QtE5EntryPoint

Относительно недавно (пару месяцев назад) я разработал небольшой шаблон, который упрощает жизнь тем нашим читателям, кто после ряда публикаций в нашем блоге активно начал работу с замечательной библиотекой QtE5.

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

Подробнее

Попытка создания простого «языка программирования» на D

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

Прежде чем я поведаю об очередном творении своей мысли, я должен сделать важную ремарку — я так и не довел проект до состояния хотя бы минимальной готовности и многие вещи в рассматриваемом далее коде очень слабо проработаны. Именно это обстоятельство, а также некоторые иные причины заставили меня прекратить на время дальнейшую разработку своего «языка программирования».

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

Подробнее