Jamis Buck annonce la sortie de la version 2.5 de Capistrano. L’annonce décrit les évolutions, dont :
- parallel() helper (mise à jour de plusieurs serveurs en parallèle en fonction de leurs états respectifs)
- Chained gateways (autorise l’accès à travers plusieurs passerelles)
- “-s” and “-S” infer the types of their arguments (généralise l’option de ligne de commande)
- deploy:rollback and mongrel (résoud le crash de mongrel au redémarrage)
- Dry-run mode (exécution à blanc)
La mise à jour est classique :
xtian$ sudo gem update capistrano
Password:
Updating installed gems...
Bulk updating Gem source index for: http://gems.rubyforge.org
Attempting remote update of capistrano
Successfully installed capistrano-2.5.0
1 gem installed
Installing ri documentation for capistrano-2.5.0...
Installing RDoc documentation for capistrano-2.5.0...
Gems updated: capistrano
Vous connaissez probablement la plaisanterie sur la planification.
Les 90 premiers pour cents du travail prennent 90% du temps, les derniers 10% prennent 90% du temps.
Jff Atwood a écrit un article sur le sujet. Le cœur du problème tient en une phrase.
This software developer does not have a detailed list of all the things he needs to do. Which means, despite adamantly claiming that he is 99 percent done — he has no idea how long development will take! There’s simply no factual basis for any of his schedule claims.
Jeff conclut par une liste en 5 points pour prévenir le problème.
La première méthode qui vient à l’esprit pour disposer de la documentation de référence de Ruby on Rails quand on n’est pas connecté est d’aspirer le site web.
wget -r -w 1 http://api.rubyonrails.com
Mais ce n’est pas la peine si vous avez installé Rails avec gem : vous avez un serveur local à disposition. Lancez :
Puis pointez votre navigateur sur http://localhost:8808/. Ça marche, mais je trouve l’interface utilisateur pénible. (Quand je suis connecté, j’utilise gotAPI.) Il y a une alternative sur RailsBrain.com avec un ZIP à télécharger.
Pour une raison que je n’ai pas cherché à élucider, je n’ai pas réussi à décomprimer le fichier sous Vista. Je l’ai décomprimé sous Mac OS X puis copié sur mon portable…
Brian Di Croce a résumé le TDD en trois fiches dont voici la première.

Mon nouveau disque dur externe fait 1To (un teraoctet) soit 1.000.204.886.016 octets (mille milliards d’octets), ou encore 1012 octets. Conformément aux habitudes des vendeurs de disques durs, il ne fait pas 240 octets (1 Tio ou 1.099.511.627.776 octets). Pour tous savoir sur les unités SI et binaire, l’article de Wikipedia est intéressant.

disque dur externe iomega
C’est un eGo Desktop Hard Drive couleur Midnight Blue ; la photo ne lui rend pas justice. Il est inaudible quand il est inactif (pas de ventilateur) et silencieux quand il est en service, le seul bruit notable étant la légère vibration au démarrage et le clic de parcage de la tête de lecture.
J’ai découvert une paire de commandes qui peuvent se révéler utiles : pbcopy et pbpaste. pbcopy place dans le presse-papier les données injectées dans son entrée standard (stdin). Utile pour copier le résultat de l’exécution de commandes ou le contenu de fichiers non visibles dans le Finder. Par exemple pour copier le contenu de sa clef publique :
cat ~/.ssh/id_rsa.pub | pbcopy
Un vague désappointement : l’aide n’est pas disponible par pbcopy --help comme pour les commandes bien élevées, mais par pbcopy -help. Ça ne serait pas si énervant si le résultat présentait un quelconque intérêt, mais voici ce qu’on obtient :
xtian$ pbcopy -help
2008-08-21 22:53:47.569 pbcopy[13212:10b] Usage: pbcopy [-help]
Utile, n’est-ce pas ?
pbpaste est la commande réciproque, exercice laissé au lecteur.
[via github]
Pour éditer un fichier sur un serveur accessible par SSH, il suffit d’indiquer l’éditeur de votre choix dans les préférences de Fugu, déjà cité.

La sauvegarde du fichier dans TextMate va provoquer sa copie immédiate sur le serveur.
Dans la masse de thèmes WordPress disponibles, gratuits ou payants, il est aisé d’en trouver qui conviennent (quels que soient vos critères, il y en a des centaines). Mais il y a toujours des adaptations à y apporter, soit pour des besoins objectifs de votre blog, soit simplement pour le différencier des autres.
Vous pouvez bien sûr éditer le thème directement. Mais si le thème est mis à jour par l’auteur, soit vous écrasez vos modifications, soit vous ignorez les nouveautés. Dommage.
WordPress comporte un mécanisme pour régler le problème. Observez l’entête du fichier style.css:
/*
THEME NAME: Black and Blue and Read All Over
THEME URI: http://internetducttape.com/tools/wordpress/themes/black-blue-read-theme-sandbox/
DESCRIPTION: Black text on a white background with blue links and highlights. Follows the 100E2R (100% Easy to Read) standard.
VERSION: 2007-07-28
AUTHOR: engtech
AUTHOR URI: http://InternetDuctTape.com
TEMPLATE: sandbox
*/
Le champ TEMPLATE indique le thème d’origine. WordPress va utiliser votre feuille de style et utiliser les templates du thème d’origine. Voici comment procéder.
Pas à pas
- Dans le répertoire wp-content/themes/, créez un sous-répertoire qui sera le nom de votre thème. Par exemple wp-content/themes/tropblack/.
- Créez y un fichier style.css avec un entête conforme.
- Importez la feuille de style d’origine.
- Redéfinissez les règles que vous voulez modifier.
/*
THEME NAME: Trop Black
THEME URI: http://www.example.com/themes/tropblack
DESCRIPTION: Text noir sur fond noir. Respecte le principe 100DàL (100% Dur à Lire).
VERSION: 2008-08-08
AUTHOR: Blackie
AUTHOR URI: http://www.example.com
TEMPLATE: sandbox
@import url('../sandbox/style.css');
body {
background-color:#333;
color:black;
}
*/
Bien sûr, le thème d’origine, ici sandbox, doit être installé. Sélectionnez votre thème ; si vous n’avez pas copié de fichier screenshot.png, la vignette sera grise. À vous de jouer !
Via [ThemeShaper]
ClockingIT est un logiciel de gestion de projet Open Source. Les copies d’écran sont assez tentantes. Voici comment l’installer.

Installer ImageMagick et les gems nécessaires
<
p>
sudo port install imagemagick +q8 +gs +wmf
sudo gem install rmagick
sudo gem install fastercsv gchartrb RedCloth tzinfo test-spec eventmachine icalendar ferret json ZenTest -r
Soyez patient, c’est long. Très long. J’ai regardé presque tout the Yawning Crevasse of Doom pendant l’installation. Vérifiez que imageMagick et rmagick sont bien installés comme ceci :
xtian$ irb -rubygems -r RMagick
irb(main):001:0> puts Magick::Long_version
This is RMagick 2.5.2 ($Date: 2008/07/13 21:18:28 $) Copyright (C) 2008 by Timothy P. Hunter
Built with ImageMagick 6.4.1 08/13/08 Q8 http://www.imagemagick.org
Built for ruby 1.8.6
Web page: http://rmagick.rubyforge.org
Email: rmagick@rubyforge.org
=> nil
Installer clockingIT
<
p>
xtian$ git clone git://repo.clockingit.com/cit
xtian$ cd git
xtian$ ./setup.rb
Là, tout plein de questions vous attendent. Pas de réelles difficultés, mais quelques points à noter :
- Choisissez un nom de base de données et un utilisateur spécifiques, la commande de création MySQL vous sera affichée et vous n’aurez qu’à la copier dans une seconde fenêtre de terminal.
- Il vous faut un nom de domaine, clockingIT va refuser localhost. Inventez en un (clockingit.surmonmac.com) et déclarez-le dans le fichier /etc/hosts
- Le reste est assez standard.
Finalement, les instructions pour lancer le logiciel vous sont gracieusement fournies. Copiez-les dans une seconde fenêtre de terminal. Connectez vous sur http://clockingit.surmonmac.com:3000/.