Gilliek
23nov/100

[VRAC] HTML5

Un tableau périodique des éléments HTML5. Sympa :-D

Taggé comme: Aucun commentaire
18nov/104

Une belle citation de Linus Torvalds

Hier soir, je suis tombé sur une vieille citation de Linus Torvalds extraite d'une interview faite par le New York Times sur  Standblog :

Les gens vous positionnent comme l'ennemi juré de Bill Gates. Il a lancé Microsoft et vous avez lancé Linux, le grand concurrent de Microsoft pour la domination des systèmes d'exploitation. Est-ce injuste ou inexact ?

Le fait est que, au moins pour moi, Microsoft n'a aucun rapport avec ce que je fais. Ca peut paraître étrange, sachant qu'ils sont clairement le principal acteur du marché dans lequel est Linux; mais le fait est que je ne suis pas dans cemarché. Je m'intéresse à Linux pour la technologie, et Linux n'a pas commencé comme une rebellion contre l'effroyable empire Microsoft. C'est plutôt l'inverse, en fait. D'un point de vue technologique, Microsoft a toujours été l'une des entreprises les moins intéressantes. C'est pour cela que je n'ai jamais vu cela comme un combat Linus contre Bill. Je ne me vois pas dans la position de l'ennemi juré, vu que ça n'est pas quelque chose qui m'intéresse suffisamment. Pour être un ennemi juré, il faut activement essayer de détruire quelque chose, vous ne croyez-pas ? Vraiment, je ne suis pas là pour détruire Microsoft. Ca sera juste un effet secondaire tout à fait involontaire.

J'adore sa conclusion :

Vraiment, je ne suis pas là pour détruire Microsoft. Ca sera juste un effet secondaire tout à fait involontaire.

17nov/103

Ca donne des idees…

Taggé comme: , 3 Commentaires
15nov/102

Mug Pacman

Tellement la classe !

Taggé comme: , , 2 Commentaires
13nov/100

Hadopi FAIL

Ca me fait bien marrer quand je lis ça !

http://www.01net.com/www.01net.com/editorial/523507/le-ps-demande-des-comptes-a-la-hadopi/?r=/rss/actus.xml

Hadopi, ou comment dépenser des millions pour rien ...

Taggé comme: , Aucun commentaire
12nov/100

PHP : Une erreur d’operateur

En PHP, on peut affecter une valeur à une variable  selon une certaine condition avec des opérateurs ternaires.

Par exemple :

On aimerait que la variable result vaille 42 si x est plus grand que y et 0 sinon. Sans les opérateurs ternaires ça donnerait ça :

if (x > y)
     result = 42;
else
     result = 0;

ça prend 4 lignes et c'est moche ! C'est là que les opérateurs ternaires interviennent. On peut réécrire avec ceux-ci le code ci-dessus de la manière suivante :

result = (x > y) ? 42 : 0;

Beaucoup plus beau, non ?

Si tout fonctionnait pour le mieux dans le meilleur des monde (dédicace à Candide de Voltaire) je n'en parlerai sans doute pas dans ce billet !

A vos consoles !

Plutôt qu'un long et interminable discours, un exemple ! Comme le laisse suggérer le titre, ouvrez une console (ou terminal) ;-)

Maintenant, exécutez-y la commande suivante (il faut avoir au préalable installé PHP) :

php -r 'print 42 > 100 ? "42 est plus grand que 100" : 42 < 100 ? "42 est plus petit que 100" : "42 est égal à 100";'

Ca marche ...

Si vous avez bien recopié la commande, vous devriez voir s'afficher :

42 est plus petit que 100

... mais pas toujours !

Maintenant, inversons l'ordre des opérations ! Saisissez donc la commande :

php -r 'print 42 < 100 ? "42 est plus petit que 100" : 42 > 100 ? "42 est plus grand que 100" : "42 est égal à 100";'

Et là vous voyer s'afficher un terrible résultat :

42 est plus grand que 100

Comme vous pouvez le constater, le résultat est faux : 42 n'est pas plus grand que 100 :-P

Je sais bien que 42 est la réponse universelle, mais faut pas abuser non plus !

Mais pourquoi ?

Il s'agit en fait d'un problème d'associativité des opérateur '?' et ':' dans PHP.  En effet, en PHP, ces deux opérateurs sont left-associative (associatif à gauche pour les non-anglophones). Et c'est le seul langage à contenir une telle abération.

Prenons Ruby (il vous faut avoir installé Ruby pour pouvoir lancer la commande, évidemment):

ruby -e 'print 42 < 100 ? "42 est plus petit que 100" : 42 > 100 ? "42 est plus grand que 100" : "42 est égal à 100"'

L'interpréteur Ruby nous sort :

42 est plus petit que 100

Que faire ?

Il y a deux solutions:

  1. A court terme : utiliser des parenthèses pour bien définir l'ordre des opérations.
  2. A long terme : Ne plus utiliser PHP :-P Bon, je sais, c'est un peu radical et parfois on n'a pas vraiment le choix :-D

Si vous voulez d'autres exemples d'absurdités de PHP, je vous recommande le site (en anglais) : http://www.steike.com/code/php-must-die/

8nov/104

Java, c’est fini pour Apple !

Lors de sa dernière Keynote  du 20 octobre intitulée "Back to the Mac", Apple a déclaré avoir abandonné le développement de la machine virtuelle Java pour son nouvel OS nommé Lion. En effet, la société à la pomme maintenait elle-même la version Mac de la JVM.

Mais Apple ne s'arrête pas là, il va même plus loin. Suite au succès de l'AppStore sur les terminaux mobiles, ils ont décidé de faire un AppStore pour Mac OS X. Et bien ce dernier refusera toute application écrite en Java !

Est-ce la fin de Java sur MacOS ?

Pas nécessairement. Il est possible qu'Oracle décide de supporter la JVM pour Mac... Mais s'ils ne le font pas, alors cela mettrait fin au caractère multiplateforme de Java...

J'avoue être deçu par l'attitude d'Apple (déjà que d'habitude je ne les porte pas dans mon coeur, ils ne sont pas prêt de remonter dans mon estime :-P )