3D facile avec WebGL

Faire de la 3D dans son navigateur, c’est désormais possible : la norme WebGL est de mieux en mieux supportée par les navigateurs : elle permet de créer facilement des petites objets 3D, d’y plaquer des textures, et de les faire bouger – ou de déplacer une caméra virtuelle.

La manière consiste à créer des objets à partir d’une suite de coordonnées 3D : pour ceux y ont connu, cela ressemble beaucoup à la programmation sur les calculatrices Casio : il fallait à l’époque tracer des « PLOT » et des « LINE ».

Un tutoriel bien fait et complet est en ligne :

https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial/Using_textures_in_WebGL

Choisir son opérateur avec le site cartoradio

Nous avons tous un opérateur téléphonique et internet. Si, pour internet, des sites comme Degrouptest commencent à être connus (pour vérifier le débit avant d’acheter un bien immobilier par exemple), peu de gens savent qu’on peut aussi essayer de prévoir la qualité de réception d’un opérateur mobile à un endroit précis.

A une époque où le téléphone nous permet non seulement de téléphoner, mais aussi et surtout d’aller sur internet avec la 3G ou la 4G, cette qualité de réception est importante

Impact santé

De plus, le fonctionnement d’un téléphone est ainsi fait que, plus on est loin de l’antenne relais, plus, pour compenser, le téléphone va émettre fort, pour compenser cette distance et que son signal atteigne l’antenne.

Cela signifie deux choses :

  • En situation de grande mobilité (TGV ou autoroute), essayez de désactiver vos données mobiles (voire si possible, tout votre téléphone) : la recherche d’accroche va manger votre batterie à grande vitesse.
  • En situation « stable » mais loin d’une antenne relais, lors d’un weekend au fin fond de la creuse par exemple (et bien ailleurs : par exemple, impossible de capter des réseaux mobiles sur la côte Normande près des plages du débarquement) : pareil, pensez à désactiver data ou téléphone.

Chaque appel passé en éloignement de l’antenne, va émettre une dose élevée de radiations. Un jour, une étude nous annoncera gentiment que, comme l’amiante, les antennes relais sont un scandale, et que tous les gens téléphonant beaucoup depuis des coins reculés, ont été surexposés aux rayonnements.

Le site malin

Pour éviter ces maux de santé, et les énervement du captage mauvais, il y a une première solution: aller voir les cartes de couverture sur les sites des opérateurs : elles sont cependant assez imprécises ; on sait que, un opérateur considère qu’une commune est « couverte » par son réseau si, en un seul endroit de la commune, le signal est reçu (on ne parle même pas d’une conversation d’un certain temps qui se passerait correctement). Bref, le nombre de zones blanches réelles est facilement dix fois plus grand que le nombre officiel.

Du coup, même si cela ne donne pas de chiffre de débit précis, vous pouvez aller sur le site CartoRadio : outre l’emplacement exact de toutes les antennes, il donne aussi tous les équipements publics émettant des ondes : radio, TNT, péages… tout est recensé !

Très bon pour les électrosensibles. Très bon aussi pour voir quel opérateur a son antenne la plus proche de vos lieux de vie : maison, bureau, usine, appartement de la grand-mère..

Ainsi, vous souscrivez nos pas par rapport à celui qui vous fait payer 2 ou 5 euros de moins par moins, mais par rapport à celui qui va vous offrir un réseau de qualité, bon pour votre santé. Malin, non ?

Chez moi par exemple, tous les opérateurs ont mis une antenne sur le clocher de l’église de la vaille. C’est donc la distance (et le vallonnement) par rapport à l’église, qui déterminera la qualité de réception.. c’est bon à savoir, et c’est quelque chose que de bons agents immobiliers devraient connaître par cœur, mais évidemment ils n’en ont aucune idée.

Quand Google se la pète avec son Brotli

Chez Google, ils ont souvent les chevilles qui enflent. Ils ont une propension  à inventer des trucs inutiles, et à s’en vanter, qui est assez incroyable. Peut-être que certains développeurs se souviennent du « SPDY », ce protocole que Google avec voulu imposer en remplacement du HTTP. Cet algorithme de protocole, par la force de Google qui noyaute toutes les organisations de normes, sert de base pour la future norme HTTP2 en cours de finalisation. Mais ça fait des années qu’ils en ont parlé, et en réalité, personne n’utilise leur truc (je veux dire,dans le monde normal de 99% des développeurs web).

Brotli ne marche même pas sous Apache

Quand on sait que 25 % des 10 000 plus gros sites du monde tournent sous WordPress, et 46% sous PHP (donc en grande majorité avec le serveur Apache), et que Brotli ne supporte pas Apache, ça nous fait doucement rigoler.

Ces rigolos de Google ont inventé Brotli. C’est quoi Brotli ? Leur soi disant super nouvel algorithme de compression « tous usages » (textes, images, fontes, enfin bref tout ce qui transite sur le web), qui est censé, selon leur propres mesures (donc sujettes à caution) réduire les tailles de fichiers de 20 à 26% par rapport à DEFLATE. DEFLATE, c’est l’algorithme de compression « basique » utilisé par la majorité des serveurs web.

« Petit » problème: Google a oublié de préciser (et de penser) que pour être efficace, un algorithme de compression a besoin de deux choses :

  • Être reconnu par les navigateurs (sauf si, par magouille, il est rétro compatible avec un autre algorithme, à la manière de winrar qui savait créer des zip qui utilisaient quand même des trucs spécifiques à rar)
  • Et surtout, être implémenté sur les plus gros serveurs web, donc Apache, Nginx, Tomcat, Jboss, etc.. (liste non exhaustive)

Même les sociétés de CDN comme Cloudflare, pourtant forcément les premières à vouloir économiser de la bande passante, n’arrivent pas vraiment à se dépêtrer avec l’algorithme de Google :

Un module expérimental a été créé par on ne sait qui pour Nginx (https://github.com/google/ngx_brotli), mais il faut recompiler Nginx et bidouiller, bref autant dire que ce n’est pas à la portée du 1er venu, même pour un administrateur système aguerri.

Quand donc Google va-t-il comprendre que la technique ne fait pas tout ? Que derrière ses inventions, ses réseaux sociaux Google+, ses Picasa et je ne parle par des tonnes de projets abandonnés après quelques années (allo, le javascript à la sauce GWT ? Allo encore, le réseau social Orkut qu’ils ont laissé pourrir ? etc..), bref derrière toutes ces nullités, il aurait fallu penser à l’utilisateur, à ses usages réalistes..

C’est désolant. Même pour des développeurs, ils sont infichus de créer des solutions utilisables. Enfin, ça le sera peut-être, mais d’ici 5 ans.. youpi.

Le plus triste, c’est de voir des publications pseudo intelligentes comme le JournalDuNet, reprendre bêtement après des mois, les allégations de Google, sans les vérifier :

http://www.journaldunet.com/solutions/dsi/1171401-firefox-et-chrome-plus-rapides-grace-a-brotli/

En plus, ça ne marche qu’en HTTPS. Oui, HTTPS, le protocole que Google vous pousse à utiliser d’un côté (en disant que ça fait gagner des points dans les référencements) et que le même Google vous pousse à ne surtout pas utiliser (sa division en charge des pubs, ne sait pas gérer correctement le HTTPS pour les pubs. Du coup, un site qui passe en HTTPS gagne deux fois moins avec Google Adsense).

Google ou gogol ?

 

Réformer Hadopi et les droits sur internet

En réfléchissant sur le problème des droits sur Internet, je me suis dit que beaucoup de gens critiquent les lois actuelles comme Hadopi, DADVSI et consorts; certains défendent nos droits comme Maitre Eolas. Certains autres sont experts pour trouver des failles.

Mais je n’ai pas trop vu de contre proposition cohérente. En en cherchant une, je suis tombé sur un blog complètement délirant : une sorte de philosophage super délayé sur l’internet et la source du droit, sur le fait qu’internet est un monde à part etc.. pour vous éviter la lecture de ce roman fleuve, je vous en résume les quelques idées neuves :

  • Internet serait un monde à part avec ses lois physiques différents : la copie et le mouvement (transfert)
  • Le droit actuel serait déficient parce que pour établir une preuve sur un document internet, il oublie qu’il n’y a pas vraiment d’original, et que c’est donc la date de transfert qui compte
  • De la même façon que sur terre nous ne nous conduisons pas comme des animaux en cédant à tous nos instincts, il faudrait trouver des lois qui répriment nos instincts internet de copie et de mouvement

Bon, une vingtaine de pages A4 pour dire ça… et on critique le droit … situation ubuesque. De plus le parti pris me semble stupide. Certes, partir du principe que l’internet est un « monde virtuel réel » avec ses règles est séduisant. Quand on voit le peu qu’il en ressort, on se doute que l’idée n’est pas si brillante. En effet il s’agit bien d’une représentation du même monde, dématérialisé : les personnes, les musiques, les vidéos, les docs.. tout ce qui s’y trouve, peut être matérialisé de façon réelle sur notre « plancher des vaches ». Il n’y a donc pas de différence fondamentale.

Cela n’enlève rien au fait qu’un « code de l’internet » reste à écrire, en tenant compte du fait que seules les choses qui nécessitent du travail méritent salaire, un salaire proportionnel à la durée du travail. En fait, je ne vois pas de différence entre la juste rétribution de l’artiste sur internet, et celle de l’ouvrier et du patron.

ÉTAT DES LIEUX

Le monde réel a transposé ses oppositions vers l’internet, et on retrouve donc deux courants extrémistes, et leur variante « au milieu »:

  • le libéralisme (la « droite » au sens des riches et non de celui de la défense de la morale) a donné les lois Hadopi, le flicage, et les taxes en tout genre pour nourrir des artistes super riches.
  • le communisme a donné la théorie de la culture gratuite et illimitée en libre circulation
  • le socialisme a comme d’habitude cherché à faire la moyenne et nous propose l’idée de licence globale / on paye quand même, mais c’est illimité.

En fait, le problème n’est pas limité au droit : il est notoire qu’un modèle économique sain n’a toujours pas été trouvé pour l’internet. Les deux seules sources de revenus sont la pub (donc lié au volume et un peu au portefeuille des lecteurs) et le premium. Dans un cas comme dans l’autre, les transposer aux contenus numériques ne résout rien.

C’est exactement le positionnement de Deezer. Il ne marche que parce qu’il n’y a rien de mieux, mais il va à l’encontre de deux principes fondamentaux du net:

  • Tout se copie et pour éviter cela, Deezer cherche des méthodes complexes pour interdire la copie (mais on peut toujours enregistrer ce qui sort de ses enceintes, leurs méthodes sont vaines). Comme pour la vidéo, les extrémistes du libéralisme envisagent de restreindre les possibilités techniques des appareils (ici, on ne vendrait plus que des enregistreurs et des cartes sons qui ne se mettent en route que s’ils détectent qu’on a les droits sur le son qu’on entend). Pour la 1e fois dans l’histoire, les extrémistes du « progrès » prônent le régrès pour conserver leurs avantages !
  • Tout s’échange et pour éviter encore cela, seuls les contenus venant des majors sont diffusés sur Deezer. Pas de contenus personnels, pas d’échanges, pas de petits artistes indépendants.

Tant qu’internet n’aura pas trouvé de modèle économique viable pour les sites non-marchands, il en sera de même pour la culture dématérialisée.

MA SOLUTION

Pour ma part, je n’ai pas de solution magique, mais il me semble que le problème est mal posé par les médias : il ne s’agit pas de savoir si on va payer ou pas, ou au forfait, pour consommer de la musique. Mais plutôt de savoir QUI va payer. Car même avec des contenus soi disant gratuit, comme sur Facebook ou Google, on paye indirectement. C’est via la pub que ces sites se financent. Or qui fait de la pub ? les marques ! Et qui achète ces marques ? nous. Donc l’internet et la culture numérique à la sauce « Facebook » ou « Deezer gratuit » vivent au crochet de la consommation, par une sorte de taxe « j’échange de l’audience contre de l’argent ». La pub en soit a toujours été injuste : on fait payer aux seuls consommateurs de produits de tous les jours, les choses qui sont financées par la pub : audiovisuel, numérique, internet.

Pourquoi quelqu’un qui achète une voiture, un rouleau de PQ, une chaussure Nike… devrait payer pour les gens qui usent et abusent d’Internet ? Alors que lui ne l’utilise peut être pas.

A l’inverse, dans le modèle premium pour la culture numérique : pourquoi devrions nous payer infiniment pour un contenu qui ne coute presque plus rien à produire ? Pourquoi quelques heures de travail en studio pour produire un titre, devraient produire une rente à vie, alors que les gens « normaux » doivent venir au travail tous les jours ? Les « artistes », de notre temps, ne sont plus autre choses que des rentiers : certes ils créent leur capital (des chansons, des films..) au lieu de les hériter de leurs parents. Mais ensuite ils en vivent pareillement. C’est tout autant injuste.

Y’a t-il une solution juste ? Pas sur Internet en tout cas. Internet ne connait pas la qualité. Faire transiter 1Go de données aléatoires coute le même pris qu’un giga de film. Internet ne permet pas de rétribuer les auteurs numériques de manière équitable.

Il y a quelques faits sur lesquels nous pouvons agir :

  • Comme la culture ne coute plus rien à diffuser et beaucoup moins à produire, son prix doit baisser, le nombre d’intermédiaires diminuer. Le secteur est hypertrophié, il faut laisser un écrémage se faire
  • Pour faciliter cet écrémage et éviter qu’il ne se fasse au détriment des petits artistes (c’est le modèle actuel : pour garder la rentabilité et nourrir tous les intermédiaires voraces, les majors sacrifient les « petits » artistes pas assez rentables), il faut supprimer toutes les aides françaises au cinéma et à la musique, et les réserver à des sites de « social funding amélioré » qui permettront au public et à l’état de sponsoriser des nouveaux artistes, de les produire et de les diffuser exclusivement sur internet. L’état financerait la recherche de talents, les internautes seraient « investisseurs » pour la production
  • Puisque la pub existe malheureusement, on peut tenter de la réguler en donnant un devoir d’honnêteté aux annonceurs : ce sera à eux de vérifier que les sites sur lesquels leurs pubs passent, reversent une partie de leurs revenus à la culture numérique, si tant est qu’ils en diffusent. Cela s’apparente à une sorte de « taxe méga upload » déguisée, en quelque sorte. Même si nous avons montré que le principe de la pub est mauvais, il ne faut pas laisser ces sites profiter indument de l’audience générée par d’autres ! Cette mesure est bien évidemment temporaire, en attendant que les sites de social funding du point précédent aient « pris le pouvoir » : lorsqu’un contenu sera téléchargeable directement et gratuitement sur le site officiel, les sites pirates mourront, faute de revenus de la pub !

En résumé, nous proposons :

  • Fin de toute aide existante à la culture : pass jeunes, subventions aux associations de musique et aux festivals, aux nuits blanches, aux films canal+ et ceux de Besson, etc
  • L’état crée (et sous traite au privé) des plateformes de « social funding »
  • L’état finance (avec tout l’argent économisé) la recherche des talents
  • Les internautes financent la production (ainsi chacun peut œuvrer démocratiquement pour la promotion de son type de musique préféré)
  • Les titres et films produits sont diffusés gratuitement sur les sites officiels
  • Tout site non officiel diffusant des contenus numériques se voit taxé sur ses revenus publicitaires, en proportion identique
  • Les internautes financeurs récupèrent le bénéfice de la pub. L’état veille à l’équilibre du système, de façon à ce que l’espérance de gain des financeurs soit en moyenne de 1.05. Il ajoute ou retranche à ses subventions à la plateforme, pour maintenir cet équilibre.
  • Les artistes sont rémunérés de manière +- logarithmique par rapport à l’audience générée (10x+ pour un artiste qui génère 100x+ de téléchargements)
  • Les majors soit faillitent, soit se lancent dans le social funding
  • Le chômage augmente car ce secteur hypertrophié diminue de taille. Mais l’argent économisé en intermédiaires inutiles supprimés, permet de leur payer des allocations jusqu’à leur recyclage.

Qu’en pensez-vous?

Première parution : mai 2011 – v2 révisée

Java : trouver du code mort ou des JAR inutilisés

Après une recherche sur le web, voici des recettes pour trouver des JAR inutilisés ou du code inutilisé dans un projet Java sous Eclipse (ou autre IDE).

  • Tattletale : http://tattletale.jboss.org/ – centré sur les JAR, cet outil génère un rapport HTML donnant notamment les JAR inutilisés (disons, non directement, car il faut faire attention aux chargements par réflexion ou par injection) et les dépendances entre les différents JAR
  • Loosejar : https://code.google.com/p/loosejar/ – A lancer dans la JVM, il analyse (après avoir cliqué un peu partout) les JARs qui n’ont pas été chargé. C’est une approche différente, runtime
  • UCDetector : http://www.ucdetector.org/ – Ce plugin Eclipse détecte les bouts de code non utilisés, ou utilisés une seule fois
  • ClassPathHelper : http://classpathhelper.sourceforge.net/ – centré sur les « class not found » pour comprendre d’où elles viennent et les problèmes de classpath. Mais bien sur ne détecte pas les injections
  • JarAnalyze : http://www.kirkk.com/main/Main/JarAnalyzer – similaire à Tattletale mais en plus basique on dirait
  • A creuser : les plugins Sonar
  • Google CodePro : https://developers.google.com/java-dev-tools/codepro/html/tasks/maintopic – Une sorte de Sonar-like
  • ProGuard : http://proguard.sourceforge.net/ – plutôt un outil de réduction de taille de JAR, mais comprend une partie de détection de code mort

 

Si vous êtes sous Maven, le plugin maven dependancy analyze permet de savoir tout de suite quels JAR sont inutilisés.

A noter aussi que de base, Eclipse, même s’il ne détecte pas tout ca, possède quelques fonctionnalités de nettoyage de code comme : Project properties->Java Code Style->Clean Up Select the Eclipse [Built-in]

 

Rent a minibus in Cardiff

Liste de mots palyndromes

Liste établie à la main vers l’an 2000

  • a
  • air/ria
  • an / na
  • animal / lamina
  • arrêt / terra
  • as / sa
  • ados / soda
  • bons / snob
  • bar / rab
  • casser / ressac
  • ces / sec
  • cas / sac
  • elle
  • elles / selle
  • en / ne
  • et / te
  • état / tate
  • été
  • écart / trace
  • émir / rime
  • dus / sud
  • gag
  • ici
  • léger / regel
  • les / sel
  • mon / nom
  • nos / son
  • nez / zen
  • non
  • nu / un
  • par / rap
  • port / trop
  • repas/ saper
  • resucer / récuser
  • set / tes
  • tôt

Rapidité des langages de programmation

alias « Java Vs PHP »

 

j’ai passé quelques heures à chercher des liens et des benchmarks pour comparer les rapidité des différents langages de programmation. après tout ce temps, une conclusion s’impose : les langages compilés (comme Java ou C) seront toujours beaucoup plus rapides, en performance pure, que les non compilés (principalement PHP, Ruby et Python, voire Javascript).
La raison est simple : l’optimisation faite par le compileur, et le fait d’être compilé, multiplient par 10 ou 100 la rapidité d’éxécution des boucles, des assignations mémoire etc…
Voici quelques liens bien fait montrant des chiffres :
http://dow.ngra.de/2008/08/04/optimizing-ip2c-php-implementation/
http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php

http://elliottback.com/wp/ruby-vs-php-performance-revisited/

Cependant, la plupart des benchmarks sont faits sur des exemples purement mathématiques.
Or, par exemple pour une application web, il y a aussi :
– une partie serveur pour rediriger l’appel
– une désérialisation XML ou HTTP
– un connecteur à une base de données avec gestion de pool, et des requêtes SQL plus ou moins optimisées…
Dans beaucoup d’appli web, la part du SQL sera de 50%, alors être infiniment plus rapide sur la partie « calcul » n’accélérera votre application que de 50% au plus…
Certes, dans l’exemple de « ip2c », le java est presque 7x plus rapide que le php, mais avec un bon framework et du cache, php sera tout de même suffisamment rapide. Mieux vaut investir dans des machines pas chères, que dans des ingénieurs couteux.

De plus, la majorité des applications java doivent charger en mémoire des tas de framework, des EJB, des Spring, et autres librairies et couches qui réduisent, dans le monde réel, son avantage sur les langages interprétés.
Alors de la même façon qu’on n’utilise pas PHP pour faire des jeux parce que c’est trop lent, mais que Java s’y prête finalement bien…
Et bien pour une pure appli web, avec partie front et modèle MVC, PHP sera plus rapide à DÉVELOPPER, que du java, et on le choisira parce que c’est ça qui compte, plus que le temps de réponse de la page, qui de toute façon sera augmenté de la lenteur de la connexion internet de la personne, du chargement de sa vidéo, etc…
Je dois m’avouer vaincu sur la performance mathématique pure. C++ et Java SONT plus rapides strattera capsule 10mg.
Mais dans le monde réel, il faut bien réfléchir à ses besoins. Et là, le PHP n’est pas du tout vaincu.