среда, 17 июля 2013 г.

unwind-protect

Вот, кстати, кто там жаловался на скобочки.
Сначала я думал, что unwind-protect это такая фирменная лисповая штука, но чуток подумал и понял, что это всего навсего аналог finally в блоке try/except
По-моему такой способ написания более няшен чем привычный питонячий или жабовый.

(let (resource stream)
  (unwind-protect
    (progn
      (setq resource (allocate-resource)
            stream (open-file))
      (process stream resource))
    (when stream (close stream))
    ;; если была ошибка, то выполняется эта строчка.
    (when resource (deallocate resource))))

воскресенье, 7 июля 2013 г.

Редкие жанры игорей

На интересный кусок текста набрёл на Лурке в статье про Спектрум. Есть о чём подумать.

Стоит упомянуть, что многие жанры, родившиеся на Спектруме, были никем не развиты и остаются уникальными до сих пор:
  • Tau Ceti/Academy — леталка-стрелялка, где игроку самому дают собрать себе мирный трактор по вкусу.
  • Dustin/The Great Escape — симуляторы суровых тюремных и концлагерных будней и побега из них (нет, не как в Escape From Butcher's Bay).
  • Skool Daze/Back To Skool — симулятор школы с адвенчурой напополам (нет, не как в Bully). Имеет кошернейший ремейк Klass of 99.
  • Spellbound/Knight Tyme — аркада-адвенчура, где NPC нужно кормить и лелеять(!), иначе кто-то из них загнется и зарубит прохождение.
  • Dark Sceptre — стратегия с непрямым управлением. В истории их существует примерно три, а таких — и вовсе нет, кроме этой.
  • Hijack — симулятор госчиновника, который ходит по кулуарам и пытается разрулить ситуацию с заложниками. Это НЕ квест.
  • Quazatron — про робота, который собирает сам себя из обломков зохваченных корованов врагов (Квазатрон-кун уточняет, что в одноименной игре робот не столько собирал себя из обломков, сколько присваивал функциональные части поверженных врагов)
  • Fantastic Voyage — по одноименному фильму, про микроводолаза, который плавает и мочит микробов в теле обычного человека. Тема не раскрыта больше нигде. (Говорят, был еще Microcosm на 3DO и Bacteria (http://www.old-games.ru/game/2366.html), но кто их видел).
  • Captain Blood — симулятор налаживания контактов с инопланетным разумом с возможностью последующей егоаннигиляции. Особенностью игры было ведение с компьютером диалогов в свободной форме с помощью пиктограмм. «Дать», «убить», «ыыы», «да», «координаты», «одонайте».
  • Piromania — платформер с тушением пожаров. Простенький. Кроме него есть еще TinTin on the Moon: главный герой всю игру борется с пожарами и поджигателями, пока не долетит до Луны.
  • Zig Zag — смесь паззла и коридорного шутера.
  • Little Computer People — смесь тамагочи с Симсами начала 80-х.
  • The Trap Door/Flunky/Gregory Loses His Clock — ну, это вообще угар, такого даже жанра нет. Ловля червяков, добыча корабликов, метания в собственном припезденном сне[6].
  • Nether Earth — вторая стратегия с возможностью непрямого управления, первая с разрушаемым ландшафтом, первая с несколькими видами ресурсов, одна из примерно двух, где удачно сделали ручную сборку юнитов. В отличие от экземпляров выше, таки стала популяризатором своего собственного, хотя и маленького, поджанра РТСок. Наиболее близкой к оригиналу попыткой применить некромантию стал «Режим наземнах боев» в КР2, причём местами сохранены даже дизайны деталек роботов. Впрочем, до него и Дюны на Сеге был не менее доставляющий Herzog Zwei на той же приставке, отличительной чертой которого стал простой, но понятный мультиплеер. [7]
  • Johnny Reb II  — РТС о гражданской войне США с моралью и уровнями юнитов, подвозом боеприпасов, занятием зданий, окапыванием, чарджем, c режимом hotseat.

среда, 3 июля 2013 г.

Vim для емаксера со стажем.

Решил, шутки ради, попробовать мигрировать на Vim, после хрен знает скольки лет пользования божественным редактором
CtrlP годный плагин, заменяет мне helm-projectile и где-то даже лучше, поскольку позволяет указать корневой каталог для поиска прямо не отходя от кассы, а по умолчанию работает в исходном каталоге.

NERD_tree неплохой навигатор


zz - типа Ctrl-L
== - reindent без которого мне очень плохо в других редакторах

JSHint работает вроде без нареканий.

Всё ещё много телодвижений требуется для комментирования кода.

2ой день, полёт нормальный. Всё ещё то, что нужно сделать быстро-быстро прямо вчера, делаю в Емакс, в остальном постепенно осваиваю хипсторедактор Vim.

воскресенье, 14 апреля 2013 г.

Цитаты

Рэй Бредбери ещё в 1950 написал сборник рассказов «Марсианские хроники», в соответствии с которыми мы уже должны были построить города на Красной планете.

Когда в 2010 году у 90–летнего Рэя спросили, почему его предсказание не сбылось, он сказал:

«Потому что люди — идиоты. Они сделали кучу глупостей: придумывали костюмы для собак, должность рекламного менеджера и штуки вроде iPhone, не получив взамен ничего, кроме кислого послевкусия. А вот если бы мы развивали науку, осваивали Луну, Марс, Венеру... Кто знает, каким был бы мир тогда? Человечеству дали возможность бороздить космос, но оно хочет заниматься потреблением: пить пиво и смотреть сериалы».

понедельник, 8 апреля 2013 г.

Анекдот с моралью

Мужик в автобусе едет и думает: "Жена - стерва, друзья - подонки, начальник - дебил, работа - дрянь, жизнь - говно". За спиной мужика стоит ангел, записывает в блокнот и думает: "Какие странные желания, а главное - одни и те же каждый день. Но ничего не поделаешь, надо исполнять".

воскресенье, 10 марта 2013 г.

Странные опыты

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

среда, 6 марта 2013 г.

Что такое first class functions?

Как я понимаю, это возможность передать функцию в другую функции в качестве аргумента. Что-то вроде:
var sum = function(a, b) { return a + b}

var complex = function(sum, a, b) { return sum(a,b) }

Да. это было написано чтобы лично я понял что это такое. Формулировка внятного объяснения очень помогает "грокнуть" какое-либо понятие.