filyb.info

dimanche 25 janvier 2009

Écran qui se fige avec une carte NVidia

J'avais depuis un moment un problème avec l'écran interne de mon ordinateur portable : parfois, quand globalement l'image affichée est sombre, elle se fige, et des lignes horizontales multicolores la dégrade peu à peu. Réafficher une image claire, comme fermer la fenêtre pour revenir sur un fond d'écran clair fait disparaître temporairement le problème. Mais il y a plus efficace :

Le pilote privateur NVidia propose un utilitaire de configuration, qui va résoudre le problème : nvidia.png

Activer ou désactiver l'option Force Full GPU Scaling force une sorte d'initialisation de la carte, qui résoud définitivement le problème... du moins jusqu'au prochain redémarrage.

lundi 1 septembre 2008

En vrac de rentrée

mardi 22 juillet 2008

Lier vos billets DotClear 2 avec OpenStreetMap

Le but est, à partir d'un billet de blog, écrit à l'aide DotClear 2, de géolocaliser le billet (donc inscrire dans le billet des informations géographiques le concernant), et de lier cela à OpenStreetMap.

Avant tout, signalons l'existence de Dotmap, une extension de géolocalisation très complète, mais ne supportant pas OpenStreetMap (mais je l'ai suggéré à l'auteur, et c'est dans la roadmap, via Mapstraction. La solution que je propose est beaucoup plus légère et rudimentaire. À vous de voir.

Nous allons simplement nous contenter d'ajouter dans le billet des informations de géolocalisation (latitude, longitude), exploitable via le microformat geo, et d'afficher cela sous forme de lien vers OpenStreetMap. À noter que l'on pourrait sans problème afficher en plus une carte OpenStreetMap, mais je trouve que cela alourdi beaucoup la page pour pas grand chose. Pour voir un exemple de ce que cela donne, regardez sous le billet Tonight in Toulouse, en bas des informations sur le billet : un joli lien vous mène vers l'endroit en question, sur le site principal d'OpenStreetMap.

Nous allons passer par le plugin Mymeta, qui permet d'ajouter des méta-données personnalisées aux billets. Dans notre cas, voici les méta-données en question : Liste des méta pour le lien OSM

place_name et zoom sont ici uniquement pour avoir un lien sympathique. Une fois les méta-données créées, vous avez la possibilité de les renseigner pour chaque billet. Si vous laissez tout vierge, il n'y aura pas de lien. Par contre, sinon, remplissez tout, le code que je vais donner ensuite n'aime pas trop se débrouiller avec la moitié des informations.

Pour récupérer ces informations, vous pouvez par exemple utiliser le site principal d'OpenStreetMap et son adresse Permalink en bas à droite : vous trouverez dans cette adresse les coordonnées actuelles, ainsi que le niveau de zoom.

Téléchargez maintenant le fichier _osm_link.html, et placez-le dans le dossier tpl de votre thème. Pour afficher le lien, il vous suffit de modifier le fichier tpl/post.html de votre thème, et de placer là où vous voulez insérer le lien :

{{tpl:include src="_osm_link.html"}}

Cela insérera le lien dans des balise <li>, parce que ça m'arrange. Vous pouvez les supprimer de _osm_link.html.

Normalement, vous devriez déjà avoir quelque chose de fonctionnel. Pour agrémenter le tout, vous pouvez utiliser l'icône Geotag. Téléchargez-le, et insérez quelque chose comme ceci dans votre feuille de style :

.geo:before {
    content:url(img/geotag_16.png)"\0000a0";
}

jeudi 26 juin 2008

Astuce python : de l'autocomplétion dans l'interpréteur

N'avez-vous jamais rêvé de pouvoir obtenir d'une simple tabulation la liste des méthodes d'une classe ? De ne pas avoir à réécrire cette variable au nom tellement explicite qu'il en est trop long ? Heureusement, il est possible d'activer une autocomplétion très efficace dans notre interpréteur préféré  ! (Comment ai-je pu passer à côté jusqu'à aujourd'hui ?)

Cette astuce se base sur l'utilisation de GNU readline, et ne fonctionne donc pas sous Microsoft Windows.

Pour la mettre en place, il suffit de créer un fichier, nommé par exemple ~/.pythonrc qui contiendra des commandes exécutées au démarrage de l'interpréteur (uniquement en mode interactif), et d'y insérer le contenu suivant (provenant de la documentation du module rlompleter) :

(edit : voici une version modifiée pour permettre en plus d'indenter le code avec quatre espaces, source en commentaire.)

try:
    import readline
except ImportError:
    print "Module readline not available."
else:
    import rlcompleter

    class TabCompleter(rlcompleter.Completer):
        """Completer that supports indenting"""
        def complete(self, text, state):
            if not text:
                return ('    ', None)[state]
            else:
                return rlcompleter.Completer.complete(self, text, state)
    readline.set_completer(TabCompleter().complete)
    readline.parse_and_bind("tab: complete")

Il faut ensuite expliquer à l'interpréteur python de lire ce fichier à son démarrage. Cela se fait en définissant la variable d'environnement PYTHONSTARTUP, par exemple en insérant dans le fichier ~/.bashrc la ligne suivante :

export PYTHONSTARTUP="$HOME/.pythonrc"

Relancez bash, ouvrez python, et appréciez !

lundi 9 juin 2008

En vrac

- page 1 de 8