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
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:
- not building in the source
- autoreconf support
- distcheck support
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