• LUA в nginx: слегка интеллектуальный firewall


      Данный пост является продолжением применения lua в nginx.

      Там обсуждалось кеширование в памяти, а тут lua будет использоваться для фильтрации входящих запросов в качестве этакого фаервола на nginx-балансере. Нечто подобное было у 2GIS. У нас свой велосипед :) В котором разделяем динамику и статику, стараемся учесть NAT и белый список. И, конечно же, всегда можно навернуть еще специфичной логики, что не выйдет при использовании готовых модулей.
      Данная схема сейчас спокойно и ненапряжно (практически не сказывается на использовании cpu) обрабатывает порядка 1200 запросов/сек. На предельные величины не тестировалось. Пожалуй, к счастью :)
      Читать дальше →
    • Создание несложного бота для WoW, программирование маршрутов

      Введение


      Прочитал недавно пост, в котором автор рассказал о своём боте для торговли на аукционе в игре World of Warcraft. Его персонаж бегал челноком на небольшие расстояния и выполнял конкретные действия, строго заданные в управляющей программе. Воспользовавшись его идеями, я решил пойти немного дальше: пусть персонаж будет способен бегать по маршруту длительностью хотя бы пять минут, при этом должна быть возможность записывать маршрут и выполняемые действия извне, не прибегая к изменению самой программы управления. Описанное мной является развитием поста-оригинала, тем не менее я постарался, чтобы его чтение не было обязательным.
      В посте я опишу
      1. Процесс создания тривиального аддона для пользовательского интерфейса WoW на языке Lua
        • Сериализация данных для передачи между частями системы
        • Передача с помощью цвета пикселей
      2. Процесс управления персонажем на языке AutoIt
        • Программа для записи выполняемых действий
        • Программа для воспроизведения
        • Мат.расчеты направления перемещения
        • Почему не стоит прибегать к чтению/записи памяти процесса
      3. Программа управления (ро)ботом с командами, понятными непрограммисту

      Читать дальше →
    • Lua за 15 минут

        image

        Для всех, кто хотел разобраться с Lua (скриптовый язык для разработки игр и не только, список), но никак не находил времени, Tyler Neylon приготовил небольшой подарок:

        http://tylerneylon.com/a/learn-lua/

        Посвящается всем, кто предпочитает один большой список из говорящих самих за себя сниппетов кода (с небольшими комментариями к 95% case'ов) длинным мануалам с огромной иерархией. Очень удобно для тех, кто уже умеет программировать и просто хотел бы разобраться с новым для себя языком. Весь «мега-сниппет» на английском, но примеры несложно читаются.

        P.S. А для всего остального есть Hyperpolyglot.
      • Учим язык, смотря сериалы: vlc + lua + stardict + wordnet + anki = l'amour

          Очень уж мне нравится смотреть сериалы, а еще я учу с их помощью языки. И если раньше я прилежно останавливал видео на непонятном месте, перематывал назад, включал субтитры и забивал незнакомые слова в Анки, то сейчас я делаю то же самое. Разве что лень заставила этот процесс автоматизировать, что привело к созданию расширения Say It Again для проигрывателя VLC со следующими особенностями:

          • Навигация по субтитрам (переход к предыдущей, следующей фразе) — клавиши y, u;
          • Сохранение слова, его транскрипции и перевода вместе с контекстом (см. скриншот) — клавиша i;
          • Функция «Еще раз»: переход к предыдущей фразе, показ субтитра и пауза — клавиша backspace;
          • Подключение любых словарей в формате Stardict (в сети лежат словари из Lingvo x3);
          • Экспорт в Anki или другую программу, понимающую файлы в формате csv;


          Say It Again screenshot


          Зачем все это нужно и как это работает?
        • Пишем на iPad'е под iPad

            Недавно в App Store появились первые игры написанные прямо на iPad, что лично меня очень радует. Можно сказать, что планшет становится не только средством потребления контента, но и его производства.

            image
            Под катом я расскажу, как и где это сделано, покажу простенький Hello World.

            Читать дальше →
          Самое читаемое