• Asterisk+Lua+регулярное обновление DEF кодов

      Снова всех приветствую. После написания прошлой статьи про использование lua в астериске, пришла мысль про небольшое пояснение об использовании DEF-кодов совместно с lua. Ранее тут пролетала статья про генерацию кодов используя скрипт на php. Я этим скриптом успешно пользовался и пользуюсь, но с небольшими (совсем не большими) доработками.

      Читать дальше →
    • Диалплан на LUA для Asterisk

      Приветствую всех. Когда-то тема использования языка программирования lua при написании диалплана в Астериске для меня стояла довольно жёстко. Дело в том, что мне сильно не нравится работать с различными GUI (типа FreePBX) при настройке Астериска.

      Когда я всё настраивал в первый раз, работал с обычным линейным extensions.conf. Время шло, потребности в функционале телефонии росли. Язык lua постепенно немного изучил. И вот пришёл я работать админом в одну крупную компанию в нашем городе (одно крупное агентство недвижимости) — около 45 филиалов на тот момент было, примерно 650 — 700 пользователей, включая межгород и т.д. Там уже стоял Asterisk, но всё настроено было с использованием FreePBX.

      Почти сразу руководство начало меня заваливать различными вопросами по наворотам Астериска. Например, хотели, чтобы при входящем звонке в какой-то филиал, звонки внутри филиала были распределены случайным образом. Хотели иметь запись разговоров в mp3, хотели сделать общую группу, куда можно было бы включить вообще все филиалы и при наборе какого-то номера, чтобы случайно попасть на один из филиалов и т.д. Задачи вроде простые, однако сидеть решать даже такие вопросы средствами графического интерфейса лично мне было не очень интересно.
      Читать дальше →
    • Cocos2d-x: Используем собственный C++ класс в Lua

      Всем доброго времени суток.

      Так уж сложилось, что про использование cocos2d-x Lua в природе существует довольно мало информационных материалов, даже с учётом англоязычных источников. Поэтому во многом приходится разбираться самому, копаясь в чужом коде и читая (часто не особо содержательную) документацию.

      В этой статье я хочу хотя бы частично исправить эту несправедливость и рассказать о расширении стандартного функционала доступного в cocos2d-x Lua с помощью нативных классов.

      С этой задачей я столкнулся, можно сказать, лицом к лицу после осознания собственных скудных знаний Lua. Тогда же и созрело решение часть игровой логики написать на старом добром C++.

      Итак, кому интересен данный процесс прошу под кат.
      Читать дальше →
    • Отслеживаем время отклика NFS сервера с помощю tshark и lua

      • Tutorial
      На днях встал перед задачей, как определить, сколько времени тратит NFS сервер на запрос.
      Оказалось, что это не так уж и просто посмотреть. Но на помощь пришёл любимый молоток инструмент — wireshark. Для wireshak можно написать своё расширение на LUA.

      О, и мне надо!
    • LuCI переехал на GitHub

      Было время, когда ожидание рассмотрения ваших правок для этого проекта длилось месяцы. Некоторые патчи вообще были обделены вниманием. Trac или игнорировался, или за ним некому было следить.
      10 октября эта эра завершилась. Теперь этот замечательный web-интерфейс доступен на GitHub и поддерживется основным сообществом OpenWrt. Pull-запросы рассматриваться довольно быстро.
      Поздравляю всех пользователей и разработчиков интерфейса с этим событием.
      Теперь почти все основные элементы OpenWrt доступны на GitHub, что не может не радовать.
      Спасибо за внимание.

      OpenWrt — Популярная операционная система для маршрутизаторов и встраиваемых систем.
      LuCI — Один из самых популярных web-интерфейсов для систем на базе OpenWrt.
    • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

      Подробнее
      Реклама
    • Создание модели электронного компонента для Proteus на Lua

        Есть у меня несколько проектов-долгостроев, один из которых — создание компьютера на базе CDP1802. Основную плату моделировал на бумаге и в Proteus.
        Довольно скоро встал ребром вопрос: как быть с элементами, которые отсутствуют в Proteus?
        На многих ресурсах подробно описано, как создать свою модель на С++ в Visual Studio.
        К сожалению, при сборке под линуксом этот вариант не очень удобен. Да и как быть, если не знаешь С++ или нужно редактировать модель на лету для отладки?
        Да и просто хочется сосредоточиться на моделировании, максимально упростив все остальное.
        Так появилась идея делать симуляторные модели с помощью скриптов — на Lua.
        Заинтересовавшихся прошу под кат (гифки на 2Мб).


        Читать дальше →
        • +28
        • 23,5k
        • 4
      • Поиск-фильтр по сообщениям скайпа

          Вчера внезапно узнал, что логи скайпа хранятся в .sqlite. Отлично, подумал я, будет занятие на выходной.
          Сегодня посмотрел хабру, нашел тему, посвященную описанию самой базы — тема, а также по восстановлению этой самой базы — тема и упоминание программки SkypeLogViewer. Замечательно, подумал я, пора писать очередной упоротый велосипед.
          Идея проста: выборка и фильтрация чатов через lua — для тех, кто желает немножко попрактиковаться в использовании lua, sql-запросах и lua-аналога linq, а также тем, кого не устраивает стандартный поиск скайпа. Само приложение написано на C#(WPF).
          Что получилось — смотрите под катом.
          Читать дальше →
        • Lua API++

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

            С Lua я познакомился несколько лет назад, когда подыскивал внедряемый скриптовой язык, отличающийся скромным размером и высокой производительностью. Lua не только отвечает этим запросам, но и подкупает удивительной простотой и выразительностью.

            Не могу сказать, что я недоволен Lua API: это отличный набор функций, удобный и простой в использовании. Интеграция языка в своё приложение и добавление собственных расширений не вызвали трудностей, никаких «подводных камней» тоже не возникло. Но всё же при использовании этого API, ориентированного на Си, меня не оставляла мысль, что этот процесс мог бы быть и поудобнее. Первая попытка сделать удобную объектно-ориентированную обёртку потерпела неудачу: имеющимися средствами мне не удалось создать что-то заслуживающее существования, всё выходило чересчур громоздко и неочевидно.

            А потом появился C++11, который снял все мешавшие мне препятствия (точнее говоря — добавил то, чего не хватало), и головоломка постепенно начала складываться. Второй заход оказался удачным, и в результате я сумел создать достаточно легковесную библиотеку-обёртку с естественным синтаксисом большинства операций. Эта библиотека, которую я назвал Lua API++, призвана служить удобной заменой для Lua API. Этой статья, написанная по мотивам моего выступления на Lua Workshop, поможет познакомиться с основными понятиями Lua API++ и предоставляемыми ей возможностями.
            Читать дальше →
            • +30
            • 14k
            • 4
          • Использовать Lua c С++ легче, чем вы думаете. Tutorial по LuaBridge

            • Tutorial
            Данная статья — перевод моего туториала, который я изначально писал на английском. Однако этот перевод содержит дополнения и улучшения по сравнению с оригиналом.
            Туториал не требует знания Lua, а вот C++ нужно знать на уровне чуть выше базового, но сложного кода здесь нет.

            Когда-то я написал статью про использование Lua с C++ с помощью Lua C API. В то время, как написать простой враппер для Lua, поддерживающий простые переменные и функции, не составляет особого труда, написать враппер, который будет поддерживать более сложные вещи (функции, классы, исключения, пространства имён), уже затруднительно.
            Врапперов для использования Lua и C++ написано довольно много. С многими из них можно ознакомиться здесь.
            Я протестировал многие из них, и больше всего мне понравился LuaBridge. В LuaBridge есть многое: удобный интерфейс, exceptions, namespaces и ещё много всего.
            Но начнём по порядку, зачем вообще использовать Lua c С++?
            Читать дальше →
          Самое читаемое