I wrote a little batch script to switch between versions of Firebird SQL Server nearly automatically. Read the rest of this entry »
SSH is a wonderful piece of software. I found (hum, Philippe, the CentOS package maintainer, president of the Firebird Foundation and member of the QA team of Firebird helped me to find) how to create a SSH tunnel through I can run a distant Firebird backup.
This is the standard gbak command :
$ gbak -b [-v] XXX.XXX.XXX.XXX:database backup.fbk -user SYSDBA -password masterkey
With that command you can create a LOCAL backup of a REMOTE database.
With this command :
$ gbak -b [-v] -service XXX.XXX.XXX.XXX:service_mgr database /path/to/backup.fbk -user SYSDBA -password masterkey
You will create a REMOTE backup (in /path/to/backup.fbk) of a REMOTE database.
Now, how can I create a LOCAL backup for a REMOTE database with stream compression and encryption ? By using SSH Tunnelling.
$ ssh -C -f user@XXX.XXX.XXX.XXX -L 3052:localhost:3050 -N
This will run a background (-f) SSH Tunnel (-L) mapping local port 3052 to remote port 3050 (3052:localhost:3050) with compression (-C, or -o Compression=yes) and without running a remote command (-N)
Now we can use this tunnel to start a secured/compressed remote backup :
$ gbak -b [-v] localhost/3052:database backup.fbk -user SYSDBA password masterkey
Note : “database” can be an alias name, if defined in /etc/firebird/aliases.conf (location depends on your distribution package maintainer, at least this is where I can find this file on CentOS 5.3 using EPEL Testing repository) or the full path of the database on the host system. “backup.fbk” is the local path of the backup file.
You will restore this backup locally by using this command :
$ gbak -c [-v] backup.fbk database -user SYSDBA -password masterkey
Of course, you will have to adjust the user/password depending on your own configuration.
Because I’m fed of searching for this kind of useful command :
$ for F in *; do E=${F:(-4)}; B=${F/$E/}; mv $F 'Wonderful.Serial.FileName.S03E'$B.'VOSTFR.HDTV.XViD.GKS'$E; done
Explanations :
E = ${F:(-4)} extracts the file extension.
B = ${F/$E/} returns the original filename without extension.
These two variables are then used to build the new filename
[EDIT]
Another one, using sed and regular expressions :
$ for A in *.avi; do mv "$A" `echo $A | sed -r 's/^Name To Remove <ins>([0-9]</ins>(-[0-9]+)?)\.avi$/\1.avi/'`; done
Were we build a simple “mv” command with the original filename ($A) and a new filename by catching the output of echo $A | sed enclosing it with backquotes (`).
sed -r allows to use extended regular expressions.
s/you/me/ is the sed command to Subsitute you by me.
s/^Name To Remove ([0-9](-[0-9]+)?)\.avi$/\1.avi/
We match filenames like :
- Name To Remove 123.avi (as many spaces as you want between the textual part of the name and the file number)
- Name To Remove 123-456.avi
We catch the subexpression between parenthesis (123 or 123-456 in this poor example) and we use it to build the new filename (thanks to ”\1” in the third part of the sed command.)
Thanks to eix !
Note : You must be root to unmerge packages
Start by installing emerge if you don’t have it : emerge eix
Run update-eix to create or update the eix database.
Now, this… trick should work for you too
eix --nocolor -c -I -C dev-ruby | cut -d " " -f 2 | grep --color=never dev-ruby | xargs emerge --unmerge
Need some explanations ?
eix -c -I -C dev-ruby extracts all installed packages from dev-ruby
cut -d " " -f 2 extracts the full package name
grep --color=never dev-ruby filters the list ignoring eix overlays info and packages count (you could also use eix -c -*... to avoid that)
xargs takes the whole packages list and send it as a list of arguments to emerge --unmerge that will unmerge all listed packages in one shot !
This is my first released backup script for Firebird RDBMS. It automagically search for all Firebird databases from a central directory, uses gfix to validate them, then backup + gzip them to a central backup directory keeping only 5 last successful backups.
It may be used as a cron script to automate Firebird databases backup. Read the rest of this entry »
Il n’est pas possible d’installer le gem sqlite3-ruby requis par Rails 2.x pour faire fonctionner une application “par défaut” si on utilise la version MinGW32 de Ruby packagée dans le projet Ruby Installer 3.0 pour Windows.
Alors il faut bidouiller un peu… en fait la modif est tellement simple qu’elle devrait pouvoir être intégrée directement à sqlite3-ruby ou à Ruby Installer puisqu’il sait d’ores et déjà récupérer des sources, les décompresser et les compiler lui-même…
Moi, compiler, ça m’amuse, alors on y va, même pas peur !
Read the rest of this entry »On y est, voici la seconde partie de mon tutoriel sur Rails 2.1. Commencez par la première partie si vous ne l’avez pas déjà lue.
Read the rest of this entry »Cet article est la traduction de la première partie de l’article Rolling With Rails 2.1 de Fabio Akita, j’ai conservé le style de Fabio à la première personne, c’est donc Fabio qui parle dans la suite de ce texte (là c’était moi, vous avez compris) et mis à jour les exemples avec ce qui est produit par la version finale de Rails 2.1.
Je vais reprendre exactement là où nous nous étions arrêtés dans le précédent tutoriel, si vous ne l’avez pas lu, je vous suggère de le faire maintenant ou de télécharger le code qui est disponible sur GitHub. J’ai ajouté un tag ‘for_2.0’ pour ce qui concerne le précédent tuto et un nouveau tag ‘for_2.1’ pour les mises à jour que je suis sur le point de vous montrer dans ce nouvel article. Vous pouvez soit suivre mon précédent tutoriel pour voir tout fonctionner ou le sauter et vous contenter de télécharger le code d’exemple depuis ma page GitHub.
Pour la suite de cet article, je vais considérer que vous avez le projet ‘blog’ dans un répertoire de votre machine. Peu importe que vous l’ayez décompressé depuis le tarball ou que vous ayez cloné l’arbre complet depuis mon dépôt GitHub.
Ceci est la première partie et voici la deuxième partie.
Read the rest of this entry »[EDIT] : Comme Gérard me le fait remarquer dans les commentaires, ce n’est pas l’empereur Napoléon Bonaparte que Cavour a rencontré à Plombières-les-Bains mais bien Napoléon III, le neveu.
Cette année se commémorait le 150ème anniversaire de la rencontre entre Napoléon III et le conte de Cavour à Plombières-Les-Bains (Napoléon était un grand fan de la petite ville thermale de Plombières-Les-Bains et il aimait bien se faire chatouiller les oreilles par l’épinette de Dorothée, pas celle que tu crois, crétin, la Dorothée de l’hôtel qui surplombait le Val d’Ajol, qui est maintenant un Intitut Médico-Pédagogique pour les enfants handicapés).
Voici quelques photos du feux d’artifices qui a eu lieu Samedi 19 juillet et voici un lien vers l’album flickr du feu d’artifice de la commémoration de la rencontre entre Napoléon et Cavour.
Cette fois, c’est la bonne. Après rien, puis MovableType, puis Dotclear, voilà WordPress. Je change de système de blog et je crois que je vais faire de mon blog ma page d’accueil et profiter des fonctionnalités de WordPress pour inclure le contenu des quelques pages de mon ancien site directement dans les “Pages” de WordPress. J’en ai marre du CSS et du XHTML, c’est pas mon boulot, c’est pas mes compétences, c’est pas ma tasse de thé et ça m’emmerde, je crois que je vais me laisser faire par un peu de technologie. Et comme DotClear qui proposait un module d’import depuis MovableType, WordPress propose un module d’import depuis DotClear. Un truc tristement Darwinien finalement, le machin qui bouffe le truc qui mange le bidule qui tue le bazar… C’est la vie…
Je vais quand même essayer de trouver un thème sympa (et qui marche, le premier que j’ai essayé, Tarski, plante à l’installation avec une erreur étrange que je n’ai pas envie de chercher à débugger)
[EDIT : En fait Tarski, il marche, il faut juste bien penser à prendre la dernière version qui est sur le site du thème Tarski et pas celle qui est sur le répertoire de thèmes de WordPress, donc, pour résumer, il marche mais il est tout en anglais et je n’ai pas trouvé de fichier de langue où auraient été centralisées toutes les chaînes de caractères… donc j’hésite… c’est pour ça que le thème de ce blog est toujours le thème par défaut]
















































