View UTF-16LLE.md

UTF-16LLE

There are 4 forms of UTF-16:

  1. UTF-16BE
  2. UTF-16LE
  3. UTF-16LBE
  4. UTF-16LLE
View stack.lua
-- This Lua stack may be faster than the vararg stack, since it does less copies. Haven't benchmarked it yet.
-- However, it can't hold as many elements (13 000 ish elements on my machine, vs uh, 100 000 or more with varargs?).
local function callstack()
local function f(v)
local op, nv = coroutine.yield()
while true do
if op == "push" then
op, nv = coroutine.yield(f(nv))
elseif op == "pop" then
View apng_sucks.md

APNG Sucks!

Hi! Let's talk about APNG! Note that I'm biased because I made my own animated PNG extension and it also sucks.

Problems with APNG

So, APNG has the following issues:

View epeng.md
View steamchat.md

Did you know?

Steam chat, the thing you use while playing games, mangles your messages for you... It's especially interesting when sending shell commands.

  • ~/.ssh/config becomes http://ssh/config
  • $HOME/.ssh/config becomes http://HOME/.ssh/config
  • ${HOME}/.ssh/config becomes http://HOME}/.ssh/config
View list_of_mod_makers_breaking_curse_tos.md

List of mod makers breaking Curse's TOS

Note: This list is incomplete. It'll be expanded as time goes on. Feel free to comment below with a link to your Curse profile to help me expand the list.

So apparently Curse has this ridiculous term on their TOS (archived at the time of making this gist):

In order to access some features of the Websites, you will have to create an account. You must be at least 18 years of age to register an account. Minor children may only access account-related features using a parent or guardian’s account so long as the

View 52emu.lua
local track={}
setmetatable(track,{__mode="v"})
function setmetatable52(t,mt)
if mt.__gc then
local p = newproxy(true)
track[p] = t
getmetatable(p).__gc = function(p)
local mt = debug.getmetatable(t)
if mt and rawget(mt, "__gc") then
rawget(mt, "__gc")(t)
View andif.md

The andif Idea

[I might throw this one out. Scroll down for the orif idea]

Trivial use-case

Sometimes when you're coding you end up with things like this:

View Abstract Enums.md

Hello,

I'd like to talk about abstract enums. In Java, you have enums:

public enum MyEnum {
    MY_ENUM_VALUE,
    MY_OTHER_ENUM_VALUE;
}
View Makefile
# This makefile is so we can extract some #define's from the C library, as LuaJIT has no way of exposing those #define's.
# Just run `make liolib.lua`.
LIOLIBC= int SEXIO_IOFBF = _IOFBF; \
int SEXIO_IOLBF = _IOLBF; \
int SEXIO_IONBF = _IONBF; \
int SEXIO_SEEK_SET = SEEK_SET; \
int SEXIO_SEEK_CUR = SEEK_CUR; \
int SEXIO_SEEK_END = SEEK_END;