Рубрика «ненормальное программирование» - 73

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

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

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

Вот первый баг для затравки, слева битый рендер, справа то, что ожидалось:

Краткий курс компьютерной графики, аддендум: лечим по фотографии - 1
Читать полностью »

Ленивый список в C++ - 1
В Scala есть интересная коллекция — Stream. Контейнер, который представляет собой список, элементы которого вычисляются (и сохраняются после этого) при первом обращении:

The class Stream implements lazy lists where elements are only evaluated when they are needed.

Мне захотелось реализовать нечто подобное на C++.
Читать полностью »

Здравствуйте.

Этот пост посвящен краткому разбору того, как на FBD написать простейшую игрушку «2048».

Сразу помещу картинку с результатом:
Игра «2048» на FBD за час - 1 Игра «2048» на FBD за час - 2
Если интересно, как это сделано, добро пожаловать под кат.
Читать полностью »

Мишка, плюшевый мишка — вот кто повышает частоту пульса у девушек и детонирует в чертогах памяти мужчин. Помните, еще не так давно под одеяло тащили не смартфон, а потрепанного, безухого и одноглазого, но все еще любимого мишуню? Тэддибиры во многих странах стали универсальным символом любви, заботы и теплых подростковых чувств. Поэтому когда возник вопрос, как поздравить коллег с праздником влюбленных, ответ пришел незамедлительно — медведем! Большим медведем-роботом — ведь придумали его программисты.

К 14 февраля мы решили собрать роботизированного мишутку, который не просто смог бы общаться и дарить людям радостные объятия, но и анализировал бы действия человека. Ведь объятия, как вялые, так и интенсивные, способны выдать истинные чувства и выявить скрытые эмоции. Вдруг в компании есть два человека, которые обнимаются совершенно одинаково? Что, если PHP-программисты предпочитают продолжительные прикосновения, а перловики ограничиваются сухим лапопожатием? С помощью робомедведя нам удалось собрать самые необычные данные из жизни айтишников.
Читать полностью »

В комментариях к недавнему топику возникло обсуждение: до какого размера можно ужать Windows EXE, печатающий в консоли «Hello, World!» Ответ: 268 байт, меньшие файлы Windows просто отказывается загружать.

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

Сначала похвастаюсь результатом: моя программа всего на 46 байт больше теоретического минимума!

«Digital Rain» для Windows в 314 байтах - 1

base64

TVprZXJuZWwzMgAAUEUAAEwBAQC4AwABAPdlEIlFEMN4AA8BCwEFDL0UEEAAjXyNAFfraD
gQAAAzyesoDAAAAAAAQAAAEAAAAAIAAAAAAAACAgoCBAAAAAAAAAAAQAAAAAIAALFQ68AD
AAAAEgEAAAAAAABQABkAABAAAFAAGQADAAAAAAAAAAAAAAAoEQAAKAAAAAAAAAAAAAAA/9
Wr4vvrEQAAMAAAABAAADkBAAABAAAAi/df6wMAAAAzybFQV4sHgPwZdygPttyNHJvB4waN
HItQweAYwegei0RFOIhEMwKIpDPC/v///9WIJDNY/sSA/GR8Av/Vq+LFjUVcUFH/dWhWZI
tBMItAEP9wHP9VWOuiV3JpdGVDb25zb2xlT3V0cHV0QQBsEAAAAAAAAAAAAAACAAAAbBA=

(Если найдётся доброволец захостить эти 314 байт, добавлю сюда ссылку.)

Читать полностью »

image

Достопочтенное Ретро! Благо ты или зло?
Вздохом какого ветра к нам тебя занесло?
© Роберт Рождественский

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

Switch Converter заслуживает особенного внимания. Простой и удобный он обладает поразительной универсальностью. На его основе легко построить множество распространённых типов конвертеров без декларирования новых классов и не только… Не верится — добро пожаловать!
imageЧитать полностью »

Статья будет посвящена простому, но эффективному паттерну — Composite Converter [составной конвертер].
imageЧитать полностью »

Разберём интересный и нестандартный сценарий использования конвертеров — Inline Converter.
imageЧитать полностью »

В статье рассмотрим несколько полезных усовершенствований для контрола Grid.
image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js