Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View SoniEx2's full-sized avatar

Soni L. SoniEx2

View GitHub Profile
@SoniEx2
SoniEx2 / Makefile
Created April 4, 2015 14:48
liolib.lua, JIT-able reimplementation of Lua's I/O library. MIT license.
# 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;

CTCP COLOR

CTCP COLOR is a CTCP ACTION-like CTCP, but instead of providing a different message style, it provides different colors.

Let:

X-DELIM ::= '\x01'
SPACE ::= ' '

Unicode Instruction Set Architecture (UISA)

Unicode (UTF-8) is the leading character encoding being used in computers today. However, a few factors hinder its adoption:

  • It's big. It's actually huge! You need to include (increasingly bigger) character tables in your programs if you want to deal with Unicode.
  • You can't really do anything without those character tables. Unicode is a complete mess without them!

So we shall define an ISA that replaces Unicode. Meet UISA!

Pockets

by Spice Girls


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

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.

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.

UTF-16LLE

There are 4 forms of UTF-16:

  1. UTF-16BE
  2. UTF-16LE
  3. UTF-16LBE
  4. UTF-16LLE
-- 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
@SoniEx2
SoniEx2 / clex.md
Last active December 18, 2016 02:31

ClEx - Clunky Expressions

Version 0.10.

Authors:

  • SoniEx2

About

@SoniEx2
SoniEx2 / epeng.md
Last active August 27, 2016 14:54
EPNG spec