lundi, février 26, 2007
The Police
dimanche, février 25, 2007
Encore de la casse (suite et fin?)
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
samedi, février 24, 2007
Encore de la casse (suite et désespoir)
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
Encore de la casse
Oui ma machine la plus fiable a 9 ans. La P2B-DS, c'est du solide!
Expansion spirituelle
dimanche, février 18, 2007
Malchance
Bonjour la police! (ou presque...)
jeudi, février 15, 2007
Pourquoi il est dificile d'apprendre un langage fonctionel.
It’s very difficult for a programmer used to imperative programming to find a good Haskell tutorial, or a good tutorial on any other functional language for that matter. It’s not that they don’t explain Haskell badly; many of them explain it rather well. It’s just that they explain the wrong parts of Haskell. Procedural programmers are more often interested in how to do I/O and create GUIs rather than in how to use Parsec or write monads.
Ça vaut la peine d'être lu.
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
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!
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à.