Skip to content

Instantly share code, notes, and snippets.

View moteus's full-sized avatar

Alexey Melnichuk moteus

View GitHub Profile
@moteus
moteus / prefix_tree.lua
Created June 21, 2013 08:32
Finds longest prefix from prefix list for given string
------------------------------------------------
-- Общие функции для работы с деревом --
------------------------------------------------
local default_compare = function(lhs, rhs) return lhs == rhs end;
local default_char_set = {'0','1','2','3','4','5','6','7','8','9'};
local INVALID_VALUE_ALWAYS_NIL = {}
--Удаляет все пустые ветви в дереве
local pack_empty
@moteus
moteus / get_win_ver.lua
Last active December 21, 2015 18:49
Detecting windows and service pack versions
local function exec(str)
local f, err = io.popen(str .. " 2>&1", "r")
if not f then return nil, err end
local str, err = f:read("*all")
f:close()
if str then return str end
return str, err
end
local WINVER = {
@moteus
moteus / install_lua.txt
Last active November 2, 2021 00:15
Lua/Luarocks Install instruction on Windows
-- make and install lua --
1. Download install http://mingw-w64.sourceforge.net/download.php
2. Download and unpack Lua source (http://www.lua.org/ftp)
Tested on Lua 5.1.5 and 5.2.2
3. Make Lua
- run mingw builds terminal
- cd to lua src dir
- run mingw32-make mingw
@moteus
moteus / lakeconfig.lua
Last active April 10, 2016 21:50
lake file for luaffi library
J = path.join
function dasc_target(t)
local DASC = LUA_EXE .. ' ' .. path.join('dynasm', 'dynasm.lua')
local dasc_h = {}
for name, args in pairs(t) do
local dasc = target(name .. ".h", args[1] .. ".dasc", DASC .. ' ' .. (args[2] or "") .. ' -o $(TARGET) $(DEPENDS) ')
table.insert(dasc_h, dasc)
end
return dasc_h
@moteus
moteus / mkforwardlib.lua
Created January 9, 2014 07:08
Create proxy dll library on Windows. This script use `dumpbin` to list all export symbols. Example: `mkforwardlib lua51 lua5.1 X86` create lua5.1.dll as proxy to lua51.dll
local reallib
local fakelib
local machine
local extrasymbols = {}
local args = {...}
local errmsg
if args[1] then reallib = args[1] end
if args[2] then fakelib = args[2] end
if args[3] then machine = args[3] end
@moteus
moteus / bzmsg.hpp
Created January 10, 2014 06:59
Binary zeromq message class.
#ifndef __BZMSG_H_INCLUDED__
#define __BZMSG_H_INCLUDED__
#include <zmq.hpp>
#include <vector>
#include <list>
#include <iostream>
#include <iomanip>
#include <string>
/* vim: set et sw=3 tw=0 fo=croqlaw cino=t0:
*
* Luaxx, the C++ Lua wrapper library.
* Copyright (c) 2006-2007 Matthew A. Nicholson
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
@moteus
moteus / output.txt
Last active July 14, 2016 14:03
Test zmq poll with inproc transport using libuv
ZMQ Version: 4 2 0
Timer recv: hello #1
Timer recv: hello #2
Timer recv: hello #3
Timer recv: hello #4
No messages ([ZMQ][EAGAIN] Resource temporarily unavailable (11))
Poll recv: hello #5
Poll recv: hello #6
Poll recv: hello #7
Poll recv: hello #8
<?xml version="1.0"?>
<document type="freeswitch/xml">
<X-PRE-PROCESS cmd="set" data="local_address=192.168.123.58"/>
<X-PRE-PROCESS cmd="set" data="local_port=5064"/>
<X-PRE-PROCESS cmd="set" data="domain_name=$${local_address}"/>
<X-PRE-PROCESS cmd="set" data="external_address=$${local_address}"/>
<X-PRE-PROCESS cmd="set" data="external_port=5088"/>
<section name="configuration">
@moteus
moteus / cache_perf.lua
Last active November 23, 2017 11:47
Basic cache perfomance test for FusionPBX
-- to run test
-- * copy file to ${script_dir}\cache_perf.lua
-- * in some domain create varialble
-- category: test
-- subcategory: test
-- type: bool
-- value: false
-- * copy domain uuid to `domain_uuid` variable
-- * from fs_cli run `lua cache_perf.lua 1000`
-- (1000 is number of iteration)