
Lua *
Скриптовый язык программирования
Параллелизм в алгоритмах — выявле́ние и рациональное его использование. Возможности компьютерного моделирования

С тех пор как мир возник во мгле
Нет ничего на свете более интересного лично для
Исследователя и одновременно полезного для
Человечества, чем позна́ние окружающего Мира.
Валерий Баканов. Крым, Щёлкино/Казантип, август 2022.
Данная публикация предназначена для Исследователей, которым не жаль с пользой употребить своё время для практического количественного углу́бленного понимания свойств внутреннего (скрытого) параллелизма в алгоритмах и его, на́йденного параллелизма, рационального использования в вычислительных практиках. Рациональное использование имеющегося в алгоритмах параллелизма определяется набором приёмов, позволяющих получить наиболее приемлемый (по разумным параметрам) план (расписание) выполнения рассматриваемого алгоритма (программы) на заданном поле параллельных вычислителей. Т.к. конечная (реализуемая в процессе собственно вычислений) последовательность выполнения команд неминуемо я́вится всё же несколько иной относительно разработанного на данном этап ие плана вычислений, логично назвать результат данного анализа каркасом плана (расписания) параллельных вычислений.
Алгоритм является результатом разумной деятельности человечества и отражает в себе (в опосредованном виде, конечно) наиболее глуби́нные, фундаментальные законы развития Природы. Одно это является вполне обоснованной необходимостью исследования характеристик алгоритмов.
Ряд лет интересом пользовалось изучение параметров вычислительной трудоёмкости (фактически зависимости числа вычислительных операций от размерности обрабатываемых данных) для различных алгоритмов. Параметры параллелизма в алгоритмах – очередная сторона многогранной сущности “алгоритм”. В современной ситуации отечественным разработчикам придётся самостоятельно исследовать и решать все связанные с автоматизированной обработкой данных вопросы – время “неограниченной халявы” (когда можно было десятилетиями бездумно копировать западные разработки в области архитектуры и готовых решений аппаратной и программной частей) закончилось.
Ещё никто на всей земле
Не предава́лся сожаленью
О том, что о́тдал жизнь ученью.
Абу Абдалла́х Рудаки́, Бухара, около 860÷941.
Встраиваем Lua в PHP через FFI
Foreign Function Interface — это перспективная альтернатива для традиционных PHP-расширений.
Сегодня мы будем разбирать FFI-библиотеку для работы с liblua5 из PHP, которая позволит исполнять скрипты на Lua из нашего приложения.

Чего ждать от NeoVim: особенности редактора

Привет! Я Антон Губарев, инженер команды Platform as a Service (PaaS) в Авито. Долгое время я пользовался IDE от JetBrains, затем пересел на VS Code. Последние несколько лет работаю с кодом только в NeoVim — адаптировал его под себя и перестал использовать другие IDE.
Лекция 5. The Legend of Zelda — CS50`s Introduction to Game Development с русскими субтитрами
Lua конфигурация Neovim для разработки на Go

В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua.
Тестирование производительности таблиц офисных пакетов в Linux на примере MS Office, LibreOffice, МойОфис, OnlyOffice

Актуальность темы обусловлена форсированием перехода Государственных ведомств и госкомпаний России с Windows на Astra Linux. Это было сделано на фоне заявления корпорации Microsoft о сворачивании бизнеса в РФ. Так как у автора, да и у многих других пользователей MS Office, за долгие годы работы скопилось ряд наработок, то вопрос об их работоспособности и переносе под новый офисный пакет, на платформе Linux, стоит остро, как и возможность малой автоматизации рутинных действий.
Хранение графов в Tarantool: реальность или миф

Меня зовут Александр Горякин, и я работаю в отделе разработки систем для внешних заказчиков Tarantool. Очень часто мы сталкиваемся с весьма нетривиальными задачами, например с хранением графов. Расскажу об этом на примере создания системы по борьбе с мошенническими действиями для одного из заказчиков, очень крупного банка.
CRUD 0.11.0 для Tarantool

Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.
Tarantool — это платформа in-memory вычислений с гибкой схемой данных, функциональность которой расширяется с помощью модулей. Одними из самых популярных являются vshard, предназначенный для распределённого хранения данных, и cartridge, который организует работу с кластером Tarantool. CRUD также можно считать членом этого семейства: он предназначен для написания запросов при работе с распределёнными данными. Мы в Tarantool активно используем его при разработке готовых решений и нередко упоминаем в статьях (например, здесь и здесь).
Лекция 4. Super Mario Bros. — CS50`s Introduction to Game Development с русскими субтитрами
Библиотека скриптовых функций для парсера Телеграмм Микротик РоутерОС
Благодаря небольшим доработкам в парсинге кода скрипт TLGRM может теперь не только выполнять функции с параметрами и прямые команды ROS, но также исполнять скрипты, передавая им параметры напрямую.
Вторая доработка коснулась адресации команд. Доработанная версия TLGRM теперь поддерживает как адресную (конкретному роутеру или всем, но с ключом /forall), так и широковещательную рассылку команд без указания адресата (сразу всем, «слушающим» чат).
Третьим новшеством, является создание нами специально для работы с TLGRM, библиотеки скриптовых функций, названной «SATELLITE» («Спутник»), о которой пойдет речь далее.
Минимальная реализация Lua на Rust

Скрипт уведомлений и исполнения команд через Телеграмм для РоутерОС Микротик
Применительно к работе с роутерами Микротик, Телеграмм удобен тем, что в чат-бот можно организовать пересылку сообщения от роутера, а пользуясь возможностями парсинга чата через API Telegram, пересылать исполняемые команды.
Как создать свой бот, чат и «прикрутить» к ним Микротик можно прочитать например здесь или здесь.
За время появления Телеграмм был создан далеко не один скрипт по уведомлению о событиях роутера Микротик, в том числе как зарубежными так и отечественными пользователями энтузиастами. Например, здесь или в этой теме на русскоязычном форуме Микротик.
Мы объединили накопленные за это время идеи и код в единый скрипт под названием TLGRM, который хотим представить здесь.
Ближайшие события
Модуль ACME-клиента для Tarantool
Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.
Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все используют Let's Encrypt. Но и есть другие сервисы, например Zero SSL. Он тоже поддерживает ACME-протокол.
Я опирался на две статьи с Хабра (эту и эту), а также RFC8555. Но информации в них оказазалось недостаточно, для того, чтобы реализовать собственный вариант модуля. Примерно половину нужной информации потребовалось дополнительно извлечь из нескольких реализаций данного модуля на других языках. Тесты проводил на живом сервисе, поэтому автотестов пока нет. Можете написать и сделать пулл реквест.
Модуль написан под Linux. В статье подробно разобран алгоритм работы - при необходимости Вы можете дописать его под другую ОС. Рассматривается только вторая версия протокола.
Функции в скриптах Роутер ОС Микротик. Интересные решения и недокументированные возможности
В этой статье, не претендующей на полное руководство к разделу, мы рассмотрим одну из интересных и важных рубрик «скриптинга», а именно — функции.
Перед прочтением статьи, пользователям, начинающим изучать скрипты, рекомендую ознакомиться с официальным руководством Микротик по скриптам по ссылке выше, либо с его переводом (например, здесь). Следует знать типы переменных в скриптах Микротик, иметь понятие об областях видимости, окружении переменных и т.д… Также будет весьма полезна статья habr.com/ru/post/270719, в которой автор подробно разбирает типы переменных LUA Микротик и варианты их объявления и использования.
Как я переписывал vim конфиг в init.lua

Статья рассказывает о том, как я с нуля переписывал свой nvim-конфиг (init.vim) в конфиг с поддержкой lua (init.lua).
Лекция 1. Flappy Bird. — CS50`s Introduction to Game Development с русскими субтитрами
Xeus-lua — интерактивные виджеты Lua в Jupyter Notebook

Торстен Бейер — программист из QuantStack, в Open Source он работал над nifty и vigra на C++, а также над inferno, kipoi и ilastik — на Python. Делимся материалом о новом ядре Lua от Торстена Бейера из блога разработчиков Jupyter, пока у нас начинается флагманский курс Data Science.
Вклад авторов
Evengard 244.0lenkis 222.0Greenolor 179.0AterCattus 171.6Rosik 164.0relevance_17 143.0Sertik13 141.0RussDragon 115.0gerold103 113.0codesign 113.0





