• Управляем кучей таймеров в JavaScript

      В прошлом посте было о том, как я писал игру для конкурса js13kGames, цель которого — уместить свою поделку на стеке открытых web-технологий в 13 килобайт.


      Помимо ухищрений с минификацией, игра вдохновила меня на создание инструмента для управления большим количеством таймеров путём оборачивания их в удобный интерфейс и объединения в группы. Код и кейсы, в которых это может пригодиться — под катом.



      Демо, где можно позапускать ракеты и заценить пару примеров кода

      Поиграть со временем
    • Как выжать максимум из минификации кода

        Вы задумывались над тем, что если в конструкторе и методах использовать не this, а переменную, то после минификации экономия байтов начнётся уже с четвёртого this?


        // просто сравните длину строк
        this.this.this.this.
        var s=this;s.s.s.s.

        Я использовал этот и некоторые другие упоротые способы для участия в конкурсе js13kGames, цель которого — написать игру, размер которой не превысит 13 килобайт.


        Скриншот ранней версии игры

        Игра почти готова, осталось всего-то пару дней не спать...


        Сжать как можно сильней
      • Классифицировать. Моделировать. Повторить

        • Translation
        Я не буду засорять ваш мозг типичными советами в духе "читайте книги", "решайте математические задачи" или "тренируйте память". Это всё чертовски очевидно. Я хочу рассказать о двух глобальных стратегиях мышления и поделиться несколькими практическими методами, которые могут обогатить ваш мыслительный опыт.
        Читать дальше →
      • Ложная пустота

        • Translation
        Примерно неделю назад я прочитал эссе The Empty Brain («Пустой мозг») Роберта Эпштейна, доктора наук Гарвардского Университета и ведущего психолога-исследователя в Американском Институте Поведенческих Исследований и Технологий в Калифорнии. Несмотря на то, что мне это не свойственно, я решил написать ответ и утверждаю, что оригинальное эссе вовсе не отражает реального положения вещей.

        Краткое введение


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

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

        Роберт Эпштейн также приводит примеры, которые поначалу выглядят весьма убедительно, но, на самом деле, вводят читателя в заблуждение, поскольку трудно представить, чтобы человек думал таким образом (и я не знаю ни одного учёного, чьё мнение напоминало бы это):

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

        Ну, нет. Это так не работает.
        Читать дальше →
      • Языки пламени в CSS

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



        Подойти к огню