Geek, alcool et rock'n'roll

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 8 mai 2009

Compteurs électroniques et mesures

Bon, en fait, c'est ma journée électricité :-)

Je voulais savoir si mon passage en heures creuses fonctionnait correctement[1]. J'ai donc été voir le compteur... qui est un compteur électronique avec une interface aussi ergonomique que la boutique Orange.

Voici donc le mode d'emploi[2]. Pour afficher les divers affichages, il faut appuyer sur le bouton "Sélection". Puis, sur chaque affichage, il peut y avoir des sous-affichages, et pour ça on utilise le bouton "Défilement".

Notamment, l'affichage numéro 4 est assez sympa, puisqu'il permet de mesurer l'intensité et la puissance instantanée ! Je me suis donc livré à diverses mesures avec des appareils allumés ou éteints.

  • À vide, je consomme 190W (à vide, ça veut dire avec l'ordi allumé quand même, on n'est pas des bêtes ;-) ).
  • Écran éteint (ma configuration de nuit): 160W -> -30W.
  • En utilisant le processeur de l'ordi: 230W -> + 40W.
  • Dans un jeu qui utilise la carte graphique, genre Nexuiz, je suis à 250W -> +60W.
  • Avec la télé, ça donne 270W -> +80W. Télé + Wii donnent 310W -> +120W.
  • Avec une plaque électrique : 1200W -> +1010W.
  • Avec la chaudière en marche : 1420W -> +1230W.
  • Un radiateur en marche : 1090W -> +900W.
  • L'halogène à fond : 400W -> +210W.
  • La machine à laver en phase de lavage : 2100W -> +1910W.
  • La machine à laver en phase d'essorage : 650W -> +460W[3].

Ça pourrait servir à certains pour comparer, on sait jamais :-)

Notes

[1] Parce que la chaudière n'a pas son voyant rouge qui s'allume comme elle le devrait.

[2] Oui, encore un bookmark.

[3] Désolé, j'ai pas été voir lorsqu'elle rinçait :-)

Vous cherchez les tarifs EDF ?

Aujourd'hui, j'ai reçu ma première facture EDF pour le nouvel appart'. Je suis en tarif "Heures creuses/Heures pleines", avec des heures creuses allant de 14h à 17h et de 2h à 7h[1].

Et bon, je trouve que je consomme quand même pas mal en heures pleines par opposition aux heures creuses... pas convaincu que l'augmentation d'abonnement soit compensé !

Je fais donc quelques recherches, et j'entends parler aussi de l'abonnement Tempo. Cet abonnement n'est plus proposé par les conseillers lorsqu'on appelle EDF, mais en fait, il est toujours disponible si on insiste lourdement. Le principe est qu'il y a 3 types de jours: des jours bleus, où l'électricité est très pas chère, des jours blancs où l'électricité a un prix normal, et des jours rouges où elle a un prix très élevé. Bien évidemment, les jours rouges sont choisis par EDF les jours où il fait très froid :-)[2]

C'est bien joli tout ça, mais pour bien comparer, il faut avoir tous les tarifs... et je n'ai pas réussi à en trouver certains sur leur site (notamment les tarifs d'abonnement pour Tempo). C'est pourquoi je vous fournis ce lien qui détaille tous les tarifs et permet même de comparer sur la base de la consommation annuelle[3] !

Étant donné que je ne suis pas chez moi au moins 3 soirs par semaine, et que j'ai un ordi qui tourne tout le temps, je me demande bien si Tempo ne serait pas intéressant, du coup... À suivre :-)

Notes

[1] Oui oui, il y a plusieurs options "heures creuses" avec divers créneaux horaires ! Mais il faut un compteur électronique, pas un compteur mécanique avec la grosse roue.

[2] Plus d'explications sur Tempo par là.

[3] Ok, en fait, tout ça, c'est qu'un prétexte pour garder ce lien dans un coin ;-)

jeudi 26 mars 2009

Namespaces et XML, et, surtout, elementFormDefault

Bon, ce soir, je comprenais pas pourquoi j'avais des éléments non qualifiés dans mes messages SOAP :

<?xml version="1.0"  standalone="no"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:sayHello xmlns:ns2="http://hello/">
<arg0>Juju</arg0>
</ns2:sayHello>
</S:Body>
</S:Envelope>

Alors que dans mon WSDL, j'avais un truc comme ça :

<xs:schema targetNamespace='http://hello/' version='1.0' xmlns:tns='http://hello/' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
 <xs:element name='sayHello' type='tns:sayHello'/>

 <xs:complexType name='sayHello'>
  <xs:sequence>
   <xs:element minOccurs='0' name='arg0' type='xs:string'/>
  </xs:sequence>
 </xs:complexType>
</xs:schema>

Mon arg0 aurait du être dans mon tarnetNamespace !

Alors, j'ai été lire la spécification XML Schema. Je dois dire que c'est un peu douloureux, mais j'ai tout de même trouvé la réponse !

Elle est très bien expliquée sur ce billet de blog, mais, rapidement, la raison vient de l'attribut optionnel elementFormDefault. En effet, cet attribut de schema vaut, par défaut, unqualified. Cela signifie que les éléments définis de manière imbriquée sont définis dans le namespace par défaut !

Alternativement, si l'attribut elementFormDefault avait été spécifié avec une valeur de qualified, alors arg0 aurait bien été dans le namespace http://hello/ !

Parfois, le XML, ça me fatigue....

samedi 21 mars 2009

Des séquences spéciales Soirée anniversaire des Guignols

Bon, puisque j'en ai un peu chié pour récupérer le lien, car le site de Canal est un peu bogué, voici le lien direct vers le SAV des émissions fait par les Guignols, ça m'a bien fait marrer. Copiez-collez le dans VLC ou lancez le avec mplayer, et ça roulera tout seul :-)

Et pour le plaisir, la boîte à questions, toujours avec les Guignols inside !

jeudi 19 mars 2009

Sexy people

Oui, vous aussi, moquez vous des vieilles photos !

C'est tout pour aujourd'hui !

mercredi 18 mars 2009

Chrome 2 Beta et Firefox 3.1 beta 3

J'ai installé les deux sur ma machine Windows Vista[1], et j'ai utilisé Google Spreadsheets. Le résultat est sans appel: Firefox 3.1 beta 3 est bien plus responsif. Comme quoi, les benchmarks, ça fait pas tout.

En revanche, c'est clair qu'avec Chrome, tout les onglets restent responsifs même si l'un d'eux rame, et ça, c'est cool !

Notes

[1] Oui, j'ai honte.

mardi 17 mars 2009

Vic Chesnutt et autres

J'avais bien envie de parler de mon concert de ce soir, assez improvisé. En effet, j'en avais acheté la place vendredi, en le voyant marqué sur le mur des concerts de la FNAC, convaincu que c'était en mai. C'est seulement en en discutant avec L. le soir que je me suis aperçu que c'était ce soir. Bref, j'ai bien failli le rater.

J'avais bien envie de parler de cette chouette salle du Café de la Danse, encore plus chouette maintenant qu'ils ont mis des sièges pour s'asseoir, c'est moins pénible.

J'avais bien envie de parler de cette première partie, Teitur[1], à l'air un peu ado, chemise rouge boutonnée, converse, jambes souvent serrées, mais avec cette voix qui vous retourne.

J'avais envie de parler de Elf Power, qui accompagnait Vic Chesnutt, plein d'énergie, surtout ce batteur assez impressionnant.

Et j'avais envie de parler de Vic Chesnutt, justement, cette énergie dégagée, cette présence... Allez, même s'il a rien joué de cet album, le seul que je connaissais, allez quand même l'écouter (il faut dire que c'est le seul présent sur Deezer...).

Mais bon, j'en dirais rien, vous aviez qu'à être là. Et toc !

Notes

[1] Lien qui marche pas pour l'instant, j'espère que ça remarchera demain !

dimanche 15 février 2009

Description: Debian 5.0 Released 14 February 2009

Alors que je faisais joujou dans mon coin avec Dotclear 2, il se trouve que la nouvelle stable de Debian est sortie. Time to party !

samedi 14 février 2009

Passage à Dotclear 2.1

Ça y est, je suis passé à Dotclear 2.1.

Il faut dire que c'était extrêmement facile. À part 2 3 bidouilles nécessaires, tout est automatique: installation, import depuis Dotclear 1, redirection des anciennes URL.

Ceci dit, n'hésitez pas à commenter si vous constatez des problèmes ! :-)

mercredi 21 janvier 2009

Il y a toujours une autre personne dans la pièce.

À mémoriser : Il y a toujours une autre « personne » dans la pièce.

(lu chez Karl)

Cet article de Karl met en lumière un élément central des réseaux sociaux, et même de tout service en ligne (je pense aux webmails): même si on place du contenu « privé », il reste connu du service hébergeur lui-même.

jeudi 8 janvier 2009

Nintendo DS

Mince... je crois que depuis que j'ai fait tomber ma DS la dernière fois, elle ne se recharge plus. Ooops :/

mercredi 7 janvier 2009

Léo star du cinéma !

Vu chez Eolas, ces vidéos issues du Ministère de l'Intérieur payées avec nos impôts pour nous apprendre la vie.

Quelle ne fut pas ma surprise de voir mon Léo dans la première de cette vidéo ! Il m'avait caché ses velléités de starsystem ;)

dimanche 28 décembre 2008

Changement de comportement pour les contenus inline flottants ?

J'ai installé Firefox 3.1 beta, et je me suis aperçu d'un nouveau comportement sur un site que je suis en train de construire. J'ai d'abord pensé à un bug, mais j'ai ensuite essayé avec Google Chrome[1], et le comportement était identique.

Notes

[1] Je n'ai pas réussi à le télécharger avec Firefox, d'ailleurs.

Lire la suite...

mercredi 24 décembre 2008

Bien concevoir ses formulaires Web

Allez, je place ça dans ma liste "à lire" : Bonnes pratiques de conception de formulaires Web, présentation de Luke Wroblewski.

Ça a l'air bien !

(via Yves chez Vincent)

Tabindex, focus et accessibilité

Juste un petit point sur les tabindex; ça sera rapide, je n'ai pas la verve d'Eric ou de Vincent ;-)

En fait, je me demandais la différence entre des valeurs 0 et -1 pour un tabindex. Un collègue bien connu m'a assuré que la valeur 0 était illégale.

Or, étant donné qu'il n'a tort que très rarement, surtout dans ce domaine, je me vois ravi de l'exposer publiquement à votre ire. En effet, la valeur 0 n'est pas illégale ! Ce qui ne répond pas, pour l'instant, à ma question, je l'avoue.

J'ai donc trouvé une explication bien complète, et j'ai même été fouiller dans les spec HTML 4 et HTML 5, et voici ce qu'il en ressort :

  • un tabindex à la valeur -1 signifie que l'élément où il s'applique ne pourra pas obtenir le focus avec la touche TAB (comme on dit chez nous: il ne sera pas tabulable)
  • un tabindex à la valeur 0 signifie que l'élément sera tabulable, mais il se trouvera après tous ceux ayant déjà un tabindex. Cela signifie qu'en HTML4, tout se passe comme si le tabindex n'était pas spécifié; en revanche, en HTML5, cela permet de rendre un élément tabulable, alors qu'il ne l'est normalement pas.

Attention, en HTML4, l'attribut tabindex n'est valable que sur certains éléments. En HTML5, il est valable partout. Ce comportement est déjà implémenté dans plusieurs navigateurs (dont Firefox, et IE6), je laisse le soin à mes excellents visiteurs de compléter en commentaire (en utilisant le test fourni sur la page du Fluid Project).

Oui, je sais, j'ai mis accessibilité dans le titre, attisant par là votre curiosité malsaine. J'y viens, j'y viens.

En fait, sur les interfaces dynamiques, on peut avoir des choses du style : des div qui apparaissent et disparaissent (par exemple une boîte de dialogue), des images avec juste des évènements dessus, etc. Oui, c'est mal, mais ça arrive. Pour améliorer l'accessibilité, on va rendre certains éléments tabulables en utilisant un attribut tabindex.

Pour une boîte de dialogue, on va même lui donner le focus... en effet, autrement, un utilisateur de lecteur d'écran ne la verra pas, car elle sera ajoutée tout à la fin du DOM, ce qui est super pratique pour quelqu'un qui navigue au clavier.

Des remarques ?

lundi 22 décembre 2008

Ça, c'est fait

- Et donc, c'est quoi ce que tu voulais dire ?

Là, on repense à ces mots et ces phrases, pensés, travaillés, puis retravaillés, recomposés, depuis des jours, tellement rabâchés qu'ils en perdent leur sens. Et puis finalement ils sortent de la bouche, un peu l'air de rien. On se dit, merde, c'est inutile, ça sert à rien de faire de la peine à la personne qu'on a en face de soi, finalement on est bien comme ça on a qu'à continuer encore un peu, c'est plus facile, et ainsi tout le monde est content.

Et puis, non, on laisse ces phrases aller, comme un texte appris par coeur. On reste fidèle à sa ligne de conduite et puis après on se demande vraiment si on a pris la bonne décision. On voit l'autre être triste, on est triste soi-même, ça sert juste à rien. Je découvre que les ruptures, c'est aussi difficile pour les deux côtés.

Allez, ça ira mieux demain, comme toujours.

Mise à jour : C'est demain et ça va mieux. Merci pour les ptits messages les copains !

jeudi 18 décembre 2008

Je crois en moi, car je ne suis pas accroc

Et oui, un nouvel album de K's Choice prévu pour 2009, et une tournée européenne de Sarah Bettens, avec peut-être son frère en guest star (c'est le cas aux US d'après Wikipedia).

C'est bon ça !

En attendant, on peut toujours écouter le dernier album de Sarah Bettens.

Échapper les noms des tables et des colonnes avec JPA et Hibernate

Oui, oui, encore un post de geek...

Bon, je me suis aperçu que Hibernate n'échappait pas les tables et les colonnes des tables. Ainsi, si on a une classe User (pas très courant, n'est-ce pas ?), Hibernate va essayer de générer une table User, et ça va échouer car c'est un mot-clé SQL[1]. Et c'est la même chose pour les champs.

La méthode préconisée par Hibernate est de rajouter des guillemets inversées, avec @Column ou @Table lorsqu'on utilise des annotations JPA.

Bon, moi je me voyais pas faire ça, alors j'ai plutôt utilisé une NamingStrategy que vous voyez ci-dessous:

package mon.package;

import org.hibernate.cfg.ImprovedNamingStrategy;

public class JujuNamingStrategy extends ImprovedNamingStrategy {

	@Override
	public String columnName(String columnName) {
		return "`" + super.columnName(columnName) + "`";
	}

	@Override
	public String tableName(String tableName) {
		return "`" + super.tableName(tableName) + "`";
	}

	@Override
	public String classToTableName(String className) {
		return "`" + super.classToTableName(className) + "`";
	}

}

Et ça se met en oeuvre simplement dans notre fichier de configuration Spring, lorsqu'on définit les propriétés de l'EntityManagerFactory, dans la jpaPropertyMap qui sert à définit les propriétés spécifiques à Hibernate :

<entry key="hibernate.ejb.naming_strategy" value="mon.package.JujuNamingStrategy" />

Certes, peut-être manque-t-il certaines méthodes dans ma classe; je les ajouterai lorsque j'en aurai besoin, pour l'instant ça marche bien comme ça !

Notes

[1] Du moins avec PostgreSQL... mais on peut très bien avoir aussi un champ from par exemple.

jeudi 11 décembre 2008

This reminds me of something

C'est fou comme xkcd me rappelle des trucs :-) C'est un peu l'histoire de ma vie sentimentale, tout ça.

Heureusement que j'apprends de mes erreurs ![1]

Notes

[1] J'allais écrire: "heureusement que je reprends les choses en main", mais je me suis dit que c'était limite.

mardi 9 décembre 2008

Télécharger des images protégées dans Flickr

Dans flickr, parfois, certaines images sont protégées. C'est le cas de certaines photos de Paris-Web (et néanmoins superbes).

J'avais besoin d'en télécharger quelques-unes pour faire une présentation interne, et donc j'ai essayé de comprendre ce qui empêche le téléchargement. Et en fait, c'est très simple: flickr pose une image invisible (spaceball.gif) par dessus l'image normale. Ainsi, si on cherche à la sauvegarder, c'est l'image invisible que l'on sauvegarde.

Une première manière consiste à utiliser l'excellente extension Firebug. On clique avec le bouton droit de la souris sur l'image, puis on choisit "Inspecter un élément". Là, la fenêtre de Firebug s'ouvre, avec l'image invisible sélectionnée. Il suffit de cliquer avec le bouton droit de la souris sur l'élément, puis de choisir "Supprimer l'élément". Après cela, vous serez alors en mesure de sauvegarder l'image dans la fenêtre principale.

Mais bon, c'est quand même pas super pratique. Alors, j'ai eu l'idée d'utiliser la non moins excellente extension Adblock Plus. Cliquez donc avec le bouton droit de la souris sur votre image spaceball, puis choisissez "Bloquez l'image avec Adblock...". Une boîte de dialogue s'ouvre alors, et il faut choisir la première option (celle sans "*"), puis cliquer sur "Ajouter l'adresse". Et voilà, vous n'aurez plus de protection dans Flickr !

- page 2 de 20 -