lundi 23 juin 2008
Flashass informatique
Par Julien Wajsberg, lundi 23 juin 2008 à 15:30 :: Informatique
Note to self: ne plus refaire ". ~/.bash_history", c'est une très mauvaise idée !
Aller au contenu | Aller au menu | Aller à la recherche
lundi 23 juin 2008
Par Julien Wajsberg, lundi 23 juin 2008 à 15:30 :: Informatique
Note to self: ne plus refaire ". ~/.bash_history", c'est une très mauvaise idée !
dimanche 21 octobre 2007
Par Julien Wajsberg, dimanche 21 octobre 2007 à 19:03 :: Informatique
Habituellement, je laisse mon ordi allumé la nuit. Il sert notamment à me réveiller le matin (at 08:00; mpg123 * &>/dev/null; CTRK-D), et puis, je suis vraiment impatient, j'ai du mal à supporter le temps de démarrage.
Et là, dans la nuit de mardi à mercredi, vers 4h30 du matin, le ventilateur du chipset nForce 4 a décidé de me réveiller en faisant un bruit horrible. Je me suis levé, j'ai tapoté sur le côté, le dessus, le bruit a disparu... pour 5 minutes à peine. Ce manège a recommencé 3 ou 4 fois, puis j'ai finalement décidé d'éteindre le PC.
En fait, quand j'ai acheté le PC il y a presque 3 ans, j'avais acheté aussi un refroidissement passif pour le ventilateur du chipset; mais j'ai eu quelques ennuis de garantie, et j'ai plutôt décidé de pas l'annuler en démontant un truc sur la carte mère. Par ailleurs, le ventilateur était plutôt peu bruyant. Donc, j'avais déjà ce radiateur passif disponible, et j'ai décidé de le mettre en place hier !
J'ai viré l'ancien ventilateur en bourrinant un peu, et j'ai mis en place le nouveau radiateur, avec un peu de pâte thermique. Ça m'a rappelé un peu les meubles ikéa, mais avec des vis vachement plus p'tites.
Tout a l'air de bien se passer, je rebranche le PC, le rallume... Ça boote tranquillement. Je décide de tester 2 3 trucs, genre lancer @glxgears@@... qui est surprenamment lent.
Et puis ça freeze. Panique... J'ai cassé un truc ?
Je reboote, ça démarre correctement, Linux commence à charger des trucs, et puis, hop, plus rien n'avance: re-freeze.
Je retente une ou deux fois, mêmes symptômes. Je commence à me faire à l'idée: je vais mettre à jour mon PC. De toute manière, il a presque 3 ans, je vais me faire un peu plaisir avec du Core 2 Duo voire Quad !
Bon et puis là, déception, le PC remarche. Sans son néanmoins pour l'instant, c'est étrange. À suivre... Et je vais quand même voir coment ça me coûterait de changer l'ensemble carte mère-processeur-mémoire vive ;-)
Avec tout ça, j'ai quand même profité de pas avoir d'ordi pour passer la serpillière. Comme quoi.
dimanche 13 mai 2007
Par Julien Wajsberg, dimanche 13 mai 2007 à 14:36 :: Informatique
Attention les filles, c'est un post geek. Je vais expliquer comment installer le module binaire nvidia avec les noyaux Linux récents, présents dans Debian unstable.
Avant, c'était super facile: grâce à module-assistant, il suffisait d'avoir démarré sur le noyau dont on veut créer le module, et tapoter :
# module-assistant auto-install nvidia-kernel
Ou encore, en abrégé :
# m-a a-i nvidia-kernel
et voilà, c'était torché !
Mise à jour: ça fonctionne à présent parfaitement avec les paquets récents. La suite du billet est donc obsolète...
Mais voilà, depuis les nouveaux noyaux, on tombe sur l'erreur suivante:
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'paravirt_ops'
Il semble que ce soit une régression du noyau; en effet, le module nvidia utiliserait un symbole correctement exporté (udelay), mais qui, depuis peu, dépendrait d'un autre symbole seulement GPL. Ainsi, d'une version à l'autre du noyau, on ne peut plus utiliser un certain symbole. Voici ce que dit l'un des développeurs de nVidia:
The NVIDIA Linux graphics driver calls udelay(), which has traditionally been available to non-GPL licensed modules; it seems that on kernels configured with CONFIG_PARAVIRT, udelay() references the GPL-only symbol paravirt_ops, thereby becoming a GPL-only utility macro itself. This is a regression in the Linux kernel.
Je m'inspire d'un article de debianhelp.
La première partie de cet article, je n'y touche pas. Voici les opérations à faire :
# apt-get build-dep linux-kbuild-2.6.20
Les opérations suivantes peuvent être réalisées en tant qu'utilisateur sans privilèges.
$ mkdir linux-kbuild-2.6.20-build $ cd linux-kbuild-2.6.20-build $ apt-get source linux-kbuild-2.6.20
Les sources du paquet vont être installées et décompressées dans un sous-répertoire linux-kbuild-2.6-2.6.20/.
$ cd linux-kbuild-2.6-2.6.20/
Puis, il faut modifier scripts/mod/modpost.c et commenter les lignes 1197 et 1198:
/* if (!mod->gpl_compatible)
check_for_gpl_usage(exp->export, basename, exp->name); */
Et enfin construire le paquet :
$ dpkg-buildpackage -uc -us -rfakeroot (the .deb is created)
Puis l'installer :
$ cd .. # dpkg -i linux-kbuild-2.6.20_2.6.20-1_i386.deb
Là, on va un peu s'éloigner de l'article, car nous, on veut créer un paquet Debian. Voici la marche à suivre:
# cd /usr/src # m-a get nvidia-kernel # tar xvzf nvidia-kernel-source
On va ensuite aller éditer le script de compilation Debian modules/nvidia-kernel/debian.rules
Juste avant la target build-stamp, on rajoute une ligne :
PARAVIRT_OPS=$(shell grep "D paravirt_ops" /boot/System.map-`uname -r` | colrm 9)
Puis un peu plus bas, juste avant touch build-stamp, on rajoute :
# remove paravirt symbol cd nv; \ $(LD) -m elf_i386 --defsym paravirt_ops=0x$(PARAVIRT_OPS) -r -o nvidia.ko nvidia.o nvidia.mod.o
On sauve, on quitte, et on lance la compilation :
# m-a -O -f build,install nvidia-kernel
L'option -O permet d'empêcher d'écraser nos modifications, et l'option -f de forcer la compilation et l'installation même si une autre version existe.
Et voilà ! Simple, non ? (ahem) Aux prochaines mises à jour, votre paquet linux-kbuild sera automatiquement écrasé par le paquet Debian officiel... C'est pas bien grave tant que vous n'avez pas besoin de recompiler un nouveau module nvidia, mais il ne faudra pas oublier cela lors de la prochaine mise à jour du module.
dimanche 8 avril 2007
Par Julien Wajsberg, dimanche 8 avril 2007 à 15:27 :: Informatique
Qu'est-ce qui est le plus incroyable ? Que Sam soit élu Debian Project Leader, ou que Etch soit sortie ?
En tout cas, c'est un grand jour pour Debian :-)
lundi 1 janvier 2007
Par Julien Wajsberg, lundi 1 janvier 2007 à 04:16 :: Informatique
Il m'arrive de lire des DVD sous Linux.
Par conséquent, je suis passible d'une contravention de 4e classe.
Vous aussi, qui êtes dans le même cas que moi, faites votre coming-out !
vendredi 22 décembre 2006
Par Julien Wajsberg, vendredi 22 décembre 2006 à 11:06 :: Informatique
C'est un peu l'un de mes gros problèmes. D'ailleurs, c'est pas pour rien que j'en ai déjà parlé...
Dans son article pour 24 ways, Dave Shea explique comment sampler des couleurs depuis une photographie. En effet, c'est souvent la manière la plus simple de créer une ambiance dans un site.
J'avais trouvé un autre site que je n'avais pas partagé; c'est Adobe qui le fait, et ça s'appelle kuler (remarquez le jeu de mots, color/cooler). Ça permet de trouver des couleurs qui vont bien ensemble (comme le site que j'avais déjà montré), mais ça permet de plus de les partager ! Intéressant, non ?
jeudi 21 décembre 2006
Par Julien Wajsberg, jeudi 21 décembre 2006 à 17:36 :: Informatique
Depuis Firefox 2 et Internet Explorer 7, les deux navigateurs ennemis (ou presque) partagent le même format de description des plugins de recherche. Ce format et son utilisation sont d'ailleurs très bien expliqués sur la page associée du MDC.
Ce qui l'est un peu moins, c'est la manière de supporter à la fois Firefox 1[1], Firefox 2, et Internet Explorer 7.
Tout d'abord, notons que la balise link que l'on peut ajouter dans le head est comprise à la fois par IE7 et Firefox 2, mais pas par Firefox 1.5. J'ai donc décidé d'ajouter un lien, pour appeler la méthode JavaScript responsable de cet ajout. Or, cette méthode n'est pas la même non plus pour Firefox 1.5. Tout est d'ailleurs indiqué sur le MDC.
La raison, c'est que Firefox 1.5 n'utilise pas le même format. Il utilise le format ''src'', d'après ce que j'ai compris, le même que Sherlock.
Mon premier essai fut d'utiliser le code suivant :
if (window.external.AddSearchProvider) {
window.external.AddSearchProvider(engineUrlOS);
} else if (window.sidebar && window.sidebar.addSearchEngine) {
window.sidebar.addSearchEngine(engineUrlSRC, engineUrlIco, engineTitle, null);
} else {
alert("Votre navigateur ne supporte pas l'ajout de plugins de recherche.");
}
Et là, premier problème; en effet, Firefox 1.5 ne connait pas du tout window.external. Et donc, il lance une erreur JavaScript au premier if. D'où le deuxième essai :
if (window.external && window.external.AddSearchProvider) {
window.external.AddSearchProvider(engineUrlOS);
} else if (window.sidebar && window.sidebar.addSearchEngine) {
window.sidebar.addSearchEngine(engineUrlSRC, engineUrlIco, engineTitle, null);
} else {
alert("Votre navigateur ne supporte pas l'ajout de plugins de recherche.");
}
C'est mieux: ça marche dans Firefox 1.5 et dans Firefox 2. Dans IE6, j'ai bien la boîte qui me dit que ça ne marche pas. Dans IE7, cependant, cette erreur sybilline: Object doesn't support this method or property[2]. Interrogation. Tests multiples. Google.
Et finalement, il semble qu'on ne puisse pas correctement tester les méthodes de window.external dans IE (trouvé à propos de window.external.AddFavorite qui ajoute un marque-page). C'est étrange que la détection ait correctement fonctionné dans IE6, mais passons. Voici le code final, qui marche (chez moi (tm)) :
if (window.external) {
try {
window.external.AddSearchProvider(engineUrlOS);
} catch (e) {
alert("Votre navigateur ne supporte pas l'ajout de plugins de recherche.");
}
} else if (window.sidebar && window.sidebar.addSearchEngine) {
window.sidebar.addSearchEngine(engineUrlSRC, engineUrlIco, "AIS Newsletter", null);
} else {
alert("Votre navigateur ne supporte pas l'ajout de plugins de recherche.");
}
Idée: on utilise les capacités de JavaScript à traiter les exceptions.
C'est beau, non ?
lundi 18 décembre 2006
Par Julien Wajsberg, lundi 18 décembre 2006 à 00:11 :: Informatique
Vous l'avez tous lu, Office Open XML, le format XML de Microsoft pour stocker des documents bureautiques, a été approuvé comme standard.
J'en ai profité pour lire un peu des articles dessus. Hé bien, on est pas sorti de l'auberge. Le standard fait plus de 6000 pages (à comparer avec les 700 pages d'ODF). Il a été approuvé en un temps record.
Il contient des tas de choses obsolètes, issues de bugs des logiciels Microsoft, et qui n'auraient jamais dû se trouver dans un format standard. Citons notamment :
Le tableau ne serait pas complet si je ne parlais pas des champs de bits inclus dans le langage. Pour ceux qui ne connaissent pas cette notion, je vais tenter d'expliciter un peu.
En informatique, tout le monde le sait, tout s'exprime sous forme de 0 et de 1. C'est ce qu'on appelle un bit. Par exemple, un caractère est représenté par 8 bits (ce n'est plus tout à fait vrai, mais passons), soit 256 caractères possibles. Et ces 8 bits, il se trouve que c'est la taille minimale stockable en mémoire, sur un disque dur, etc. C'est ce qu'on appelle un octet.
Mais si l'on veut juste représenter une vérité, vraie, ou fausse, nous n'avons besoin que d'un seul bit. Et le stocker sur 8 bits, ça semble quand même être une perte de place immense, surtout dans l'ancien temps, où nous n'avions pas tant de Go à ne pas savoir qu'en faire. Donc l'idée, c'est de stocker 8 vérités, 8 bits qui représentent chacun une vérité indépendante, sur un seul octet.
(Pffiou, jusque là, je m'en suis pas trop mal sorti, je pense.)
Ce genre de technique était utilisé très souvent (et doit l'être encore). C'est donc tout à fait normal d'en retrouver dans les structures internes des logiciels de la suite Office Microsoft.
Bon, et puis, j'avais écrit la suite, et je l'ai perdue suite à une fausse manoeuvre de ma part; je l'avoue, j'ai la flemme, alors pour les intéressés (et je ne doute pas qu'ils seront très nombreux), allez lire l'excellent article de Rob Weir (en anglais). Non mais.
Et pendant qu'on y est, voici la liste de tous ses billets sur le sujet; bonne lecture !
mercredi 22 novembre 2006
Par Julien Wajsberg, mercredi 22 novembre 2006 à 15:49 :: Informatique
Pas mal, le menu, non ? Bon, j'avoue, c'est un peu un aide-mémoire pour moi.
Le DOM ne fournit aucune méthode pour récupérer facilement des éléments à partir de leur classe. Personnellement, je me sers toujours des propositions de Daniel Glazman. A noter qu'il évoque aussi une manière plus rapide, mais qui ne marche pas partout.
J'ai lu que Prototype a récemment intégré cette deuxième proposition si le navigateur la supporte, car elle est bien plus rapide.
Il y a aussi cssQuery par Dean Edwards que je n'ai pas encore essayée... et prototype semble aussi avoir cette fonctionnalité.
Internet Explorer n'a pas l'objet Node, utilisé dans l'une des propositions de Daniel Glazman pour getElementsByClass. Trouvé sur le site d'IBM:
if (!window['Node']) {
window.Node = new Object();
Node.ELEMENT_NODE = 1;
Node.ATTRIBUTE_NODE = 2;
Node.TEXT_NODE = 3;
Node.CDATA_SECTION_NODE = 4;
Node.ENTITY_REFERENCE_NODE = 5;
Node.ENTITY_NODE = 6;
Node.PROCESSING_INSTRUCTION_NODE = 7;
Node.COMMENT_NODE = 8;
Node.DOCUMENT_NODE = 9;
Node.DOCUMENT_TYPE_NODE = 10;
Node.DOCUMENT_FRAGMENT_NODE = 11;
Node.NOTATION_NODE = 12;
}
Cette fois, c'est l'excellent quirksmode qui détient la solution, avec l'explication chez Evolt.
Là j'ai galéré.
Il faut savoir, tout d'abord, que la propriété style d'un bloc n'est mise à jour qu'avec des styles de type inline. Ainsi, impossible de récupérer les styles mis dans une feuille de style CSS (externe ou inclue dans le document) de cette manière. Exit donc la méthode consistant à partir de element.style.top directement, puisque cette propriété n'est initialement pas définie.
L'idée est donc de partir plutot de element.offsetTop.
Deux bibliothèques (en plus de Prototype déjà cité) m'ont intéressé dans ma recherche.
La première est Yahoo! UI Library (YUI), notamment sa partie concernant le DOM; en effet, elle a tout ce que je cherchais: getElementsByClassName, getViewportWidth et getViewportHeight, setXY. Et sa partie Animation permet notamment de déplacer de manière fluide un élément.
Une seconde est moo.fx, avec son accordéon qui accepte le focus, ses animations qui déchirent (voir les wicked demos sur le wiki).
Utilisé sur le site de la bibliothèque Yahoo! UI, ce coloriseur de syntaxe a l'air d'être vraiment très bien... A suivre de près.
Et je suis tombé aussi sur des infos pour faire du Javascript plus rapide pour Internet Explorer. Mais qui s'en soucie encore ?
L'une des méthodes préconisées aujourd'hui est celle dite des objets imbriqués.
D'autres billets et articles sur le sujet:
Vos réflexions ?
lundi 20 novembre 2006
Par Julien Wajsberg, lundi 20 novembre 2006 à 18:11 :: Informatique
Dans un billet assez récent, je me demandais comment convertir des fichiers MJPEG en MPEG; j'ai trouvé une solution en lisant aujourd'hui le Planet Debian: comment transcoder une vidéo.
Il reste plus qu'à trouver comment tourner la vidéo à présent :)
mardi 26 septembre 2006
Par Julien Wajsberg, mardi 26 septembre 2006 à 16:45 :: Informatique
J'ai essayé d'installer les gravatars dans les commentaires, mais ça marche assez mal, car le site est plutôt lent, et le plug-in existant pour DotClear ne gère pas de cache...
Je vais donc m'atteler à la tâche de le modifier; mais bon, je prends beaucoup d'engagements, et je les termine pas toujours... alors, don't hold your breath !
lundi 18 septembre 2006
Par Julien Wajsberg, lundi 18 septembre 2006 à 19:49 :: Informatique
Heureusement, j'en avais une en rab' ;)
dimanche 20 août 2006
Par Julien Wajsberg, dimanche 20 août 2006 à 19:14 :: Informatique
Voici un nouveau quizz de bbspot: Quel langage êtes-vous ?
Bon hé bien, je suis :
et j'avoue que c'est très vexant ! Faudra que je réessaie pour avoir Perl !
mercredi 17 mai 2006
Par Julien Wajsberg, mercredi 17 mai 2006 à 01:10 :: Informatique
Je rentrais ce soir à pied d'une chouette soirée chez Lise et alpha, où j'étais avec Éric. Une chouette balade d'environ 30 min, tout ce dont on a envie à minuit et demi, un peu bourré.
Et voilà, c'est le soir des dépôts des encombrants, donc il y avait plein de trucs sur les trottoirs... Notamment un écran ressemblant comme deux gouttes d'eau à mon vieil écran IBM 15", jadis légué par le sus-cité Éric... Sauf que celui sur le trottoir était de marque Alcatel. Si près de France Télécom, c'est louche, je pressens qu'il venait de là.
Ah, et puis aussi je pressens aussi que le mien prendra biantôt le même chemin, sauf si je trouve un repreneur. Avis aux amateurs :-)
(Note: je me sépare rarement de matériel informatique... Par exemple, sur ma gauche se trouve une carte ISDN ISA; dans mes placards une carte vidéo Trident. Et une fois de temps en temps, ça me sert, par exemple lorsque j'ai amené une vieille Mystique au boulot pour faire double écran. Et que cette Mystique était l'une des seules produisant un certain bug avec X.org. Ça avait permis de pousser pour la résolution de ce bug... :-) ).
mardi 25 avril 2006
Par Julien Wajsberg, mardi 25 avril 2006 à 10:22 :: Informatique
Je vais faire rapide.
Depuis ma mise à jour vers Xorg 7, je n'avais plus d''affichage de caractères dans le plugin Flash (un comble).
En fait, je me suis aperçu qu'il manquait les chemins vers defoma, comme indiqué dans /usr/share/doc/x-ttcidfont-conf/README.Debian, à savoir :
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
Vala vala..