awesom's tipshttp://localhost:8080undefined descriptionsupprimer la barre de défilement verticale sous firefoxhttp://localhost:8080/show?id=24
  /* hide vertical scrollbar */
  notificationbox {
      overflow-x: hidden;
  }
  browser[type="content-primary"], browser[type="content-targetable"] {
      overflow-y: scroll;
      margin-right: -12px; /* 12px == width of the scrollbar */
  }
]]>
Activer les core dumps sous Linuxhttp://localhost:8080/show?id=23
    ulimit -c unlimited
]]>
Aligner les commentaires en C ou C++ avec Emacshttp://localhost:8080/show?id=22Ensuite, pour aligner les commentaires situés sur la ligne où on est, il suffit de M-;]]>Convertir du pdf en pnghttp://localhost:8080/show?id=21
  convert -density 150 foo.pdf foo.png
]]>
slackware -currenthttp://localhost:8080/show?id=20
  rsync -rvz --delete rsync.osuosl.org::slackware/slackware-current /usr/slackware/slackware-current/
et de mettre à jour en suivant le UPGRADE.TXT

Pour plus de détails:

- http://www.slackwiki.org/Rsync

- http://wiki.slackware-fr.org/administration:trucs:mettre_a_j...]]>indenter du xmlhttp://localhost:8080/show?id=19

  #!/bin/sh
  
  cat > /tmp/xmlind.$$ <<!
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output method="xml" indent="yes" />
     <xsl:strip-space elements="*" />
     <xsl:template match="/">
        <xsl:copy-of select="." />
     </xsl:template>
  </xsl:stylesheet>
  !
  
  xsltproc /tmp/xmlind.$$ -
  rm /tmp/xmlind.$$
]]>
addresse MAC aléatoirehttp://localhost:8080/show?id=18
  mac=`(dd if=/dev/urandom count=1 | md5sum | dd ibs=1 count=10 \
        | sed -e 's/\(..\)/:\1/g;s/^/00/') 2>/dev/null`
]]>
Avoir un comportement normal pour ^W dans bashhttp://localhost:8080/show?id=17
  set bind-tty-special-chars Off
(Sans quoi la prochaine manipulation ne fonctionnera pas)

Puis à rajouter dans son .bashrc :

  bind '\C-w:backward-kill-word'
]]>
Flux non-lus dans newsbeuterhttp://localhost:8080/show?id=16Avec screen, ça se fait avec l'utilisation de [backtick](http://www.gnu.org/software/screen/manual/screen.html#Backti...) et de [hardstatus](http://www.gnu.org/software/screen/manual/screen.html#Hardwa...)]]>Exceptions de proxy dans Chromehttp://localhost:8080/show?id=15
    no_proxy=localhost http_proxy=http://runcache.univ-reunion.fr:8080/ google-chrome
Il est possible de séparer les exceptions par des virgules, comme pour Firefox.]]>
MALLOC_CHECK_ et corruption de la pilehttp://localhost:8080/show?id=14Sous Linux, pour avoir un diagnostic utile (autre qu'un segfault aléatoire au bout d'un certain temps), lancez votre programme en mettant la variable d'environnement MALLOC_CHECK_ à 1 ou 2, ou 3, et regardez ce que vous raconte stderr. :) Ça permet de mieux voir où est le problème. Plus d'infos dans le man linux de malloc.]]>Avoir un comportement normal pour ^W dans zshhttp://localhost:8080/show?id=12
  export WORDCHARS=${WORDCHARS:s,/,,}
]]>
Rendre hg plus convivialhttp://localhost:8080/show?id=11Ces plugins sont inclus de base avec mercurial, il suffit donc d'ajouter ceci au ~/.hgrc pour les activer:

    [extensions]
    pager =
    color =
]]>
Conversion de musiquehttp://localhost:8080/show?id=10
  $ for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -ao pcm:waveheader "$i" && lame -m s audiodump.wav -o "${i%wma}mp3"; done;
Avec flac & lame, pour du flac vers mp3 :

  $ for i in *.flac; do $(flac -cd "$file" | lame -h - "${file%.flac}.mp3"); done
]]>
Des maths avec la touche composehttp://localhost:8080/show?id=9
    include "%H/.XCompose.math"
Et le fichier ~/.XCompose.math contient par exemple:

    <Multi_key> <8> : U221E # oo
    <Multi_key> <b> <c> : U2102 # |C
    <Multi_key> <b> <d> : U210D # |H
    <Multi_key> <b> <n> : U2115 # |N
    <Multi_key> <b> <p> : U2119 # |P
    <Multi_key> <b> <q> : U211A # |Q
    <Multi_key> <b> <r> : U211D # |R
    <Multi_key> <b> <z> : U2114 # |Z
    <Multi_key> <d> <e> <l> : U2202 # del
    <Multi_key> <v> <a> : U2200 # pour tout
    <Multi_key> <v> <e> : U2203 # il existe
    <Multi_key> <v> <v> : U221A # racine
    <Multi_key> <e> <q> : U2248 # approx
et si on a pas déjà de touche compose configurée, on ajoute (par exemple) ça au .xinitrc:

    setxkbmap -option compose:menu
Pour ajouter des caractères, voir la table UTF-8[1] ainsi que /usr/share/X11/locale/en_US.UTF-8/Compose et compose(5).

[1]: http://www.utf8-chartable.de/]]>Mise à jour des jails sous FreeBSD (ezjail inside)http://localhost:8080/show?id=8

    ezjail-admin update -u
Pour update l'arbre des ports :

    portsnap fetch update
    ezjail-admin update -P
]]>
Mount(1)er des partitions Minix depuis GNU/Linuxhttp://localhost:8080/show?id=7
  http://minix1.woodhull.com/faq/mxfromlx.html

Pour résumer, Linux ne supportant pas le système de sous-partitionnement de Minix, il faut créer des « loop-devices » afin de représenter ce sous-partitionnement.]]>
Superman!http://localhost:8080/show?id=6
  # Lister les pages de manuels de la section 7
  % man -w 7 \* | sed 's#.*/\(.*\)\.[0-9]#\1#g'
  # Pour les afficher
  % man -a 7 \*

  # Rechercher les pages de manuels X11 celles dont le nom contient
  # « Error »
  % man -w X11 \* | 9 awk -F'/' 'match($NF, /.*Error.*/) { $0 = $NF; sub(/\.[0-9]/, ""); print }'
  # Edit: ou plus simplement...
  % man -w X11 \*Error\* | sed 's#.*/\(.*\)\.[0-9]#\1#g'

  # Créer des sections:
  #  man local foo : rechercher la page de manuel de foo dans celles sitées dans
  # /usr/local/man
  % grep ^local /etc/man.conf  
  local           /usr/local/man/
]]>
wget robots.txthttp://localhost:8080/show?id=5
    wget -m -np -e robots=off http://awesom.eu/
]]>
Wallpaperhttp://localhost:8080/show?id=4
  % fn setbg { xv -smooth -root -quit $* >[2] /dev/null; }
  % setbg foo.jpg
]]>
Graver une isohttp://localhost:8080/show?id=3
  # cdrecord -v dev=/dev/rcd0c /path/to/foo.iso
]]>
Emacs -nw et Xhttp://localhost:8080/show?id=2
    (defun x-copy-region ()
      (interactive)
      (let* ((process-connection-type nil)
             (proc (start-process "xsel" nil "xsel" "-i")))
        (send-region proc (region-beginning) (region-end))
        (process-send-eof proc)))
]]>
Clearhttp://localhost:8080/show?id=1
  $ bind -m '^L'="^Cclear^M"
]]>
popup windowshttp://localhost:8080/show?id=36
  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLowDiskSpaceChecks
et la mettre à 1.

(démarrer->exécuter->regedit pour avoir l'éditeur de registre)]]>récupérer des prototypes de fonctionhttp://localhost:8080/show?id=34

  int
  main(int argc, char *argv[])
et on utilise sed pour agrémenter la sortie:

  #!/bin/sh
  
  {
          sam -d $* &> /dev/stdout << EOF
                  ,x/^[a-z]+\(/-1,+- 
  EOF
  } | sed -e 1d -e 'N;s/\n/ /;s/\)/&;/' -e 's/([a-z]+) ([*]*)[a-z0-9]+([,)])/\1\2\3/g'
(XXX utiliser sam au lieu de sed)]]>
Extraire plusieurs pages d'un .djvuhttp://localhost:8080/show?id=33
    for page in $(seq 170 185)
    do
        djvused big.djvu -e "select $page; save-page-with page-$page.djvu"
    done
    djvm -c small.djvu page-*.djvu
]]>
\WINDOWS\SYSTEM32 \CONFIG\SYSTEM manquanthttp://localhost:8080/show?id=32
  mount -t ntfs-3g /dev/sda1 /mnt/windows
  cd /mnt/windows/WINDOWS/system32/config
  mv default default.old
  mv SAM SAM.old
  mv SECURITY SECURITY.old
  mv software software.old
  mv system system.old
  cd /mnt/windows/System\ Volume\ Information/_restore*
  cd RP
  cd snapshot
  cp _REGISTRY_MACHINE_SAM /mnt/windows/WINDOWS/system32/config/SAM
  cp _REGISTRY_MACHINE_SECURITY /mnt/windows/WINDOWS/system32/config/SECURITY
  cp _REGISTRY_MACHINE_SOFTWARE /mnt/windows/WINDOWS/system32/config/software
  cp _REGISTRY_MACHINE_SYSTEM /mnt/windows/WINDOWS/system32/config/system
  cp _REGISTRY_USER_.DEFAULT /mnt/windows/WINDOWS/system32/config/default
]]>
titre du terminalhttp://localhost:8080/show?id=31
  $ echo -ne "\033]0;${PWD}/-${HOSTNAME}\007"
Et si l'on est dans screen(1), on peut utiliser la variable PROMPT_COMMAND pour changer le titre à chaque exécution de commandes:

  $ PROMPT_COMMAND='echo -ne "\033]0;${PWD}/-${HOSTNAME}\007"'
]]>
Éviter les problèmes avec les espaces insécableshttp://localhost:8080/show?id=30
    highlight NbSp ctermbg=lightgray guibg=lightred
    match NbSp /\%xa0/
Et on peut automatiquement les remplacer par des espaces normaux dans zsh:

    function space {
      LBUFFER+=" "
      zle self-insert
    }
    zle -N space
    bindkey " " space
]]>
Vitesse d'une interface ethernet (linux)http://localhost:8080/show?id=29
  # dmesg | grep -i eth0
  ...
  [   53.854565] tg3 0000:09:00.0: eth0: Link is up at 100 Mbps, full duplex
  ...
  # ethtool eth0 | grep Speed
          Speed: 100Mb/s
Pour changer la vitesse (10Mb/s), soit avec ethtool, ou mii-tool

  # ethtool -s eth0 speed 10
  # mii-tool -F 10baseT-FD eth0
]]>
Limiter le nombre de fichiers ouverts sous FreeBSDhttp://localhost:8080/show?id=28En effet, le nombre de fichiers ouverts au total est:

    # sysctl kern.maxfiles
    kern.maxfiles: 12328
Et le nombre de fichier ouvert par processus

    # sysctl kern.maxfilesperproc
    kern.maxfilesperproc: 11095
On limite donc cette valeur (qui est a 1024 par défaut sous linux, cf. ulimit -n), par exemple:

    # sysctl kern.maxfilesperproc=5000
]]>
rename lowercase space comma - for mp3http://localhost:8080/show?id=27
  rename 'y/A-Z/a-z/' *; rename 's/ - /-/g' *; rename 's/ /_/g' *; rename "s/\'//g" *;
heaumer style (not tested) :

  for i in *; do mv "$i" `echo $i | sed 'y/A-Z/a-z/;s/ - /-/g;s/ /_/g;s/\'//g'`; done
]]>
bare repository et clone automatique avec githttp://localhost:8080/show?id=26
  # on cherche à avoir un bare repository sur remote ainsi
  # qu'un répértoire contenant la dernière version des
  # fichiers, sur remote aussi.
  # voir http://toroid.org/ams/git-website-howto pour
  # plus d'informations
  
  # on crée un repository en local que l'on copie sur remote
  (local)$ mkdir website; cd website; git init
  (local)$ echo '<p>hello, world</p>' > index.html
  (local)$ git commit -a -m 'testing'
  (local)$ cd ../; scp -r website/ remote:/tmp/
  
  # on initialise le bare repository
  (remote)$ cd ~; git clone --bare /tmp/website/.git website.git; cd website.git
  # on crée le répertoire devant contenir les fichiers du
  # repository
  (remote)$ mkdir ~/www/
  # on met à jour ce répertoire à chaque fois qu'une
  # modification est effectuée sur le bare repository
  (remote)$ cat > hooks/post-receive <<EOF
  #!/bin/sh
  GIT_WORK_TREE=~/www/ git checkout -f
  EOF
  (remote)$ chmod +x hooks/post-receive
  
  # ajout d'une branche master
  (local)$ cd website/; git remote add web remote:~/website.git
  (local)$ git push web +master:refs/heads/master
  [...]
  (local)$ git push web
]]>
mounter plusieurs fois le même système de fichierhttp://localhost:8080/show?id=25
  # mount --bind /dev /mnt/otherlinux/dev
  # mount -B /proc /mnt/otherlinux/proc
  # chroot /mnt/otherlinux
  (chroot)# mount /dev/sda1 /mnt/foo
]]>