Other projects
These are old, unmaintained or that even do not worth maintaining, pieces of code. For didactical purposes.
DrawingTool.zip: is the beginning of a "DrawingTool" project :) It was developed for the Visual "C++" course, so that I can prove the teacher that I know MFC. I remember I always argued with the teacher, because the course wanted to teach us the basics of UI programming and stuff like that, and I asked "Can I use GTK/Linux?" -- short answer was "No", and the long answer was "At this course we must learn Visual C++ and MFC programming". From my own experience I can say that MFC is bullshit and besides, I am sure that even Microsoft themselves avoids using it :) But anyway... I had to do it :)
ssplay.tar.gz: a (de)compression program using the semi-splay trees. I've found the algorithm somewhere, I don't remember where, and I wrote the program for some course that was actually teaching the Huffman trees compression method :) Well, the semi-splay trees algorithm is something similar to the Huffman algorithm, with the difference that the character tree is dynamically re-arranged to match the character's frequency, while we parse the input file and generate the output file. This has two advantages: firstly, you don't need an additional step to determine the character frequencies and build the tree, and secondly, you don't need to store the tree into the compressed file since the same method is used to regenerate it at decompression time. However, compression is poor, and don't expect phenomenally high speeds from this program; I worked several hours on it, if I remember correctly...
sortare.tar.gz: a visual, multithreading, demonstration of 8 sort algorithms, running simultaneously. Idea stolen from the notorious Java demo which comes with the JDK. It requires SVGAlib, which in turn requires root privileges (but maybe things have changed in the past 3 years). If you manage to compile and run it, you won't be sorry :) Press "R" at any time to randomize the list and restart the sort, press "A" to change the list to an already sorted one, press "D" to change the list to one sorted descending (exactly the opposite of what the final list should be). "Q" should quit the program, at any time. It also displays the number of swaps made, and the number of comparisons, for each algorithm separately so that one can make a difference.
knight.cc: finds the way of a chess knight on the board. Shows only one solution -- uses some greedy method.
safeptr.h: smart pointer.
