Réserve naturelle de Montenach #3

20110720T184802

Quelque chose me dit que je vais bientôt pouvoir continuer cette page. Comme annoncé avec ce billet.

Le hic: Zooomr (voir ce post). Je le sentais venir. C’est vraiment dommage car j’aime bien Zooomr. Je vais perdre environ 5 années de photos mises en ligne.
J’aurai bien utilisé le logiciel Migratr afin de transferer mes photos ailleurs. Mais si elles ne sont plus disponibles, ça va être un peu compliqué.
En plus je trouve ça vraiment pas cool, aucune informations. Le blog de Zooomr n’est même plus en ligne. Même pas une annonce pseudo-officielle.

J’aimerai bien continuer à partager quelques photos via le service Picasa ou Google (j’envoie en ligne peu de photos comparé à certains, mais j’aime bien voir celles des autres et je trouve qu’un compte Flickr/Zooomr peut devenir vraiment sympa au bout de quelques années d’utilisation). Lequel choisir? À suivre…

Google Plus

Gentil lecteur, me connaissant un peu tu dois te douter que je n’ai pas pu résister à l’appel de Google pour (au moins) tester Google Plus: http://cedricbonhomme.org/+.

Ce billet est la suite de Le Web et moi (partie 1). Sauf que maintenant il s’agit du Web, moi et Google.

Pourquoi?

Je n’ai jamais utilisé FB. Je teste G+. Pourquoi? En partie pour ces raisons. Mais aussi car:

  • Marissa Mayer est sur G+ et y poste de très belles photos d’elle;
  • Google sait déjà plus qu’il ne le faudrait sur moi. Et G+ ne donne pas plus d’informations sur ma vie pour le moment;
  • j’ai bien compris le business model de Google. Je suis conscient des enjeux liés à la problématique de la vie privée (ce n’est pas vraiment le sujet du billet). Google ne vendra pas mon carnet de contacts ou la liste des sites que je fréquente. Sur ce point je doute de FB et Google est au moins clairs sur ces intentions;
  • je n’aime les connexions FB entre les sites internet. Les connexions de la sphère Google ne me dérangent pas;
  • parce que Linus et esr y postent encore plus que moi;
  • j’ai envie de profiter au maximum de ce que m’offre la vie, notamment des expériences comme hangout grâce à jingle XEP-0166/167 (qui est le futur d’après Google);
  • pour les raisons que je vais citer plus bas.

L’identité virtuelle

On voit qu’avec G+ tout est clairement orienté vers l’identité (les comptes avec pseudonymes devraient être supprimés). Je pense que FB a moins soigné cela. L’identité virtuelle c’est très à la mode. Pour le moment on a différentes possibilités:

  • la centralisation (plus.google.com/id, identi.ca/id, flickr.com/id, etc.). Voir l’ancien billet intitulé Le Web et moi (partie 1);
  • la décentralisation (POD diaspora personnel, OpenID, l’idée de Mozilla basée sur le mail, domaine personnel, etc.);
  • il y a aussi des solutions hybrides ouvertes. Le fait d’être sur un noeud Diaspora (par exemple joindiaspora.com).

On peut se demander, si on a un monde virtuel qu’est Internet, pourquoi faire la connexion entre nos véritables identités et les virtuelles? Le prétexte: la sécurité, la vérité: nous profiler.
Pour ma part je vais choisir le domaine personnel (à terme l’hébergement personnel). Les avantages sont très nombreux. L’inconvénéant est l’aspect social: on partage bien mieux avec G+ que son propre blog, l’audience est meilleur et le contact avec le lecteur est plus étroit. D’ailleurs ça m’embête parfois de voir plus de commentaires à mes billets sur Buzz que sur le blog officiel. Il faudrait pouvoir synchroniser les commentaires.
C’est pour cette raison que mon identité est http://cedricbonhomme.org et que je manifeste le lien avec G+ de cette manière: http://cedricbonhomme.org/+ Google ne représentera pas mon identité sur Internet.
J’attends donc l’API. Je pourrais alors écrire ici et faire du bruit sur G+ comme je le fais avec Buzz.

Les + de G+

Finalement, qu’est-ce que je trouve bien à ce n-ième réseau social (hormis le fait qu’il va défoncer fracturer FB) ? Sans étonnement (pour vous, mais pour moi avec) il s’agit des cercles. Au départ je m’étais dit “ben quoi, il s’agit de groupes FB en cercles? En gros pareil que sur Diaspora.” Mais ces cercles sont plutôt bien pensés.

D’abord il faut savoir qu’en fait un groupe de personnes avec qui on partage peut être:

  • vous même;
  • une ou des personnes, citées explicetement;
  • un ou des cercles de personnes;
  • un cercle étendu (cercle(s) + personnes).

C’est en fonction de ça que pour chaque informations de son profil (posts, introduction, employeur,lieu de naissance, sexe, etc.) on peut définir qui peut voir quoi. Les relations ne savent pas dans quel cercle elles se trouvent. Et il le vaut mieux pour moi.

Je trouve également que la manière de répondre en privé à un post public est bien pensée. Mais il faudrait peut être faire encore mieux en mettant directement une icône avec un texte: “Répondre avec une audience limité”.

Ce qu’il manque au niveau des cercles:

  • des cercles intelligents (tous les cercles sauf le cercle )
  • un cercle inclus strictement dans un cercle (cette fonctionnalité va arriver je crois).

Voici donc les cercles que j’utilise:

  • Familly: très peu de personnes;
  • Friends: attention je parle donc bien d’amis. Il ne s’agit pas de connaissances, copains d’école ou je ne sais quoi;
  • Friends 2: pour faire simple, les faux amis;
  • Python: oui même Guido s’y met;
  • Photos: il y a déjà beaucoup de personnes qui utilisent G+ pour mettre en valeur leur photos (très jolies);
  • Music: uniquement pour Mariah Carey;
  • Following: des gens postant souvent des choses intéressantes, mais ce sont des inconnues en quelques sortes;
  • Gros boulets: en plus j’ai rencontré ces personnes en vrai (heureusement pas toutes);
  • Blocked: des personnes déjà bloquées sur identi.ca (beaucoup) et sur Buzz;
  • je pense que je vais ajouter coworkers;
  • il me manque encore un cercle comme FLOSS ou Linux pour ces personnes par exemple.

Si vous êtes sur G+, en fonction de la quantité d’informations que vous verrez me concernant, vous pourrez vous situer entre Gros boulets et Famille. Je pourrais très bien ne pas suivre les Gros boulets, mais je veux savoir ce qu’on peut dire à mon propos.

Les – de G+

Évidemment la centralisation. Le fait que tout soit chez Google et qu’aujourd’hui on peut surfer des heures sans quitter la sphère de Google: Gmail, G+, Buzz, le moteur de recherche, Docs, Reader, etc. En contre partie on commence à bien gérer les informations que Google a sur nous avec Take Out. Il est aussi simple de supprimer (voir désactiver) l’historique Web.

J’ai lu sur le Web que le nom “Google Plus” sera un des facteurs d’échec. À ce qui parait ça ne fait pas bien de dire: “Je t’ai plussé”. Mais il est classe de dire, “Twitté” ou “Facebooké”. À méditer profondément.

Mon retour d’expérience sur ce réseau social sera pour un autre billet.

À plus!

C, Python & Ocaml ou les plaisirs simples de la vie

Un billet en trois parties qui aborde en premier lieu trois beaux langages de programmation bien différents et se ressemblant sur certains points. Ils réunissent expressivité et performance, style impératif et fonctionnel, typage dynamique (mais pas faible) et fort.

Je trouve qu’il est plutôt drôle de les comparer. Python semble sur certains points se situer entre le C et Objective Caml. Enfin c’est mon avis et ce que je constate parfois.

Pour Guido Van Rossum, Python devait être entre un language de script (interprété comme Shell) et le C (compilé) et ainsi tenter de réunir expressivité et performances avec des structures de données évoluées (dictionnaires, tuples, listes, etc.).
Python est donc un language impératif héritant de l’éducation de Guido Van Rossum et sur ce point est proche de C. Cependant il a un typage dynamique fortement typé (inutile de définir de manière explicite le type d’une variable, mais une fois fixé le type a souvent de l’importance). Au contraire le C a un typage très fort.

Cependant des fonctions comme map ou les listes en compréhensions lui donne quelques traits de languages fonctionnels, comme OCaml (preuve que Guido a l’esprit ouvert). Biensûr sur ce point il n’arrive pas à la cheville d’OCaml et c’est normal.

Ce qui est vraiment génial avec Python, c’est la liberté et l’expressivité du langage. Ce qui fait qu’on peut faire facilement à peu près ce que l’on souhaite. Voici par exemple deux petites comparaisons:

  • Ocaml et Python
    Sans être vraiment un langage fonctionnel Python de par son expressivité définit cette fonction d’incrémentation quasiment aussi simplement que OCaml. Grâce au listes en compréhension il peut même faire mieux parfois;
  • C et Python
    En le comparant à C on comprend de suite l’avante du typage dynamique (qui peut être dangereux), mais il sera parfois moins performant pour des calculs plus complexes (par exemple en cryptographie ou pour traiter des longues chaînes de caractères). Voici encore un excellent exemple.

Il y a donc évidemment plusieurs styles pour écrire du Python. Un(e) Pythonien(ne) reconnaîtra le bon.
Lorsque l’on sait un petit peu développer on sent facilement quel langage est le plus adapté dans une situation. Hormis pour des raisons de performances je n’utilisera plus le C pour calculer un PGCD, Fibonacci ou encore jouer avec une liste mais plutôt Ocaml. Je le faisais avant, je n’en ai plus besoin. Par dessus OCaml pour les listes je préfère de loin Python, parfois aussi pour des fonctions mathématiques. Pour des traitements sur des fichiers, chaînes de caractères, le C. Bref, mes trois langages favoris qui permettent de tout faire très bien.

La première partie très plaisante de ce billet se termine sur cette question: De votre côté, comment situez vous C, Python et OCaml?

§

Maintenant parlons du développeur de l’extrême (celui qui aime les lignes de code). Typiquement:

  • il aime écrire une classe en Java juste pour une fonction mathématique (exemple: incrémenter un nombre ou mise à la puissance avec gestion avancée des paramètres dans le build.xml d’Eclipse);
  • il écrit une classe en Java pour lire un fichier texte ou ouvrir une socket;
  • s’il tente de coder un petit morceau (par exemple factorielle) en OCaml, il utilisera une boucle for.

Très souvent ce malheureux Windowsien(ne) dégainera Eclipse pour générer automatiquement un tas de morceaux de codes inutiles. Ce n’est pas forcément un mauvais développeur, il est peut être juste simplement passé à côté de la programmation. Ce sera parfois la faute de l’école, souvent celle du monde de l’entreprise. Pour guérir c’est facile, il suffit de découvrir Python, Perl ou Ocaml. Attention toutefois, OCaml peut provoquer un choc assez violent chez un développeur Java de longue date.
Généralement les systèmes type GNU/Linux vous feront naturellement utiliser Python, Perl et C. OCaml ça sera par pur plaisir.

§

Pour finir passons à une autre catégorie de développeur, le fanatique. On remarquera que cette personne utilisera entre autres Python pour tout et n’importe quoi sans même savoir si Python est bon pour cela. Par exemple pour:

Ah zut, je crois qu’il y a un problème avec la liste. Vous pouvez chercher pour moi?
Certains au lieu de Python choisirons Perl. D’autres Java. Mais ces derniers, ont-ils vraiment choisi?

§

Encore une question: Y a-t-il un ordre d’apprentissage (au moins pour ces trois langages)?

Et de 20.000 articles

Ça y est pyAggr3g470r a franchi la barre des 20.000 articles. Il n’y a quasiment aucun impacts sur les performances, sauf peut être pour la page management qui permet d’effectuer divers statistiques sur l’ensemble de la base. Mais depuis peu il est possible de charger en mémoire qu’une partie de cette dernière.

Avant de sortir la nouvelle version j’attends que la mise à jour du wiki soit terminée, la procédure d’installation est déjà plus claire. L’installation est aussi encore plus simple qu’avant. Pas beaucoup plus facile, car ce n’était déjà pas très compliqué. Je veux aussi mettre à jour les captures d’écrans ainsi que la vidéo (ce qui est laborieux avec mon ordinateur).

La vidéo de ce billet montrait en Juin 2010 comment récupérer, lancer et utiliser pyAggr3g470r. Bientôt une nouvelle encore plus impressionnante ;-)