This is a an open collection of ideas on various topics, intended mainly as a self-reminder.
Flame fractals (fl4me?)
multiple dimensions (D > 0)
final transforms (mapping D dimensions to x, y, z, t(ime), c(olor), p(oint size) etc)
dynamic compilation, vectorial GPU functions (boost?)
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))
Full-frame wavelet decomposition
Scalability (Temporal, Spatial, Quality, ROI)
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.
draft: Meta Fragments
Bitcoin hardware wallet
draft: Bitcoin hardware wallet