This is a an open collection of ideas on various topics, intended mainly as a self-reminder.

Flame fractals (fl4me?)

multiple dimensions (D > 0)
sequential transforms
final transforms (mapping D dimensions to x, y, z, t(ime), c(olor), p(oint size) etc)
dynamic compilation, vectorial GPU functions (boost?)
I started working on a javascript implementation


LLVM bitcode to native optimzing JITting VM
Bare thin kernel on top of VM
Inter-process (i.e. no differences between static and dynamic linking) and inter-ring (kernel and user code joint linkage) optimaztions (link-time, run-time, idle-time) -> Dynamic process contexts?
VM dispatches loads (and performs appropriate JITting) to different resources (CPU cores, GPU, cluster nodes) taking care of everything (resource discovery, allocation and management, load management and IPC)
It could also be interesting investigating the concept of static cooperative multithreading, i.e. link-time injected resource yielding.

WVC Wavelet Video Codec

Arbitrary (or very high) resolutions support (2^16 pixel)
Arbitrary (or very high) bit depth support (up to 16 bpc)
Number of components (1 or 3)
Component subsampling (1:1, 2:1 and 4:1 horizontally and/or vertically)
Component interpretations (1: Y; 3: YUV, Lab, XYZ, RGB)
Number of channels (1 or 2 (stereoscopic))
Interleaving (Unsupported)

Full-frame wavelet decomposition

Scalability (Temporal, Spatial, Quality, ROI)

Mesh processing

Initial draft

LowerInvoke2 and LowerCall LLVM transform proposals

LowerInvoke2 is a proposal to lower LLVM intrinsics invoke/unwind to call/return without setjmp/longjmp, mimicking the way EH is done manually in languages lacking builtin EH. LowerCall is a proposal to lower call/return to jumps (br). Coupled with pre-existing LLVM optimizations they could theorically provide zero-overhead calls and zero-cost EH. Draft on Google Docs. Other LLVM ideas.

Meta Fragments

draft: Meta Fragments

Bitcoin hardware wallet

draft: Bitcoin hardware wallet


draft: GlobalMessageTransport
1985-2017 CAFxX