Comment mal choisir un logo...
(via 20 minutes)
Et si 82 % [des jeunes] se connectent tous les jours sur le Web, leur niveau d'adoption technologique est particulièrement élevé [...], notamment en termes de jeux vidéos [...]. D'ailleurs les jeunes internautes français sont décrits comme "sociaux".
20 minutes de ce matin.
Cherchez l'erreur.
Petit mémo rapide sur comment transférer un dépôt Subversion entre deux machines (par exemple) :
svnadmin dump /chemin/actuel/du/dépôt > dépôt.dump
Cette commande crée un "dump" du dépôt, qui inclue tous les fichiers et toutes les révisions (et donc peut être assez long à générer et conséquent en taille).
On transfère ensuite le fichier (scp, FTP, clé USB, pigeon voyageur...), et sur l'hôte de destination :
svnadmin create /chemin/du/nouveau/dépôt svnadmin load /chemin/du/nouveau/dépôt < dépôt.dump
Et voilà !
Une erreur idiote sur les requêtes MySQL : faire des calculs à la seconde près alors qu'on en a pas besoin.
Je m'explique. Soit une table d'article, on veut ceux de la semaine en cours :
SELECT * FROM articles WHERE created_at >= <debut de semaine>;
On peut calculer <debut de semaine> de la manière suivante avec MySQL :
SELECT DATE(NOW() - INTERVAL WEEKDAY(NOW()) DAY) AS debut_semaine;
En gros, on cherche la date (ie YYYY-mm-dd) du lundi comme la date du jour (NOW()) à laquelle on soustrait n jours, n étant égal au jour de la semaine (la numérotation commence à 0 pour le lundi). La fonction DATE() qui englobe le tout permet de comparer par rapport au lundi à minuit (par défaut, sans heure précisée, une date est considérée comme prise à minuit).
C'est bien joli tout ça... Mais les performances sont pourries. La requête prend chez moi 0.45 ms en moyenne, contre 0.15 ms pour les autres requêtes, qui sont parfois plus compliquées que cette requête. Pourquoi donc ?
Tout simplement parce que les autres requêtes sont effectuées contre le cache de MySQL, alors que celle-ci doit être recalculée à chaque fois. Pourquoi donc ?
A cause de NOW(), qui impose une précision inutile à la seconde (ou pire)... NOW() doit donc nécessairement être recalculée à chaque requête.
En pratique, est-ce que nous avons besoin d'une précision à la seconde ? Non. On cherche juste les articles de la semaine, donc qui datent de lundi minuit au maximum. Deux solutions s'offrent à nous : précalculer dans notre code la valeur de cette date butoir, ou bien utiliser CURDATE(), qui ne renvoie que la date actuelle, à la place de NOW(). Je précise que je n'ai pas testé la deuxième solution. J'ai choisi la première qui, codée en PHP, présente l'avantage d'être plus élégante.
Installing MySQL on Ubuntu, the NSFW work way par Mark Pilgrim.
Bon, les remarques sur MySQL sur Mac OS X sont pas très intéressantes (non, sérieux, Mac, c'est pas fait pour en faire un serveur... un peu comme Windows, mais pas du tout pour les mêmes raisons).
En fait, c'est rarement Linux même qui est compliqué (un kernel, hein...
), mais bien les logiciels qui vont autour qui ne sont pas toujours intuitifs. C'est, bien sûr, un défaut platform-independant. Mais pour le voir, il faudrait sortir de l'image "Linux == compliqué". Et ça, c'est une autre histoire.
A lire, histoire de rétablir un peu l'équilibre : oui, Linux, ça peut être compliqué. Bordélique même (via le lien ci-dessus).
[00:06] * Disturbed (~Disturbed@EpiK-E8B92097.w81-251.abo.wanadoo.fr) a rejoint #frequence3
[00:06] <Disturbed> salut
[00:06] <balbinus> salut
[00:06] <balbinus> les psychothérapies gratuites c'est pas ici, dsl
[00:06] * Disturbed est parti (Quit: A bientôt)
... avec des vrais billets.

PS : pas la peine de m'attaquer, je ne les ai plus 
C’est la faute des ma, des magazines
Les Marie, les Claire, les Marie-Claire
Les filles, les mecs beaucoup trop clairs
Les Femmes d’aujourd’hui et d’hier
C’est la faute des ma, des magazines
Les Marie, les France, les Marie-France
Les femmes pratiques qui en ont pas marre
Des Cosmo, Vogue et tout le bazar