Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity.
— David Gelernter

Some small contributions to the exciting world of computer science are listed here !

Sivart

Sivart is a thiw wrapper around vagrant to automate test deployement on different architecture/distrib. It's the poor man's build farm! The project is hosted on github.

Ramsurf Build Status

Ramsurf is an underwater sound propagation model, originally written by Dr. David C. Calvo. I developped a (faster) C version while working at Quiet Oceans.

getting started

My version of the project is hosted on github. The doc is inside!

Pythran

pythran, for fortran with a python look'n feel, is a Python subset efficiently translated to C++. It makes it possible to write regular python modules and turns them into parallel native ones.

The project page is on pythran.

The sources and documentation are available on github and on pypi.

The project is partially funded by silkan.

Builbot / GNUAutoconf

Buildbot is a really nice build automation tool. It even provides an inegerated way of using autotools, through the GNUAutoconf factory. Yet this class does not provide an easy integration with autoreconf nor does it proposes a built-in distcheck step. So I implemented my own version, which is almost a drop-in replacement of the previous one, with a few extra stuffs:

getting started

This is a simple python module, so get it autoconf.py and play with it, starting with

from autoconf import GNUAutoconf
# this creates 
f = GNUAutoconf(Git("http://repo.or.cz/r/polylib.git"),
                    test=None,
                    distcheck=None,
                    configureFlags="--prefix={base}/root".format(base=GNUAutoconf.build_dir)"
                )

Beamer / Nvidia

Beamer is a great tool to make latex slides, but the themes are somehow boring. Here are some themes of my own design :p

beamer nv theme

This theme is very expensive in resources, but really funky too! It is originally inspired by some nvidia's slides. The background/foreground and middle ground colors are user-defined...

All you need is this style file and the following snippet

% use this beamer theme
\usetheme[bgcolor=white,fgcolor=black,mgcolor=blue]{nv}

Eventually, you can use the sanity check inspired from http://jleguen.info/?p=87, it is bundled in the theme.

% this makes a good first slide
\makesanitycheckframe

I hope you enjoyed the self-filling boxes and the nice curves ;-)

More to come ?

Lazy of packaging the chalky that I wrote some years ago ...

Autoconf / Macros

Autoconf is a must-have for C linux project, but many configure.ac are poorly written. This is a little attempt to make make the writing of a configure.ac easier, and to enhance its output.

getting started

The project is hosted on github. The few code samples on the repository should make it clear how to use it...

Beamer / pacman

Want to add some funky style to your beamer presentation? Here is a pacman page counter, featuring a ghost coutning slides too! The colors are those of the beamer theme :-)

All you need to do is to use the pacman package \usepackage{pacman}, generously published here

For the curious, the output should look like this.

Update this project was cloned and improved by ealprr.

LaTeX / creport

For technical documentation, I like having something that look a bit more professional than the default latex report class. Thus I designed a colorful report class, name creport. You can use it as any latex class. Additionally, it defines the \logo{path/to/logo} command to define a logo that will be used in the report.

All you need is this class file and the following snippet

\documentclass{creport}
\logo{serge_sans_paille.pdf}

Gnuplot / Tikz

gnuplot is a great tool for plotting, but integration with latex is not always perfect: I don't like \includegraphics a pdf file or (worst!) a png. Hopefully, there is a tikz terminal, but it is not activated in debian :'(.

So here is a small patch, and the few line to apply it:

sudo apt-get build-dep gnuplot  # get the build dependencies
apt-get source gnuplot          # get the sources
cd gnuplot-4.4.0                # go to src dir
patch -p1 < ../gnuplot.patch    # patch 
debuild -us -uc -b              # you may get missing dependencies at this point ...
cd -
sudo dpkg -i *.deb              # you should be carfull about the .deb you install anyway

However any later apt-get update will remove your package, so you may consider adding the following under /etc/apt/preferences.d/

Package: gnuplot-nox
Pin: version *serge1
Pin-Priority: 1001