Achei isso aqui.

“Selecionados, editados e testados pelos próprios leitores” – sim, isso mesmo! Este é um projeto real, e vocês me ajudarão a finalizá-lo! Vamos reunir 1001 implementações de algoritmos em um livro (impresso?) que servirá principalmente de aprendizado para quem colaborar e guia/referência para jovens aspirantes a programadores. Do Bozosort ao crivo de Eratóstenes, teremos de tudo!

Se você quiser colaborar, pode enviar o código do algoritmo por e-mail, pastebin ou, se quiser começar a usar o GitHub, submeter patches para o repositório que criei. Os códigos devem estar de acordo com os requisitos abaixo:

  1. Siga este modelo de arquivo: https://github.com/karlisson/1001/blob/master/modelo.txt
  2. Dê preferência a linguagens de alto nível como Java, Python, C, C++, Ruby ou Javascript.
  3. O algoritmo deve ser abrangente e multi-plataforma, ou seja, coisas específicas demais como “código para ligar o led da placa XPTO” não serão aceitas. A ideia é reunir soluções para problemas que podem ser implementados em qualquer linguagem. Exemplo: desafios de programação.
  4. O código não pode depender de bibliotecas extras que precisam ser instaladas.
  5. O código deve conter testes ou exemplos de uso para que possa ser avaliado rapidamente, e não pode ser muito extenso (i.e. verboso).
  6. O patch deve consistir em apenas um arquivo, cujo nome deve seguir o formato nome-algoritmo.ext, onde  ‘nome-algoritmo’ é o nome abreviado, minúsculo e sem espaços ou acentos, e ‘ext’ a extensão, obviamente.

Por enquanto a dica é: se você não tem conta no Github, crie uma agora e aprenda a usar o git. Eu ainda estou aprendendo. Mas a primeira coisa que você pode fazer é baixar o repósitório para sua máquina, através do comando abaixo:

git clone git://github.com/karlisson/1001.git

Enfim, aguardem novidades. Desde já agradeço pelas contribuições. As palavras finais são de Humberto Diógenes: se o projeto não der certo, então serão apenas 9 algoritmos (em binário, 1001).