Rencontre PHP Meetup dans un château

2018-06-08 13:55:52

Hier avait lieu une rencontre PHP Québec (Meetup) dans les bureaux de Lightspeed à Montréal. Leurs bureaux sont situés dans l'édifice Jacques-Viger (ancienne Gare Viger) dans le centre-ville de Montréal (au sud de la station Berri-UQAM). Le bâtiment a les allures d'un château. Il y a des marches à l'avant et une grille, je ne me souviens pas avoir vu une rampe d'accès en avant. L'édifice comprend un ascenseur et il y a un garde de sécurité à la porte. D'ailleurs, pour un évènement public, il y a un peu trop de "sécurité" dans le château. Le garde de sécurité doit nous ouvrir la porte d'en avant, protégé par carte magnétique. Puis, l'ascenseur pour le 3e ne fonctionne pas sans la carte... J'ai essayé 3 fois de monter, mais j'ai dû attendre que le garde de sécurité nous donne accès avec sa carte. Même problème pour descendre, j'ai pris la porte de secours (les escaliers). La porte du haut sonne tant qu'elle n'est pas fermée. Pas de problème avec la porte du rez-de-chaussé. Les portes de devant sont fermées. Il faut appuyer sur un bouton pour les ouvrir. On se sent un peu dans une prison.

La salle du 3e est grande et contient des vestiaires ouverts pour les manteaux. Il y a une cuisine/bar et un espace pour les conférences avec projecteur. Il y avait environ 32 chaises (4 rangées de 8) et des sofas. Le plafond est industriel. C'est la première rencontre à cet endroit et la présentation a commencé 15 minutes plus tard, problème avec les accès au projecteur je crois.

Sujet

La conférence était en anglais. J'ai rencontré le présentateur dans l'ascenseur, il m'a demandé le type d'audience, il n'était jamais venu à un meetup avant. Il manquait un bureau pour déposer le portable du conférencier ou un verre d'eau, ce qui a retardé encore la présentation pour montrer des images qui n'étaient pas dans les diapositives (slides). Pas vraiment l'idéal si on aurait voulu coder ou exécuter des tests dans une console devant l'audience.

Je ne sais pas si c'est à cause de mon anglais, mais j'ai eu des problèmes à cerner le sujet. On a commencé par présenter un l'outil Trace Compass avec des diapositives externes à la présentation puis LTTng qui pouvait tracer le noyau Linux et après 15 minutes, on a commencé à parler d'Apache2 et PHP. Je n'ai pas fait le lien que l'outil avait des intégrations C pour le noyau Linux, Apache2, PHP et MySQL lors de l'introduction. En tant que programmeur PHP, j'aurais préféré avoir un début sur la partie PHP, puis discuter d'Apache2/MySQL et du Kernel pour avoir plus de détails.

Après 45 minutes, il y a eu ralentissement dans le rythme de la présentation. Il me semble qu'on devrait obligatoirement faire une pose après 30 ou 40 minutes, en buvant de l'eau ou en affichant une animation. J'ai souvent vu se phénomène de distractions qui arrive entre 45 minutes et 1 heure.

Il y a eu 2 questions à la fin. J'ai demandé si on pouvait filtrer le "tracing" PHP par chemin d'accès des fichiers ou avec des espaces de nom (namespace), pour exclure des composants externes par exemple (je pense au dossier vendor/). Réponse: on ne peut pas avec l'outil, mais on peut filtrer la trace générée en utilisant les noms des fichiers.

Réflexion

  • On a fait une référence aux outils de profilages de Google Chrome. Je pensais plutôt au outil comme valgrind que j'ai déjà vu avec KDevelop.
  • J'ai déjà fait des vérifications du temps d'une application PHP avec microtime(). J'ai pu recueillir des informations sur les délais des différents module de l'application mais je n'ai pas pu corriger le problème, c'est à dire: la technologie est lente et que le seul moyen de corriger ce problème, récupérer quelques secondes, est de changer de technologie, ce qui requiert beaucoup trop de temps pour un projet qui manque de ressources.
  • Proposition de opcache pour accélérer le temps de compilation du code PHP. Encore une fois, c'est beau savoir que l'outil permet d'améliorer un peu le temps de chargement, mais j'ai déjà rencontré un problème avec opcache en production. Sur d'autre application, j'utilisais xcache, mais le projet n'est plus supporté en PHP7.

Commenter (0)

Par yansanmo

Section:

Fermeture de mon compte github

2018-06-06 00:03:49

Suite à l'acquisition par Microsoft de github.com, je ferme mon compte yansanmo. Je n'avais qu'un projet git pour genlist2. J'ai suivi des tutoriels pour installer un dépôt git sur mon serveur web apache2.

github.com, Log In (email/password), Menu T > Your profile > click on repository > menu Settings > scroll to bottom, Click on Delete this repository, type repository name, click on "I understand the consequences, delete this repository
Your repository "yansanmo/genlist2" was successfully deleted.
Menu T > Settings > Sidebar Account > button "Delete your account" > enter username, enter "delete my account", click on "Cancel plan and delete this account"
Account successfully deleted.

Lire Installer git sur apache2

Commenter (0)

Par yansanmo

Section:

Recycler les trottoirs

2018-05-25 13:36:23

Je marche pour déposer un chèque à la caisse Desjardins. Il y a des papiers qui traînent le long du trottoir près de l'épicerie Traditions. Nous sommes vendredi, on ramasse le recyclage le lundi. Une dame est assise sur le banc, entourée de papier par terre. Je me dis que je vais sûrement ramasser les papiers à mon retour.

Je reviens par ce segment. Un monsieur est assis sur le banc. Je commence à ramasser les papiers. Certains papiers ont déjà été piétinés par des passants. Je ramasse un papier qui est à 3 cm du soulier du monsieur. L'homme reste immobile. Il me demande d'où vient les papiers. Je hausse les épaules pour dire que je ne sais pas. Je repars vers mon appartement et dépose les papiers dans mon bac de récupération. Le monsieur quitte son banc. Je me lave les mains à l'intérieur.

Commenter (0)

Par yansanmo

Section:

Nouvelles disparues sur Facebook

2018-05-08 10:10:08

Depuis hier soir, il n'y a plus de nouvelles des pages dans le News Field en mode "Top Stories". Je ne vois que mes partages et mes publications.

En mode "Most Recent", je vois une publication des pages et le bloc "Page Stories You May Like" qui présente des histoires que je n'aime pas 95% du temps.

Je n'ai pas ce comportement sur le site web Facebook avec mon cellulaire (mobile). Je n'ai pas l'application, donc non testé.

Commenter (0)

Par yansanmo

Section:

Séance du conseil d'arrondissement d'Ahuntsic-Cartierville du 9

2018-04-16 13:30:46

Note, ceci est un résumé personnel d'un citoyen, il est préférable de lire le compte rendu ou de regarder les enregistrements vidéos des séances. Voir la page des Conseils d'arrondissement

Présent en compagnie de ma nièce. Ouverture à 19:05

Mot de la mairesse et des conseillers d'arrondissement.

Mairesse:

  • Remerciement pour le travail et les bénévoles lors de la recherche du jeune disparu.
  • Livre sur l'immigration.
  • Retour sur le plan stratégique remis en février, 4 points à l'ordre du jours. Logement sociaux, marché public au métro sauvé, couche et embauche d'ingénieur pour la planification de travaux pour les rues et les parcs. Double le nombre de ressources.
  • 2 Séances itinérantes du conseil. Le 10 septembre au parc des hirondelles et le 12 novembre dans Cartierville.
  • Présentation le 10 avril sur le plan de gestion du coyote.

Conseiller de St-Sulpice

  • Félicitation aux jeunes d'A-C qui ont participé aux jeux de Montréal
  • Festival culturel à St-Sulpice, vernissage de 150 œuvres le 27 avril
  • Conseil jeunesse, implication des 15-25 ans en politique, jusqu'au 11 mai
  • Défi Alter-Go au centre Claude-Robillard, 5000 athlètes para-olympique

Conseillère de Bordeaux-Cartierville

  • Remerciement pour le travail de l'ancien chef de poste de police.
  • Mot sur la disparation du jeune Ariel Jeffrey Kouakou
  • Retour sur la rencontre de la commission de la sécurité publique pour les inondations de 2017.
  • Retour sur le QA sécurité du 3 avril.
  • Invitation, fédération sportive Salaberry

Conseillère d'Ahuntsic

  • Mot sur les séances itinérantes
  • Mot sur la disparation du jeune Ariel Jeffrey Kouakou
  • Mot sur les inondations et sur la campagne de prévention du service incendie.
  • Mesure d'apaisement de la circulation, mise en place de relevé de circulation
  • Nouvelle communautaire: corvée du 27 avril au 6 mai, possibilité d'avoir du matériel, distribution d'arbre (25$) et arbre fruitier (35$). Campagne un arbre pour mon quartier

Conseiller de Sault-Au-Récollet

  • Participation citoyenne: augmentation de la participation pendant la séance.
  • Groupe facebook pour le conseiller
  • Café avec votre conseiller, au café le petit flore
  • 27 avril, jour de la terre. Changement de nom pour "Tous les jours". Dépôt initiative citoyenne, MEAC, Planification des voix citoyennes (présentation) au pub Brouhaha.

Période de questions du public à 19:31. 25 inscriptions

  1. Pas de traverse de piéton pour l'école Sophie-Barat
  2. Demande de poser une clôture près de la rive au parc des Bateliers. Conseiller: peut-être un indicatif de la limite terre/eau comme à Lachine.
  3. Problème du mauvais état des sentiers pédestres du parc St-Alphone (problème des camions municipaux, boue). Remise d'un document.
  4. Présentation de l'organisme Retrouvailles Résidences (dossier de logement / projet Louvain)
  5. Présentation du comité de logement Cartier-Ahuntsic (dossier de logement, mobilité des aînés). Mairesse: travaux de la STM/ARTM/STL, ...
  6. Accommodement à la SPVM.
  7. Demande de travaux d'ici 2 ans au terrain Louvain (CLAC). Mairesse: mise en place d'un processus...
  8. Représentante de la CLAC. Combien de logement? 20% de logement communautaire?
  9. Le dernier PTI de la ville, il y aura 500 000$ en investissement en 2020? Mairesse: pas de somme pour le projet Louvain en 2018. PTI sur 3 ans, chaque année renouvelée. Les sommes votés cette années pour 2019-2020-2021.
  10. 20:03, demande d'infrastructure (jeux, aménagement) pour le parc Zotique-Racicot, remise d'une requête, pétition/rapport sur la démographie du secteur.
  11. Président de Solidarité Ahuntsic, échéancier pour la stratégie d'inclusion?
  12. Neige dans la rue.
  13. Remise du dossier pour le problème d'odeur au Marché Tropic-Léo. Heure de prélèvement en dehors des heures de services du marché. Suivi ?
  14. Demande des résultats financier 2017? Présentation dès le lendemain aux élus. 1 440 000$ pour l'embauche de 4 employés? Réponse: Sur 3 ans, avec un budget pour des services professionnels. Utilisation du surplus la première année, autre source de financement pour les 2 autres années. La ville indique qu'elle a 25 millions mais n'a pas de personnels pour faire les plans.
  15. déjà répondu
  16. Problème de poubelle. Demande d'une évaluation sur les poubelles doubles (bi-mode), si elles ont un impact positif?
  17. 20:35, Commentaire sur une organisation laïque (police). Question sur le problème de circulation pour la réfection du secteur Laurentien/Lachapelle. Problème de smog.
  18. Dossier cycliste de la piste sur Christophe-Colomb? Pas de travaux pour l'année en 2018?. Discussion du nettoyage des pistes.
  19. Coopérative Louvain, argent pour l'acquisition de terrain pour les organismes?
  20. Problème de vitesse près du parc Henri-Julien. Problème de relevé de la vitesse (après un arrêt). Conseiller: Les relevés sont à refaire.
  21. Pavement de St-Denis / Port-Royal Est ?
  22. Demande d'un panier de basketball près du cégep. Conseiller: terrain au parc Henri-Julien
  23. Coopérative Habitation
  24. a quitté

21:08

Fin de la séance pour ma nièce et moi.

Commenter (0)

Par yansanmo

Section:

Montréal Vélo #1

2018-04-15 01:33:38

Première sortie de vélo à Montréal : 17.3 km. Il y a pas mal de détour pour la piste cyclable sur le bord de la rivière des prairies mais je suppose qu'on s'y habitue. Les portières me font peur....

Commenter (0)

Par yansanmo

Section:

Scène de ville

2018-03-21 13:54:32

Un livreur arrive en face, se stationne devant la borne fontaine, sort de son auto, jette sa cigarette par terre, apporte le sac, sort dehors, compte son argent, reprend sa cigarette par terre, la remet dans sa bouche, repart...

Tellement irréel, que je pourrais l'imaginer dans un film.
Je cherche encore les caméras.

Commenter (0)

Par yansanmo

Section:

Journal de bord du 2018-01-03

2018-01-04 00:26:04

J'ai fait ma facturation du mois de décembre 2017 aujourd'hui de mes trois clients. Une réponse, un courriel de vacances, pas encore de nouvelle du troisième. J'ai aussi payé ma facture de vidéotron pour mes trois services de télécommunication (téléphone mobile, internet, télévision). Je n'ai toujours pas appelé pour le problème de canaux qui ne sont pas en HD, peut-être demain si j'ai 30 minutes à perdre. Il faut juste que je pense à syntoniser le canal non-HD. J'ai ajouté un module d'historique pour mon intérêt personnel sur dzelo. Je vais voir ce que ça donne demain soir comme statistiques.

Le chat de ma nièce s'ennuie. Il me réveille le matin, je suis obligé de lui lancer des attaches de plastiques ce midi. Il saute sur moi lorsque je travaille à l'ordinateur pour se faire flatter. Il gratte les portes...

Puisque la température était plus clémente (-9°C), j'ai acheté mes 2 boîtes de céréales de 1 kg chacune. Elles ne sont pas disponibles à l'épicerie la plus proche, non disponibles chez Herbivores, mais disponible au Provigo sur St-Laurent. Je voulais acheter autre chose au Provigo, mais je n'ai pas trouvé ce que je cherchais (comme d'habitude)... L'épicerie d'a côté n'a toujours pas reçu les pâtes que j'ai demandé... ou bien la caissière n'a pas remis ma demande, ou bien ma demande a été refusée. Je trouve encore difficile de magasiner à Montréal, il me semble que les magasins sont plus loin pour tout ce que j'ai l'habitude d'acheter. Je dois faire 3.4 km pour mes céréales (2 km à Mont-Laurier), 14 km pour l'épicerie végé Herbivores (1 km/1.2km pour l'épicerie écolo et naturelle à Mont-Laurier). Même chose pour la plomberie/quincaillerie (5 km vs 120 m/2.4 km à Mont-Laurier) ou la papeterie (5 km vs 1 km à Mont-Laurier). Note il y a aussi une petite quincaillerie de quartier à 2.4 km de marche que je n'ai pas visité.

J'ai essayé le serveur Survival server No. 521 sur Minetest. Il ne semble pas très stable (comme JT2) pour l'instant, ni très actif en ce moment (quelques personnes). Il y a aussi plusieurs différence avec les serveurs que je connais. Commande la commande /craft au lieu d'être dans l'interface de construction, la règle farfelue pour le spawnpoint et les lits, et lorsqu'on quitte, parfois on meurt (création d'un bloc d'os). Les blocs de protections sont simples à faire, mais l'explication est étrange. Il n'y a pas de grille visible lorsqu'on les touches mais il y a une indication d'un rayon de 5 blocs lorsqu'on les installe. Cependant, c'est plutôt un cube de 11x11x11 qu'un rayon de 5. Ce n'est pas une sphère quand même.

J'ai fait une liste de mes objectifs en 2018. Je vais sûrement en ajouté quelques uns au fil du temps.

J'ai aussi essayé d'aider des programmeurs sur IRC ##javascript et #php. Il y a eu un cas de "je ne suis pas capable de faire des tests et de démontrer mon problème", "je refuse ta solution en ne disant pas ce qui ne fonctionne pas", "je quitte avant d'avoir une solution et je reviens reposer la même question". Il y a eu aussi un "ta solution ne fonctionne pas... explique pendant 5 minutes, ah oui, ta solution fonctionne...".

J'ai chialé un peu hier, même si je sais que rien ne va changer concernant l'état de DOMDocument en PHP. En gros, j'aimerais bien avoir DOMDocument.querySelectorAll. Mais ça ne risque pas d'être là avant longtemps. DOMDocument repose sur la bibliothèque libxml2 qui supporte que XPath et le DOM 2. Personne ne veut ajouter le niveau 3 des navigateurs ou les sélecteurs CSS ce qui veut dire que l'API est figé dans le temps. Pas de querySelector, querySelectorAll, getElementsByClassName, firstChildElement... Ceux qui connaissent bien javascript et PHP aimeraient utiliser quelques choses de natif mais la plus part du temps, il ne s'y connaissent pas assez en C pour modifier libxml2. Ceux qui développe libxml2 ont en tête le XML et non pas HTML5. Je suppose qu'il y a des dizaines de projets qui redéfinissent ou ajoutent les fonctionnalités du niveau 3 de façon partielle par dessus DOMDocument en PHP. C'est la même chose avec les autres langages qui ajoutent les mêmes fonctions parce que libxml2 n'est pas mis à jour. Par exemple XML::LibXML::QuerySelector en Perl, css_to_xpath en R, et plusieurs autres bibliothèques développées dans le même but de pallier au problème de libxml2. Donc, pour avoir des sélecteurs CSS dans PHP, le plus simple à faire c'est d'écrire des traducteurs incomplets CSS vers requêtes XPath ou d'utiliser des classes fait par des parties tiers.

Tient, ça me fait penser au blocage fait par Microsoft sur le développement de Javascript, du DOM et de SVG avec IE6. Javascript et le DOM aurait encore été figé dans le passé sans le WhatWG, le travail d'intégration de SVG dans Safari, Chrome et Firefox et sans des projets comme jQuery/sizzle, NodeJS, Acid Tests.

C'est étonnant de voir l'importance des bibliothèques C/C++ de base dans tout ce qui se fait d'un peu plus haut niveau.

Commenter (0)

Par yansanmo

Section:

Suivante ⇒