Derniers snippets latest snippets

Logger compatible Firebug et Opera Console

Une petite fonction qui permet de logguer dans la console de Firebug ou d'Opera, sans déclencher d'erreur si ces derniers sont indisponibles.

function log() {
  try {
    console.log.apply(console, arguments);
  } catch(e) {
    try {
      opera.postError.apply(opera, arguments);
    } catch(e) {
    }
  }
}
 
log("Voici un objet: %o", {toto: "tata", coucou: true});
by Nicolas Perriault on 2008-05-10, tagged debug  firebug  firefox  javascript  opera 

Extraire toutes les chaînes d'un fichier binaire

En fait, c'est tout bête (mais qu'est ce que ça peut être utilie !) :

$ strings /usr/bin/iconv 
Written by %s.
char
UCS-4
conversion from %s unsupported
conversion to %s unsupported
conversion from %s to %s unsupported
try '%s -l' to get the list of supported encodings
[...]
by Nicolas Perriault on 2008-04-23, tagged cli  extract  linux  string 

Convertir un timestamp unix en ligne de commande

C'est bête mais ça peut toujours servir.

$ date -r 1204748227
Wed Mar  5 12:17:07 PST 2008
by Nicolas Perriault on 2008-04-18, tagged cli  date  time 

Créer un patch SVN et l'appliquer

Pour mémoire, voici la méthode pour créer un patch depuis un dépôt subversion et l'appliquer sur un autre checkout de ce même dépôt :

$ cd /path/to/instance/1
$ svn diff /tmp/diff.patch
$ cd /path/to/instance/2
$ patch -p0 -i /tmp/diff.patch
by Nicolas Perriault on 2008-04-11, tagged cli  diff  patch  subversion  svn 

Supprimer les espaces des noms de fichier

Pour supprimer tous les espaces des noms de fichier récursivement :

$ find . -type f -regex ".*\ .*" \
       -exec bash -c 'echo "$1";mv "$1" "${1// /-}"' '{}' '{}'  \;

(via maboite.org)

by Nicolas Perriault on 2008-04-08, tagged bash  cli  find 

Déplacement récursif SVN avec xargs

Pour déplacer n fichiers php d'un dépôt subversion :

$ find . -name *.php | xargs -I % svn mv "%" trunk/

On notera qu'on peut appliquer le principe pour toute commande dont l'ordre des arguments est exotique.

by Nicolas Perriault on 2008-04-07, tagged cli  svn  xargs 

Lire les mails en texte brut sous OS X avec Mail.app

Ouvrir un terminal et taper :

$ defaults write com.apple.mail PreferPlainText -bool TRUE
by Nicolas Perriault on 2008-04-02, tagged mac  mail  mailapp  osx 

Symfony, trier aléatoirement les résultat avec Propel et MySQL

Attention, cela ne fonctionnera probablement qu'avec MySQL :

<?php
$c = new criteria;
$c->addAscendingOrderByColumn('rand()');
$results = TotoPeer::doSelect($c);
by Nicolas Perriault on 2008-03-30, tagged order  propel  rand  symfony 

Enbarquer un objet QuickTime en XHTML

Parfois, on a besoin d'inclure une vidéo QuickTime (.MOV) dans une page XHTML :

<!--[if IE]>
<object id="ieqt" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="640" height="415">
  <param name="src" value="toto.mov">
  <param name="autoplay" value="false"/>
  <param name="controller" value="true"/>
  <param name="loop" value="false"/>
  <p><a href="toto.mov">Télécharger la vidéo</a>.</p>
</object>
<![endif]-->
 
<!--[if !IE]><-->
<object id="nonieqt" data="toto.mov" type="video/quicktime" width="640" height="415">
  <param name="autoplay" value="false"/>
  <param name="controller" value="true"/>
  <param name="loop" value="false"/>
  <p><a href="toto.mov">Télécharger la vidéo</a>.</p>
</object>
<!--><![endif]-->
by Nicolas Perriault on 2008-03-26, tagged html  quicktime  video  xhtml 

Ajouter la coloration dans le terminal Mac OS X

Pour avoir de belles couleurs au chargement d'une session dans le terminal OS X (ou iTerm), il faut éditer son fichier ~/.profile et y ajouter cette ligne :

export CLICOLOR=true

Et recharger le profil :

$ . ~/.profile
by Nicolas Perriault on 2008-03-23, tagged cli  colors  mac  osx