un homme à la mer!
L’indien, le retour
Victime de la mode, j’ai mis à jour ruby vers 1.8.7. Très convi jusqu’à ce qu’un de mes site rails http://huongviet.ch et le présent blog me plantent tout net à la figure.
<h1>Application error (Apache)</h1>
<p>Change this error message for exceptions thrown outside of an action
(like in Dispatcher setups or broken Ruby code) in public/500.html</p>
Oui mais non. Il n’y a pas d’apache installé sur cette machine, donc tu ment @#|$!@(#)!$!!!
Tout le monde reste calme, tout va bien se passer
Un tour dans les logs et puis dans google m’amène là et règle mon problème rapidement.
mais pourquoi t’as cassé mon ruby, pourquoi?
J’étais déjà tombé sur une flamewar sur la ml ruby, comme quoi les mainteneur de la branche 1.8 allaient casser la compat pour faciliter la migration à 2.0. Supayr, mais sans moi. 1.8.6 est dans les bac !
more^Wless convitude
utilisateurs de less bonjour !
Un truc très sympa avec less c’est qu’on peut lui donner n’importe quel type de fichiers si on le configure un tout petit peu. Il faut utiliser un script (souvent appelé lesspipe.sh) et la variable d’environnement LESSOPEN.
un petit exemple simple dans man less nous fait mirroiter la convitude de la chose:
For example, on many Unix systems, this script will work like the previous example scripts:
lesspipe.sh:
#! /bin/sh
case "$1" in
*.Z) uncompress -c $1 2>/dev/null
;;
esac
To use this script, put it where it can be executed and set LESSOPEN="|lesspipe.sh %s".
When an input pipe is used, a LESSCLOSE post‐processor can be used,
but it is usually not necessary since there is no replacement file to clean up.
In this case, the replacement file name passed to the LESSCLOSE postprocessor is "-".voilà tout est dit. Et biensûr, des gens chouette ont déjà codé de sympathique lesspipe.sh pour nous.
le lesspipe.sh de FreeBSD laisse un peu à désirer à mon goût (y’a même une directive ex, ça donne une indication sur le siècle de création):
#! /bin/sh
# ex:ts=8
# $FreeBSD: src/usr.bin/less/lesspipe.sh,v 1.4 2007/05/24 18:28:08 le Exp $
case "$1" in
*.Z)
exec uncompress -c "$1" 2>/dev/null
;;
*.gz)
exec gzip -d -c "$1" 2>/dev/null
;;
*.bz2)
exec bzip2 -d -c "$1" 2>/dev/null
;;
esacGentoo a un lesspipe.sh très complet, mais malheureusement écris en bash (beurk). Mais votre serviteur (à l’aide d’une tasse de café) l’a traduit avec ses gros doigts en _sh_ pour vous.
Pour l’installation c’est facile, il suffit de le télécharger ici, de le mettre dans votre PATH, puis de mettre votre variable d’environnement LESSOPEN correctement (i.e. comme indiqué dans le man):
set LESSOPEN="|lesspipe.sh %s"Pouf ! et voilà on peu less des dossiers, des tar, des tar.bz2, des pdf, des .doc (sisi, faut juste avoir les bons outils installés) etc.
WARNING
- J’ai peut-être (et même certainement) merdé quelque part dans la traduction. donc utilisez pas ça en tant que root.
- Vous être invité à le relire (200 lignes à peine et certainement seulement une dizaine de modifiées)
- Aucune idée de la licence, parce que c’était déjà pas clair dans le lesspipe.sh de gentoo. en même temps, y’a très peu de chance de faire fortune avec un truc pareil.
Posted in admin | aucun comments |
screen, l'outil du BIEN (TM)
screen, c’est bon, mangez-en.
késako ?
screen (GNU screen pour les puristes) est un outils très pratique (indispensable une fois habitué) pour l’utilisation de la console. il permet entre autre :
- de copier/coller facilement (sans souris, ça marche avec un tty)
- de détacher une session shell (avec éventuellement un programme qui tourne dedans).
- de simuler des tab avec un simple xterm
- de diviser sa console en plusieurs zone (split)
Il y a déjà bien assez de doc sur comment faire toussa. oui. Mais un truc qui manque (cruellement) dans screen c’est le split vertical.
Screen CVS
screen peut faire des split horizontaux, mais pas verticaux. Sur des écrans wide (de plus en plus à la mode), c’est souvent plus agréable/pratique de pouvoir splitter verticalement que honrizontalement. Heureusement, les dev screen sont d’accord avec ça, mais pas très très rapide. Il faut la version CVS de screen pour pouvoir s’amuser avec le screen vertical, mais heureusement, c’est facile de l’installer :)
Installation
On va installer screen directement depuis le CVS donc il vous faut installer cvs si il n’est pas déjà installé. Pour les utilisateur de gentoo, voir Installation (Gentoo) :)
Pour les autres, le trio infernal :
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/screen co screen
$ cd screen/src
$ ./configure
$ make
# make installA noter que make install doit être fait avec les droits root. Vous n’êtes pas obligés de faire le make install, vous pouvez faire un symlink sur l’exécutable dans et le mettre dans votre PATH.
Installation Gentoo
Bande de chanceux, tonton kAworu vous a fait un ebuild pour screen CVS.
Plantez le dans votre jardin perso
# on matte si je jardin perso est bien connu
$ grep OVERLAY /etc/make.conf
PORTDIR_OVERLAY="/usr/local/portage"
# on y va
$ cd /usr/local/portage
# hop un peu d'engrais
$ mkir -p app-misc/screen
$ cp -r /usr/portage/app-misc/screen/files /usr/local/portage/app-misc/screen/files
# on plante
$ wget http://www.kaworu.ch/files/screen-9999.ebuild
# on arrose
$ ebuild screen-9999.ebuild digest
# et on observe la magie
$ emerge -av screenMais comment qu’on fait alors ?
voilà ! reste plus qu’à apprendre à splitter verticalement : C-a | (oui, avec le pipe). Pour les curieux, voilà un petit screenshot de screen en action.
J’ai parfois des petits soucis de performance avec le split vertical (quand il y a beaucoup de texte qui défile, lors d’une compilation par exemple), mais autrement c’est que du bon !
Enjoy !
Older posts: 1 2