Can has Lolcode ?

Connaissez-vous le lolcode, un langage qui pourrait bien détrôner le java dans les années à venir ? … ou pas, LOL. Inspiré de l’argot internet et du lolcat (merci Wikipédia), c’est un langage très drôle en tout cas.

Le site officiel http://lolcode.com ne semble pas répondre, mais vous pouvez toujours vous documenter sur Wikipédia, ou même suivre un tuto ici : http://lolcode.codeschool.com

Kthxbye

Retourner un intervalle dans une fonction Oracle

Dans une fonction Oracle, retourner un intervalle est plus fourbe qu’il n’y parait. De prime abord, on est tenté d’écrire la chose suivante :

CREATE OR REPLACE FUNCTION bla bla bla RETURN INTERVAL DAY TO SECOND
IS
intervalle INTERVAL DAY(9) TO SECOND(6);
BEGIN
bla bla bla
RETURN intervalle;
bla bla bla

Malheureusement ce code plante si l’intervalle en question a un nombre de jours plus élevé que 99. L’erreur est ORA-01873 « the leading precision of the interval is too small ».
Pourtant, ce n’est pas faute d’avoir défini la variable à DAY(9), soit le maximum autorisé par Oracle (pour DAY(1) on peut aller jusqu’à 9 jours, pour DAY(2) on peut aller jusqu’à 99 jours, etc.). La petite chips est située à la première ligne du code : il est écrit RETURN INTERVAL DAY TO SECOND. A cet endroit il est impossible de spécifier une précision pour les jours et les secondes, or sans spécification c’est la valeur par défaut d’un INTERVAL qui est sous-entendue par Oracle, soit DAY(2) TO SECOND (0), soit 99 jours. Et pas de chance, c’est cette précision qui prime sur la précision écrite dans la suite du code.

Pour corriger le problème, il ne faut pas faire RETURN INTERVAL DAY TO SECOND, mais RETURN DSINTERVAL_UNCONSTRAINED

Tadaaaaa !!

Eclipse 3.8 : couleur des infobulles sur Linux Mint 14

Sur mon Eclipse (sur Linux Mint), les infobulles apparaissaient en texte bleu marine sur fond gris foncé, autant dire que c’était dur à lire.

Pour choisir des couleurs plus contrastées, une des solutions est :

1) installer le paquet gnome-color-chooser

2) lancer gnome-color-chooser (en ligne de commande)

3) sélectionner l’onglet « Spécifique »

4) A la rubrique « Info-bulles », cocher « Premier plan » et « Arrière-plan » et y mettre les couleurs désirées. J’ai mis #000000 au premier plan, et #FFFFAF en arrière-plan

5) Relancer Eclipse le cas échéant

Comparer ligne à ligne deux fichiers triés

Une commande Linux qui peut rendre de fiers services : comm. Elle permet de comparer ligne à ligne deux fichiers, ces deux fichiers devant être déjà triés.

comm [-123] [--help] [--version] fichier_1 fichier_2

Par défaut la commande retourne 3 colonnes :

  • 1 : les lignes présentes dans le 1er fichier uniquement
  • 2 : les lignes présentes dans le 2ème fichier uniquement
  • 3 : les lignes communes aux deux fichiers

Les options 1 2 et 3 suppriment du retour les colonnes correspondantes. Par exemple, comm -12 fichier_1 fichier_2 n’affichera que les lignes communes aux deux fichiers.

Script de redimensionnement d’images en masse

Note du 26/01/2011 : La version 1.1 est sortie. Par rapport à la version 1.0, elle permet de gérer les fichiers dont le nom contient un espace.

Note du 29/05/2011 : Attention, les versions 1.0 et 1.1 ont une limitation : elles ne permettent pas de traiter des images qui sont dans un système de fichiers différent (par exemple si vous avez un second disque dur sous Windows)

Je me suis amusé à écrire un script de redimensionnement d’images en masse, pour Linux. Ce genre de script doit exister en mille exemplaires sur internet, mais bon !

Fonctionnalités :

  • Redimensionnement d’une ou plusieurs images
  • Paramétrage d’une largeur et d’une hauteur maxi à ne pas dépasser, en conservant le ratio
  • Paramétrage de la qualité de compression
  • Choix de la sortie (écrasement ou duplication avec un nom préfixé)
  • Se base sur le type mime pour ne traiter que les fichiers de type image
  • N’agrandit pas les images dont les dimensions sont inférieures aux dimensions choisies

Limitations des versions 1.0 et 1.1 :

  • Elle ne permettent pas de traiter des images qui sont dans un système de fichiers différent
  • Elles n’indiquent pas si la librairie imagemagick n’est pas installée

Pré-requis :

  • Les paquets zenity et imagemagick doivent être installés. Par défaut ils sont déjà installés sur Ubuntu (10.04)
  • Le script a été prévu pour Gnome (cf le dossier d’installation), mais sous KDE j’imagine que ça doit pouvoir se faire aussi

Installation :

  • Télécharger le script ici (clic droit, enregistrer sous)
  • Rendre le script exécutable si ce n’est pas déjà fait
  • Déposer le script dans le dossier $HOME/.gnome2/nautilus-scripts
  • Note : le script n’a pas d’extension, car sinon elle apparaitrait ensuite dans votre menu contextuel et ce n’est pas très joli. Vous pouvez même le renommer en « Redimensionner les images… »

Utilisation :

  • Sélectionner une ou plusieurs images
  • Clic-droit / Scripts / Redimensionner les images
  • Suivre les instructions

Si vous avez aimé mon script, n’hésitez pas à me contacter pour m’envoyer un gros chèque. Les tickets restaurant sont également acceptés.