post-thumb

Back from Confoo Montreal 2017 conference

I love attending conferences, but this is the first time that I’m going over the Atlantic to attend one of them.

So Montreal, the frenchiest city in Canada. I like this city, this is not my first time there, and I know that I can take the subway alone and walk in the street safely. But this was my first “winter” there (on March). I started with a nice temperature of 8°C on my landing day in Montreal, and by the end of the week I reached the -20°C with snow storm. Well I was not sure that I could take the plane at the end since my bus was stuck in the snow storm. But since I wasn’t the only one being 1h late stuck in buses and that the only flight not canceled where those toward europe, I finaly could get on-board. Thank you Air Transat!

I enjoyed Confoo, really. All speakers were good and interesting, the location “Hôtel Bonnaventure” was very nice and comfortable, and the audio system was very good.

I had two little disappointments:

disappointment #1

The lack of video recording. We had to choose between nine tracks, nine! I regret not being able to catch-up some talks I missed or share my favorite talks afterwards.

disappointment #2

The keynote room, and keynotes themselves. This room was very big and able to accommodate all attendees, but seats were around a table, so half of the table got the speaker deck in their back. In addition, the slides were not showed above the speaker deck but on the far left and far right of the room. Regarding the keynote’s content, it was regular talks without “wahou!” effect.

I also had good surprises :-)

surprise #1

No stress! This is the first time that I’m not stressed about being unable to attend to a conference because the room is full: all rooms were large enough. You were able to take time between conferences, arrive at the last minute but still manage to find a seat.

surprise #2

Meal time: it was served a the table (same room as for the keynotes), with waiters and the whole thing. The big difficulty for me was “where should I seat?” because since I didn’t know anyone there, I had to choose a table with empty seats.

Keynote room

So far so good. Now, let’s explore some talks, day by day.

Day 0

The registration desk opened the day before. So I went directly from the airport to the conference site and grabbed my badge without waiting! Since my name was not on the list, I also had a nice custom badge.

Badge and schedule }

Day 1

I started with the traditional coffee and then got to the keynote room.

My references on conferences are Devoxx (Paris & Anvers) and MiXiT (Lyon): this is where I learned what a keynote really is and the “waouh!” you can actually expect from it. On the first day, the keynote was not a real one. The organizers welcomed us all in the “Montreal way” which means that one of them was speaking in English and the other one translating in French immediately after. They shared some issues they had organizing this confoo 2017.

PostgreSQL 9.6 - Magnus Hagander

Magnus Hagander

Speaker slides

The speaker is one of the core committers of PostgreSQL, and you could really feel the expertise. He could have added some pictures to clarify some concepts like the “vaccum” function for example.

Every PostgreSQL version is supported during 5 years, and they try to do one version per year. Therefore this year 9.1 is not longer supported and 9.2 will be obsolete soon.

The 9.6 version is mainly composed of additions and improvements regarding administration tools and performances. For example:

  • “idle transaction timeout”: allows to kill a query after a given timeout
  • FDW (Foreign Data Wrappers): already existed but with improved performances now. It allows to connect a PostgreSQL database to other data source like Mysql, Oracle, another PosgreSQL and which would behave like a regular table.
  • “phraseto_tsquery”: used for full text search, allows to search on full sentences instead of words only.
  • Date, Timestamp are much more efficient
  • Data copy time divided by 2!
  • Tasks can be parallelized

GraphQL on Rails - Christian Joudrey

Christian Joudrey

“A long time ago in a galaxy far, far away there were the REST API…..” the introduction sets context. I heard about GraphQL and never dug further. I attended to discover this topic and was the target audience, so perfect match.

GraphQL was created by Facebook in 2012 and released to the opensource community in 2015. The main objective of the request language is to obtain all the information needed to display the current view in one request/response exchange.

For example, if you have a home page with user info, newsletter and other stuff, a REST API could be:

GET /me
GET /news/latest
GET /stuffs

In GraphQL you can merge all data and only get the needed fields in one unique JSON request. One small request looks like:

query {me {username}}

This request will only return the username field even if the database contains 10 fields.

For update/delete/create, you have to write one API for each operation. There is no convention for writing those API for now.

One big drawback of GraphQL is that the client can create any request, so you can’t work on slow queries by adding database indexes for example because queries can be anything.

Metrics PHP - Mariusz Gil

Mariusz Gil

Mariusz Gil contact

This talk was about monitoring applications in production. Since I’m already convinced that metrics are strongly recommended, this introduction was a bit long for me. Still, I discovered a new stack TICK:

  • Telegraf: Metrics collector. With a lot of plugin to collect metrics for standard software. Link
  • InfluxDB: Time series database Link
  • Chronograf: Visualization interface, often replaced by Graphana Link
  • Kapacitor: ETL tool with anomaly detection and notifications Link

It was a bit hard to be concentrated because the speaker voice was very low, but fortunately the audio system was fantastic and I could hear his mumblings.

Life of a pixel - Martin Splitt

Martin Splitt

Martin Splitt contact | Speaker slides

I loved that one! The talk was about how pixels are drawn by the browser. It helped me to understand why sometimes (often?) CSS does not want to display an element nicely, and why some css animations are slow. Very good speaker, with my kind of humour and a deep dive into pixels and GPU.

Day 2

The progressive web and its new challenges (keynote) - Christian Heilmann (Microsoft)

https://blog.worldline.tech//images/post/keynote_day2_2_v2.jpg does not exist

Conference link

During this talk the speaker began pointing out that we (developers) are privileged people: we have quite a good smartphone and a good computer. The users of our Web Application are more likely to have an old device, a small screen and a poor connection.

Then he pointed out that native apps are not really successful:

  • 80% of users only use 5 applications
  • 80% of uploaded apps never become active
  • more than 1.5 million on stores and only some thousand with a significant traffic
  • 60% of apps on the Google Play Store have never been downloaded
  • 74% of users stop before downloading an app
  • All prices are around 0,99 $
  • Apple can remove anything, at anytime
  • Incomes are shared with Apple/Google

Mobile apps are painful for users, and they do not really generate money.

For him, the future is:

  • zero installation
  • quick loading
  • big button for big fingers! (mobile first, no tiny links)
  • offline management
  • pay special attention to device capacity (screen, performances)

In conclusion, according to him Progressive Web Apps are the best of web combined with the best of native apps:

  • Distribution with a link
  • Advanced functionalities for modern devices, working for old ones
  • HTTPS everywhere
  • Application manifest (Application description in a text file)

Reference website pwabuilder

A picture speaks a thousand words - R - Barbara Fusinska

Barbara Fusinska

Conference link | Presentation slides

I was curious about R so it was the perfect talk for me. Barbara Fusinska showed us a lot of graph visualizations with R. According to her some of them were not mathematically relevant but can be useful to give a “wahou effect” to business people.

Github code

What can I build with AMP? - Rowan Merewood (Google advocate)

Rowan Merewood

Conference link | Presentation slides

I may not have understood everything but AMP seems to be a framework that helps building fast web applications. Some good web practices are automatically set like:

  • async loading of resources (js/img/css)
  • css resizing operation ordered to be optimised by browsers
  • the only animation availables are the one optimized by GPU

The ampstart website is a good start and you can find a lot of examples on the ampbyexample website .

I particularly enjoyed the flying carpet

Git scenario: How do I fix that? - Rob Richardson

Rob Richardson

This guy is awesome, “tell me what you want me to do with git”. We could have ask for a coffee and he would have made it….

It is not easy to give feedbacks on a git live coding session but he wanted us to remember one git command that I give to you: “git log dot dot oneline dot dot graph dot dot decorate dot dot all”.

git log --oneline --graph --decorate --all

Day 3

Profiling node applications - Sasha Goldshtein

https://blog.worldline.tech//images/post/Sasha_Goldshtein.jpg does not exist

Presentation slides

Very interesting, but very hard to describe. The guy masters Linux tooling for performance analysis, I discovered BPF to retrieve lots of metrics. He also showed us how to generate and read flamegraph. The speaker warmly recommended us to read the book “System performance by Brendan Gregg”

HTTP/2.0 - Bastian Hofmann

Bastian Hofmann

Presentation slides

A good and exhaustive list of HTTP2 features.

Sorting - Christophe Swenson

Christophe Swenson

This speaker is found of sorting which is quite original even in the computer science world. He likes sorting so much that he implemented an advanced sorting algorithm from an academic paper into a C library which is now a reference.

THE github

I will remember:

  • bubble sort : worst sorting in the world. You should never, never, never use it!
  • quick sort: one of the most used algorithm. This one is quite good and does the job most of the time.

Random slides from Confoo

Here is a list of links related to Confoo talks grabbed on twitter. Some are in French but most of them are in English.