As all programer, I like to write unusefull things... Some time ago I decide to write a DirectX8 library called "TinyD3D8". Tiny because the challenge was to produce EXE as small as possible.
I hear some of you saying : "Today computers have so many disk space, so many memory that's stupid to spent effort writing little programs !". And I totally agree : that's stupid for a commercial product. But, many of us in the industry are about to forget an important programming rule: the fun ! Yes, that's just fun to try to push the software limit ! On the other hand, you have to learn many techniques to build little DX programs: we learn about the compiler, the linker, the FPU and so on.
To test my library I write some various funny programs. All these programs runs under windows platform, directX8 (or better :-)). Here is a brief description of the "image of the day" picture, left to right, up to down...
Knot: EXE size: 5.5Kb
Knot is a nice program computing and displaying random knot. Every 3 seconds appair a new generated knot with random geometry and random colors.
Physics: EXE size: 6Kb
A true real-time rigid body physic program. You can rotate the cube or invert the gravity field in order to see the pink tetrahedron moving and bouncing around :-) I write it after reading a really nice article by "Thomas Jakobsen". Use Verlet integration for stability.
Mandelbrot: EXE size: 5.5Kb
Real time "deep" mandelbrot zoomer. Zoom with a factor of 2^55, ( ~1e16, so that's the range between you and the universe !). Use recursive optimized mandelbrot computing routine (Avoid to compute large flat area). Do you ever imagine a simple formula "z' = z^2 + c" can generate such colored lands ? :-)
OldSkool: EXE size: 24Kb
Whaoo 24Kb ?? that's too big !! :-) This is the first eavy use of my TinyLib. There is some graphical resource packed in the EXE (textures and music). This is an "oldskool" animation as you can see on AMIGA or ATARI 12 years ago :-) Please note the music use a YM2149 sound chip emulator. Pump up the volume all of you nostalgic freaks ! :-)
You can download all that unusefull stuff here:
Please don't ask me for the TinyLib source code for the moment, maybe I'll post it a day. (have to make it clean :-)).
Have a nice day !