skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

dimanche 31 juillet 2011

Soustraction sans emprunt par le complément de 9

Publié par Infinite Loop, à 13 h 35 0 commentaire

Tout comme en informatique, un problème mathématique est souvent plus simple à solutionner lorsqu'on le fragmente en étapes plus simples. Dans une soustraction, nous avons tous appris à la petite école qu'on pouvait placer les nombres un par dessus l'autre et effectuer la soustraction des chiffres par colonnes en commençant par le nombre situé à droite :

 29
-12
---
17
Dans une colonne, si le chiffre supérieur est moins élevé que celui à soustraire, on utilise la méthode de l'emprunt au chiffre immédiatement placé à sa gauche pour lui ajouter une dizaine.
 32
-19
---
13
Où on obtient 12 (une dizaine empruntée au 3) - 9 = 3 suivi de 2 (3 - l'emprunt de 1) - 1 = 1 pour un résultat final de 13.

Mais comment peut-on effectuer une soustraction sans utiliser la méthode de l'emprunt ?
La réponse : à l'aide des compléments de 9.

Dans l'équation 522 - 149, nous ferons appel à un complément de 999 car ce sont des nombres à 3 chiffres. Autrement, un nombre de 4 chiffres aurait nécessité 9999, etc.

Étape 1 : soustraire le complément par le 2ème nombre (remarquez, aucun emprunt n'est nécessaire)
 999
-149
----
850
Étape 2 : additionner le 1er nombre de l'équation au résultat
 522
+850
----
1372
Étape 3 : ajouter 1 et soustraire 1000
 1372
+ 1
-1000
-----
373
Pourquoi ça fonctionne ?

L'équation 522 - 149 + 1000 - 1000 est équivalente à 522 - 149 + 999 + 1 - 1000. Les nombres peuvent être regroupés ainsi 522 + (999 - 149) + 1 - 1000, ce qui nous donne le bon résultat.


Tags: Mathématique

Citation no. 129 sur le gel

Publié par Infinite Loop, à 09 h 59 0 commentaire

Marcher sur l'eau ainsi que le développement de logiciels à partir d'un cahier des charges sont faciles si les deux sont gelés.

- Edward V Berard


Tags: Citations

vendredi 29 juillet 2011

Les archéologues retrouveront un jour la momie de Céline Dion

Publié par Infinite Loop, à 14 h 56 0 commentaire

D'abord et avant tout, promis juré, ce sera la seule et dernière fois que je vous parlerai de Céline Dion. C'est que je suis tombé sur un album d'un (défunt) groupe underground montréalais nommé Ghoulunatics qui présente une caractéristique intéressante et méconnue du public (de part et d'autre puisque leurs bases de fans respectives se trouvent dans des styles musicaux diamétralement opposés).

Alors que Céline sortait "Falling Into You" en 1996, les ghoules du Québec écrivaient la musique pour leur album à venir intitulé "Carving Into You" qui allait être immortalisé sur disque deux ans plus tard. Comme le titre était similaire, ils ont eu l'idée de reprendre la pochette d'album et de demander à un peintre de transformer la diva en momie.

Voici le résultat pour comparer :



On aime ? Oui !


Tags: Curiosités, Musique

mercredi 27 juillet 2011

La gaffe à 150000$

Publié par Infinite Loop, à 19 h 02 0 commentaire

Quand tu achètes un violon datant de 1772 au prix d'un million de dollars et fabriqué par Giovanni Guadagnini (un luthier aussi réputé et prestigieux qu'Antonio Stradivari), la pire chose qui pourrait arriver serait de le briser.

C'est pourtant la gaffe qu'a fait en décembre 2007 le jeune virtuose David Garrett dans des circonstances des plus étranges. Alors qu'il descendait les marches d'un escalier après un concert au Barbican Centre de Londres, il a trébuché et est tombé directement sur l'étui, ce qui brisa l'instrument en morceaux (certains attribuent la faute à une pelure de banane, d'autres à une descente du coude). La restauration était estimée à 150 000$.

Pendant le temps de la réparation, un Stradivarius d'une valeur de 5 millions lui fût prêté (le San Lorenzo de 1718). Il faut croire que le propriétaire lui fait confiance. Fait notable, la québécoise Angèle Dubeau possède le Stradivarius Des Rosiers construit en 1733. Jamais l'idée ne lui est passée par la tête de mettre son postérieur dessus.

Malgré sa maladresse, vous pouvez constater son talent avec cette performance solo de Master of Puppets de Metallica (disponible sur l'album Rock Symphonies).


Tags: Musique, Saviez-vous que

lundi 25 juillet 2011

La mort d'Angry Bird

Publié par Infinite Loop, à 18 h 32 1 commentaire

Un oiseau du jeu Angry Birds a trouvé la mort dans l'exercice de ses fonctions ce dimanche, 24 juillet 2011, alors qu'il venait d'être projeté par un lance-pierre contre une forteresse ennemie tenue par des cochons.



Cet oiseau noir, dont les pouvoirs sont réputés pour être dévastateurs, aurait percuté de plein fouet le mur de brique avant d'avoir le temps d'exploser. Selon des témoins présents sur la scène du crime, aucun point bonus n'a été accordé pour cette manoeuvre.

L'enquête est en cours et la police demande l'aide de public pour tout indice menant à l'arrestation d'un suspect.


Tags: Curiosités, Humour

samedi 23 juillet 2011

The Walking Dead, DVD et papier

Publié par Infinite Loop, à 10 h 24 0 commentaire

Il y a quelques mois, j'ai découvert sur DVD la première saison de la série The Walking Dead, une histoire de zombies inspirée des comic books à laquelle je n'aurais pas porté attention si ce n'eut été de l'excellente qualité de la production et du suspense de l'histoire. Et voilà, je suis maintenant accro, moi qui n'a jamais été amateur du genre.



L'histoire débute alors que le personnage principal, le policier Rick Grimes, se réveille d'un coma à l'hôpital. Impression de déjà vu dans 28 Days Later (qu'on se souviendra pour y retrouver dès l'intro une excellente pièce de l'album Yanqui du groupe post-rock montréalais Godspeed You! Black Emperor). Sauf que l'action se déroule à Atlanta plutôt qu'en Angleterre et heureusement, la coincidence s'arrête là (28 Days Later est sorti au cinéma en 2002 alors que le premier numéro de The Walking Dead est paru en octobre 2003. Il ne doit pas exister 1001 façons de mettre en situation une situation post-apocalyptique).



Évidemment, on se retrouve en minorité du côté des survivants qui tentent tant bien que mal de passer à travers l'épreuve en attendant le sauvetage promis de l'armée qui recommanda aux gens de se réfugier dans les villes lorsque l'épidémie prenait de l'ampleur. Grave erreur. Depuis, les communications ont été coupées, la recherche de nourriture et fuir les hordes de zombies sont devenues les activités du quotidien des rares humains qui se sont rassemblés pour mieux se défendre. À tout moment, on sent la tension et la détresse psychologique des personnages, ce qui n'est pas sans faire de conflits entre eux...

Malheureusement, le pilote pour la saison 1 ne compte que 6 épisodes donc trop peu à se mettre sous la dent. Comme ça m'est arrivé pour The Lord of the Rings, je n'avais jamais lu la trilogie et un ami m'avait fait découvrir le 1er volet en DVD. Le second étant annoncé pour l'année suivante, j'ai fini par dévorer les livres tellement j'étais impatient de connaître la suite. J'ai fait exactement la même chose avec The Walking Dead. Au début, j'ai déniché les premiers ebooks au format CBR (Comic Book Reader) mais comme j'avais trop de rattrapage à faire, j'ai plutôt opté pour me procurer la brique de 1000 pages The Walking Dead Compendium qui regroupe les numéros 1 à 48 à petit prix (40$). Ça m'a tenu occupé pendant quelques semaines et j'ai déjà hâte à la sortie du Compendium 2 qui, par déduction, risque de paraître après la sortie du no.96 (au moment d'écrire ces lignes, le no.87 vient tout juste d'être publié).



Bien que la série télé ait été saluée par la critique, que les maquillages soient surréalistes et qu'on embarque à coup sûr dans l'intrigue, le scénario semble vouloir prendre une tangente différente par rapport au script d'origine. Reste que c'est intéressant de voir comme ça a été adapté pour le petit écran. Par exemple, le personnage de Shane meurt tôt dans les livres alors que le réalisateur de la série semble vouloir lui donner un rôle différent ce qui prolonge son espérance de vie (du moins, il n'était pas encore mort à la fin de la 1ère saison. Et quand je dis mort, je ne fais pas référence aux morts-vivants). On note aussi des petits détails sur la chronologie des évéments et sur la façon dont Rick et Glenn se rencontrent dans la ville (ici, c'est supérieur dans la version télévisuelle).

De même, toute la portion du sniper sur le toit du building qui finit par se faire menotter est absent du comic book. Quant à la finale de la 1ère saison, elle a été créée de toutes pièces, ce qui m'a déçu car ça s'écartait trop du récit original et le téléspectateur n'avait pas besoin de se faire prendre par la main pour connaître certains mystères scientifiques qui expliquent en partie la nature des événements. Ça enlève du charme au chaos qui règne! Par contre, l'ambiance est à la hauteur et nous avons constamment le goût de poursuivre à l'épisode suivant (je ressentais le même effet lorsque je lisais les comics). Même que pour certaines scènes, c'est tellement fidèle aux illustrations des comics que certains plans de caméra sont pratiquement identiques. Les comics demeureront la référence pour les fans, malgré qu'ils sont en noir et blanc, mais ils apprécieront à coup sûr le réalisme de la série télé.



Si vous avez aimé, réjouissez vous, il existe déjà assez de matériel pour faire au moins 7 ou 8 saisons. D'ailleurs, comme le succès de la série a dépassé les attentes, une deuxième saison est en préparation et débutera le 16 octobre 2011 sur la chaîne AMC. Si au moins Vidéotron offrait l'abonnement au poste...

En attendant, jetez un oeil à la bande-annonce de la saison 2 :



Et pour en savoir plus sur l'univers de la série, je vous recommande de visiter The Walking Dead Wiki qui comprend une section dédiée à la série papier utile pour connaître les dates de sorties de votre future série préférée.


Tags: Club Vidéo, Livres

mercredi 20 juillet 2011

Petit délire sur le plus vieux métier du monde

Publié par Infinite Loop, à 19 h 25 0 commentaire

En guise d'introduction, la partie ennuyante :

Cette réflexion m'est venue suite à une discussion avec un chargé de projet sur la façon d'appliquer les taxes sur des produits en fonction de l'endroit où le marchand se trouve et où le bien est consommé. Suite à quelques comparaisons, nous avons déduit qu'un achat par un Québécois sur le site web d'un commerçant ayant pignon sur rue en Ontario devrait normalement calculer que la taxe sur les produits et services (TPS). J'ai précisé ensuite que la taxe à appliquer dépendait aussi du type de bien. Par exemple, les fruits et légumes ne sont pas taxables alors qu'on ne paye qu'une des deux taxes à l'achat d'un livre et que vous payerez la totale si vous vous procurez un ordinateur ou une voiture. En se questionnant sur les types de biens taxables, nous avons commencé à déconner en extrapolant un tout petit peu (et croyez-moi, quand on s'y met, ça a tendance à déraper).

Et là où le délire commence :

Prenons par exemple une fille de joie : ça entre dans la catégorie taxable ou non ? Aucune idée que je lui réponds! De toute façon, je suppose qu'elle ne doit pas émettre de facture. Donc le client paye en dessous de la table et le gouvernement ne perçoit pas de taxes, ce qui constitue une forme de fraude fiscale. Et même si elle était conforme à la loi, à la fin de l'année, qu'est-ce qu'elle écrirait dans sa déclaration de revenus ? Aux yeux de la loi, nous sommes tous égaux et nous avons l'obligation de produire notre rapport d'impôt. Est-ce considéré comme être travailleur autonome ? Est-ce qu'elle pourrait conserver certains reçus qui seraient déductibles pour l'exercice de sa fonction ? Ma foi, nous sommes totalement ignorants de ce domaine d'activités. Tellement qu'on se demandait s'il existait aussi le principe des cartes de fidélité qui sont poinçonnées dans le but d'obtenir une gratuité après quelques visites.

On en rit mais loin de moi l'idée de juger leur métier car ça ne doit pas être facile et fort est à parier que ce n'était pas leur premier choix de carrière. D'ailleurs, ce n'est pas le genre de métier que l'orienteur de l'école va te conseiller suite à un examen d'aptitudes. Certains organismes prennent la défense des travailleuses du sexe afin qu'elles puissent vivre et travailler en sécurité et avec dignité. S'affilieront-elles un jour à un syndicat ?

Ultimement, si leur gagne-pain venait à être légalisé, nous pourrions imaginer quel genre de curiosité économique ce serait. Auraient-t-elles droit à des crédits d'impôt ? Des subventions à la recherche et au développement ? Chose certaine, comme toutes les entreprises, elles percevraient des taxes à remettre au gouvernement. Mais celui-ci, ayant déjà un monopole lucratif sur les loteries (Loto-Québec) et l'alcool (Société des Alcools du Québec - SAQ), pourrait se montrer opportuniste à contrôler cette facette cachée du bonheur social et à maintenir le tout dans des moeurs acceptables. On parle de développement économique, capitaux étrangers et création d'emplois. On jase...

Toutes les semaines, la population serait tenue au courant par l'entremise d'un circulaire glissé en douce dans le Public-Sac. Au moment de payer, les clients pourraient bénéficier de points du programme Air Miles. Un check-in sur Foursquare ? Eh oui, c'est toi le maire et tu viens de recevoir un badge supplémentaire! Pour pousser le délire un peu plus loin : de l'achat groupé à l'aide de Groupon ? Les lois économiques sont les mêmes si on sait faire abstraction de la nature du bien consommé. Et pour répondre à la question, oui ce serait taxable.


Tags: Curiosités, Humour, Lois et principes

mardi 19 juillet 2011

Tasse-grenade : prenez un numéro

Publié par Infinite Loop, à 13 h 21 0 commentaire

Trop sollicité au bureau ? Pour mieux gérer les demandes, procurez-vous une tasse-grenade avec l'inscription "Département des plaintes, SVP, prenez un numéro". L'emballage comprend une tasse de 12 oz et un seul numéro (si quelqu'un ose le prendre, ça doit être une question de vie ou de mort).



Merci à @cyber6_ pour le tuyau et pour l'initiative de s'en être procuré une.


Tags: Curiosités, Humour, Le coin du geek

lundi 18 juillet 2011

Truc express pour proposer un fichier en téléchargement

Publié par Infinite Loop, à 22 h 43 0 commentaire

Dans un billet précédent, je vous avais montré comment contrôler le téléchargement d'un fichier par programmation en utilisant le langage PHP. Dans d'autres circonstances, on préférerait que le comportement par défaut sur certains types de fichiers soit d'être automatiquement proposés en téléchargement plutôt que de les lire par le fureteur. Je pense entre autre aux fichiers multimédias comme les mp3.

Pour y arriver, il vous suffira d'ajouter une ligne par extension de fichier dans votre fichier .htaccess pour Apache :

AddType application/octet-stream .mp3

Si simple que ce billet ne peut être plus long (et ça tombe bien, je n'ai pas trop la tête à écrire quand il fait 30 degrés celsius dans mon bureau!).


Tags: Apache

dimanche 17 juillet 2011

Citation no. 128 sur les ennuis

Publié par Infinite Loop, à 22 h 14 1 commentaire

Les ennuis, c’est comme le papier hygiénique, on en tire un, il en vient dix.

- Woody Allen


Tags: Citations

samedi 16 juillet 2011

Pertinent à savoir sur les arrays JavaScript

Publié par Infinite Loop, à 10 h 20 4 commentaires

En JavaScript, il existe deux notations pour déclarer un array (new Array() et []). Elles peuvent sembler équivalentes mais il y a une différence importante à considérer. Pour comprendre, le mieux est de suivre l'exécution du code dans la démonstration suivante :

var a1 = new Array();
console.log(a1.length); // 0
console.log(a1[0]); // undefined

var a2 = new Array(1,2,3);
console.log(a2.length); // 3
console.log(a2[0]); // 1

// optionnellement
var a3 = new Array(3);
console.log(a3.length); // 3
console.log(a3[0]); // undefined
Jusqu'à maintenant, peu de surprises si ce n'est que de déclarer un tableau vide de trois éléments à la dernière étape.

Poursuivons avec l'équivalent en utilisant la deuxième notation [] :
var b1 = [];
console.log(b1.length); // 0
console.log(b1[0]); // undefined

var b2 = [1,2,3];
console.log(b2.length); // 3
console.log(b2[0]); // 1
Ajoutons-y un degré de difficulté.
var b3 = [3];
console.log(b3.length);
Contrairement à la déclaration avec new Array(), la longueur de b3 sera de 1 car c'est la valeur 3 qui fait partie de l'array et non pas la réservation de 3 "espaces libres" comme dans a3.
// ajoutons une valeur
b3[3] = 2;
À ce stade-ci, quelle est la grandeur de l'array ?
console.log(b3.length); // 4
console.log(b3); // [3, undefined, undefined, 2]
Mais d'où viennent ces 2 espaces vides ? Comme nous avons placé la valeur 2 au 3ème indice de l'array b3, la taille du tableau est automatiquement élargie à 4.

Maintenant, ajoutons à ce même tableau une valeur à une clé. Quelle sera la grandeur du tableau ? Est-ce que la longueur deviendra 5 ?
b3['x'] = 'y';
console.log(b3.length); // 4
console.log(b3); // [3, undefined, undefined, 2]
console.log(b3.x); // y
Eh non, la longueur demeure 4 mais une propriété x a été créée pour stocker la valeur de y. Donc on sait qu'on peut aussi stocker des propriétés si la clé est textuelle. Essayons autre chose.
b3['10'] = 1; // associatif car la clé est textuelle et non numérique ?
console.log(b3.length); // 11
Vous y comprenez quelque chose ? Le secret ici est que JavaScript tentera toujours de convertir la clé en numérique pour stocker la valeur au bon indice. S'il échoue, il utilisera une propriété associative qui pourra ensuite être appelée des deux façons (b3['x'] ou b.x).

Ce qu'il faut se rappeler, c'est que selon la manière de déclarer l'array, on ne peut pas s'attendre au même comportement pour éviter des mauvaises surprises.
console.log(Array(5).length); // 5
console.log([5].length); // 1
Douglas Crockford, auteur du livre JavaScript, the Good Parts (et impliqué dans le développement du JavaScript par l'apport du fameux JSON), recommande l'utilisation de l'array littéral plutôt que sa forme objet. D'ailleurs, si vous regardez le code source de jQuery, vous noterez qu'en aucun temps la notation new Array() n'est utilisée. Ça devrait vous donner un indice sur la méthode préférée des développeurs les plus expérimentés. Dorénavant, j'essaierai de changer mes habitudes, juste pour pouvoir me faire passer pour un expert ;-)


Tags: JavaScript

jeudi 14 juillet 2011

Ceci est votre cerveau sur la musique

Publié par Infinite Loop, à 21 h 17 0 commentaire

J'ai peu écrit ces dernières semaines parce que (1) il faut profiter du beau temps, (2) j'avais d'autres projets sur lesquels travailler, (3) j'étais absorbé par la lecture de This Is Your Brain On Music (The science of a human obsession) * de Daniel J. Levitin, un professeur de psychologie et de neuroscience à l'Université McGill à Montréal qui a aussi un passé dans la production de disques (Eric Clapton, Blue Öyster Cult, Stevie Wonder, etc).

Si comme moi vous jugez la musique fondamentale et que vous avez un intérêt pour la science, que les mots cortex, amygdale, hippocampe et cervelet ne vous font pas trembler et au contraire stimulent votre matière grise avec tout le pouvoir de la récursivité, vous vous devez d'ajouter ce livre à votre liste de lecture.

Le cerveau compte cent milliards de neurones. Chaque neurone est connectée à d'autres neurones. Entre 1000 et 10000 connexions en moyenne pour chacune. Quelles parties du cerveau sont sollicitées et déterminantes dans la perception de la musique ? Comment les compositeurs exploitent-ils la façon dont le cerveau donne un sens au monde ? Au fait, qu'est-ce que la musique exactement ? Son existence même est-elle inutile ou vitale ? Par rapport au langage, le cerveau apprend et développe la grammaire musicale propre à la culture où on vit. Et quelle est notre perception lorsque ce qu'on entend sort de notre zone de confort ?

Comment peut-on reconnaître une pièce musicale après seulement quelques secondes d'écoute ? Et que dire des différentes variantes d'une même pièce interprétée en version studio, live ou transformée par un autre artiste ? Qu'est-ce qui fait qu'un logiciel de reconnaissance comme Shazam (l'auteur possède une expérience dans le domaine) ne peut différencier les différentes versions alors que le cerveau humain le peut ?

Comment 10000 heures de pratique et non le talent forment des virtuoses ? Ne faut-il pas s'inquiéter des objectifs qu'avait en tête la compagnie de disques britannique EMI qui réinvestissait une part des profits engendrés par les Beatles dans les scanners IRM (imagerie par résonance magnétique) ? Pourquoi sommes nous émotionnellement attachés à la musique que nous avons écouté durant notre adolescence ? Est-ce en raison de la puberté qui active nos fonctions reproductives et joue un jeu important dans le rituel amoureux ? Est-ce une explication face à la si forte popularité de la chanson d'amour depuis la nuit des temps ?

Ce sont toutes des réponses que vous trouverez en le lisant. Pour une dizaine de dollars, ne vous en privez pas. Dans ma bibliothèque, ce livre occupera une place de choix parmi mes préférés.

Un livre très geek parfait pour quiconque juge la musique fondamentale. Comme mon anniversaire s'en vient, son second livre, The World in 6 Songs, serait un cadeau idéal pour quelqu'un comme moi :-)

* Une traduction française est disponible sous le titre "De la note au cerveau: L'influence de la musique sur notre comportement ".


Tags: Livres, Musique

mardi 12 juillet 2011

L'énigme de Stanford

Publié par Infinite Loop, à 21 h 36 0 commentaire

Ce problème a été posé lors d'une épreuve de réflexion aux étudiants de l'Université Stanford. Essayez de deviner de quoi il s'agit :

  1. C'est mieux que Dieu.
  2. C'est pire que le diable
  3. Les pauvres en ont.
  4. Les riches en ont besoin.
  5. Et si l'on en mange, on meurt.
J'ajouterais aussi que si vous avez lu la trilogie du Cycle des Dieux de Bernard Werber, vous connaissez déjà la réponse.


Tags: Curiosités

dimanche 10 juillet 2011

Citation no. 127 sur l'efficience

Publié par Infinite Loop, à 08 h 28 0 commentaire

Si j'avais six heures pour couper un arbre, je passerais les quatre premières à aiguiser la hache.

- Abraham Lincoln


Tags: Citations

Quelques solutions à des problèmes communs sur 000webhost

Publié par Infinite Loop, à 08 h 21 2 commentaires

Vu la popularité du serveur gratuit 000webhost, beaucoup de développeurs l'ont adopté et si comme moi c'est la première fois que vous l'utilisez, vous risquez de rencontrer quelques erreurs lors de la mise en place de votre projet. Voici quelques astuces qui vous donneront des pistes de solutions.

Configurer correctement le RewriteBase dans .htaccess

Selon vos besoins :

RewriteBase /

Désactiver le code analytics en JavaScript

Pour une raison que j'ignore, je n'ai pas trouvé l'accès par le cPanel. Mais rendez-vous ici pour l'activer / désactiver.

http://members.000webhost.com/analytics.php

Erreurs dans foot.php

Je vois apparaître à l'écran une des erreurs suivantes (pourtant, je n'ai pas de fichier foot.php dans mon projet) :

  • Undefined index: HTTP_X_REQUESTED_WITH /usr/local/lib/php/foot.php 3
  • Undefined variable: c_ads /usr/local/lib/php/foot.php 3
Il semblerait que le serveur glisse automatiquement du code à la fin (append). Pour vous dépanner, vous pourriez redéfinir les valeurs directement en PHP.

$_SERVER['HTTP_X_REQUESTED_WITH'] = '';
$c_ads = '';

Ou utiliser une solution propre, par .htaccess (on voit bien la configuration par phpinfo()) :

php_value auto_append_file none

Configurer une page 404 dans .htaccess

ErrorDocument 404 /ma-page-404.php

Désactiver les directory listings dans .htaccess

Pour éviter de voir la liste des fichiers lorsqu'on est à la racine d'un répertoire.

Options All -Indexes

Robots.txt

Tout s'affiche sur une ligne unique. Assurez-vous d'avoir ajouté cette ligne dans votre fichier .htaccess :

AddType text/plain .txt

Prise en charge des erreurs

Dans le fichier .htaccess, indiquez le niveau d'erreur à rapporter (exemple : la constante PHP E_ALL = 30719) mais indiquez de ne pas afficher les erreurs à l'écran (pour éviter de donner des indices aux gens mal intentionnés) :

php_value error_reporting 30719
php_flag display_errors 0

Ensuite, dans le code PHP, écrivez votre propre fonction pour prendre en charge ce qui se passe lorsqu'une erreur survient avec set_error_handler.
set_error_handler('ma_fonction');

function ma_fonction($errno, $errmsg, $filename, $linenum, $vars){
// minimalement, faites afficher un message
echo "Oups, erreur!":

// écrire l'erreur dans un log
}
Inclure Zend Framework

Le service 000webhost bloque l'ouverture des fichiers lorsqu'ils sont préfixés par le chemin absolu d'un répertoire virtuel. Oubliez $_SERVER['DOCUMENT_ROOT']. Je n'ai pas eu d'autre choix que de définir le chemin au long dans la propriété include_path. Par exemple, déposez le répertoire de Zend dans un dossier "inc" qui se trouve à la racine de public_html.

Ensuite, utilisez ini_set() en PHP (dans un bootstrap ou fichier global) :

ini_set('include_path', ini_get('include_path').':/home/xxxxxxxxx/public_html/inc:');

Ou mieux avec .htaccess :

php_value include_path ".:/home/xxxxxxxxx/public_html/inc"



Pour configurer le chemin exact, référez-vous à la rubrique Account Information du cPanel de 000webhost et remplacez xxxxxxxxx par votre nom d'utilisateur.


Tags: Apache, PHP

mercredi 6 juillet 2011

Théorie des 10 000 heures

Publié par Infinite Loop, à 21 h 18 4 commentaires

En guise d'entrée en matière, c'est un sujet que j'ai déjà abordé à quelques reprises dans des billets comme L'importance du titre : un mythe et dans On est tous des attention whores. Juste parce que le mot "expert" s'emploie maintenant à toutes les sauces, ça m'enrage. Beaucoup se prétendent l'être, peu le sont vraiment. Et je ne le cacherai pas, j'ai une dent contre les experts en médias sociaux en particulier. Parce que c'est le buzz de l'heure et que personne ne veut avoir l'impression d'avoir manqué le train, ils profitent de la naiveté des gens, tel des prédicateurs qui croient détenir la clé du succès et qui sont habiles à les convaincre. Il n'y a pas si longtemps, il y avait prolifération des experts pour solutionner tous vos maux quant au bogue de l'an 2000. L'histoire se répète et la prétention est une constante. La méconnaissance d'un sujet résulte toujours en la naissance de soi-disant experts qui exploiteront le filon.

Après tout, la question que j'aimerais une fois pour toutes élucider est : c'est quoi un expert ? J'ai trouvé une définition intéressante dans le même livre de Levitin dont je vous parlais récemment (This is your brain on music, pages 196-197) et qui dans ce cas-ci s'applique aux musiciens (ma deuxième passion après la programmation).

Premièrement, qu'est-ce qu'on sous-entend par "expert" ? Généralement, on s'accorde pour le dire de quelqu'un qui a atteint un haut niveau d'accomplissement relatif à une autre personne. Comme tel, l'expertise est un jugement social, une déclaration qu'on fait par rapport à quelques individus par rapport à un groupe plus large de la population. Aussi, les accomplissements sont normalement considérés être dans un domaine que nous nous soucions. Comme le notait Sloboda, je peux devenir expert à me plier les bras ou à prononcer mon propre nom, mais ce n'est généralement pas la même chose que d'être un expert aux échecs, à réparer des voitures Porsches ou d'être capable de voler les joyaux de la couronne britannique sans se faire prendre.

L'image qui émerge de ces études est que dix mille heures de pratique sont nécessaires pour atteindre le niveau de maîtrise associé à être un expert de classe mondiale, et ce dans n'importe quoi. Que ce soit des compositeurs, des joueurs de basketball, des écrivains de fiction, des patineurs, des pianistes de concerts, des joueurs d'échecs ou des maîtres criminels, c'est le même chiffre qui revient tout le temps. 10 000 heures est l'équivalent à pratiquer 3 heures par jour ou 20 heures par semaine, et ce pendant 10 ans! Personne n'a encore trouvé de cas où l'expertise avait été atteinte plus rapidement. Il semblerait que le cerveau ait besoin de tout ce temps pour assimiler le nécessaire pour atteindre la maîtrise voulue.

Prouvez-moi que vous avez passé 10000 heures à étudier le sujet et vous aurez tout mon respect. Même Nathalie Petrowski en a parlé. Même moi, je ne me considère expert en rien. Mes intérêts sont trop diversifiés pour avoir consacré autant de temps à une seule chose. Même 10000 heures cumulées en programmation ne font pas de moi un expert puisque le temps est réparti dans différentes sphères allant de la modélisation de bases de données à la programmation PHP, JavaScript et d'autres langages appris avec le temps.

Comment peut-on s'auto-proclamer expert dans un domaine émergent comme les médias sociaux ? Publier 25000 tweets de 140 caractères sur Twitter ne me dit pas que vous êtes un expert, ça m'indique seulement que vous êtes trop bavard et que vous avez du temps à perdre ! Ceci dit, ça fait à peine une semaine que Google+ est lancé que seuls quelques chanceux de mon entourage ont reçu une invitation. On est d'accord que parce qu'ils ont pu explorer le produit avant les autres ne fait pas d'eux des experts. Ils n'ont qu'une longueur d'avance que vous rattrapperez lorsque vous y aurez vous aussi accès.

Lorsque je rencontre quelqu'un se présentant comme un expert dans une technologie, j'ai tendance à être critique et méfiant jusqu'à ce que la personne me convainc de sa compétence. Une expérience passée me revient en tête : pour un projet quelconque, nous avions à nous familiariser avec WebSphere (c'était conditionnel à l'obtention du contrat, que nous n'avons pas eu d'ailleurs). Nous avions engagé un formateur expert en WebSphere (selon son CV) pour nous aider à mettre sur pied l'environnement de développement et nous donner un coup de pouce pour préparer un prototype du projet. Dès la première heure, il était embêté par nos questions et se retira chez lui pour tenter de trouver les réponses. Nous n'avons plus jamais entendu parler de lui. À mon avis, le type était débrouillard et croyait être en mesure de figurer le fonctionnement pendant la durée du mandat.

Comme il avait déjà mis le nez dans cette technologie, il était en meilleure position que nous. Au même titre que moi, en tant que programmeur donc travaillant en informatique, je suis immédiatement catégorisé comme un expert en ordinateurs par mon entourage. Pourtant, ni le hardware ni Windows n'ont de lien avec la programmation que je fais. Rien pour aider ma cause, je trouve des solutions!

Avoir un intérêt pour quelque chose n'équivaut pas à être une sommité en la matière. Alors avant de vous apposer le titre d'expert et de prétendre être meilleur que vous l'êtes en réalité, méfiez-vous parce que vous finirez tôt ou tard à être démasqué.


Tags: Lois et principes

mardi 5 juillet 2011

Le livre sans titre

Publié par Infinite Loop, à 20 h 02 0 commentaire

Pourquoi cet ouvrage reste-t-il sans titre ? Parce que le sujet dont il est question était tabou dans les bonnes moeurs au moment de sa parution dans les années 1830. La moralité de l'époque était sévère envers l'onanisme. Vous savez ce que c'est ? Non ? Sachez que cette funestre habitude fait mourir à elle seule plus de jeunes gens que toutes les maladies ensemble. Oui oui oui, vous avez bien compris.

Maintenant, ai-je besoin de vous faire un dessin? Un indice vous donnerait un coup de main (lol)? Allez, si vous n'avez pas déjà deviné, cliquez sur le lien plus haut pour en connaître le synonyme. Dans les faits, c'était un guide dédié aux jeunes gens, et aux pères et mères de famille qui constituait une mise en garde face à ceux qui s'adonnaient intimement à cette pratique.

Bon, je vous en fais un court résumé des fâcheuses conséquences qui s'en suivent :

  1. la figure devient pâle, le regard éteint; souvent des boutons purulents au visage, au front surtout, une haleine empestée, des douleurs d'estomac
  2. ses cheveux, si beaux, tombent comme dans la vieillesse : sa tête se dépouille avant l'âge (hey! j'en connais un comme ça)
  3. il a faim, il veut apaiser sa faim, les aliments ne peuvent séjourner dans son estomac... (intolérance au lactose et au gluten ?)
  4. sa poitine s'affaisse... il vomit le sang
  5. tout son corps se couvre de pustules... il est horrible à voir!
  6. une fièvre lente le consume, il languit : tout son corps brule (justement, un employé s'est absenté aujourd'hui pour cause de fièvre)
  7. tout son corps se roidit! Ses membres cessent d'agir
  8. il délire : il se roidit contre la mort : la mort est plus forte
  9. il s'est corrompu! Bientôt il porte la peine de sa faute : vieux avant l'âge... son dos se courbe... (The Curious Case of Benjamin Button)
  10. un feu dévorant embrase ses entrailles. Il souffre d'horribles douleurs d'estomac
  11. voyez ces yeux naguères si purs, si brillants, ils sont éteints! Une bande de feu les entoure
  12. il ne peut plus marcher... ses jambes fléchussent
  13. Des songes affreux agitent son sommeil... il ne peut dormir
  14. ses dents se gâtent et tombent (si on rêve qu'on perd ses dents, est-ce que ça compte ?)
  15. sa poitrine s'enflamme... il crache le sang
Ça fout la trouille ! Si vous reconnaissez des gens de votre entourage qui présentent de tels signes, veuillez en avertir les autorités compétentes. Et pour parfaire votre connaissance sur le sujet et devenir maître en la matière, téléchargez un exemplaire gratuit en eBook sur Google Books. Ceci constituera une bonne lecture de chevet avant de vous endormir afin de vous garder dans le droit chemin (pour vous-même ou vos enfants).

C'est ainsi que par mon tempéramment rebelle, je viens à l'instant de saisir tout le sens des paroles de la chanson Creeping Death du groupe Metallica que j'écoutais étant adolescent : Die, by my hand...


Tags: Curiosités, Humour, Livres

Messages plus récents Messages plus anciens Accueil
S'abonner à : Messages (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (55)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ►  2015 (6)
      • ►  août 2015 (1)
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ►  2013 (53)
      • ►  décembre 2013 (2)
      • ►  novembre 2013 (1)
      • ►  octobre 2013 (3)
      • ►  septembre 2013 (2)
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ▼  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ▼  juillet 2011 (17)
        • Soustraction sans emprunt par le complément de 9
        • Citation no. 129 sur le gel
        • Les archéologues retrouveront un jour la momie de ...
        • La gaffe à 150000$
        • La mort d'Angry Bird
        • The Walking Dead, DVD et papier
        • Petit délire sur le plus vieux métier du monde
        • Tasse-grenade : prenez un numéro
        • Truc express pour proposer un fichier en télécharg...
        • Citation no. 128 sur les ennuis
        • Pertinent à savoir sur les arrays JavaScript
        • Ceci est votre cerveau sur la musique
        • L'énigme de Stanford
        • Citation no. 127 sur l'efficience
        • Quelques solutions à des problèmes communs sur 000...
        • Théorie des 10 000 heures
        • Le livre sans titre
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ►  2010 (398)
      • ►  décembre 2010 (29)
      • ►  novembre 2010 (28)
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ►  juillet 2010 (35)
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ►  2009 (429)
      • ►  décembre 2009 (32)
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (36)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ►  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ►  octobre 2008 (11)

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft