Here a few things I made in the past :

- A
*very short*quine (in OCaml, which is my favorite programming language) - (stronger !) A program which prints the MD5 of its source code.
- A statistics service that's cool and free (no ad). Ha Ha, just joking. Don't use it, it's too crappy. And don't tell anybody I was involved in this.
- A small program which computes an approximate solution to the
traveling salesman problem using simulated annealing, with interactive
graphic representation ! (linux binary, requires
X). If you really want the (
*messy*) sources, ask me. They contains some other heuristics, including the classical minimal spanning tree method. There's also some kind of report in French, with a few fancy figures. - How I tried to compute a diabolic 7x7 square using brute-force, prolog, and simulated annealing (to generate the prolog program !). Rest assured, it didn't work. Unfortunately, it's in French.... here. Sources and other stuff are here.
- I also have a little prolog sudoku solver.
- I once tried to write a C binding for ocaml to be able to play with SSE2 instructions with ocaml floats... here.
- Always wanted to have
`call/cc`in ocaml ? I made a stupid interpreter just for you ! (but it's also a simple lex/yacc parser for a subset of caml) - I used to waste some time writing a BF program (BF is a Turing-machine-like language) to compute the factorial : it's like that :
[->+<]+>[<[>[->+>+<<]>[-<+>]<<-]>>>[-<<<+>>>]<<-]<

- I even did it in lambda-calculus (using Church's integers) :

Skilled people will recognize the Y fixed-point combinator at the beginning`((λg.λh.(h ((g g) h)) λg.λh.(h ((g g) h))) λf.λn.(((λx.λy.λz.((x y) z) (λn.((n λz.λf.λx.x) λx.λy.x) n)) λf.λx.(f x)) ((λm.λn.λf.(m (n f)) n) (f (λk.(λs.(s λf.λx.x) ((k λs.λz.((z (λn.λf.λx.(f ((n f) x)) (λs.(s λx.λy.x) s))) (λs.(s λx.λy.x) s))) λz.((z λf.λx.x) λf.λx.x))) n)))))` - Recently, I wrote a small transactional library for Ocaml. You can download it, but be aware that it *has* bugs.