Skip to content

Instantly share code, notes, and snippets.

View SoniEx2's full-sized avatar

Soni L. SoniEx2

View GitHub Profile
@SoniEx2
SoniEx2 / 52emu.lua
Created September 26, 2015 19:05 — forked from katlogic/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)
@SoniEx2
SoniEx2 / list_of_mod_makers_breaking_curse_tos.md
Last active August 27, 2016 02:11
List of mod makers breaking Curse's TOS

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

@SoniEx2
SoniEx2 / steamchat.md
Created April 26, 2016 23:14
Steam Chat

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
@SoniEx2
SoniEx2 / epeng.md
Last active August 27, 2016 14:54
EPNG spec
@SoniEx2
SoniEx2 / apng_sucks.md
Last active August 19, 2016 17:38
APNG Sucks!

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:

-- 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

UTF-16LLE

There are 4 forms of UTF-16:

  1. UTF-16BE
  2. UTF-16LE
  3. UTF-16LBE
  4. UTF-16LLE

ROT13-UTF-8 is a semi-backwards-compatible encoding for text data.

ROT13-UTF-8 replaces the characters represented by bytes 0x41-0x4D, 0x4E-0x5A and 0x61-0x6D, 0x6E-0x7A in UTF-8 with characters U+004E-U+005A, U+0041-U+004D and U+006E- U+007A, U+0061-U+006D, respectively.

The Unix Time Manifesto

WIP

I am an user of Unix Time IRL. My hexchat outputs timestamps using the %s time format string. This means every message looks like [1526856826] * End of /MOTD command. or similar.

I just like it that way.

Pockets

by Spice Girls


I'll get what I want,
what I really really want
Don't tell me what I want,