dimanche, décembre 23, 2007

Revue de "nouveaux produits"

Voici de courtes revues de produits que j'ai acquis ou que j'ai commencé à utiliser récemment. Je ne veux pas être exhaustif, juste donner MON opinion sur ces produits.

Lentille Sigma 10-20/F4-5.6: Ça faisait longtemps que je voulais une lentille à très grand angle, j'avais considéré la Tokina 12-24/F4, la Nikon 12-24/F4 et la Sigma 10-20/F4-5.6.
  • D'entrée de jeu j'avais renoncé à la Nikon due à son prix; je ne pense pas que la différence de qualité ou la marque Nikon justifie une différence de prix de 500$ avec les 2 autres.
  • J'aimais beaucoup la Tokina mais Tokina n'est pas distribuée au Canada. J'avais lu que la qualité optique était presqu'aussi bonne que la Nikon et que le bâti était très solide.
  • J'avais des appréhensions concernant la Sigma. J'avais lu que le bâti est moins solide que la Tokina et la qualité optique un peu inférieure à la Tokina.
Comme la Tokina n'est pas disponible au Canada, j'ai profité de mon passage à New York il y a quelques semaines pour aller chez B&H comparer les 2 lentilles avec un de leur conseiller. Le conseiller m'a rassuré sur la qualité du bâti et de l'optique des deux lentilles: les deux lentilles sont extrêmement semblables dans leur bâti et la qualité de leur optique. Nous avons pris des photos test avec les 2 lentilles et les photos étaient quasi-identiques. J'ai finalement pris la Sigma car elle me donne 2mm de focale de moins (à 10mm, cette lentille à un champ de vision de 102 degrés de large). Comme je fais surtout des photos de paysage et d'édifice, ce 2mm me permettra de faire des paysage plus larges et de moins reculer pour cadrer un bel immeuble au complet. Comme cette lentille sera surtout utilisée en extérieur et pour des paysage, le fait que la Tokina a une ouverture fixe de f/4 n'a pas compté pour beaucoup dans ma décision.

Après quelques semaines d'utilisation, qu'est-ce que JE pense de cette lentille? Superbe! Presque pas de distortion à grand angle pour les photos d'immeubles, les couleurs sont reproduites fidèlement, le focus se fait rapidement et les images sont pas mal sharp même à F5.6. Je suis très satisfait jusqu'à maintenant. Quand les beaux jours seront revenus, il me restera à tester cette lentille en plein soleil.

Asus eee PC 701 4G: J'ai déjà un laptop mais celui-ci est lourd et roule WindowsXP. Je voulais avoir un laptop plus petit et un laptop qui roule Linux. Ce laptop Asus comble simultanément mes 2 souhaits: Il roule Linux (un dérivé de Debian (Xandros) qui boot en 13 secondes!) et pèse 0.92kg! J'ai vu un démo de ce laptop pour la 1ère fois au meeting de novembre d'OCLUG, j'ai été conquis le soir même.

La raison princpale pour laquelle j'en voulais un est que ce laptop me permet de faire simplement les choses de bases que je fais tout le temps: écouter de la musique, surfer le web, prendre mon courriel, lire des PDF, faire du traitement de textes de base et faire des feuilles de calcul de base. Avez-vous besoin d'un quad-cores pour faire ces tâches? Non.
Quand je suis à mon bureau, j'ai accès à une station de travail quad-cores et j'y fais des choses plus lourdes: montage vidéo, programmation, bases de données, stockage de données. Même si ce laptop n'est pas très puissant, il permet de faire efficacement des tâches de base, boot très rapidement, ne plante jamais (car ça roule Linux) et a une autonomie de batterie plus longue que mon Compaq. C'est aussi le laptop idéal avec lequel visiter les clients (à cause du "Wow! Factor") ou la famille (à cause du poids et de la dimension, ça ne prends presque pas de place dans les bagages).

Depuis que je l'ai, je l'ai personalisé un peu: je suis passé à l'interface avancée (très près du bureau KDE "classique"), j'ai installé plusieurs repositories additionnels et j'ai installé les outils de développement et Subversion. Malgé le petit écran, c'est une super machine de développement pour Erlang (en fait je ne peux que souhaiter une version plus récente de Kate qui me permettrait d'avoir les templates de code highlighting pour Erlang.)!

Voilà un petit résumé des pours et contres observés:
Pour:
  • Roule Linux: super stable
  • Petit, léger: très facilement portable
  • Batterie: dure près de 3 heures. c'est une autonomie suffisante pour travailler dans un endroit public loin d'une prise électrique.
Contre:
  • Petit clavier: ça prend un peu de temps pour s'habituer
  • Emplacement de la touche right-shift: La première semaine, je pesais toujours sur la fléche vers le haut au lieu de la touche right-shift.
  • Mémoire: Un peu restreinte, Je souhaiterais avoir 2G surtout que cette machine n'utilise pas de swap. Comme ça s'augmente, je probablement faire ça plus tard cet hiver.
Neutre:
  • CPU: je pensais que le CPU (Celeron 900Mhz) serait un peu poussif mais non! Plus que suffisant pour tout ce que je fais sauf quelques programmes que je développe en Erlang.
  • Écran: Parfait pour tout sauf pour Google Reader.

Visual Basic Express 2008: J'ai téléchargé la dernière version de VB Express le jour même de sa publication. J'étais curieux de voir comment la nouvelle version de l'interface de développement se comporterait et comment LINQ simplifiait l'accès aux donnés en mémoire.
L'IDE est superbe. L'IntelliSense est indispensable même si il vous rend paresseux en vous permettant de ne pas tout mémoriser l'API et la syntaxe de toutes les commandes. Avec ça, apprendre le langage et l'API de .Net est un jeu d'enfant. On est productif dès la première minute!
LINQ permet, en une phrase, de faire des requêtes sur les donnés en mémoire (i.e. contenues dans une variable ou résultants de l'invocation d'une fonction) comme si ces donnés étaient stockées dans une table accessible via SQL. Pour un programmeur, ça simplifie considérablement la vie. On accède les données presque de la même manière qu'elles soient dans une table ou en mémoire.
Je suis un fan des logiciels OpenSources et essaie de les utiliser le plus souvent possible mais je dois confesser aimer cet IDE et LINQ. Je ne peux que souhaiter qu'un IDE de cette qualité apparaisse dans le monde de l'OpenSource.

Photos de New York

Un premier jeu de photos de notre voyage à New York est ici. Certaines des photos ont été prises avec ma nouvelle lentille Sigma 10-20mm.

lundi, décembre 03, 2007

Accuponcteur, la suite

Après 3 rendez-vous, je dois avouer que je ressens une amélioration. Je n'ai plus mal au dos au sortir de la douche et me tenir debout me cause moins de douleur qu'avant. On verra le bénéfice total à la fin du traitement.

New York

Je vais à New York bientôt. Si vous avez des suggestions de choses à voir, manger ou acheter, laissez un commentaire ci-bas.

mercredi, novembre 14, 2007

1ère visite chez l'accuponcteur

J'ai mal au dos depuis plus de 30 ans. J'ai décidé d'en voir un, encouragé par les résultats d'une collègue et d'un membre de la famille.
À ma grande surprise ça n'a pas fait mal du tout. Après discussion de mes symptômes et de leur conséquences, il m'a mis des aiguilles dans le côté gauche de mon dos et dans le haut de ma cuisse gauche. J'ai gardé les aiguilles une 40aine de minutes.
Je ne ressens pas de bénéfice immédiat mais on verra avec le temps. J'ai encore 3 ou 4 séances à avoir.
À suivre.

lundi, octobre 29, 2007

Enragé après Bell...

Un technicien de Bell devait venir ce matin entre 8h00 et 12h00 pour une réparation du filage de la maison. Il est presque 16h00 et le twit est pas là. Je suis malade, j'ai les sinus congestionnés et la gorge comme une râpe. Je voulais me recoucher après son départ mais c'est complètement foutu, une journée down the drain. J'ai téléphoné Bell à midi: la téléphoniste me dit que le gars s'en vient. Je rapelle à 14h30, une autre téléphoniste me dit qu'un technicien va venir avant 22h00. 22h00! On m'a dit 12h00 quand j'ai téléphoné pour prendre rendez-vous! Me semble que c'est pas difficile de téléphoner pour dire qu'on va être en retard? Maudits monopoles....

mardi, septembre 18, 2007

Renouvellement de passeport

Je suis allé faire renouveler mon passeport ce matin. J'ai attendu 1h30 en tout. Moins pire que cet été mais encore inacceptable comme délai. Les australiens font ça en 10 minutes...

Problèmes de backups

Je fais des backups de mes données importantes à toutes les 8 heures sur une machine dédiée que j’ai peuplée de disques plus assez rapides pour être dans ma station de travail principale. C’est disques forment un gros volume (600G) via LVM2. Une fois par semaine, je transfère mon backup hebdomadaire sur 5 rubans DLT40. Normalement, tout va bien. Je peux faire le transfert sur mes 5 rubans via deux unités en environ 8 heures. Mais depuis deux semaines, le transfert des données du serveur de disque (d’où elles sont rendues disponibles via NFSv3) au serveur de ruban est très lent, environ 3MB/s sur un réseau gigabit. Probablement que les backups sont rendus sur le disque le plus lent du volume… En attendant, il faut que je corrige la situation. Après pas mal de Googlage, je suis tombe sur un utilitaire nommé mbuffer. Celui-ci créé un tampon entre le réseau et l’unité de disque évitant à celle-ci de toujours avoir à reculer le ruban quand le flux de données est trop lent. Voilà « l’incantation magique » :

tar cvbf 64 - 'Photos de ma camera3' | mbuffer -m 350M -P 95 -s 32768 -v 4 -f –o /dev/nst0


Ça dit à mbuffer de créer un tampon de 350M, de ne pas commencer à écrire sur le ruban avant que le tampon ne soit remplit a 95% et d’écrire en block de 32k.
Ce n’est pas la vitesse optimale mais c’est mieux que rien. Ma vitesse de backup est remontée à 2.2MB/s. Pas encore à sa limite théorique de 6MB/s mais ça devrait aller pour le moment. Il faudrait peut-être que le change mes backups de volume…

mardi, septembre 11, 2007

Mise en garde si vous utilisez courier-imap

Je viens de finir d'installer courier-imap sur ma nouvelle machine en suivant les instructions ici. Deux points à garder en tête lorsqu'on installe courier-imap:
1. On doit avoir les bons modules d'authentifications. Dans /etc/courier/authlib/authdaemonrc les lignes suivantes doivent être présente si vous utilisez les même user name/password que pour les logins :
authmodulelist="authshadow"
authmodulelistorig="authshadow"

2. On doit avoir le répertoire où sera gardé le courrier au bon endroit. Par défaut, courier-imap met le courier dans $(HOME)/.maildir. Toutefois ce répertoire n'est pas créé initialement. Il faut le créer manuellement en entrant (en étant root. L’exemple est donné pour mon répertoire à moi. Changez mon nom et mon id pour celui de l’usager pour qui vous créez une boîte aux lettres) :
maildirmake /home/charles/.maildir
puis changez le propriétaire du répertoire
chown -R 1000:1000 /home/charles

Courier-imap devrait marcher comme sur les roulettes après ça.

lundi, septembre 10, 2007

Nouvelle babasse, première semaine

J’ai finalement pris livraison de mon nouvel ordinateur vendredi soir dernier. Initialement, j’ai trouvé quelques erreurs d’assemblage : Un lecteur/graveur de DVD PATA avait été installé au lieu d’un SATA (Avec une carte mère ayant un chipset nVidia 680i, on ne peut booter d’un lecteur de DVD PATA pour installer Linux), le modèle non modulaire du bloc d’installation a été installé au lieu du modèle modulaire (J’avais choisi le modèle modulaire afin de n’avoir qu’à seulement installer les câbles requis. Je ne voulais pas que des câbles inutiles bloquent le flot d’air mais ce n’est pas un problème jusqu’à maintenant) et les trois baies inférieures ont été populés avec des disques durs alors que j’avais demandé de laisser libre les 4 dernières afin d’installer mes deux unités de backup DLT interne.
Une fois que j’ai eu fini de changer le lecteur/graveur de DVD, et mis les disques durs au bon endroit en haut du case, j’ai découvert une grosse faille avec le case : Le case a 11 baies de 5.25’’ de large. Toutefois, entre ces baies, sur les côtés, il y a une petite lamelle de métal pour supporter les côtés des drives insérés. C’est très pratique et bien pensé SAUF quand on veut insérer des unités double-hauteur comme des drives DLT… À ce point-ci deux solution : soit on désassemble tout (pour ne pas avoir de poussières de métal conducteur dans les connecteurs et sur la carte mère) puis on meule/plie ces lamelles ou on met les drives DLT dans une autre boîte. J’ai choisi la 2e solution, plus facile (redonnant ainsi une raison d'être à mon ancienne station de travail dual P3-500).
Après l’inspection interne et la reconfiguration des drives, j’ai descendu la boîte dans mon bureau pour l’installation de Gentoo Linux. Premièrement j’ai booté la machine avec Knoppix LiveCD pour voir si toutes les composantes étaient détectées et si je pouvais tweaker le BIOS un peu. Je ne voulais rien overclocker (surtout que le fan que j’ai choisi n’a pu être installé car trop lourd, je suis maintenant pris avec le stock fan d’Intel qui n’est quand même pas si mauvais que ça), juste voir si tout était optimal. Un test de mémoire a suivi en utilisant memtest86+. Aucuns problèmes rapportés
L’installation a été comme sur des roulettes. Un seul détail : même si le système est complètement SATA, il faut quand même compiler le kernel avec le support générique pour PATA. Sinon ça ne boote pas. Une fois le système de base installé, j’ai installé XOrg et KDE. À ma grande joie, la compilation c’est faite extrêmement rapidement (comparé à ma boîte précédente, un dual Athlon MP-1800+).
Ce qui m’amène à parler d’une manière générale des performances : Avoir un quad-cores c’est génial pour faire plusieurs tâches en même temps comme compiler avec gcc (via make –j5), convertir 4 films de .avi à .mpg en même temps ou faire des requêtes compliquées sur des bases de données. Mais pour qqn qui ne veut que faire des choses de bases, c’est juste trop. Pour ce genre de situation, un dual-cores est plus que suffisant. J’ai acheté un quad-cores parce que je veux faire pas mal d’édition vidéo, de la programmation (Erlang roule magnifiquement sur une machine multi-cores/multi-cpus), rouler VMWare avec plusieurs machines virtuelles et des bases de données. Je prévois aussi garder ma machine 5 ans et je veux être sur qu’elle sera encore utilie jusque là, on ne sait jamais quel genre de bloatware peut surgir ni quelle « killer app » verra le jour d’ici là. Pour ma situation un quad-cores est un bon choix mais pour quelqu’un qui veut juste une machine qui répond vite je recommanderais pour le même prix un Intel E6850. Ce CPU n’est que dual-cores mais cadencé à 3Ghz plutôt qu’à 2.4Ghz comme sur le Q6600.
Côté disques, je suis un peu déçu. Je m’attendais à ce que la performance soit de beaucoup supérieure à celle des mes drives PATA. Un benchmark rapide réalisé avec Bonnie montre que mon disque principal transfère les données à environ 55MB/sec et mon array de 5 disques en RAID-5 transfert à environ 57MB/sec. Je m’attendais à mieux de la part d’un RAID-5.
J’ai maintenant installé presque toutes les applications dont j’ai besoin. La performance est excellente te très smooth. Le kernel 2.6.22 est très stable aussi, pas encore de plantage après 6 jours d’usage continu, gardons les doigts croisés

vendredi, août 31, 2007

Difficultés en Erlang

J’ai travaillé pas mal avec Erlang durant la dernière semaine. La familiarisation avec le paradigme fonctionnel n’a pas été trop difficile. Concevoir des fonctions tail-recursive demande un peu de planification mais ce n’est pas très difficile non plus.
La grande difficulté que j’ai eu réside dans la conversion de fonction qui bâtissent des listes « linéairement » en fonction qui les bâtissent en parallèle pour le cas où l’ordre des éléments de la liste ne compte pas vraiment.
Par exemple, la fonction :

calculateitems ([H | T], N) ->
[onestock(H, N) | calculateitems(T, N)];
calculateitems([], N) ->
[].

Retourne un message d’erreur “badarith” lorsqu’exprimé comme ça :

calculateitems(L, N) –>
S = self,
Pids = lists:map( fun(X) -> spawn(portfolio, onestock/2, [X, N]) end, L),
gather(Pids).
gather([H | T]) ->
Receive
{H, Ret} -> [Ret | gather(T)]
end;
gather([]) ->
[].

Pourtant la fonction onestock ne comporte aucun changement d’une forme à l’autre. Remplaçant spawn par proc_lib:spawn nous donne plus d’information mais le mystère demeure :
** exited: {badarith,[{portfolio,'-calculateitemsp/2-fun-0-',2},
{portfolio,calculateitemsp,2},
{portfolio,calculate,2},
{lists,map,2},
{portfolio,simulate,3},
{erl_eval,do_apply,5},
{shell,exprs,6},
{shell,eval_loop,3}]} **

=ERROR REPORT==== 30-Aug-2007::12:49:52 ===
Error in process <0.57.0> with exit value: {badarith,[{portfolio,'-calculateitemsp/2-fun-0-',2},{portfolio,calculateitemsp,2},{portfolio,calculate,2},{lists,map,2},{portfolio,simulate,3},{erl_eval,do_apply,5},{shell,exprs,6},{shell,eval_loop,3}]}

La documentation disponible sur le ‘net est au mieux faible. Est-ce que quelqu’un aurait une solution à mon problème?

L'ordi s'en vient!

L’ordi sera prêt mardi! Seul changement/pépin : le fan choisi pour le CPU ne fitte pas avec cette carte mère. Ils ont du installer le stock fan. Pour booter, j’ai fait ajouter un disque de 320GB.

jeudi, août 23, 2007

Suggestion de cadeau de Noël

Ça y est Nikon a enfin annoncé le D3 et le D300. Le D3 est finalement full-frame et le D300 sera un superbe upgrade au D200. Un D300 serait bien apprécié comme upgrade de mon D70. ;-)

mercredi, août 22, 2007

Question...

L'histoire de la philologie est-elle récursive?

mercredi, août 01, 2007

Bug in kernel 2.6.20

I transfered an Adaptec 29160 SCSI card (and 4 disks and one tape drive) from my dual MP1800+ to my disks box based on an Asus A8V yesterday night. I recompiled its kernel (upgraded from 2.6.18 to 2.6.20) to include support for SCSI tape. I rebooted and it didn't detect my SATA drives. Googling the problem I found that there is a bug with the VIA SATA drivers in 2.6.20. The workaround is to include "pci=nomsi" as a kernel argument. Also discussed here.

vendredi, juillet 27, 2007

De do do do De da da da

Je suis allé à Montréal au concert de The Police hier avec mon beau-frère et ma belle-soeur. C'était EXCELLENT!

En première partie on a eu droit à Fiction Plane, le band du fils aîné de Sting. Le son était moche (pas "optimisé" pour eux) mais j'ai bien aimé leur musique. Le fils de Sting a sa voix et bouge pas mal comme son père.

En seconde partie, l'attraction principale, The Police! Un début en force avec "Message in a bottle" et "Synchroniciy II" nous a permis de constater que les gars sont en forme malgré l'âge. Surtout Copeland qui drumme comme une locomotive. Wow!
La scène ovale est dépouillée, c'est bon signe, le focus sera mis sur la musique.
Le play list est solide, le même qu'à Toronto:

- Message in a Bottle
- Synchronicity II
- Walking on the Moon
- Voices Inside My Head/When the World Is Running Down, You Make the Best of What's Still Around
- Don't Stand So Close to Me
- Driven to Tears
- Truth Hits Everybody
- The Bed's Too Big Without You
- Every Little Thing She Does is Magic
- Wrapped Around Your Finger
- De Do Do Do, De Da Da Da
- Invisible Sun
- Walking in Your Footsteps
- Can't Stand Losing You
- Roxanne

Rappel:
- King of Pain
- So Lonely
2e rappel:
- Next to You

Une seule grosse déception: La version de "Don't stand so close to me" a été carrément ratée. Ils ont pris la mélodie de la version originale avec la vitesse de la version 1987. Aussi, "De do do do, De da da da" a été un peu trop étirée, ça sonnait comme une matra à la fin.
J'aurais aimé qu'ils jouent "Spirit in the material world", "Murder by numbers" et "Tea in Sahara" mais bon, on ne peut tout avoir...
Dernier constat sur l'auditoire: vieux! Pas mal plus de gens dans la fin de la 40aine/50aine que de gens fin 30aine comme nous. Ça m'a juste surpris.
En un mot encore: Excellent!

jeudi, juillet 26, 2007

Nouveau joujou

Un mini lecteur de tapes DV avec écran HDTV pour voir sur le champ les vidéos capturés en HD. Wow! Ça va me prendre une caméra HDTV-DV aussi...


J'en veux un!

mercredi, juillet 25, 2007

Nouvelle babasse commandée

J'ai finalement passé commande pour mon nouvel ordinateur qui va remplacé mon dual MP1800+ datant de 2002!
Ce n'est pas la machine de rêve (dual Xeon 53xx, 8GB de RAM, carte-mère Supermicro...) que j'aurais aimé mais c'est pas rien quand même: Un Intel Q6600 avec 4GB de DDR2 monté sur une carte mère Gigabyte GA-N680SLI-DQ6. Ça devrait être une bonne station de travail.
Je suis un peu préoccupé par les problèmes qu'aurait le chipset nVidia 680i à supporter 4GB (4 x 1GB) de mémoire DDR2-800: Mon vendeur n'a pas réussi à garder stable une Asus Striker (qui a le même chipset que la Gigabyte que j'ai choisi) avec 4GB de DDR2-800. On va essayer de garder la Gigabyte stable avec de la DDR2-800 ayant un timing moins agressif que sur la Striker. Si ça marche pas, y va falloir que je me contente de DDR2-667.
Mon Q6600 sera refroidi par un Zalman CNPS9700 LED. J'ai hésité entre ce cooler et le Thermalright Ultra-120 Extreme. J'ai choisi le Zalman car plus léger, moins haut et moins cher. J'avais peur que le Thermalright exerce trop de torque sur la carte mère.
J'ai hâte de tester les cartes de réseau gigabits intégrées avec "TCP/IP offloading". Ça devrait aider quand je fais mes backups: à ce moment là, ma carte de réseau actuelle génère 10000 interrupts/seconde! Les 4 cartes de réseau intégrées me permettront de créer des liens direct avec d'autres serveurs sans passer par une switch ou d'en lier deux en bonding.
Le case est énorme, un Thermaltake Armor VA8000BWS: Il aura amplement d'espace pour 4 disques durs, un graveur de DVD, 2 tape backups DLT et mêmes pour d'autres drives. L'air devrait pouvoir circuler librement, évitant la création de zones plus chaudes. Comme les drives seront à l'avant du case, 3 des 4 disques au-dessus de la carte mère et que je n'aurai en tout que deux cartes courtes à l'arrière (une carte video Asus 7600GS et une carte SCSI dans un des slots PCI), le centre du case sera pas mal vide ne laissant aucun obstacles aux multiples ventilateurs pour faire leur travail.
J'utiliserai 4 drives de 750GB pour le stockage.
Le power supply est un Thermaltake Thoughpower 750W WO117RU. Le système de câblage modulaire devrait faire en sorte que je puisse installer seulement les câbles dont j'ai besoin, augmentant ainsi le flot d'air qui serait obstrué par trop de câbles inutiles. 750W sera amplement suffisant pour bien alimenter toutes les composantes et fournir le courant de pointe lors du démarrage.
Côté drivers sous Gentoo Linux, je ne crois pas que j'aurai des problèmes. Les cartes réseaux sont bien supportées, les contrôleurs de disques, la carte de son, les ports USB et Firewire le sont aussi.
Plus de renseignements plus tard.

Demain, bonjour The Police

Demain je vais à Montréal pour le concert de The Police. Ça va être cool!

dimanche, juillet 01, 2007

Petite visite

Aujourd'hui nous sommes allés à Smiths Falls pour visiter l'usine de chocolat de Hershey. La chose la plus surprenante en arrivant dans le stationnement est l'odeur halucinament forte de chocolat. Juste pour cette odeur, ça vaut le détour!
Bonne fête Canada!

vendredi, juin 29, 2007

Bug dans Outlook 2003

Découvert en essayant de transférer mes archives de courier de Outlook 2003 à un serveur IMAP:
Si vous utilisez Outlook 2003 pour vous brancher à un serveur IMAP, vous ne pouver cacher plus de 2GB de courrier par compte. Il faut créer un autre compte (pointant vers le même serveur, avec le même nom d'usager et mot de passe) pour cacher plus de 2G. Et on ne peut mettre à niveau le fichier qui contient la version cachée des données. Duh! Vivement Microsoft...

lundi, juin 25, 2007

Redémarer automatiquement KTorrent

KTorrent est instable sur la machine principale, il crashe aléatoirement. J'ai donc concocté ce petit script en Bash (que j'ai mis dans mon crontab) pour vérifier périodiquement si ça roule et redémarer quand ça roule pas (avec encore un peu d'information de débuggage):

date
let numktor=$(ps aux | awk '{print $11}' | grep -e "ktorrent" | wc -l)
echo `ps aux | awk '{print $11}' | grep -e "ktorrent" `
echo $numktor
if [ $numktor -eq 0 ];
then
echo "Equal to zero"
ktorrent
else
let numerr=$(ps aux | grep -e "--appname ktorrent" | grep -e "drkonqi" | wc -l)
echo `ps aux | grep -e "--appname ktorrent" | grep -e "drkonqi"`
echo $numerr
if [ $numerr -eq 1 ];
then
let numproc=$(ps aux | grep -e "--appname ktorrent" | grep -e "drkonqi" | awk '{print $2}')
echo $numproc
kill -KILL $numproc
ktorrent
fi
fi
echo

Jusqu'à maintenant, so far so good...

dimanche, juin 17, 2007

Facebook

Suite à la pression populaire de mes collègues de travail, je me suis inscrit sur Facebook. Ajoutez-moi à votre réseau d'amis!
Je suis aussi en train de regarder attentivement la documentation sur son API. ;-)

Problème avec XOrg réglé!

Depuis plus d'un mois, XOrg 7.2 a cessé de fonctionner sur mes deux stations de travail SMP (un dual PIII/500 et un dual MP1800+). Tout ça a commencé quand j'ai fait la mise-à-jour de XOrg 7.1 à 7.2. Le problème principal était que lorsqu'une touche du clavier était pressée, la résolution de l'écran changeait aléatoirement. J'ai bien essayé de jouer avec xorg.conf mais rien n'y faisait. La source ultime du problème semble être libpng qui ne compile pas comme il faut. J'ai eu beau tout recompiler, rien n'y faisait. Je pensais même devoir tout re-installer.

C'est en cherchant sur les excellents forums de Gentoo que j'ai finalement trouvé un indice qui m'a mené sur la bonne piste. Il existe un package masqué nommé udept qui permet de faire le grand ménage des packages installés sur une machine en enlevant tous ceux qui ne sont pas utilisés. Il peut aussi faire le ménage du world file.
J'ai aussi installé un package qui permet de retourner dans le temps si une installation brise qqc. Ce package s'appelle demerge.
Une fois ces deux packages installés, l'incatation magique fut:

demerge --record
dep -sa
demerge --record
dep -wa
demerge --record
emerge -avN world
demerge --record
emerge -e world
demerge --record


Ça m'a permit de nettoyer mon world file puis de tout ré-installer de zéro sans les packages qui ne sont plus utiles/utilisés.
Voila!

samedi, juin 09, 2007

Relai pour la vie

J'ai participé la nuit dernière au Relai pour la vie de la Société Canadienne du cancer. Une belle nuit à marcher pour ramasser des fonds avec la belle-famille.

Nouvelle aquisition


J'ai installé jeudi soir ma dernière acquisition: un moniteur LG L226W (j'aurais préféré un Apple Cinéma Display 30" mais il faut être réaliste...). Cet un écran superbe qui remplace mon Viewonic E90f que je filerai à mes vieux (Ça remplacera leur TTX 14").
La qualité est excellente même utilisé en mode analogue à travers un KVM. L'écran est si brillant que j'ai du diminuer sa brillance pour réduire la fatigue de mes yeux. Hautement recomandé!

lundi, mai 14, 2007

In the land of women

Jeudi soir j’ai été voir un “chick flick” avec ma douce: “In the land of Women”. L’histoire est pas très compliqué : Un auteur qui vient de se faire larguer décide d’aller s’occuper de sa grand-mère mourante. Il tombe sous le charme des voisines de sa grand-mère dont il apprend une leçon de vie.
L’intrigue est bien ficelée avec quelques rebondissements. Tout est bien cute et charmant.
Messieurs : Si votre douce veut y aller et que ce n’est pas votre genre de film, allez-y quand même. Meg Ryan est encore un « eye candy »…

D70 vs D100

J’ai passé la journée d’hier à faire de la photo avec un D100 et un D70. J’ai été surpris de voir combien plus rapide était l’autofocus sur le D100, même avec une lentille AF-G. J’ai aussi été surpris par la vitesse de son obturateur. J’ai vraiement hâte d’avoir une D200

Nouvel ISP

J’ai finalement changé d’ISP. J’ai choisi TekSavvy surtout à cause des excellents commentaires sur la qualité de leur support technique. Ma nouvelle connexion, avec TekSavvy.com, est devenue active vendredi. J’avais reçu plus tôt durant la semaine mon nouveau modem, un Thomson SpeedTouch 516. En revenant du bureau, je commence l’installation du machin, espérant que le tout soit facile. Premier problème : Le nom d’usager donné par TekSavvy n’était pas le bon. Un coup de fil et je suis avec qqn du support technique, en moins de 15 secondes!, qui me donne le bon nom d’usager. Je teste en connectant mon laptop directement sur le modem et ça marche. La vitesse est pas mal compte tenu de la distance qui me sépare du poste de Bell : 1.3Mbps en download et 560kbps en upload. Le double de ce que j’avais avec Cyberus mais un peu loin du 5Mbps pour lequel je paie. Je ne me plains pas compte tenu de la distance.
Comme ça marche avec mon laptop, je décide de connecter le modem à mon routeur Netgear WGR614v4. Deuxième problème : Je configure l’accès via PPPoE et tente de me connecter. Rien. Je vérifie le câblage, le nom d’usager/mot de passe. Rien. Je ne peux pas regarder sur le net, pas de connexion. Je rappelle le service technique, ça sera un bon test pour savoir s’ils connaissent leur affaire. Encore une fois, je suis immédiatement transféré au service technique, pas d’attente. Il est clair que le gars ne lit pas un script et connaît son affaire. On reconfigure le modem, on essaie différent réglage et toujours rien. On constate que tout ce que j’ai fait est correct; je suis bien satisfait du gars à qui j’ai parlé même si mon problème demeure.
Après souper, je prends mon laptop pour me connecter à l’internet en empruntant une connection à un généreux ( et imprudent!) voisin anonyme. Je trouve ce lien qui mentionne que l’ordre des « pins » du connecteur Ethernet du modem n’est pas standard et peux confondre certains modèles de routeur dont le Netgear WGR614v2. Une solution simple consiste à insérer une switch entre le modem et le routeur. Ça tombe bien, j’ai une switch d’extra! J’essaie. Ça ne marche pas. Je décide alors d’essayé mon « vieux » routeur, un Netgear RT314. Je le configure et bingo, ça marche parfaitement.
Je n’en reviens juste pas. Un vieux routeur de presque 7 ans qui réussi à mitiger l’effet de ce connecteur non-standard alors qu’un routeur de l’année ne réussit pas. M’enfin. Maintenant if faudra que j’utilise mon ancien routeur comme point d’accès.
Malgré le fait que j’ai eu des problèmes à configurer ma connexion, je suis bien satisfait de mon nouvel ISP jusqu’à maintenant. La connexion a été stable toute la fin de semaine, ne tombant jamais. Je prise plus la fiabilité que la vitesse.

jeudi, mai 03, 2007

"Plaisir" avec un HP ML570G4

J'ai eu le "plaisir" de me voir confier l'installation et la configuration d'un premier HP ProLiant ML570 G4 au bureau la semaine passée. Ce qui aurait pu être une tâche simple et aggréable s'est transformée en un véritable calvaire gracieuseté de l'ami Murphy...
La machine est musclée: 4 Xeon Dual Core Hyperthread à 3Ghz, 8 Gigabytes de RAM, 10 disques SAS de 146GB, 4 cartes de réseau à 1Gbps, 1 tape backup AIT3, 2 power supply de 675W et suffisament de ventilateurs pour faire décoler le machin et chauffer mon bureau en même temps.

En résumé:
Morale de l'histoire:
  • Ne vous fiez pas sur le fait que HP livre un CD avec machine veut dire que c'est LE CD à utiliser.
  • Ce n'est pas parce que vous payez un prix astronomique pour WS2003E que vous avez un produit de qualité...
M'enfin... Il m'en reste encore 12 autres à installer...

L'Iraq

Conférence sur l'Iraq aujourd'hui à Sharm El-Sheikh. Le Myanmar est présent. De kossé?

mardi, avril 17, 2007

Veux!

Je veux une Porsche Panamera 2010.

Découverte du jour

Hier j'ai découvert une chanson exceptionelle: "Crystall Ball" de Keane. La mélodie est accrocheuse, la ligne rythmique appuyée, les paroles évocatrices. Un petit bijou. Et il y a plein de vidéos sur YouTube, ça a l'air de bien lever en public aussi.

dimanche, avril 08, 2007

Boycottez Rogers!

Nos "amis" de chez Rogers ont commencé à dégrader la performance des packets encryptés (vpn, ssh, bittorent encrypté, https) sur leur réseau dans le but de limiter le trafic sur leur réseau (parce qu'ils promettent plus qu'il ne peuvent offrir). C'est une violation flagrante du contrat qu'ils ont avec leurs usagers. Et c'est aussi un clair abus de leur situation duopolistique (avec Antypatico). Un ISP ne devrait pas discriminer sur les types de packets envoyés sur le réseau. Est-ce qu'Ottawa Hydro offre un différent niveau de service dépendament si je branche une TV ou un lave-vaisselle?
Boycottez le duopoly, encouragez un ISP indépendant.

Pâques blanches

On a eu un Noël vert et bien maintenant on a des Pâques blanches. ;-)
Joyeuses Pâques à tous!

jeudi, avril 05, 2007

Mononc' à nouveau

Emma Nadeau est née à 7h37. Elle pèse 8lb et 2.5oz et mesure 21 pouces!

Installation de Ubuntu

Je n'ai pas eu de veine avec mon installation de MythTV. J'ai brulé la carte-mère de la vieille babasse de ma douce en installant une nouvelle carte vidéo.
J'ai transplanté toutes les cartes et les drives dans un Compaq Deskpro EN pour voir si son P2-350 serait assez fort pour faire fonctionner MythTV. Comme système d'exploitation, j'ai décidé de donner la chance à Ubuntu 5.10 au lieu de mon habituel Gentoo. Je me suis fait bruler la dernière fois que j'ai essayé d'installer MythTV par-dessus Gentoo.
Seul problème à ce stade-ci: Le Compaq ne reconnaît pas mon drive de 400GB. Il fallait s'y attendre. Je devrai donc enregistrer mes émissions sur un volume monté soit en NFS ou en iSCSI
Ce qui m'impressionne le plus jusqu'ici est combien facile fut l'installation. Le début du processus (jusqu'au reboot) est le même que sous Debian. Puis vient ensuite une lente installation de nombreux packages. Quand ceux-ci sont tous installés et configurés, X démarre et un écran de login graphique nous est présenté. Simple et élégant. Une fois dans l'environnement, la mise-à-niveau se fait sans peine. Un plaisir à installer comparer à Debian ou Slackware.
La prochaine étape consistera à installer MythTV à l'aide de ces instructions.

jeudi, mars 29, 2007

Bric-à-brac

Quelques points. Ça fait longtemps que je n'ai pas bloggué, je sais:
  • J'ai un nouveau Blackberry
J'ai hérité au bureau d'un Blackberry 7280. Ce n'est pas le dernier modèle, mais ça marche. Je peux recevoir et envoyer du courrier de n'importe où. Et la qualité téléphonique est bonne. Il ne me reste qu'à maitriser la boîte vocale et tout sera tiguidou.
  • L'option -W de tar
Je fais le backup de mes backups (sur tape DLT) à l'aide de la commande tar (je sais, je suis paranoïaque). Jusqu'ici je ne faisait pas de passe de vérification de mes tapes après le backup. Je pensais que je devais faire mon backup, rebobiner le tape puis faire ma vérification. Mais maintenant que j'ai découvert l'option -W, je peux faire les deux séquentiellement sans rebobiner le tape. Pas mal génial!

samedi, mars 17, 2007

Disques intéressants

J'écoute presque non stop depuis sa sortie l'album "Neon Bible" de "The Arcade Fire". C'est excellent! Surtout "No cars go", l'orchestration est superbe! Je crois que ce qui fait la force et le succès de "The Arcade Fire" est le fait qu'ils utilisent une large gamme d'instruments "non-traditionnel" (guitare, basse, batterie, claviers) du rock. Un peu comme Loreena McKennit ou The Tea Party. Ça donne une richesse incroyable à leur musique.

Un autre album que j'écoute pas mal ces temps-ci est un CD gratuit qui venait avec la copie d'août 2006 du magazine Q. Ça s'appelle "Q-The Eighties". Il y a 3 superbes versions qui sortent du lot:
  1. Placebo - Running up that Hill (originalement par Kate Bush)
  2. Teddy Thompson - Don't dream it's over (originalement par Crowded House)
  3. Katie Melua - Just Like Heaven (originalement par The Cure)

Calcul symbolique en Scheme

Il y a quelques semaines, j'ai commencé à lire "Structure and Interpretation of Computer Program" (ci-après référé comme SICP) de Harold Habelson et Gerald Jay & Julie Sussman du MIT. Ça n'avance pas très vite car c'est extrêmement dense. Il faut du temps pour lire et relire et pour faire les exercices. Pour ce faire, j'ai installé Guile comme interpréteur Scheme sur ma station de travail principale. J'utilise Kate comme éditeur. C'est pas ce qu'il y a de mieux mais ça fait la job.
Lisant le chapitre 2 de SICP, la section 2.3.2 a vraiment capté mon attention (en tant que physicien de formation): Elle porte sur le calcul symbolique. Je n'avais jamais utilisé un langage qui permettait ceci sauf peut-être le langage interne de Mathematica (dont l'ancêtre a été écrit en Lisp dont Scheme est un dialecte). Pour m'assurer de bien comprendre, j'ai fait l'exercice 2.56. J'ai par la suite tenté de l'étendre pour faire la dérivation de la fonction sinus. Initialement j'avais écris:

    ;Definition for sine

(define (sine? x)
(and (pair? x) (eq? (car x) 'sin)))

(define (sine-argument angle) (car angle))

(define (make-sine angle)
(cond ((=number? angle 'pi) 0)
((=number? angle 0) 0)
(else (cons 'sin angle))))

(define (make-cosine angle)
(cond ((=number? angle 'pi ) 1)
((=number? angle 0) 1)
(else (cons 'cos angle))))


mais sine-argument retournait toujours (x) au lieu de x. Ce qui faisait planter deriv un peu plus loin. Après avoir fouillé pas mal, et lu et relu une obscure note de bas de page. J'ai trouvé le bobo: car retourne toujours un élément unique entouré de parenthèses. Pour retourné un élément unique sans parenthèses, il faut utiliser list-ref.
On aura:

(car '(a b)) -> (a)
(list-ref '(a b) 0) -> a


Une fois cette modification faite, on obtient la solution pour 2.56 plus le cas pour la fonction sinus:

(define (variable? x) (symbol? x))

(define (same-variable? v1 v2)
(and (variable? v1) (variable? v2) (eq? v1 v2)))

(define (make-sum a1 a2)
(cond ((=number? a1 0) a2)
((=number? a2 0) a1)
((and (number? a1) (number? a2)) (+ a1 a2))
(else (list '+ a1 a2))))

(define (=number? exp num)
(and (number? exp) (= exp num)))

(define (make-product m1 m2)
(cond ((or (=number? m1 0) (=number? m2 0)) 0)
((=number? m1 1) m2)
((=number? m2 1) m1)
((and (number? m1) (number? m2)) (* m1 m2))
(else (list '* m1 m2))))

(define (sum? x)
(and (pair? x) (eq? (car x) '+)))

(define (addend s) (cadr s))

(define (augend s) (caddr s))

(define (product? x)
(and (pair? x) (eq? (car x) '*)))

(define (multiplier p) (cadr p))

(define (multiplicand p) (caddr p))

; definitions for exponentiation

(define (make-exponentiation base exponent)
(cond ((=number? exponent 0) 1)
((=number? exponent 1) base)
(else (list '** base exponent))))

(define (base exponentiation) (cadr exponentiation))

(define (exponent exponentiation) (caddr exponentiation))

(define (exponentiation? x)
(and (pair? x) (eq? (car x) '**)))

;definitions for sine

(define (sine? x)
(and (pair? x) (eq? (car x) 'sin)))

;Here, car doesn't work but list-ref works(define (sine-argument angle) (list-ref angle 1))


(define (make-sine angle)
(cond ((=number? angle 'pi) 0)
((=number? angle 0) 0)
(else (cons 'sin angle))))

(define (make-cosine angle)
(cond ((=number? angle 'pi ) 1)
((=number? angle 0) 1)
(else (cons 'cos angle))))

(define (deriv exp var)
(cond ((number? exp) 0)
((variable? exp)
(if (same-variable? exp var) 1 0))
((sum? exp)
(make-sum (deriv (addend exp) var)
(deriv (augend exp) var)))
((product? exp)
(make-sum
(make-product (multiplier exp)
(deriv (multiplicand exp) var))
(make-product (deriv (multiplier exp) var)
(multiplicand exp))))
((exponentiation? exp)
(make-product
(make-product (exponent exp)
(make-exponentiation (base exp)
(make-sum (exponent exp) -1)))
(deriv (base exp) var)))
((sine? exp)
make-product (deriv (sine-argument exp) var)
(make-cosine (sine-argument exp)) )
(else
(error "unknown expression type -- DERIV" exp))))



Je vais essayer d'étendre encore plus ce programme dès que j'en aurai le temps. À suivre...

vendredi, mars 16, 2007

Sénateurs vs Islanders

Soirée intéressante hier. Je suis allé voir les Sénateurs jouer contre les Islanders de New York. Bonne partie gagnée 5 à 2 par Ottawa. Ce qui m'a le plus impressionné c'est que même dans notre section qui était très haute (326), on voyait bien l'action. Mon collègue me disait qu'à la Place Scotia, tout les sièges sont bons. Ça fait changement d'avec le Colisée de Québec où je suis allé voir des matchs quand j'étais plus jeune.

mercredi, mars 14, 2007

C'est innauguré

Hier soir j'avais des copains à la maison pour souper. Qu'a-t'on fait pour souper? Un BBQ! Eh oui, hier le 13 mars j'ai fait mon premier BBQ de la saison. Il faisait 9C et la neige était complètement fondue autour du BBQ. Ça bat le record de l'an passé: le 28 mars.

mercredi, février 28, 2007

Humour de physicien

Lu ici (les caractères gras sont de moi):

"... he noticed that some of the mathematics in the paper seemed to resonate with parts of the Harmonic Maass theory ..."

;-)

mardi, février 27, 2007

Enfin de l'espace pour respirer

Une fois les disques installés, voilà ce que sa donne:

Mosix3 etc # df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 28G 16G 11G 59% /
udev 502M 2.8M 499M 1% /dev
/dev/md/0 559G 541G 19G 97% /big
/dev/mapper/backup-backup
789G 359G 431G 46% /backup
shm 502M 0 502M 0% /dev/shm
/dev/md3 280G 33M 280G 1% /big2

Un total de 1.6TB, libre à 44% (741GB!). ;-)
Bébé content...
Le backup de mon array principal à enfin pu continuer.

Encore de la casse (fin)

Finalement mon array s'est rebâti comme prévu. J'ai immédiatement entrepris d'en faire le backup mais je me suis rendu compte que je manquais cruellement d'espace disque. J'ai du remplacer un 180G et une paire de 200G par un 400G et une paire de 500G SATA. Avertissement: Si votre carte mère est une A8V Deluxe, le contrôleur SATA ne prend pas en charge les disques SATA II à 3Gb/s. Vous devez les forcer à 1.5Gb/s avec un jumper. Le remplacement des disques et l'agrandissement des volumes LVM2 s'est fait sans encombre. Seul commentaire: un pvmove sur un disque de 200G, c'est lent. La prochaine étape sera de prendre un backup complet de mon array.

Multithreading

Pour les programmeurs avec le sens de l'humour:

Q)Why did the multithreaded chicken cross the road?
A)to To other side. get the

Q)Why did the multithreaded chicken cross the road?
A)other to side. To the get

Q) Which came first, the multithreaded chicken or the multithreaded egg?
A) They came at the same time, but the multithreaded chicken terminated first.

Q) Which came first, the multithreaded chicken or the multithreaded egg?
A) Neither; mt egg could not acquire chicken-lock from mt chicken. mt chicken could not acquire egg-lock from mt egg.

Q) Which came first, the multithreaded chicken or the multithreaded egg?
A) Multithreaded egg, but it overwrote its DNA while still in use and became mt turkey.


lundi, février 26, 2007

The Police

Bon, j'ai réussi à avoir des billets pour le spectacle de "The Police" le 26 juillet à Mourial. Le système de Admission.com ne s'est pas effondré cette fois-ci. Section 202, rangee C, sieges 7, 8 et 9.

dimanche, février 25, 2007

Encore de la casse (suite et fin?)

Ce matin, j'enlève le Seagate et je remets le WD1200JB que je crois brisé.
Après avoir passé pas mal de temps sur Google pour trouver ce qu'est le problème ou quelqu'un avec un problème similaire, j'ai trouvé le cas d'un gars dont la SX6000 a indiqué 2 drives "? : ? failed or disconnected" sans aucune raison. La solution à son problème a été de détruire l'array puis de le recontituer sans l'initialiser. Et pour lui ça a marché. Je me proposais de faire la même chose même si je n'ai perdu "qu'un" disque. C'est pour cette raison que j'ai rebranché ce matin le disque original. Comble de chance pour moi, le manuel de Promise sur la récupération d'array est très clair (pages 23 à 28).
En rebootant la machine qu'elle ne fut pas ma surprise de voir que mon array n'était plus "Offline" mais "Critical". En allant dans le BIOS de la SX6000, j'ai pu voir que la SX6000 était en train de rebâtir l'array et que le disque 1 est fautif alors que le disque qui était initialement indiqué comme fautif était le 6. SI la carte finit par tout rebâtir et que je ne perds pas de données, je n'aurai pas à suivre la procédure risquée du manuel de Promise. Je vais faire un backup complet de l'array (je fait un rsync des 2/3 de l'array à tout les 3 heures sur un JBOD qui ensuite est transféré sur des tapes DLT une fois par semaine). Sur le JBOD auquel j'ajouterai 1TB de capacité. Je metterai aussi ce qui est hyper-critique, mais ne change pas souvent, sur des DVDs. Ma stratégie de backup est correcte mais ne couvre pas tout. Mais avec le coût des disques qui tombe sans cesse, je peux me permettre de passer de RAID 5 à "pseudo-RAID50" (i.e. faire un backup d'un RAID5 sur un autre RAID5). Aussi, je vais générer une image pour VMWare de la machine qui héberge la carte. On est jamais trop prudent...
Je ne devrais pas me plaindre de mon array. Ça fait 5 ans qu'il roule 24/7 et je n'ai eu qu'à remplacer qu'un disque. La SX6000 n'est pas la meilleure carte du monde, elle m'a donné pas mal de toubles au début mais elle a remplit sa mission. Il faut que je commence a penser à la remplacer...

Ligne de basse

Est-ce que c'est juste moi ou la ligne de basse de "Scarlet Nights" de Prefab Sprout sonne très New Order?

samedi, février 24, 2007

Encore de la casse (suite et désespoir)

J'ai un gros problème avec ma carte RAID Promise SX6000. Un de mes drives est mort la semaine passée. Et la je ne parviens plus à rien.
Voila ce que j'ai fait. Si vous avez une suggestion ne vous gênez pas à laisser un commentaire:
  • J'ai remplacé le WD1200JB par un WD2000JB. La SX6000 me retourne encore le message "? : ? failed or disconnected".
  • J'ai remplacé le cable IDE d'origine par un autre. Même message d'erreur.
  • J'ai mis le jumper en mode master. Même message d'erreur.
  • Je me suis procuré un drive Seagate 160GB (le plus petit que j'ai trouvé). Je l'ai installé. Même message d'erreur.
  • J'ai remis le cable d'origine et le Seagate. Même message d'erreur.
  • J' ai mis le jumper en mode master sur le Seagate. Même message d'erreur.
  • J'ai partitionné le Seagate, créant une partition de 120034MB, pour que la taille de la première partition du Seagate ait la même taille qu'un WD1200JB. Même message d'erreur.

Je ne sais plus quoi faire. Des idées?

vendredi, février 23, 2007

Une pratique monopolistique de Microsoft

Je lisais un article sur MSDN ce matin. Je décide de l'imprimer. Avant de continuer, je dois dire que je lisais l'article avec Firefox sous Linux. J'envois l'article pour impression à ma HP Color Laserjet 2605dn. Il ne sort que la première page. Je renvois l'article, même résultat. Je l'envois sur ma HP LaserJet 4: même résultat. Je passe à Firefox sous WindowsXP SP2. Même résultat avec les 2 imprimantes. J'essaie avec InternetExplorer 6.0. Devinez quoi? Ça marche. Grrrrrrrrrrrrrrrrrrrrrr...

Encore de la casse

Ma machine Window$ principale est encore en panne. Un des 6 disques de mon array en RAID5 a lâché. J'ai remplacé le WD1200JB qui a lâché par un WD2000JB mais ça marche pas. Il semble que la différence de capacité entre le nouveau disque et ceux qui sont actuellement dans l'array (4 WD1200JB et 1 ST3160021A) fasse que le contrôleur (Promise SX6000) ne veuille pas prendre ce nouveau (trop) gros disque. Comme le WD1200JB n'est plus disponible, j'ai commandé un ST3160023A-RK. J'espère que celui-ci est encore disponible, sinon...
Oui ma machine la plus fiable a 9 ans. La P2B-DS, c'est du solide!

Expansion spirituelle

Les langages fonctionnels sont aux programmeurs ce que le LSD était aux hippies: ils élargissent l'esprit ;-)

dimanche, février 18, 2007

Malchance

Hier, je fais du ménage à la cave. Je soulève un case vide d'ordinateur et la foudre s'abat sur mon dos: entorse lombaire... La douleur est intense mais je peux me trainer jusqu'à mon lit. Je fais une petite sieste avant d'aller à un souper pour souligner le nouvel an chinois. La soirée se passe dans la douleur mais je reste mobile. Ce matin je me lève mais ça ne va vraiment plus. Je dis a ma douce: "On va à Montfort!". Je m'habille et on y va. Après 3.5 heures d'attente, je vois un interne puis un médecin. Le verdict: entorse lombaire. Et mon arthrite lombaire ne simplifie pas les choses. Je repars avec une prescription d'anti-inflammatoire. Trois heures après la prise du premier comprimé, ça va mieux. Merci au personel de Montfort!

Bonjour la police! (ou presque...)

J'ai essayé de me procurer des billets pour le concert de "The Police" à Montréal en juillet. J'étais en ligne virtuelle dès 12h00. Mais je n'ai rien eu. Pour cause: le site d'admission.com s'est effondré. Franchement! Quelle compagnie à la con dessine un système qui s'effondre sous la pression? Moi, je fouterais dehors le CTO. C'est inacceptable pour les clients. Ce bouquin offre des suggestions pour des designs qui s'étendent à grande échelle.

mercredi, février 14, 2007

Sur les langages

Deux thèmes, un seul mot ce matin: langages.
Je prends des cours de chinois. Un soir par semaine. C'est peu mais c’est intellectuellement stimulant.

Ce que je trouve intéressant, c'est de comparer comment on dit une chose équivalente d'une langue à l'autre. Je parle couramment le français et l'anglais et j'ai déjà étudié le japonais et l'allemand. Je peux donc faire quelques comparaisons.
En japonais et en chinois, il y a des mots d'énumération. C'est un mot que l'on met entre le cardinal et l'objet compté et qui nous renseigne, un peu, sur la nature de l'objet compté. En japonais comme en chinois il existe un mot réservé au compte d'objet de forme ronde ou sphérique. Si on vous mentionne un mot que vous ne connaissez pas mais qui est précédé du mot d'énumération (et d’un cardinal!) pour les objets ronds ou sphériques, vous faites l'acquisition d'une information supplémentaire, qui jumelée au contexte, vous permet de (peut-être) deviner le sens du mot inconnu. Pratique.
Prenez aussi par exemple les pronoms relatifs en français. Avez-vous pensez ce que la langue serait sans eux? La phrase "La femme dont le mari est gros.." deviendrait "La femme, elle a un mari gros, ...". Même si les deux phrases ont la même signification, la première forme sonne mieux. Un petit mot, "dont", influence la syntaxe et la rend expressive (si vous trouvez un meilleur exemple, dites-le moi).

Le concept « d'expressivité par la syntaxe » n'existe pas que pour les langages humains. Il existe aussi pour les langages informatiques. On a qu'a comparer les langages de type fonctionnel (F#, ML, Erlang, Haskell, ...) aux langages impératifs (Java, C, ...). Leurs syntaxes sont radicalement différentes. Ils parviennent tous à exprimer les mêmes concepts mais sans les mêmes structures. Pour certains types de programmes, les langages de type fonctionnel mènent à des solutions plus élégantes.

Je m’intéresse pas mal ces temps-ci aux langages fonctionnels. J’étudie Lisp/Scheme et j’aimerais bien avoir le temps de jeter un coup d’œil à Haskell ou Erlang (ce dernier se prêtant pas mal bien à la programmation concurrentielle). Je trouve stimulant d’être exposé à autre chose que des langages impératifs auxquels tous sont familiers. Je suis convaincu qu’apprendre sur les langages fonctionnels fera que je serai plus productif et clair avec les langages impératifs que j’utilise les plus souvent.


En Lisp, en écrivant une macro on créé une nouvelle structure du langage qui altère la structure, la rendant plus expressive. Cette caractéristique du langage n'existe pas dans les langages de type impératifs.

En Haskell, par le biais du « pattern matching » on peut décrire à l’intérieur de la signature d’une fonction des cas d’utilisation de celle-ci plutôt que de recourir à une structure de type « case » dans le corps de la fonction.

Voilà pour ce matin. Si je pense à autre chose, je l'écrirai.

dimanche, février 11, 2007

Étapes pour installer DrScheme sous Gentoo

J'ai essayé d'installer DrScheme sur ma station de travail cet après-midi. Installer DrScheme simplement à partir de "emerge -aDv drscheme" s'avéra problématique, le e-build plante à chaque fois.
Jetant un coup d'oeil sur les forums de Gentoo, j'ai trouvé la solution mais quelques modifications s'imposaient. Voilà la procédure:

  • wget http://bugs.gentoo.org/attachment.cgi?id=93091
  • cp attachment.cgi?id=93091 drscheme-352-raw-LDFLAGS.patch
  • patch drscheme-352-r2.ebuild drscheme-352-raw-LDFLAGS.patch (Il y aura une erreur au 1er chunk mais elle peut être ignorée)
  • ebuild drscheme-352-r2.ebuild digest
  • ACCEPT_KEYWORDS="~x86" emerge -a =x11-libs/libXft-2.1.12
  • emerge -a drscheme
  • etc-update
  • cp drscheme-352-r2.ebuild /usr/local/portage/

C'est aussi simple que ça. Je peux donc faire les exemples dans le livre '"Structure and Interpretation of Computer Programs"

mardi, février 06, 2007

Grillée!

J'avais peur que ça soit ça et c'est ça. J'ai grillé la carte-mère de la machine que je voulais utiliser dans ma boîte MythTV. Je voulais garder bas le coût du projet, en ré-utilisant des composants que j'avais déjà, mais je devrai me résigner à dépenser un peu. Je ne sais pas comment c'est arrivé, c'est ce qui me choque. Aprèes avoir testé la carte avec 3 blocs d'alimentation et 2 écrans, je me résigne. Et ça rend la carte vidéo que j'ai achetée avant Noël inutile mais je trouverai bien un moyen de la recycler.
Je pense acheter une Asus P5B-VM DO et un Pentium D925 avec 1 GIG de RAM; j'ai déjà tout le reste. Mais ça me frustre quand même!
J'aurais préféré y aller avec une solution AMD mais il semble que les cartes-mère avec un socket AM2 ne jouent pas très clean avec MythTV (et Linux tout court). Domage. Néanmoins il semble que la ligne P5B de Asus soit très bien. Je n'ai jamais regretté mon P2B-DS qui marche non-stop depuis presque 9 ans. Ça c'est de la qualité! Touchons du bois car si ça lâche, je suis vraiement cuit car ça reste ma machine de choix. Mon dual MP1800+ n'a jamais été stable comme ça. Va falloir que je lui change son bloc d'alimentation à celui-là.

jeudi, février 01, 2007

Le dernier CD de Carla Bruni

J'ai eu l'occasion d'entendre le dernier CD de Carla Bruni "No promises". Bof... pas aussi accrocheur et mignon que le premier que je continue d'écouter.

La caméra est partie

J'ai finalement expédié ma caméra chez Nikon pour la réparation. Je devrais la revoir d'ici 3 semaines. Entre-temps je devrai me débrouiller avec une Nikon CoolPix 3200.

mercredi, janvier 24, 2007

Petit truc d'imprimante

J'ai eu pas mal de problème de bourrage avec mon imprimante HP Color Laserjet 2605dn. Mais j'ai trouvé le truc: ne jamais remplir le tiroir de papier plus qu'à la moitié. Je trouve ça con, mais ça marche...

mardi, janvier 23, 2007

Enregistreur DVD installé

Je me suis récemment procuré un enregistreur DVD. Je l'ai finalement installé. Et ça marche bien! La qualité d'enregistrement est excellente même en mode EP. Deux déceptions:
  • La fonction pour sauter les commerciaux n'est pas très bonne: Ça ne saute pas le bloc complet de commerciaux, ça saute commercial par commercial.
  • Il faut fermer l'enregistreur pour qu'il enregistre. Ce n'est pas inscrit dans le manuel (rédigé en bon français d'ailleurs).
Recommandé!

Royal: Mèle-toi de tes affaires!

André Boisclair est en France. Il a rencontré Ségolène Royal. Et elle est pour la souveraineté. Qu'elle se mèle de ses affaires! Vive la Corse libre!

Nouveau gadget japonais

Nouveau gadget chez JVC. Akihabara News nous annonce que JVC vient de lancer un enregistreur DVD/disque dur/miniDV. Génial! Pour quelqu'un qui a pas mal de cassettes DV et qui veut les convertir en DVD sans ordinateur, c'est génial.
Même pour quelqu'un comme moi qui fait ses montages vidéos sur ordinateur, c'est génial car le joujou a une sortie Firewire. Il est bien connu que les caméscopes DV ne sont pas capable de servir de magnétoscope sur une base régulière. Il est recommandé, si vous faites beaucoup d'édition DV, de vous procurer un magnétoscope DV pour transférer votre matériel des cassettes DV à l'ordinateur et vice-versa. C'est pourquoi je me suis procuré il y a quelques années un magnétoscope S-VHS/DV: Le Sony WV-DR9. Ce deck fonctionne à merveille avec Adobe Premiere. Malheureusement ce modèle n'est plus manufacturé par Sony. La raison donnée, à l'époque, était que ce modèle n'était pas assez bon pour l'utilisation par les stations de télévision mais overkill pour l'usage domestique. J'espère que ce modèle de JVC sera disponible en Amérique et qu'il sera une excellente alternative au Sonu WV-DR9.

vendredi, janvier 19, 2007

La visite au Musée

Hier je racontais que j'allais aller à une conférence au Musée des beaux-arts. J'y suis allé. C'était spécial. L'artiste est une professeur d'art contemporain à l'Université Simon-Fraser de Vancouver. Son exposition parlait du lien entre le temps, l'espace et l'identité. L'oeuvre visait aussi à évoquer des souvenirs d'avant notre naissance. J'ai un peu de misère avec ça... Ce qui était intéressant était le langage utilisé par l'artiste. Les mots, les thèmes autour de l'espace et de l'identité étaient connus mais utilisés hors d'un contexte familier. À la fin, elle nous a montré un extrait de sa dernière oeuvre: un vidéo d'elle, habillée en noir, rampant sur les trottoir autour des ambassades japonaises et américaines à Séoul: concept... Ce que j'ai bien aimé c'est que je connaissais ces rues, le paysage environnant. Beaux souvenirs: j'aime bien Séoul.

Le comble de la paresse...


Depuis que ma machine principale est hors-service, j'utilise mon ordinateur portable pour jouer de la musique dans mon bureau. Le portable est à deux mètres à ma gauche sur ma table de travail. Je suis assis sur une chaise de bureau à roulette. Ce serait très facile de rouler de mon bureau où est mon écran/clavier/souris/KVM à celui où est le portable. Mais non! Je suis un geek et je suis paresseux. J'ai donc installé VNC sur le portable et sur ma station de travail Linux. Je peux donc contrôler mon lecteur de MP3 de ma station Linux sans avoir à déplacer ma chaise (voir illustration ci-contre). Fantastique n'est-ce pas? ;-)

jeudi, janvier 18, 2007

Installation de Subversion

J'ai finalement installé Subversion sur la machine virtuelle VMWare qui est sur mon laptop. J'ai suivi les instructions là. Mais attention! L'information donnée sur les permissions d'accès n'est pas correcte. Le bon format est donné ici.
L'intégration de Subversion dans NetBeans 5.5 est admirable. On se sert de Subversion sans même s'en rendre compte. J'ai installé NetBeans sur une machine W2K en plus de sur mon laptop (car je n'ai pu l'installer sur ma machine XP principale). C'est bien de pouvoir utiliser NetBeans sur un écran en 1600X1200!
Ce soir je vais à une conférence au Musée des Beaux-Arts!

mardi, janvier 16, 2007

Un autre pépin

Un disque vient de me lâcher. Heureusement, il fait partie d'un array en RAID 5. Je vais donc le remplacer demain soir si j'ai le temps. Je me serais bien passé de ça.

lundi, janvier 15, 2007

Il neige

Je sais, je me suis déjà énervé avec ça. C'est pas que j'aime la neige, c'est juste qu'elle se fait rare. On en annonce pour aujourd'hui et la température chutera jusqu'à -9C. J'espère que je n'arriverai pas en retard à mon entrevue...
J'ai réparé le problème que j'avais avec deux partitions reiserfs sur mon serveur de fichier principal. Après un crash massif pendant que je rzip-pais des fichiers de 30GB, j'ai du faire un shutdown pas trop clean. En rebootant, pas moyen de remonter mes deux partitions formatées en reiserfs... Panique... Mais rapellons-nous que Google est notre ami. Googlant le message d'erreur, je constate qu'il est du à un bug dans la version de reiserfs qui est compilée dans le kernel 2.6.16. Une mise-à-jour à 2.6.18 résout magiquement le problème. Une des deux partitions contenait mes backups (aussi off-site sur des tapes DLT) et l'autre 600 GB de données en RAID 10.
Vous constaterez aussi que j'ai ajouté un blogroll en bas à gauche. C'est la liste des blogs/sites que je lis quotidiennement. Va falloir que je trimme ça, je passe trop de temps à lire ça.
J'ai aussi ajouté tout en bas la liste des 10 dernières chansons que j'ai écouté. Cette liste se met à jour par elle-même!
Ça fait que c'est ça qui est ça...

vendredi, janvier 12, 2007

Mondrian Code Review On The Web



Google Tech Talks
November 30, 2006

ABSTRACT

Mondrian Code Review On The Web


Video pas mal intéressant par Guido van Rossum démontrant "Mondrian", son nouveau système de revue de code pour les gningnégnieurs de Google. J'aimerais bien voir ça être OpenSourcé. Ça serait une brillante addition à CVS ou Subversion.

mercredi, janvier 10, 2007

Le service de Nikon Canada

Je viens de téléphoner à Nikon Canada au sujet du BGLOD de ma D70. Ils vont la réparer gratuitement en 3 semaines et l'expédition est à leur frais.
Je me demande si Philippe a le même problème que moi...
Pas mal mieux que Panasonic qui me charge 650$ + taxes pour remplacer le prisme de ma caméra vidéo (qui a laché sans raison). À ce prix là, je ne la remplacerai pas tout de suite et pas par une Panasonic. Je vais attendre juste avant d'aller en Chine à la fin de l'année. On verra où sera la technologie à ce moment là.

Mes thèses sont là!

Par un hasard complet, je me suis retrouve sur le site de la bibliothèque nationale où sont répertoriées toutes les thèses publiées au Canada. Mes thèses de doctorat et de maîtrise sont là, bien répertoriées. Je me rapelle encore avoir rempli des formulaires pour la bibliothèque nationale. Voilà la preuve qu'elles ont réellement été microfilmées (et "pdfée" pour ce qui est de ma thèse de doctorat)!

Ça redéfinit le terme...

J'ai reçu une pub, par courriel, de O'Reilly ce matin.
C'est pour le livre "Windows Vista in a Nutshell". Qui fait 750 pages. 750 pages pour un "... in a Nutshell"! Wow!
La série "... in a Nutshell" de O'Reilly est définie comme:
O'Reilly's "In a Nutshell" books are topical quick-reference guides that document every nook and cranny of a topic or technology area. They provide quick, authoritative solutions to daily challenges...
Je crois qu'un volume de cette épaisseur redéfinit la catégorie... Si un système d'opération avec une interface graphique a besoin d'un "quick guide" de 750 pages, ça va être un flop. Vous l'avez lu ici en premier, Windows Vista sera un flop!

mardi, janvier 09, 2007

"Bug" avec NetBeans 5.5?

J'ai tenté à plusieurs reprises d'installer NetBeans 5.5 sur mon desktop Window$ XP. La seule manière de faire est d'installer premièrement le JDK sur le drive C:. Ça m'enrage, mes programmes sont tous sur le drive D:. Bug?
Mise-à-jour: Impossible à installer! Sais pas pourquoi, je devrai investiguer... Entretemps je devrai faire du java sur le laptop...

Nouvel achat

J'ai craqué ce week-end pour un enregistreur DVD pour ma télévision (seulement 139.99$C chez Costco!). Il s'agit d'un LiteOn DD-A300GX. C'est une fin de ligne mais je m'en fou.
Ça va me permettre d'attendre de finir ma boîte MythTV.