I'm on Windows and right now there's really nothing concrete involved. Like you, it's just me experimenting.
Your code is a little beyond me since I haven't even gotten around to learning C, but the results are definitely impressive. I might have to start messing around with that, too.