summaryrefslogtreecommitdiffstats
path: root/_build/content/articles/merry-christmas-2019.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to '_build/content/articles/merry-christmas-2019.asciidoc')
-rw-r--r--_build/content/articles/merry-christmas-2019.asciidoc89
1 files changed, 89 insertions, 0 deletions
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!