Pourquoi mes messages sont tronqués (ou absents) ?

J’écris ce message histoire de clarifier un peu les choses.

Comme je passe doucement de Twitter à mastodon, j’en profite pour faire un nettoyage dans mes systèmes d’information et pour ajouter un peu de documentation.

Donc, actuellement, pe publie des informations en utilisant les solutions suivantes

flux_de_publication.png

Il y a évidement des troncages, en particulier quand les textes arrivent dans twitter. Mais dans l’ensemble, c’est assez correct.

Il y a toutefois un défaut, que j’ai l’intention de changer. Regardez en bas : Goodreads, WordPress et StackOverflow publient directement dans Twitter sans passer par mastodon. C’est mal.

Et autant pour Goodreads et WordPress, je pense utiliser brutalement le flux RSS, autant pour Stackoverflow, comme je ne publie pas systématiquement mes questions, je pense que je vais garder une publication manuelle.

Mais j’ai une question :

Pour l’instant, je n’ai pas la réponse … mais je pense me décider assez vite.

Bon, cela dit, je n’ai pas non plus la réponse à « comment embarquer un pouet dans WordPress …

Publicités

#devoxxfr – impact of code on society

Imagine what if the CSS design team designed a taxi … Une blague qui plait à tous ceux qui bossent dans le développement.
D’après Joel, un développeur passe 5 % de son temps à coder, et le bon sang de reste de son temps à essayer de comprendre ce qui se passe.

Et donc, Joel en profite pour nous faire une histoire des réponses aux questions des développeurs sur le web … avec un long passage sur l’horreur qu’était Experts Exchange. Je ne vais pas détailler ça, parce que Jeff Atwood en a parlé en long et en large sur Coding Horror : leur objectif a été de sortir les développeurs de cet enfer.

Pour passer à autre chose, de nos jours, avant même votre réveil, des centaines de millions de lignes de code ont déjà tourné en votre nom pour, par exemple, activer votre réveil android, télécharger vos podcasts/mails/tweets, … Et tout ça, ce sont des développeurs qui l’ont écrit, qui ont pris des décisions, qui ont écrit leur script de votre journée par leurs décisions de code.

Et autant c’est raisonnable de voir uber vous demander de traverser la rue pour monter dans la voiture, autant un employé dans un centre de livraison est totalement piloté par du logiciel : on lui dit d’aller chercher un colis, puis de prendre un chemin particulier pour aller chercher une imprimante. Ces gens ne sont en fait plus que des output devices pour le système de livraison d’Amazon.

Et parfois, ça a un impact émotionnel. Typiquement, quand Facebook manipule votre timeline, ça a un impact sur vos émotions, que ce soit quand ils expérimentent ou pas. Mais même ça, c’est loin d’être facile, parce que si Facebook veut vous montrer une timeline qui vous rend heureux, doit-il vous montrer des photos de vos anciens amis ? ou même des photos de personnes mortes ?

Et n’oubliez pas que nous ne sommes qu’au début de la transformation. Dans le futur, il y aura encore plus de logiciel qui tournera pour vous.

Alors certes il y avait des idées intéressantes. Mais comme le disait Twitter

Comment on fait sudo dans un EJB ?

Question curieuse, que mon chef m’a posé pas longtemps après que j’explique à @bmathus que

https://twitter.com/riduidel/status/258176811693907968

Ou, dans une réponse plus longue, que JAAS était une bonne idée :

Cela dit, plusieurs choses sont à retenir
– l’authentification/autorisation est gérée dans toutes nos couches
de manière homogène ET en utilisant toute la plomberie
JavaEE/Glassfish. C’est-à-dire que, en dehors des développeurs de la
partie royaume, la plupart des développeurs ne voient de la sécurité
que les annotations @RolesAllowed/@RunAs. C’est incroyablement
pratique au quotidien de ne pas avoir à se palucher d’envoi
d’exception ou quoi que ce soit d’autre.
– l’appli web et les web services utilisent une BASIC AUTH HTTP qui
passe elle aussi par ce royaume. Donc on est sûr de l’utilisateur d’un
bout à ‘lautre de l’application. Et, bonus, c’est pas moi qui ait
écrit le code de sécurité mais (j’espère) des mecs bien plus
paranoïaques que moi (pas dur, vu que j’oublie parfois de fermer ma
bagnole/ma maison à clé).
– l’API à implémenter est raisonnablement simple – du moins dans
Glassfish : dans l’ensemble, il faut juste être capable, étant donné
un login/password, de retourner une liste de noms de rôles
d’autorisation JAAS. Et, comme notre base est accédée via un
connecteur JCA, ce connecteur est disponible via JNDI (mouaip, pas une
goutte de CDI là-dedans) et donc dans le royaume, ce qui est
indispensable. Autrement dit, Glassfish gère bien mieux que moi
l’ordre de démarrage du bazar.

Dans les inconvénients, j’aurais tendance à dire que
– la doc peut être spartiate (en particulier ce qui concerne les
différentes choses à faire pour que le serveur d’application utilise
correctement le domaine)
– les logs sont soit trop peu nombreux soit trop verbeux (pas assez
nombreux si tu les enlève, mais trop verbeux dès que tu les active,
parce que chaque méthode d’EJB nécessite une authentification).

Hélas, je me suis retrouvé à poser la question fatidique : How can I change user principal during an EJB/MDB invocation?

Et je vous encourage vivement à aller voir la réponse que j’ai moi-même écrite pour cette question, puisqu’elle montre précisément comment, tout en n’étant pas un élément de la spec JavaEE, il est possible d’implémenter « proprement » ce sudo.

"My mission is all for me"

J’ai suivi l’aventure de StackOverflow depuis des années.
En fait, pour être plus exact, je suivais le blog de Jeff Artwood bien avant qu’il se lance dans l’aventure formidable de StackOverflow. C’est pourquoi son annonce d’aujourd’hui m’apparaît à la fois comme incroyablement courageuse, et terriblement triste.
J’y vois aussi … une vraie leçon : comme il le dit lui-même, il arréte l’aventure de StackOverflow grâce à Steve Jobs, ou plutét grâce à ce que Steve Jobs a échoué et que lui veut réussir : sa famille. C’ets bien, même si d’autres articles de l’internet indiquent que la vision de la parentalité américaine est peut-être excessive.
C’est bien pour lui, mais c’est aussi bien pour tous les gens qui pensent que la réussite de la vie privée est au moins aussi importante que la réussite de la vie professionnelle.
Et j’en suis.
Donc, évidement, je ne peux qu’applaudir un homme qui laisse tomber un projet aussi incroyablement réussi que StackOverflow pour s’occuper de ses enfants.

Web suckers !

Depuis le début de cette année 2011, et en fait depuis, je pense, le début du deuxième semestre 2010, utiliser StackOverflow commence à devenir un peu plus délicat.
Non pas que l'interface soit devenue moins pratique. Non, c'est toujours l'idçal (pour un site web) en terme de ratio contenu/contenant.
Non, c'est plutôt que, depuis ce second semestre, il y a de plus en plus de sites qui aspirent le contenu de StackOverflow, pour essayer de l'emballer dans des pages contenant plus de pub, et ayant un meilleur référencement. L'objectif ? se faire du pognon, cette blague !
Pour ça c'est simple.
Mettez-la dans une page garnie de quelques pubs de plus ou moins goûts.
Optimisez son référencement pour apparaître avant la source.
Et, mécaniquement, vous aurez environ un utilisateur sur 10 00 000 qui cliquera sur la pub. Et ça suffira pour vous faire vivre, comme le taux de réponse des spams suffit à les faire vivre.
Évidement, ça ne plaît pas aux gestionnaires de StackOverflow, et avec raison, à mon sens.
Cela dit, à défaut de corriger Google, ce qui est toujours délicat, chacun peut utiliser la solution à sa portée : ne jamais aller voir les concurrents, mais se rendre chez Stackoverflow à la place.
C'est facile pour les utilisateurs de Chrome, mais hélas pas pour moi … A moins bien sûr que je ne me hacke vite fait mal fait une extension Opera (donc W3C compatible) qui fasse le même boulot … Difficile de résister à ce genre de tentation, je trouve. mais il faudra d'abord que je déshabille le code de l'extension Chrome pour pouvoir coder la mienne …

Des flux RSS dans Google Calendar

Allez, une petite feinte découverte aujourd'hui grâce à webapps.stackexchange.com (en fait, le type a posé la question, et j'ai creusé un peu pour trouver la réponse, ce que je ne regrette pas du tout).
La ruse est simple, mais il faut y penser.
Google Calendar peut se connecter à d'autres calendriers, pourvu qu'ils soient soit au format de Google Calendar, soit au format iCal. Mais pas, bien sûr, au format RSS/Atom/WTF. il fallait donc trouver la bonne moulinette. j'en ai d'abord trouvé une, feed2ical, développée grâce à Google App Engine, qui semblait faire ce que je voulais, mais en fait pas du tout, parce qu'elle sortait en rçalité du vCal plutôt que du vrai iCal.
Du coup, ça marchait dans iCal (l'application pour Mac), dans Thunderbird, mais pas dans Google Calendar.
J'ai dû repartir à la pêche, qui cette fois fût bonne : avec RSS2iCal, on peut réellement transformer un flux RSS en entrées iCal.
Maintenant, la grosse question : à quoi ça sert ?
Ben pas à grand chose … Sauf peut-être à faire un peu de web-narcissisme : maintenant, dans mon calendrier Google, j'ai les messages que je poste sur ce blog, mais aussi mes lectures récentes de Goodreads, et même mes tweets (ceux-là, c'était juste pour la démo, parce que ça fait vraiment beaucoup trop d'événements). Regardez un peu ce que ça donne :
Ss-2011-01-05_13

Et puis je suis sûr qu'il doit exister des mashups Google Calendar capables de faire bien plus que ces quelques boites …

Les communautés virtuelles ont-elles tué Usenet ?

Rholala, voilà-t-y pas que je me mets à écrire des titres à la Fred Cavazza. ca va mal ! [?]
Blague à part, vendredi dernier, je discutais avec mon bon fabstream (qui pose décidément toujours les bonnes questions, et qui doit donc continuer).
Et je lui expliquais que, si je trouvais l’idée de StackOverflow fabuleuse, et si j’étais très content des services de Goodreads, je regrettais l’époque où fr.rec.arts.sf était un forum fréquenté (avec quelques centaines de messages par jour).
D’où cette épiphanie (au sens grec – je crois – du terme) : Usenet est certes mort (le vrai Usenet, celui de la discussion, pas cet espèce de zombie qui héberge incorrectement des fichiers binaires dans des conteneurs faits initiallement pour le texte le plus brut – à un point tel, d’ailleurs, que les accents n’y sont toujours pas standardisés, et donc pas faciles à utiliser), mais son assassin court toujours. Et en plus, on le laisse courir, parce qu’il rapporte de l’argent à tout le monde.
En fait, et bien que je tienne Jeff Artwood pour un excellent buisnessman et développeur, je crois que l’avatar le plus pur des meurtriers d’Usenet est StackOverflow/StackExchange : on y retrouve un système de modération intégré, un outil d’évolution qui fait lui aussi partie du système, le tout pour une discussion qui pourrait très bien se faire en mode texte (parce que bon, entre Markdown et le texte brut, il n’y a pas des tonnes de différence).
Mais est-ce bien grave ?
Oui, et non.

Oui, parce que XNews est, malgré les efforts d’ergonomie et de filtrage de StackExchange, infinimenet plus configurable qu’un User.js pour scorer correctement les messages intéressants … ou non.

Non, parce que, de toute façon, Usenet a toujours été archi-geek. A un point tel d’ailleurs, que, quand il était encore vivant, les rares personnes à qui j’ai essayé d’expliquer le concept n’y ont rien compris (et encore, je ne parlais pas des entêtes personnalisées, ni d’autres concepts plus ésotériques encore).
Enfin, un peu de nostalgie, ça ne fait pas de mal….
Cela dit, si StackExchange intégrait une version nntp, je serais, je crois, le premier à sauter dessus …

Comment on faisait avant ?

Avant quoi ? Avant StackOverflow, bien sûr !
Que je vous explique le fond de ma réflexion.
J’utilise depuis maintenant deux ans StackOverflow, et ses sites frères avec, je dois le dire (mais vous le saviez déjà) beaucoup de plaisir. C’est simple, c’est pratique, c’est ludique, et on crée de l’information.
Seulement la belle mécanique se bloque parfois, comme avec cette petite question concernant mon superbe ordinateur.

Et dans ce cas-là, comment faire ? Parce qu’en plus, comme c’est une question de matériel, les forums type PHP qui traitent du sujet sont positivement innombrables, et je ne me vois pas aller sur chacun d’entre eux poser la question ? (surtout que je suis sûr de devoir réexpliquer à chaque fois le pourquoi du comment). Bon, bien sûr, je peux tenter de devenir un publiciste, comme Jeff Artwood me l’a recommandé (oui, je joue à fond la carte du Nikos Aliagas du web – spécial dédicace à dooapp). Mais je ne sais pas vraiment si ce sera efficace …

StackOverflow par les nombres

Bon, promis, demain, les réseaux sociaux, j’arrête.
En attendant, aujourd’hui, je peux vous parler de StackOverflow.com. Je crois en avoir déjà parlé (mais en même temps je ne parle pas vraiment d’eux, dans cet article-là).
Bon, StackOverflow, donc, c’était à l’origine une idée d’un site communautaire reprenant quasiment trait pour trait – mais via le web – ce qui fit jadis le succès d’Usenet : un type pose une question, on lui répond, et il peut dire si la réponse lui plaît.
Eh bien sûr, comme l’idée a assez bien marché. StackOverflow a rapidement eu deux petis frères.
Et comme ça n’a pas suffit, et après des discussions acharnées, est même apparu un équivalent du fufe de Usenet : Area51. Et du coup, c’est reparti pour un tour, une autre légion de sites apparaît, ainsi qu’un site spécialement dédié à l’API de StackOverflow (et donc à l’extension du domaine de la communauté), et d’où je tiens mon formidable bot jabber.
Et enfin, l’un des éléments les plus utiles de StackOverflow, et de ses sites associés, c’est la mise à disposition des données sous forme de data dump. Outre le fait que le nombre de questions posées est réellement impressionant (puisqu’on dépasse déjà le million), ce data dump permet à quelques statisticiens fous de produire quelques graphiques rigolos. Et pas que rigolos, en fait. De ces graphiques, on peut ainsi déduire
  • qu’il vaut mieux poser sa question vers 14H UTC (voir le graphique Answers by hour)
  • que sans réponse deux heures après que la question ait été posée, il vaut mieux considérer qu’elle n’aura pas de réponse (voir le graphique Time to accepted answer)
Et puis sur le même site, le graphique des utilisations des tags montre lui aussi des choses intéressantes, mais sur lesquelles je vous laisse conclure ce que vous voulez 🙂
L’intérêt de tout ça, c’est aussi de montrer que StackOverflow offre non seulement un espace de discussion, mais aussi, à partir de cet espace de discussion, une espèce de Zeitgeist des développeurs, montrant peut-être plus que les sujets dont on parle les sujets qui posent problème (voir par exemple la différence d’utilisation des tags scala et groovy).
Et ça, ça donne quelque part envie de développer des outils d’analyse encore plus poussés, histoire d’avoir vraiment accès à cet esprit du moment. Mais là, je ne sais pas trop comment faire …
Cela dit, il y a un intérêt immédiat à le faire sur StackOverflow … c’est évidement que c’est réplicable sur tous les autres sites StackExchange sans effort !