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.