10 janvier 2010

Démarrer X avec le damier et la croix

Tags :

Entrain de me battre avec le support du touchscreen d'un Shuttle X50 et en particulier avec l'outil de calibration très gruikesque les démarrage de X oldschool avec le damier (checkboard, grille de fond, trame  qui pique les yeux) et le curseur en croix me manque. Donc, pour info, c'est :

% X -retro

Et puis, tant qu'à faire, autant remettre les choses au propre en réactivant Ctrl+Alt+BackSpace via :

Section "ServerFlags"
        Option    "DontZap"     "false"
EndSection

Parce que : «Accessibility shortcuts (for both KDE and Gnome) are enabled by holding the shift-key for 8 seconds. As a result, it's easy to inadvertently enable "Sticky Keys". Now, if you press Ctrl and then release it, and a bit later, you press Alt-Bksp (the shortcut to delete a whole word), then Boom !» (comme dit ici), moi ça me fait penser au sketch de la chauve souris enragée de Bigard. A ce jeu là, on peu aussi désactiver les touches séquences SysRq, le Maj+Numlock, et pourquoi pas souder directement le câble d'alimentation de la machine sur la prise murale. C'est vrai, on ne sait jamais, si quelqu'un trébuche et débranche...

dans Outils Unix | 6 Commentaires

21 mai 2009

MOD vers MP3, la scène Amiga représente grave !

Tags : ,

Coup de nostalgie ! Bien avant MP3, bien avant GNU/Linux... il y avait des machines de rêve comme l'Amiga, le ST... et pour mal part le C64 (mais rien à voir). En ce temps là, il y avait un format : le MOD.

Pour faire revenir les sons du passé dans le présent, sur mon iPod Nano, il me fallait convertir ces MODs en MP3. Après 5mn de recherches infructueuses, j'ai décider d'utiliser la méthode bouts-de-ficelles :

#!/bin/bash
MIKMOD=/usr/bin/mikmod
LAME=/usr/bin/toolame
SOX=/usr/bin/sox
ID3V2=/usr/bin/id3v2
HEAD=/usr/bin/head

SONGNAME=`basename $1 .mod`

$MIKMOD  -p 0 $1
mv music.raw $SONGNAME.raw

$SOX -r 44100 -c 2 -w -s $SONGNAME.raw $SONGNAME.wav
rm $SONGNAME.raw

$LAME $SONGNAME.wav $SONGNAME.mp3
rm $SONGNAME.wav

$ID3V2 -t "`$HEAD -c 20 $1`" -A "MODFILES" -a "MODlovers" $SONGNAME.mp3

mikmod, par défaut produit un fichier RAW, stéréo, 16bits, 44100Hz. Sur la base de ces informations, on peut utiliser sox pour en faire un WAV qui sera, ensuite compresser en MP3 avec toolame.

Enfin, le format MOD permet d'inclure un titre au morceau sous la forme des 20 premiers octets du fichier (avec un padding avec des espaces). On peut donc utiliser head pour récupérer ces infos et en faire le tag "titre" ID3v2 du MP3 avec id3v2.

dans Outils Unix | 2 Commentaires

9 mai 2009

Embarquer une image dans HTML

Tags :

Bon, clairement, je ne sais pas trop à quoi cela pourrait servir mais c'est possible. Donc, bon.

En faisant quelques recherche avec Google, j'ai remarqué que l'indicateur de popularité du site (à gauche de l'URL en vert) dans les résultats de recherches n'était pas un fichier PNG mais des données PNG embarquées directement dans le HTML. En creusant un peu, voici...

On fait un petit script PHP pour simplifier les choses :

#!/usr/bin/php
<?php
while($line=fgets(STDIN)){
  echo (rawurlencode($line));
}
?>

Puis on utiliser tout simplement cat pour dumper les données et les envoyer sur STDIN du script et rediriger le tout dans un fichier :

% cat ~/deblogo.png | ./rawurlencode > /tmp/index.html

On ajoute ensuite les balises HTML qui vont bien :

<html>
<body>
<img src="data:image/png,%89PNG%0D%0A%1A[...]%AEB%60%82" width="48" height="48">
</body>
</html>

Et voilà ! Ça peut toujours servir pour une interface HTML d'un système embarqué...

Ah oui ! Il est aussi possible d'encoder en base64, ce qui évite d'utiliser PHP :

% base64 -w 0 ~/deblogo.png > index.html

La syntaxe du tag précise alors l'encodage en question :

<img src="data:image/png;base64,iVBORw0KGgoAA[...]FTkSuQmC" width="48" height="48">

dans Outils Unix | 8 Commentaires

16 février 2009

Dokuwiki et unison

Tags : ,

Le wiki c'est le bien(tm), même pour soi tout seul. Ça permet de noter plein de chose, de rédiger, de faire des TODO, lister des idées... Mais voilà, la 3G dans le TGV c'est la misère alors forcément on install un petit Dokuwiki sur son lovethinkpad qu'il faut ensuite synchroniser avec le Dokuwiki sur le serveur. Et là, c'est le drame !

Les fichiers créés par le wiki appartiennent à www-data:www-data (sur Debian) mais il n'est pas question d'utiliser ce compte sans shell pour une synchro Unison over SSH même over OpenVPN. C'est mal(tm).

Solution : la voie du milieu.

Config Dokuwiki, /var/www/[chemin]/conf/dokuwiki.php :

$conf['fmode']  = 0664;   //set file creation mode
$conf['dmode']  = 0775;   //set directory creation mode

On ajoute l'utilisateur d'Unison/SSH dans le groupe www-data et on fait un petit coup de sudo chmod g+w dans le répertoire du wiki.

On créé ensuite un profile Unison :

root = ssh://vpnserver//var/www/[chemin]/doku
root = /var/www/[chemin]/doku
ignore = Name .*.swp
ignore = Name *~
group = true

Ainsi les fichiers et répertoire créés d'un côté comme de l'autre sont la propriété de www-data:www-data mais en cas de copie via Unison ils sont créés sous utilisateur:www-data. Pas de problème c'est g+w. Ca marche.

dans Outils Unix | 0 Commentaire

3 février 2009

Vous faites quoi le 14 février à minuit et demi ?

Moi, je bois un coup à la santé d'UNIX :

% date -d "@1234567890" +%c   
sam 14 fév 2009 00:31:30 CET

Allez, la même en UTC :

% date -u -d "@1234567890" +%c
ven 13 fév 2009 23:31:30 UTC

Hé oui. C'est grand, c'est rond, c'est beau. 1234567890 !!! CELEBRATE !!!!!

Update : un petit convi-link qui va bien, http://coolepochcountdown.com/

dans Outils Unix | 2 Commentaires

30 janvier 2009

D’autres couleurs pour Midnight Commander

Tags :

J'adore Midnight Commander, ce gestionnaire de fichiers curses inspiré de Norton Commander. Mais les couleurs bleu/cyan par défaut ne sont vraiment pas dans le ton que j'aime. Changer cela n'est pas difficile, il suffit d'éditer le fichier ~/.mc/ini et ajouter une section [Colors] avec les définitions de son choix.

Pour avoir ceci :

mc1

On utilise cela :

[Colors]
base_color=lightgray,default:normal=lightgray,default:selected=black,lightgray:marked=yellow,default:markselect=yellow,lightgray:directory=brightblue,default:executable=brightwhite,default:link=brightcyan,default:device=yellow,default:special=lightgray,default:errors=red,default:reverse=red,default:gauge=black,lightgray:input=black,lightgray:dnormal=lightgray,default:dfocus=white,gray:dhotnormal=red,gray:dhotfocus=brightred,gray:menu=black,lightgray:menuhot=red,lightgray:menusel=white,default:menuhotsel=red,default:helpnormal=cyan,default:editnormal=lightgray,default:editbold=blue,default:editmarked=gray,blue:stalelink=red,defaul

dans Outils Unix | 2 Commentaires

28 novembre 2008

Hilighting de mot-clefs dans Vim

Tags :

J'écris mes articles pour GLMF directement en HTML/CSS avec Vim. Seulement voilà, la colorisation syntaxique c'est bien beau mais c'est encore mieux lorsque c'est adapté à ce qu'on fait. Pour ma part, en écrivant, j'ai pour habitude de lâcher de ci de là des TODO et autres FIXME. Ces mot-clefs sont mis en valeur dans un commentaire d'un source en C par exemple mais pas dans du HTML.

La solution consiste alors à se créer un ~/.vim/syntax puis d'y copier le fichier html.vim d'origine depuis /usr/share/vim.

Enfin, on y ajoute une simple petite ligne :

syn keyword Todo FIXME TODO

Et vala...

dans Outils Unix | 0 Commentaire