dotGo 2017

Feb 13, 2018 10:15 · 1863 mots · 9 minutes de lecture conference dotGo go

La dotGo 2017 s’est une fois de plus déroulée au théâtre de Paris le lundi 06 novembre 2017.

Arrivée

Les trottoirs se remplissent, il est 9h30, la foule est divisée alphabétiquement de chaque côté de l’entrée du théâtre.

On aperçoit rapidement quelques speakers qui entrent se préparer. On discute avec les connaissances, collègues et amis et nous voilà aux portes du théâtre. On récupère son badge, dépose ses affaires au vestiaire et première étape incontournable : les goodies.

Cette année aussi nous sommes gâtés, t-shirts homme et femme, stickers, tatouage et autres goodies des sponsors. C’est les poches bien remplies et l’estomac vide que nous nous dirigeons vers le second arrêt incontournable : le petit déjeuner. Quelques viennoiseries, jus de fruits frais et café plus tard nous voilà parés pour pour matinée de choc qui s’annonce.

La disposition des stands des sponsors a été revue cette année, on en profite pour continuer la chasse aux goodies et voir quelle est l’utilisation de Go chez Sixt l’un des sponsors majeurs de l’évènement.

Début des conférences

La cloche retentit, il est l’heure de se trouver une place pour la première série de présentation. Le maître de cérémonie cette année est un guest néanmoins pas inconnu du public, j’ai nommé Blake Mizerany.

Vous trouverez ci-dessous les résumés et liens vers les vidéos et slides des différents speakers. Certains sujets donnerons surement suite à des articles plus approfondis.

Sameer Ajmani : Simulating a real world system in go

Sammer Ajmani est le manager de l’équipe Go chez Google.

Il nous a présenté une simulation en Go d’une opération du quotidien qu’est la préparation de café en boutique. Comment optimiser le nombre de cafés préparés en fonction du personnel, des opérations à effectuer et des machines à disposition.

Go est un langage qui excelle dans le parallélisme et la concurrence, Sameer nous en présente les possibilités dans un cas d’application concret. Channel, verrous, go routine, conditions de courses, tout est illustrés de manière ludique dans cette présentation.

Sa fiche dotGo est disponible ici

et le code source de son talk est disponible sur son github forkez si vous souhaitez tester par vous-même d’autres techniques pour préparer plus de café à la minute.

John Cinnamond : Go lift

Le talk de John Cinnamond était attendu avec impatience par les connaisseurs. Mêlant intelligemment technique et humour (troll ?), John nous présente ici ses idées pour traiter de manière moins intrusive les erreurs dans vos programmes en Go. On termine sa présentation pour se rendre compte qu’il a réussi à nous instiller des concepts de programmation fonctionnelle à l’insu de notre plein gré, magnifique, bravo John.

Ses slides et vidéo sont disponibles ici.

Mat Ryer : The art of testing

Mat Ryer travaille pour machinebox.io, habitué aux lightning talks et auteur de Go Programming Blueprints il nous a fait le plaisir de remplacer Jessie Frazelle au pied levé pour nous parler d’un sujet qu’il connait bien : le testing.

Le plus difficile n'est pas d'écrire du code mais de le maintenir - Mat Ryer dotGo 2017

Pourquoi fait-on des tests ?

  • pour avoir du code maintenable
  • pour dormir la nuit quand ce code est en production
  • pour avoir confiance dans les changements fait à ce code
  • pour comprendre les impacts de ces changements

Les tests même s’ils allongent les temps de développement sont un investissement à long terme. Qui sait, avec l’avènement du machine learning, on n’écrira bientôt plus que les tests et les machines se chargeront du code !

Mat nous donne ici quelques bonnes pratiques pour les tests en général et particulièrement en Go.
Vous trouverez tout le détail de sa présentation ici

William Kennedy : Behavior of channels

Le logging est une science difficile, choisir son niveau de log, quel détail de log, où logger ? Il est aussi très facile de détériorer les performances d’un programme en ayant trop de log à traiter ou encore si le logger ne peut écrire les logs sur le support choisi. Dans son live coding William Kennedy aka Bill, formateur Go de son état, nous montre comment se servir des outils du langage pour créer un logger non bloquant avec les mécanisme de Go, à savoir goroutine et channel.
Sa vidéo est disponible ici

Sam Boyer : The functional design of dep

Sam Boyer est le core committer de l’outil de gestion de dépendances de Go : dep. Go n’est pas un langage fonctionnel même s’il en présente certaines caractéristiques. Sam introduit ici la mémoïsation d’un programme. Une pratique qui permet de mémoriser certaines sortie de fonctions pures pour ne pas avoir à les recalculer. Il nous explique comment ce concept est appliqué à dep pour résoudre les dépendances d’un programme.
Slides et vidéo sont disponibles ici

Jaana B. Dogan : Go work stealing scheduler

JBD ou Rakyll travaille chez Google et nous présente ici le fonctionnement du scheduler de Go. Go traite la concurrence avec une abstraction qui lui est propre : les goroutines. Les goroutines sont exécutées par des threads de l’OS cible. Le travaille réalisé par le scheduler Go est identique à celui de l’OS : définir quel programme doit s’exécuter à un instant T. Jaana nous en présente ici les principes et stratégies.
Slides et vidéo sont disponibles ici

Cindy Sridharan : Unmasking netpoll.go

Vous ouvrez une socket TCP en Go et ListenAndServe mais que ce passe-t-il ensuite dans les couches basses de votre programme. Cindy Sridharan rentre dans les couches les plus basses du langage aux frontière du noyau pour nous expliquer comment les couches de communications font leur travail et leur lien avec le scheduler du langage.
Slides et vidéo sont disponibles ici

Liz Rice : Debuggers from scratch

Le live coding le plus bluffant restera surement celui de Liz Rice. Avec un peu de préparation elle nous emmène dans un périple de 20 minutes ayant pour objectif d’implémenter un debugger de Go rudimentaire, certes, mais fonctionnel ! Très instructif sur les possibilités du package ptrace de Go.
Slides et vidéo sont disponibles ici

Francesc Campoy Flores : Machine learning and Go

Francesc a récemment quitté Google pour source{d}, entreprise travaillant sur le machine learning appliqué au code source. Fort de sa passion pour le Go, Francesc nous montre ici les possibilités du langage en machine learning et calcul matriciel.
Slides et vidéo sont disponibles ici

Brian Ketelsen : Is go moving to enterprise ?

Brian Ketelsen est aussi un formateur Go depuis plusieurs années. Il organise la Gophercon et plus récemment il a choisi de poursuivre sa carrière chez Microsoft. Il conclut ici cette dotGo 2017 mais vous ne trouverez pas la vidéo de son talk sur le site de la dotGo mais celle de la Gophercon UK s’en approche. En substance Brian jette un pavé dans la marre et demande à Go et aux Gophers de s’ouvrir au monde de l’entreprise et à Microsoft. Pour Brian une adoption massive de Go passe par des frameworks de qualité pour accélérer le développement d’application Go. Parce que la standard library n’est pas l’unique réponse, il annonce également la création de go-commons sur la philosophie de Apache-commons et learn-golang.com Quelques mois après ces annonces, force est de constater que le mouvement n’a pas vraiment pris.
Vidéo de son talk à la Gophercon UK disponible ici

Lightning talks

En plus de ses formats classiques, la dotGo fait la part belle aux lightning talks, ces présentations éclair pour les speakers en devenir ou pour les sujets d’introduction à un outil, une méthodologie ou autre.

Daniel Martí : Reducing Go Programs

Slides et vidéo sont disponibles ici

Jaime Silvela : Handling slow requests in your go web server

Slides et vidéo sont disponibles ici

Fabio Rapposelli : Managing package licenses in go

Slides et vidéo sont disponibles ici

Pascal Costanza : Go, C++ or Java for dna sequencing pipelines

Slides et vidéo sont disponibles ici

Massimiliano Pippi : Embedding Python in Go

La vidéo GothamGo est disponible ici

Ron Evans : Gobot

Vidéo FOSDEM disponible ici

Laurent Lévêque : Exposing Go code to android and python

Slides et vidéo sont disponibles ici

Diana Ortega : Go and data can they be friend ?

Slides et vidéo non disponible 😢

Mickaël Rémond : Go for real time streaming architectures

Slides et vidéo sont disponibles ici

Marcel van Lohuizen : Rethinking errors in go

Slides et vidéo sont disponibles ici

Le mot de la fin

Pari tenu pour cette édition 2017 de la dotGo. Un cadre inhabituel et agréable, un lineup de qualité ainsi qu’un savant équilibre entre talk et lighting pour garder l’auditoire en haleine. La dotGo reste un évènement européen mais on sent plus que jamais une communauté française qui s’organise, des visages connus émerge de la foule, les meetups s’organisent, les speakers du cru montent sur scène. Vivement l’édition 2019, car oui pour alléger le calendrier de l’équipe dot, il n’y aura pas de dotGo en 2018, mais le rendez-vous est pris le 25 mars 2019.

Les photos

C’est avec plaisir que nous vous partageons nos photos de l’événement.

Liens