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

Ленивый список в 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
Читать полностью »

Привет!

В прошлом году мы запустили игру для программистов CodeBattle. Напомню, идея игры очень простая: вам и сопернику дается задача, вы решаете её на выбранном вами языке. Вы видите код соперника в реальном времени, результаты запуска тестов и можете общаться с ним и зрителями в чате. Кто первый решит задачу (удовлетворит тестам) — тот победил.

С тех пор были сыграны тысячи игр, и мы собрали интересную статистику. По состоянию на 31 декабря 2015 года, какие страны и какие языки программирования чаще побеждали?

Иными словами, мы наконец можем ответить на вопрос «какой язык круче?» :) Шучу-шучу, давайте не холиварить. Вот статистика за три последних месяца прошлого года:

Какие страны и языки программирования чаще побеждают в игре для программистов CodeBattle? - 1Читать полностью »


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