vendredi, juin 10, 2011

Never ever ever use UPS to get purchases from the US. Their brokerage fees are highway robbery: 39$ shipping +39$ brokerage for an item valued at 80$ and weighting 1 pound.

mercredi, avril 22, 2009

Probleme de librairie

Ma librairie SUN StorEdge L9 m'affichait un message inusité ce soir: "Loader partly available". La solution? Nettoyer le drive. Je ne vois toujours pas le lien entre le message et la solution...

mercredi, février 04, 2009

Talk at OCLUG

Here are the slides of my talk of yesterday at OCLUG "Deduplication on the cheap"
Voila la presentation que j'ai faites hier soir a OCLUG: "Deduplication on the cheap"

jeudi, mai 29, 2008

Mise a jour de mémoire.

Oui ça fait longtemps que je n'ai rien écrit sur ce blog. Manque de temps comme d'habitude.

Mais la il faut que j'écrive car j'ai des nouveautés!

J'ai augmente la mémoire de ma station de travail de 4GB a 8GB. Pourquoi? VMWare. Chaque machine virtuelle a besoin de sa propre mémoire et ça ne prend pas beaucoup de machines virtuelles pour que la machine hôte commence a swapper. J'ai plusieurs machines virtuelles qui me permettent de rouler d'anciens systèmes d'opérations ou qui me permettent de "simuler" plusieurs serveurs roulant en parallèle.

Choisir la bonne marque de mémoire n'a pas été facile pour ma carte-mère très "sélective" (une Gigabyte N680i-SLI-DQ6). En effet il semble que les carte-mères basées sur le chipset 680i de NVidia ne sont stables qu'avec quelques marques de mémoire.

Mon vendeur a aussi eu beaucoup de problèmes a garder stable la Asus Striker, qui utilise le même chipset, avec 8GB de RAM.

J'utilisais 4GB de Kingston DDR2-667Mhz et c'était très stable.

Pour mon upgrade a 8GB, mon vendeur habituel m'a suggéré 8GB de Kingbox 800Mhz. Base sur leur expérience, cette marque est stable et compatible avec la grande majorité des carte-mères qu'il vendent. J'ai essayé cette marque sans succès: Memtest86+ a trouve des erreurs des les premières 30 secondes et Linux n'a jamais été stable plus de 5 minutes avec cette marque. J'ai donc du rapporter ces bâtons de mémoires et essayer une autre marque.

Mon vendeur m'a suggéré d'essayer des bâtons de marque APacer. Après plus de 3 heures, Memtest86+ ne montrait aucune erreurs. J'ai donc décidé de booter Linux et voir si c'est stable. Aucun problèmes! Ma machine fonctionne sans arrêt depuis maintenant 5 jours.

La mémoire APacer est un excellent choix pour cette carte-mère!

Si jamais j'ai besoin de plus de mémoire, il va falloir que je change la carte-mère. Probablement une bonne occasion de finalement acheter une carte-mère Supermicro!


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?