Skip to content

Instantly share code, notes, and snippets.

View malkia's full-sized avatar

Dimiter 'malkia' Stanev malkia

View GitHub Profile
@malkia
malkia / ray-stack.lua
Created July 5, 2012 05:21 — forked from geoffleyland/ray-stack.lua
Raytrace avoiding vector objects
local sqrt = math.sqrt
local huge = math.huge
local delta = 1
while delta * delta + 1 ~= 1 do
delta = delta * 0.5
end
-- vectors -------------------------------------------------------------------
@malkia
malkia / dotkey.lua
Created June 6, 2012 23:04
Returns the value of a dot encoded key from the table t
local dotkey = {}
----------------------------------------------------------
-- Returns the value of a dot encoded key from the table t
-- Returns nil if the key is not found.
-- Example: local t = { one = { two = 12 } }
-- print( dotkey.get( t, "one.two" ) ) -- prints 12
function dotkey.get(t, key)
local b, s, p = string.byte, string.sub, 1
for i=1, key:len()+1 do
@malkia
malkia / lua51-x86-msvcrt.imports
Created June 6, 2012 00:36
Imports of all msvcrt.dll functions from lua51.dll
_CIcosh
_CIsinh
_CItanh
_XcptFilter
__CxxFrameHandler
__badioinfo
__dllonexit
__lc_codepage
__lc_collate_cp
__lc_handle
@malkia
malkia / winxp-sp3-msvcrt.exports
Created June 6, 2012 00:33
Windows XP 2002 Professional MSVCRT.DLL exports (depends c:\windows\system32\msvcrt.dll)
__non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
__non_rtti_object::__non_rtti_object(char const *)
bad_cast::bad_cast(char const * const *)
bad_cast::bad_cast(char const * const &)
bad_cast::bad_cast(class bad_cast const &)
bad_cast::bad_cast(char const *)
bad_typeid::bad_typeid(class bad_typeid const &)
bad_typeid::bad_typeid(char const *)
exception::exception(char const * const &)
exception::exception(class exception const &)
@malkia
malkia / safe_array.lua
Created April 24, 2012 17:18 — forked from stevedonovan/safe_array.lua
This defines an array with strict bounds checking. It is also impossible to set any existing index to a nil value, so the array remains free of holes. The table functions will not work on such arrays because they are userdata, giving an extra layer of pro
local function out_of_range(i,n)
if type(i) == 'number' then
if i > 0 and i <= n then return true
else error('out of range',3)
end
else
error 'cannot index array by non-number type'
end
end
@malkia
malkia / .emacs
Created April 11, 2012 22:34
.emacs
(server-start)
(require 'package)
(package-initialize)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
@malkia
malkia / tenzo.lua
Created April 11, 2012 18:50
tenzo
-- Reads a dotted key from t
local function read(t, key)
local b,s,l = string.byte,string.sub,1
for i=1, key:len()+1 do
local c = b(key, i)
if c==nil or c==46 then
if l==i then
error( "Invalid key: [" .. tostring(key) .. "] at character position: " .. tostring(l) )
end
t,l = type(t)~="table" and nil or t[s(key, l, i-1)],i+1
@malkia
malkia / hack.sh
Created April 1, 2012 04:25 — forked from erikh/hack.sh
OSX For Hackers
#!/usr/bin/env sh
##
# This is script with usefull tips taken from:
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx
#
# install it:
# curl -sL https://raw.github.com/gist/2108403/hack.sh | sh
#
@malkia
malkia / platforms.build
Created March 31, 2012 09:37
another build primer
+win # MSVC Compilers
-host.win ERROR="No cross compiling possible outside Windows (yet there is some WINE stuff..."
+host.win
+host.win.vs2005 +host.win.vs2008 +host.win.vs2010 +host.win.vs2011
INIT="c:/Prorams Files/.../setvars32.cmd"
+host.win.sdk ERROR="Not Finished yet"
+host.win.wdk
WDK=`wdk-location.cmd`
CL=${WDK}/bin/cl.exe
@malkia
malkia / ten20.txt
Created March 27, 2012 02:09
ten20 examples
+webos.pre lib
+webos.pixi lib
+webos.emul lib
# ten20 sample +webos.pre
# Pre-Build (p4 edit, other)
# Build
# Post-Build (copy, post build)