From 4723c9053094c688d4edf80f5b1d9f51e1739a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 23 Dec 2019 10:32:12 +0100 Subject: Merry Christmas 2019 + FOSDEM 2020 talk --- .../content/articles/merry-christmas-2019.asciidoc | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 _build/content/articles/merry-christmas-2019.asciidoc (limited to '_build/content') diff --git a/_build/content/articles/merry-christmas-2019.asciidoc b/_build/content/articles/merry-christmas-2019.asciidoc new file mode 100644 index 00000000..629130a4 --- /dev/null +++ b/_build/content/articles/merry-christmas-2019.asciidoc @@ -0,0 +1,89 @@ ++++ +date = "2019-12-23T07:00:00+01:00" +title = "Merry Christmas 2019: New Beginnings" + ++++ + +Hope everyone had a great year. Let's take a look at +what happened and what's coming. + +2019 has been the year of pre-releases with Ranch 2.0 +and Gun 2.0 getting close to completion. I hope both +of them will be out in the first half of 2020. They +were supposed to be released in 2019, but I guess +that was a bit optimistic. Ranch 2.0 is a big +performance improvement if you need to quickly open +a large amount of connections (but you probably don't), +while Gun 2.0 is a few small breaking changes in +the lower level interface to make things clearer, +plus a ton of new features. + +Cowboy 2.7 has been released and 2.8 is just around +the corner. 2.8 will improve the performance and +include a section in the guide to get the most +performance for HTTP/1.1 applications, since it +is currently not obvious. There might be further +experiments around asynchronous interfaces in order +to squeeze the most performance out of Cowboy 2. + +At the start of 2019 I submitted a patch to +Erlang/OTP that added support for `active,N` to +the ssl application. This is available since OTP 21.3 +and is the basis behind the biggest performance +improvement in upcoming Cowboy 2.8. + +Last year I was hoping to keep the number of tickets +open across all my projects to below 100. I did not +quite accomplish this but have managed to keep them +at around 120. Not too bad considering many of those +are just ideas or personal reminders. + +I've recently resumed work on my Farwest project. +This is a complete reboot following the initial +experiments and a few years of research. The goal +is to provide a framework for building fully +RESTful applications, including both server and +client components. An https://github.com/ninenines/farwest_demo[early demo] +is already available. The https://github.com/ninenines/farwest[project itself] +is not available, but that will change as soon as +I complete the first test suite in a few days. I +will be giving a demo of the project at +https://fosdem.org/2020/[FOSDEM 2020] +in the https://beam-fosdem.org/[BEAM Fosdem Devroom] +in just about one month. It's free, you should come! + +The demo will take around 20 minutes and I will do +some live coding, creating an API for manipulating +(d)ets tables. 20 minutes is a short time so we'll +see how far I'll manage to get. I can promise that +discovery will be working, at the very least. + +Related to Farwest, I've recently submitted a patch +to Erlang/OTP adding the functions `uri_string:resolve/2,3` +to perform https://tools.ietf.org/html/rfc3986#section-5[reference resolution]. +This was necessary in order to implement +https://tools.ietf.org/html/rfc8288[the Link header] +in Cowlib. I have also implemented +https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-14[Structured Headers], +https://tools.ietf.org/html/draft-ietf-httpbis-variants-06[Variants] +and https://tools.ietf.org/html/rfc6570[URI Templates]. +The combination of these enable efficient resource discovery +in Farwest. + +In the context of my work with the team at RabbitMQ +I have submitted patches to Erlang/OTP to add the +functions `crypto:cipher_info/1` and `crypto:hash_info/1`. +We have also submitted smaller patches to expose more +metrics related to the Erlang distribution, helped +fix a few issues around the interface for custom +distribution drivers, and submitted a number of +improvements to https://github.com/deadtrickster/prometheus.erl[prometheus.erl] +including some new collectors and dashboards. + +You can forward Santa Claus to +https://github.com/sponsors/essen[GitHub Sponsors] +for sending presents. I use these funds mainly for +improving the testing environments for my projects. + +Have great holidays, Merry Christmas, Happy New Year, +and see you next year! -- cgit v1.2.3