BooK projects  


I tend to have lots of ideas, and not enough time to work on them, and sometime even to start them. So I decided to list them here, sort of sorted by status and age (the more stable and recent ideas at the end), to keep track of them and possibly find other people interested.

So, if you find one of those projects interesting, follow the links (if any) or contact me about it.

Projects are split in categories ideas, prototypes, active, stable.




Git history editor

While working on the conversion of the Acme::MetaSyntactic SVN repository to Git, the linear history created by git-svn didn't match the actual history (merges) of the CVS-converted-to-SVN repository.

I came up with an ugly script that let me take the output of git log --pretty=format:%H-%T-%P-%s, edit it by hand, and use it to recreate a new history (using old trees).

TODO: Rewrite using Git::Repository, and turn into a real tool (or at least a script in Git-Repository's eg/ directory).


The thin layer between what you write and what you publishCPAN | github

Most web sites could be static. A blog can be static. Some more "dynamic" content may need to be re-generated hourly, but every GET request doesn't need to go back to a database to fetch what is essentially static content.

After using ttree-based tools for a while, I wanted to make something more generic, that would assemble the bits and pieces that make up the content of a website and produce the static files the web server would serve.


A presenting tool for laptops with two heads

I don't own a Mac (yet), but I'm jealous of Keynote's feature that shows the next slide and other information on the presenter's screen, while showing the current slide on the display that everyone else sees.

This is a Perl-Gtk project, using WebKit to show and control HTML presentations (possibly any HTML+CSS+JS presentation tools).



A Perl wrapper for GitCPAN | github

After having tried, and inspected Git::Wrapper and Git::Class, I decided that none of them would allow me to complete my big CPAN/Git related project, and started to shave this yak.

Further work involves the possibility to easily mix in one's own routines on top of Git::Repository.

Stable (in maintenance mode)


Also stitches multiple Git repositories together!CPAN | github

At work, I was in charge of selecting the replacement for CVS (guess which version control system was chosen), and converting the old repositories to the new tool. Although in the end, we didn't keep any of the old CVS branches, and merged the multiple CVS repositories before doing the conversion, I started to work on an algorithm to "merge" together multiple histories that existed in parallel into a single history.

Git::FastExport is simply parsing the output of git fast-export, but the really cool tool is git-stitch-repo, which will stitch together several fast-export streams into a single one, while trying to create a new history that makes senses.

TODO: Rewrite using Git::Repository.