Miscellanea

This page is about publishing the other projects, a lot of little things for which I do not want to maintain a full page each.

All those projects are using darcs as their revision control system, and as I'm providing a static site only you're offered to darcs get http://pgsql.tapoueh.org/<project> but there's no darcsweb dynamic CGI interface provided.

Contents

munin plugins

Here's for your pleasure a pgbouncer_ munin plugin suite, and a pgq_ one.

Once upon a time I even made a page about the pbouncer munin plugin with some nice screenshots!

From lyx html output back to docutils ReST

A friend of mine wanted to integrate LyX edited documents into a rest2web managed website, and asked me some help for implementing the tools to achieve this easily.

So I made a little python script parsing the LyX html output (which in this case is known to be a very limited subset with precise semantics) and producing back a docutils rest document.

This project is called hdi.

Student repartition into groups and subgroups

The problem is simple: it's soon the beginning of a new scolar year, and new students are to be placed into main groups (30 places available) and foreign language studying subgroups (19 places each). Each student has two foreign language groups, main one is forced to English whereas second one is a choice of either Spanish or German (limited to 19 places) or whatever else, but then they are on their own (no constraint).

The project is a solution finder implemented in PLpgSQL. I started to code finder.sql as a python program, but it was uneasy to add it constraints and to mimic hand work, or to anwser to questions as what if we asked your code to consider students having least solutions first?

Maybe the real story is that my python design was badly put out, as it was my first try, and I simply needed a second design session to get it right. Like when you read that the better first design paper is a code prototype (running and all).

Tsung Plotter

Tsung is an open-source multi-protocol distributed load testing tool. It's written in Erlang and is able to launch an amazing number of concurrent test sessions by using great number of nodes on the network: you could abuse an injection cluster.

I used to maintain a separate tool for plotting in the same graphic from different log files of Tsung loads, in order to be able to compare them. Without this, you would end up with a plot suite for each load, plotted at different scales...

Tsung-plotter has now made its way into Tsung SVN and will be part of its next release!

DBT2 Tsung module

DBT2 is a database load test, and I began to work on implementing its load testing part (you have to generate some semi-random data first) as a Tsung module, hence the original name of dbt2-tsung.

dalidoc

Suppose you want to obtain really nice booklets, for printing (A4 material) and handing over to customers. You want this task to be as easy as possible: what should be taking your precious time is writing up the content, not fiddling against some kind of strange WYSIWYG tool suite.

You also want all the documents to look alike, the art you're using (company logos etc) to be easy to upgrade, you want nice cover page, and you of course want to be able to have the sources of those documents checked in your prefered control revision system.

So you want to edit plain text with some kind of syntactic sugar to express the document structure, the semantic of it. And you want to be able to deal with representation from time to time, but this is the exception.

We choosed to use Restructured Text as the input format. The standard tool suite offers HTML and LaTeX publishing, amonst others, and I made some glue code to have templates and support for PSTricks to produce the cover page.

The project is called dalidoc because of the name of a company I helped start (and have been co-owner of for almost two years). I don't even know if the guys over there still use this solution, which was nicely baking by the last copy I have, version 0.4.6.

Nicely baking meaning this prototype was working good enough for us to use it on a day to day basis, not wanted to consider switching from it. Ever. Meaning alse that the implementation of the project by version 0.4.6 is needing a serious rewrite to accept future challanges.

But the project stalled there, as far as I know.