~bohwaz/blog/

Avec de vrais morceaux de 2.0 !

Sarkozy pourrait gagner... grâce aux plus de 65 ans !

Selon un sondage mis en avant par le Big Bang Blog, Ségolène Royal est majoritaire dans toutes les tranches d'âges sauf dans celle des plus de 65 ans où on retrouve 75% d'intentions de vote pour sarkozy.

C'est donc cette "catégorie" qui va faire basculer le résultat de l'élection dimanche soir, probablement.

Une france qui "travaille plus pour gagner plus" choisie par ceux qui ne travaillent plus du tout ?

Smarty versus Template_Lite

Template_Lite est censé être la version légère de Smarty en théorie (d'où son ex-nom: Smarty Light), mais en pratique qu'en est-il ? Voici des tests effectués en local sur Apache2 + PHP 5.2.0. Les résultats sont affichés de la manière mémoire utilisée / temps pris.

Chargement (require + new Class; + initialisation des variables)

Moteur Résultat
Smarty 346 Ko / 0,012 sec.
Template_Lite 241 Ko / 0,008 sec.

Template simple sans assign, juste un fetch (10 000 itérations)

Moteur Sans compilation Avec compilation
Smarty 1 354 Ko / 2,707 sec. 282 Ko / 3,217 sec.
Template_Lite 364 Ko / 3,205 sec. 2 Ko / 3,358 sec.

Template simple avec une seule variable assignée à afficher (10 000 itérations)

Moteur Sans compilation Avec compilation
Smarty 1 355 Ko / 3,178 sec. 283 Ko / 3,196 sec.
Template_Lite 368 Ko / 3,3 sec. 3 Ko / 3,298 sec.

Template avec un foreach utilisant un array contenant 6 entrées et un modifieur escape sur chaque affichage de variable (10 000 itérations)

Moteur Sans compilation Avec compilation
Smarty 147 316 Ko / 9,242 sec. 147 316 Ko / 6,997 sec.
Template_Lite 404 Ko / 7,518 sec. 35 Ko / 7,631 sec.

Conclusion : les résultats parlent d'eux-même, smarty a beau être un poil plus rapide, sa gestion de la mémoire semble catastrophique. Victoire à Template_Lite :)

En bonux le code généré par les deux moteurs en template compilé pour le dernier test :

<strong>En smarty :</strong>
<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
smarty_core_load_plugins(array('plugins' => array(array('modifier', 'escape', 'test.tpl', 10, false),)), $this); ?>

<?php $_from = $this->_tpl_vars['truc']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array'); }if (count($_from)):
    foreach ($_from as $this->_tpl_vars['miam']):
?>
 * <?php echo ((is_array($_tmp=$this->_tpl_vars['miam'])) ? $this->_run_mod_handler('escape', true, $_tmp) : smarty_modifier_escape($_tmp)); ?>
<?php endforeach; endif; unset($_from); ?>

<strong>En template_lite :</strong>
<?php require_once('/home/bohwaz/svn/misc/libs/template_lite/plugins/modifier.escape.php'); $this->register_modifier("escape", "tpl_modifier_escape"); ?>

<?php if (count((array)$this->_vars['truc'])): foreach ((array)$this->_vars['truc'] as $this->_vars['miam']): ?>
 * <?php echo $this->_run_modifier($this->_vars['miam'], 'escape', 'plugin', 1); ?>
<?php endforeach; endif; ?>

CLI forever !

Les interfaces graphiques pourront toujours être hyper évoluées, en 3D, etc. que ça ne changera rien : la ligne de commande vaincra toujours. Petit résumé des outils qui roxorisent. Tous ces outils peuvent être installés avec un simple apt-get install.

Les outils de base

ssh est la base de toute utilisation à distance, un simple ssh mon_ip vous permettra de vous connecter à votre machine à distance. Sous Mac OSX, le terminal est dans les Utilitaires (Pomme + Shift + U dans le Finder). Sous Windows vous devrez utiliser Putty.

Si vous utilisez souvent la ligne de commande, vous allez vite avoir besoin d'une manière de gérer plusieurs applications dans le même terminal. Pour ça, screen est le meilleur gestionnaire de fenêtres en console. Plus exactement screen est un émulateur de console, et il fait le café. Vous pouvez émuler plusieurs types de consoles matérielles, vous connecter via le port série à une machine (pratique pour les serveurs en baie), avoir une barre des tâches avec liste des fenêtres et tout ce que vous voulez, etc etc.. Son utilisation de base est de simplement lancer screen dans une console et de créer d'autres fenêtres avec la commande "c" (create). A ce propos, screen a des raccourcis claviers un peu inhabituels. Une commande screen est toujours précédée d'un raccourci, qui par défaut est Ctrl-A. Donc par exemple pour créer une nouvelle fenêtre, faites Ctrl-A, relâchez et faites "c". Pour aller à la fenêtre suivante, Ctrl-A/n (next), pour la précédente Ctrl-A/p (previous), etc.. Il existe de nombreuses docs et formations. Je reparlerais peut-être des nombreuses possibilités de screen plus tard si ça en intéresse. J'utilise screen sur mes différents serveurs pour maintenir ma session et retrouver mes applis et terminaux dans l'état où ils étaient avant.

Pour gérer les fichiers rien ne vaux les outils de base : mv, rm, cp, ln, etc.. Vous trouverez difficilement mieux, sauf si vous êtes fan de Midnight Commander (mc). Pour la recherche, find, locate et rgrep sont vos amis.

Le plus important c'est d'avoir un bon terminal X. Je vous conseille aterm. Bien qu'il ne supporte pas encore l'UTF-8, il est aussi léger que xterm mais se permet le luxe de gérer des options intéressantes comme la transparence. Contrairement aux consoles de m**** comme konsole, gnome-console ou xterminal, il n'utilise pas de fonte lissée, tout en gardant une fonte classe. Pour la transparence, faire aterm -tr -sh 50 +sb -fade 90 et rajoutez +rv (couleurs inversées) si vous avez un fond sombre. -fade permet d'assombrir le terminal lorsqu'il n'a pas le focus.

Communication

Pour rester en contact avec le monde, rien ne vaux mieux qu'irssi en tant que client IRC. C'est le plus répandu, il existe de nombreux greffons, plugins et scripts pour l'adapter à vos besoins. Il existe également weechat qui se veux le digne descendant d'irssi mais avec plus de fonctionnalités, une gestion de l'UTF-8 par défaut, une liste des contacts toujours présente à l'écran, etc.. J'utilise irssi sur mon serveur à distance, dans un screen via ssh.

Pour jabber je n'ai pas trouvé quoi que ce soit de satisfaisant. Il y a cabber ou imcom mais pas vraiment de bonnes solutions. La meilleure solution semble être bitlbee, qui est une passerelle IM<->IRC, ce qui signifie que vous pouvez continuer d'utiliser votre irssi pour parler à vos contacts IM. Il est basé su Gaim et gère Jabber, MSN, AIM, Yahoo, etc.. Sa gestion de Jabber était plutôt décevante mais la partie Jabber a été totalement réécrite récemment. Il existe également centericq qui contrairement à son nom gère une palanquée de protocoles, mais n'est pas multi-comptes (un seul compte d'un seul protocole) ainsi que tmsnc qui ne gère que MSN et qu'un seul compte à la fois. Ce dernier a donné naissance à Fama IM qui semble prometteur mais qui n'a encore pas sorti de version publique. J'utilise bitlbee via mon irssi à distance.

Pour le surf web, je ne saurais que trop vous recommander links2 qui est plutôt simple à utiliser, mais il existe toujours le grand frère lynx, puissant mais un poil plus complexe. J'utilise souvent lynx pour me dépanner en console sur mes machines de bureau, télécharger des drivers, etc. J'utilise Opera comme navigateur web graphique sinon.

Pour le téléchargement/upload, ncftp est le client FTP parfait et rtorrent le client BitTorrent le plus adapté. J'utilise ncftp (couplé à vsftpd) pour faire transiter les fichiers entre mes machines.

Multimédia

Pour la musique je ne peux que vous conseiller l'excellent ncmpc allié au serveur mpd pour Music Player Daemon. Ce serveur est basé sur une gestion d'un catalogue musical et est particulièrement performant pour les collections musicales de plusieurs centaines de morceaux. Le principe est simple : c'est le serveur qui lis la musique avec sa carte son, et le client permet de contrôler cette lecture (un peu comme une télécommande). Et ncmpc est parfait, il permet de gérer très facilement tout ça, dans une rapidité surprenante. Evidemment il existe toute une floppée d'autres clients (GTK, QT, web, etc.) pour accéder au contrôle du player. Inconvénient : Il faut mettre à jour la base de données dès qu'on ajoute des morceaux. J'utilise mpd sur mes serveurs et ncmpc sur toutes mes machines pour les contrôler (beaucoup de musique, besoin de s'y retrouver).

Si vous préférez ne pas avoir à gérer une base de données et accéder à vos fichiers en direct, moc (Music On Console) est un lecteur musical qui reprends certaines idées de MPD mais de manière plus flexible et plus simple. Un simple mocp en console et vous pouvez vous promener dans vos fichiers (à gauche) et les ajouter dans la playlist (à droite). Si vous quittez le client, la musique continue de jouer car moc lance un serveur de lecture. Très pratique. J'utilise moc sur mon laptop (peu de musique, besoin d'être rapide).

Pour tout ce qui est vidéos, même en mode graphique, mplayer surpasse tout le monde. Léger, bien foutu, customisable à fond, supportant des tas de formats, il est simplement parfait. J'utilise mplayer sur toutes mes machines pour regarder des films ou dumper des flux vidéos/audios. Son frérot mencoder vous aidera pour tout ce qui est encodage vidéo.

Divers

calcurse est très intéressant mais ne gère pas encore (hélas) la synchro avec mon Palm.

D'autres pistes chez nawer.

picoBlog 1.0

picoBlog is a simple and lightweight (20K of code including xhtml and css) blogging tool written in PHP5 to write easily and fastly new entries.

Features :

  • Permalink
  • RSS feed of 20 last entries
  • Chronological order of entries or reversed order
  • Pagination of entry list
  • Number of entries by page could be configured
  • Fast and lightweight : direct use of PHP arrays
  • Admin access by login and password, could be configured
  • User CSS is possible
  • HTML allowed in entries

Download the code : http://svn.kd2.org/svn/misc/apps/picoblog/index.php

Installation : just save the file at the root of a new empty directory in your web server.

picoBlog 1.0

picoBlog est un outil de blog en PHP5 très simple et léger (20Ko, xhtml et CSS compris) fait pour bloguer des petites entrées rapidement.

Fonctionnalités :

  • Permalink
  • Flux RSS des 20 dernières entrées
  • Ordre des billets chronologique / anté-chronologique
  • Pagination de la liste des billets
  • Nombre de billets par page configurable
  • Léger et rapide : stockage direct en array PHP [1]
  • Accès admin par login/mot de passe configurable
  • CSS perso possible
  • HTML autorisé dans les billets

Le code est à télécharger ici : http://svn.kd2.org/svn/misc/apps/picoblog/index.php

Installation : il suffit d'enregistrer ce fichier à la racine d'un répertoire vierge de votre espace web.

[1] Léger et rapide jusqu'à un certain point, avec plusieurs milliers de billets ça doit commencer à bien ramer.

To vote or not to vote

Le premier tour des élections c'est dimanche. Et je ne sais pas quoi voter. Comme pas mal de monde au final. Pour quelqu'un plutôt humaniste comme moi, qu'on pourrait qualifier de gauche, le choix est difficile. Même si on sais qui sont les plus dangereux et parmis eux ceux qui ont de trop grandes chances de gagner le pouvoir. On sais depuis longtemps que Le Pen est dangereux, et il est déjà effarant de voir qu'un mec comme lui peux cumuler près de 20% des suffrages des moins de 30 millions de votants; mais il est moins clair visiblement que Sarkozy est également particulièrement dangereux. Sa position de leader de l'ex-RPR lui donne un certain nombre de voix, mais ça n'explique pas le soutien qu'à cet ignoble individu dans l'opinion publique. Je dois avouer que Sarkozy me fait bien plus peur que Le Pen, car Sarkozy a bien plus de chances de gagner le pouvoir via ces "élections" soi-disant "démocratiques". A l'étranger, on a également peur de la montée en puissance de ce raciste, homophobe et populiste. On en parle par exemple dans Le Soir (belgique).

De là, et en supposant qu'on accepte de cautionner le système "démocratique" en vigueur en france en allant voter pour élire un-e représentant-e qui n'a aucune obligation ou compte à rendre, on se retrouve déjà entre deux choix opposés. On peux voter "pour" ou voter "contre". Voter pour les idées dont on se sent proche (en l'occurence dans mon cas ce sont celles de Lutte Ouvrière), ou voter contre les éléments dangereux et donc un-e candidat-e qui ait de sérieuses chances d'arriver au second tour. Ce choix contre est assez réduit puisqu'on a d'un côté Royal et le PS, qui sont ouvertement libéraux (à l'opposé de mes idées donc) en étant totalement hypocrites, qui virent également dangereusement vers le populisme (via les fameux drapeaux dans tous les foyers notamment), et de l'autre Bayrou et l'UDF, parti notoirement libéral, mais qui a des idées et applications bien plus à gauche que le PS (pourtant se prétendant à gauche). Vous aurez suivi un peu mon argumentaire et donc vous verrez que les 4 "principaux partis" sont de droite (PS, UDF) ou d'extrême-droite (UMP, FN), plutôt gênant pour quelqu'un qui se situe à gauche. En partant de l'idée qu'on veux voter pour le "moins pire", encore faut-il déterminer qui est ce "moins pire". Le PS, derrière la privatisation de France Télécom, d'EDF, des lois LSI qui réduisent nos libertés individuelles ? L'UDF dont certains députés ont un niveau de vie indû, mais qui a su se séparer des alliances avec le FN ?

C'est une question sans fin, parce que d'abord les différences entre ces deux partis sont minimisées par l'hypocrisie du PS qui brouille les pistes, et ensuite car on ne sera jamais d'accord avec la plupart de leurs idées, ce qui fait qu'on n'a aucune envie de faire un choix. Voter "contre" est donc un choix stratégique, mais un choix inutile parce qu'on en sortira sûrement pas grandis et on aura surtout l'impression d'agir simplement comme un mouton. Mais voter pour le parti le plus proche de ses idées est risqué également. Si au second tour on se retrouve avec Sarkozy/Le Pen, impossible de voter pour l'un des deux, même avec un semblant de prétexte de "sursaut démocratique" (ah ah ah c'te blague). Donc sentiment de culpabilité. Mais au second tour, si on avait le choix uniquement entre Le Pen/Royal/Sarkozy/Bayrou que ferait-on ? Personnellement aucun de ceux-là ne m'intéresse en réalité.

Au final j'ai beaucoup de questions, des éléments de réponses, mais pas encore de choix. Voter est difficile, surtout quand on est loin d'approuver le système de vote utilisé. Le plus désarmant est de n'avoir aucun poids dans un quelconque processus de décision. On ne décide rien. On est que spectateur du système.

Le merveilleux monde des "professionnels" de la musique

Je me suis déjà largement énervé contre les ingé-son et leur gestion catastrophique de la dynamique (et c'est de pire en pire d'ailleurs). J'y ai d'ailleurs raconté n'importe quoi puisque l'utilisation de ReplayGain ou la normalisation des titres ne changera rien au problème de la dynamique qui est compressée à la porky, même si on baisse le son, c'est tout le morceau qui sera moins fort alors que la dynamique représente l'écart entre les parties les plus calmes et les plus fortes d'un morceau (pour simplifier) et que dans ce cas-ci on fait en sorte que les parties calmes soient aussi fortes que les parties fortes, ce qui n'a absolument aucun sens. Et ceci jusqu'à l'excès. Le dernier No One Is Innocent par exemple est inécoutable (en dehors du fait que l'album lui-même est plutôt moyen).

Mais bref voilà aujourd'hui on va croire que je suis asocial mais je vais encore m'énerver contre certains soi-disant "professionnels" du monde de la musique. Je suis sûr que vous en avez déjà rencontré, un de ces mecs qui vous parle de tout et n'importe quoi et qui vous montre sans cesse son savoir en vous faisant bien voir que vous n'y connaissez rien. Quel que soit le matériel que vous aurez, il ne sera jamais assez bien, ils trouveront toujours quelque chose à redire, et du haut de leur "grande" expérience vous diront que "rien ne vaux un bon (insérez ici un nom de marque dont la moindre vis nécessite un emprunt sur 10 ans)". Bref, pour eux, rien n'est jamais assez parfait. Peu importe que la musique soit un simple passe-temps pour vous, la critique sera toujours acerbe comme si vous êtiez le producteur de l'orchestre de Londres. Et surtout il ne sera jamais question de vous donner la moindre aide, vous serez simplement délaissé et ignoré.

Le monde de la musique en france est très particulier, pour ne pas dire plutôt pourri en réalité. Entre tous les groupes qui dès qu'ils ont écrit la moindre chanson veulent gagner des thunes, produire des CDs et trouver un label, et tous les "techniciens" qui se prennent pour une certaine élite en prenant grand soin d'évincer ceux qui s'intéressent justement aux techniques du son, c'est un univers plutôt à part. D'abord il y a le délire généralisé, ici en france, d'assimilation de la musique à une activité subversive (rebelle attitude) mais aussi une volonté à peine cachée de vouloir faire du fric, ce qui est déjà un poil contradictoire. Mais ensuite le problème c'est que face à leur plan de carrière, les artistes oublient un peu de faire des choses intéressantes et de faire confiance à leur public. Quand je vois le nombre de groupes dont la seule activité est devenue de chercher des journalistes, des plans médias, des festivals, de sortir des CDs promo pour démarcher les labels, c'est assez hallucinant, parce que les mecs se fourvoient dans un truc qui est quasiment sans espoir. Je m'éloigne un peu mais je crois que cette attitude est bien indicative de la "maladie" des pratiques musicales en france, qui consiste à placer cet "art" sur un piédestal par rapport aux autres, un piédestal qui n'as pas lieu d'être.

La question essentielle là-dedans c'est la pratique amateur. Tous les comédiens et élèves en cours de théâtres ne cherchent pas à aller à la Comédie Française, et l'idée ne les intéresse même pas. Mais la plupart des musiciens rêvent d'être aux Victoires de la Musique (qui sont pourtant une vaste blague[1]). Pourquoi ? Je ne comprends toujours pas. Quelle est la honte à avoir une pratique amateur ? A pouvoir se planter, à juste se faire plaisir, sans engagement, sans rien ? J'avoue ne pas comprendre. Mais ce délire globalisé est plutôt gênant quand comme moi on aime vraiment beaucoup la musique, quand on essaye de monter un label, quand on essaye de créer des choses innovantes, de sortir des chemins battus, de soutenir les artistes qu'on aime... Je pense sincèrement que la musique est et doit rester une pratique amateur. C'est pour ça que je travaille à créer des réseaux parallèles de distribution et de production, mais j'en reparlerais sûrement bientôt ;)

Pour en revenir aux "techniciens" de la musique, je dois dire que leur comportement est également incompréhensible. D'un côté on a des gens qui font un superbe travail, et de l'autre ils font tout pour dégoûter d'autres de faire le même. Ils se battent pour garder leur savoir jusqu'à en devenir ridicules. Je me souviens très bien des rires quand j'ai demandé (à 14 ans) ce qu'était un anti-pop[2]. Il y a un problème quand on est pas capable d'expliquer des choses simples, qu'on préfère sciemment raréfier le savoir. J'ai dû attendre plusieurs années avant que quelqu'un daigne m'expliquer le principe de la dynamique du son. Heureusement que certains n'ont pas peur de transmettre leur savoir et permettent ainsi à de nouvelles têtes d'apprendre de nouvelles choses sans se heurter à des murs.

Mais le problème reste que ce milieu est très fermé et se referme encore beaucoup sur lui-même. Ca fait très ambiance élite et c'est vraiment, vraiment détestable. Par exemple, ne dites jamais que vous avez une console ou je ne sais quel matériel Behringer (ça marche avec d'autres marques mais celle-ci à un particulièrement mauvais karma chez les "pro"), vous allez tout de suite essuyer des "ouais mais c'est de la merde", ou autres remarques désagréables, alors que vous êtes probablement très content de votre matos, qui vous a déjà coûté assez cher (mais pour un "pro", le bon prix c'est celui de la marque prestigieuse X ou Y), la personne en face pourrait très bien accepter votre choix mais non faut qu'elle vous descende en vous faisant comprendre que vous avez fait un mauvais choix. Pourtant pas mal de véritables professionnels utilisent du Behringer, et pas pour le prix... Sans compter qu'il sera toujours très fier de vous annoncer que votre mix sonne pas bien dans la fréquence 34567Hz sur ses enceintes d'écoute à trois plaques, ce dont vous vous foutez toujours éperdument. Mais là encore la technique du sapage est rôdée, et la personne fera comme si tout ce que vous faites est uniquement destiné à être écouté sur des installations Hi-Fi de mecs qui sont pétés de thunes.

On est un peu face à des autistes qui se croient tout puissants. Le problème c'est que même si leurs "conseils" sont parfois pertinents, l'attitude employée fera que tout le monde s'en foutra, et c'est d'autant plus dommage que le son est plein de choses passionantes (dont je ne maîtrise pas le dixième d'ailleurs).

En conclusion on peux dire que la pratique amateur est primordiale et qu'il faut apprendre à différencier un avis objectif d'un avis de pur sapage, comme ça arrive souvent sur Audiofanzine par exemple. Pas facile mais face à des gens qui font tout pour vous empêcher de pratiquer votre art comme vous l'entendez, il faut bien y arriver et ne pas les laisser faire. La musique est une passion, une occupation, mais pas un pression.

[1] Vous avez remarqué que les gagnants des Victoires de la Musique 2007 sont tous signés chez Universal ? Quel heureux hasard...

[2] Un anti-pop est une sorte de "filtre" que vous placez devant un micro afin de diminuer les plosives dans la voix (= les "PP" qui provoquent plus d'air dégagé et donc un effet de "pop" sur l'enregistrement)

Export de logs Gajim

Il existe déjà un script d'export des logs de Gajim, écrit en Python, mais voici mon propre script d'export des logs en PHP5. Vous aurez besoin donc de PHP5 supportant PDO pour l'accès à la base SQLite de Gajim. Le script fonctionne en ligne de commande, faites ./gajim-log-export --help pour obtenir plus d'infos sur les options du bouzin.

Ca se télécharge ici : http://svn.kd2.org/svn/misc/apps/gajim-log-export/trunk/gajim-log-export

N'oubliez pas de faire un petit chmod +x après téléchargement pour rendre le script exécutable. Pour l'instant ce script n'exporte qu'au format de logs d'Irssi, mais peut-être plus tard en xHTML ou d'autres formats.

Mais tout ça en revient à ma question que je me posais sur la gestion unifiée des logs. Si vous connaissez un soft qui prends toutes sortes de logs et les mets dans une BDD ça m'intéresse. Enfin sinon un jour je le ferait mais c'est un peu chiant. Le meilleur serait un export des logs dans une BDD pour utilisation quotidienne (recherches etc.) et un export en xHTML pour l'archivage.

Notes rapides... ↓