summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-12-25 13:49:35 +0100
committerLoïc Hoguin <[email protected]>2018-12-25 13:49:35 +0100
commit3a54a3b609aaf9325bef61521fbb8346dcd785f0 (patch)
treeb2b19083a3d3e5c05b66bedfd4cccbdf6a176062
parent1c5cc9550d33094e538019056f9deccfccaca740 (diff)
downloadninenines.eu-3a54a3b609aaf9325bef61521fbb8346dcd785f0.tar.gz
ninenines.eu-3a54a3b609aaf9325bef61521fbb8346dcd785f0.tar.bz2
ninenines.eu-3a54a3b609aaf9325bef61521fbb8346dcd785f0.zip
Merry Christmas 2018
-rw-r--r--_build/content/articles/merry-christmas-2018.asciidoc110
-rw-r--r--articles/asciideck/index.html4
-rw-r--r--articles/cowboy-2.0.0-pre.4/index.html4
-rw-r--r--articles/cowboy-2.0.0-rc.1/index.html4
-rw-r--r--articles/cowboy-2.0.0-rc.2/index.html4
-rw-r--r--articles/cowboy-2.0.0/index.html4
-rw-r--r--articles/cowboy-2.1.0/index.html4
-rw-r--r--articles/cowboy-2.2.0/index.html4
-rw-r--r--articles/cowboy-2.3.0/index.html4
-rw-r--r--articles/cowboy-2.4.0/index.html4
-rw-r--r--articles/cowboy-2.5.0/index.html4
-rw-r--r--articles/cowboy-2.6.0/index.html4
-rw-r--r--articles/cowboy2-qs/index.html4
-rw-r--r--articles/dont-let-it-crash/index.html4
-rw-r--r--articles/erlang-scalability/index.html4
-rw-r--r--articles/erlang-validate-utf8/index.html4
-rw-r--r--articles/erlang.mk-and-relx/index.html4
-rw-r--r--articles/erlanger-playbook-september-2015-update/index.html4
-rw-r--r--articles/erlanger-playbook/index.html4
-rw-r--r--articles/farwest-funded/index.html4
-rw-r--r--articles/gun-1.0.0-rc.1/index.html4
-rw-r--r--articles/gun-1.0.0/index.html4
-rw-r--r--articles/gun-1.2.0/index.html4
-rw-r--r--articles/gun-1.3.0/index.html4
-rw-r--r--articles/index.html37
-rw-r--r--articles/index.xml13
-rw-r--r--articles/january-2014-status/index.html4
-rw-r--r--articles/merry-christmas-2018/index.html293
-rw-r--r--articles/ml-archives/index.html4
-rw-r--r--articles/on-open-source/index.html4
-rw-r--r--articles/page/2/index.html19
-rw-r--r--articles/ranch-1.3/index.html4
-rw-r--r--articles/ranch-1.6.0/index.html4
-rw-r--r--articles/ranch-1.7.0/index.html4
-rw-r--r--articles/ranch-ftp/index.html4
-rw-r--r--articles/the-elephant-in-the-room/index.html4
-rw-r--r--articles/the-story-so-far/index.html4
-rw-r--r--articles/tictactoe/index.html4
-rw-r--r--articles/website-update/index.html4
-rw-r--r--articles/xerl-0.1-empty-modules/index.html4
-rw-r--r--articles/xerl-0.2-two-modules/index.html4
-rw-r--r--articles/xerl-0.3-atomic-expressions/index.html4
-rw-r--r--articles/xerl-0.4-expression-separator/index.html4
-rw-r--r--articles/xerl-0.5-intermediate-module/index.html4
-rw-r--r--donate/index.html2
-rw-r--r--index.html4
-rw-r--r--index.xml13
-rw-r--r--services/index.html2
-rw-r--r--sitemap.xml9
49 files changed, 634 insertions, 24 deletions
diff --git a/_build/content/articles/merry-christmas-2018.asciidoc b/_build/content/articles/merry-christmas-2018.asciidoc
new file mode 100644
index 00000000..57cd8b7e
--- /dev/null
+++ b/_build/content/articles/merry-christmas-2018.asciidoc
@@ -0,0 +1,110 @@
++++
+date = "2018-12-25T07:00:00+01:00"
+title = "Merry Christmas 2018: A Recap"
+
++++
+
+As the year 2018 ends it's time for a short recap and
+a look forward for the next year.
+
+Overall, more than half of all open tickets have been
+closed. Most tickets were opened since 2015 and I
+couldn't get to those, but now that pre-school started
+I have a lot more time! I'm aiming to keep the number
+of tickets below 100 across all my projects.
+
+Cowboy 2.x is now mature. Features are on par or better
+than the 1.x series and the HTTP/2 code is solid. I've
+been using it in customer and personal projects and I'm
+really happy with how it turned out.
+
+Ranch has received numerous contributions from Jan Uhlig
+and is going to get a 2.0 release in 2019 which will
+remove the connection supervisor bottleneck that is
+causing issues when shutting down many connections at
+the same time.
+
+Gun has received CONNECT proxy support and I am currently
+working on adding support for HTTPS connections over
+HTTPS proxies. Gun is currently being worked on, including
+a rewrite of the main code to `gen_statem`. Gun 2.0 will
+most likely be released in 2019 and will include a few
+minor breaking changes that should only impact advanced
+users.
+
+Erlang.mk has received a ton of fixes and is very solid
+now including for multi-applications repositories. It
+no longer always recompiles dependencies, speeding up
+rebuilds immensely.
+
+The Erlanger Playbook will be removed from sale for some
+time due to administrative constraints. It will be restored
+during the coming year. A new release is planned in January
+or February of 2019 and this will most likely be the final
+release. It seems that temperamentally I'm not quite writer
+material and this has been a very difficult process so I
+will not attempt to write another book on my own in the
+future.
+
+I have started working on a new project that is in the realm
+of REST, HATEOAS and the Semantic Web. The goal is to be
+able to create resources in a generic way without the
+constraints imposed by the HTTP protocol and its limitations.
+This will be my main focus in 2019 after the book update and
+the closing of tickets.
+
+I am currently waiting for Hex.pm to change its terms of
+services to be less invasive before adding Hex.pm support
+to Erlang.mk and perhaps manage my own packages. Currently
+the terms require accepting a Code of Conduct that's both
+subjective and applies to off-service user behavior, and
+that's unacceptable. A good example that these policies
+are harmful can be seen in the trouble currently going on
+at Patreon as I write this. It's even more puzzling that
+Hex.pm is just a source code storage and doesn't have user
+interactions, so these policies make little sense to me.
+I have discussed this with Hex.pm and helped review changes
+that would make the policies still bad but at least not
+outright dangerous, and I am waiting for these changes to
+be applied before implementing Hex.pm into Erlang.mk.
+
+As you may have noticed, I have stayed away from conferences
+in recent years. At first it was because I became a father,
+but in 2017 I went back to what would be the final Erlang
+User Conference. It was not the best, and as time goes on
+it seems these conferences simply no longer offer the content
+that interests me. That could be fine on its own; conferences
+are more about networking than talks after all. But I've
+recently discovered to my dismay that the conferences now
+known as Code BEAM started to play social justice games,
+where discrimination based on perceived group identity
+is seen as a good thing. I will not play these games,
+regardless of the groups being discriminated for or against.
+
+Since I'm not a writer, and conferences are a no-no at
+this point, I will be focusing on code for most of 2019
+and will perhaps attempt to create a video or two where
+I can demonstrate code, for example taking an interesting
+ticket and solving it in the video.
+
+The future looks bright as far as I'm concerned and it
+looks like I'll be able to continue dedicating almost half
+of my time to open source projects. Great things are
+coming up!
+
+I wish everyone a great holiday season, Merry Christmas,
+and I will soon take a small break to enjoy a good meal
+with the extended family and some well deserved rest.
+I still managed to squeeze in a https://github.com/erlang/otp/pull/2072[PR to Erlang/OTP]
+which will help optimize Cowboy and Gun further.
+
+You can forward Santa Claus to
+https://salt.bountysource.com/teams/ninenines[BountySource]
+for sending presents. I will use these funds to buy a Mac
+Mini or similar for testing projects under macOS. If there's
+funds remaining after that I will spend them on a similar
+machine for testing under Windows.
+
+As this is the last article of the year, I also wish you
+a Happy New Year and will be back soon with more good
+news. Cheers!
diff --git a/articles/asciideck/index.html b/articles/asciideck/index.html
index 8370d5c0..4b37f942 100644
--- a/articles/asciideck/index.html
+++ b/articles/asciideck/index.html
@@ -108,6 +108,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.0.0-pre.4/index.html b/articles/cowboy-2.0.0-pre.4/index.html
index 204dcb3c..bb38372e 100644
--- a/articles/cowboy-2.0.0-pre.4/index.html
+++ b/articles/cowboy-2.0.0-pre.4/index.html
@@ -127,6 +127,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.0.0-rc.1/index.html b/articles/cowboy-2.0.0-rc.1/index.html
index e94974cf..c3f79a44 100644
--- a/articles/cowboy-2.0.0-rc.1/index.html
+++ b/articles/cowboy-2.0.0-rc.1/index.html
@@ -98,6 +98,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.0.0-rc.2/index.html b/articles/cowboy-2.0.0-rc.2/index.html
index 8dbec760..b8773c48 100644
--- a/articles/cowboy-2.0.0-rc.2/index.html
+++ b/articles/cowboy-2.0.0-rc.2/index.html
@@ -91,6 +91,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.0.0/index.html b/articles/cowboy-2.0.0/index.html
index 0784904d..580a8467 100644
--- a/articles/cowboy-2.0.0/index.html
+++ b/articles/cowboy-2.0.0/index.html
@@ -97,6 +97,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.1.0/index.html b/articles/cowboy-2.1.0/index.html
index 1f90e4fb..03b42465 100644
--- a/articles/cowboy-2.1.0/index.html
+++ b/articles/cowboy-2.1.0/index.html
@@ -94,6 +94,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.2.0/index.html b/articles/cowboy-2.2.0/index.html
index 6093663b..54ff505e 100644
--- a/articles/cowboy-2.2.0/index.html
+++ b/articles/cowboy-2.2.0/index.html
@@ -92,6 +92,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.3.0/index.html b/articles/cowboy-2.3.0/index.html
index 29c3cff3..989d1656 100644
--- a/articles/cowboy-2.3.0/index.html
+++ b/articles/cowboy-2.3.0/index.html
@@ -84,6 +84,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.4.0/index.html b/articles/cowboy-2.4.0/index.html
index ea8f905f..c35647fa 100644
--- a/articles/cowboy-2.4.0/index.html
+++ b/articles/cowboy-2.4.0/index.html
@@ -86,6 +86,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.5.0/index.html b/articles/cowboy-2.5.0/index.html
index 9555afdf..d38efb68 100644
--- a/articles/cowboy-2.5.0/index.html
+++ b/articles/cowboy-2.5.0/index.html
@@ -90,6 +90,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy-2.6.0/index.html b/articles/cowboy-2.6.0/index.html
index ae8dd3f2..1f10031b 100644
--- a/articles/cowboy-2.6.0/index.html
+++ b/articles/cowboy-2.6.0/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/cowboy2-qs/index.html b/articles/cowboy2-qs/index.html
index 7e17e918..e4a8b411 100644
--- a/articles/cowboy2-qs/index.html
+++ b/articles/cowboy2-qs/index.html
@@ -128,6 +128,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/dont-let-it-crash/index.html b/articles/dont-let-it-crash/index.html
index c5e02a89..598a0b40 100644
--- a/articles/dont-let-it-crash/index.html
+++ b/articles/dont-let-it-crash/index.html
@@ -103,6 +103,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/erlang-scalability/index.html b/articles/erlang-scalability/index.html
index 52ed4318..ded2d5df 100644
--- a/articles/erlang-scalability/index.html
+++ b/articles/erlang-scalability/index.html
@@ -115,6 +115,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/erlang-validate-utf8/index.html b/articles/erlang-validate-utf8/index.html
index 5ede8415..8385edf3 100644
--- a/articles/erlang-validate-utf8/index.html
+++ b/articles/erlang-validate-utf8/index.html
@@ -231,6 +231,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/erlang.mk-and-relx/index.html b/articles/erlang.mk-and-relx/index.html
index a3b2c09b..2bc9e3fa 100644
--- a/articles/erlang.mk-and-relx/index.html
+++ b/articles/erlang.mk-and-relx/index.html
@@ -141,6 +141,10 @@ cowboy-0.8.5 erlydtl-0.7.0 ninenines-0.2.0 stdlib-1.19.1</pre></div></div>
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/erlanger-playbook-september-2015-update/index.html b/articles/erlanger-playbook-september-2015-update/index.html
index 5ff102a8..81fb0925 100644
--- a/articles/erlanger-playbook-september-2015-update/index.html
+++ b/articles/erlanger-playbook-september-2015-update/index.html
@@ -86,6 +86,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/erlanger-playbook/index.html b/articles/erlanger-playbook/index.html
index f1affcb8..d0e8b680 100644
--- a/articles/erlanger-playbook/index.html
+++ b/articles/erlanger-playbook/index.html
@@ -119,6 +119,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/farwest-funded/index.html b/articles/farwest-funded/index.html
index 658f7daf..501a3945 100644
--- a/articles/farwest-funded/index.html
+++ b/articles/farwest-funded/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/gun-1.0.0-rc.1/index.html b/articles/gun-1.0.0-rc.1/index.html
index 5f6f2686..a1fc5213 100644
--- a/articles/gun-1.0.0-rc.1/index.html
+++ b/articles/gun-1.0.0-rc.1/index.html
@@ -88,6 +88,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/gun-1.0.0/index.html b/articles/gun-1.0.0/index.html
index b2e1b1ab..354910df 100644
--- a/articles/gun-1.0.0/index.html
+++ b/articles/gun-1.0.0/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/gun-1.2.0/index.html b/articles/gun-1.2.0/index.html
index 2c51f52c..9ecd875c 100644
--- a/articles/gun-1.2.0/index.html
+++ b/articles/gun-1.2.0/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/gun-1.3.0/index.html b/articles/gun-1.3.0/index.html
index f8a30660..0167d5ae 100644
--- a/articles/gun-1.3.0/index.html
+++ b/articles/gun-1.3.0/index.html
@@ -85,6 +85,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/index.html b/articles/index.html
index 9125ed93..f391ff16 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -67,6 +67,24 @@
<article class="blog_item">
<header>
+ <h2><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></h2>
+ <p class="date">
+ <span class="year">2018</span>
+ <span class="day-month">25 Dec</span>
+ </p>
+ </header>
+
+ <p>As the year 2018 ends it&apos;s time for a short recap and a look forward for the next year.
+Overall, more than half of all open tickets have been closed. Most tickets were opened since 2015 and I couldn&apos;t get to those, but now that pre-school started I have a lot more time! I&apos;m aiming to keep the number of tickets below 100 across all my projects.
+Cowboy 2.x is now mature.</p>
+
+ <p style="text-align:right">
+ <a class="read_more" href="https://ninenines.eu/articles/merry-christmas-2018/">Read More</a>
+ </p>
+ </article>
+
+ <article class="blog_item">
+ <header>
<h2><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></h2>
<p class="date">
<span class="year">2018</span>
@@ -418,25 +436,6 @@ A new architecture: there now is one process per connection and one process per
</p>
</article>
- <article class="blog_item">
- <header>
- <h2><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></h2>
- <p class="date">
- <span class="year">2016</span>
- <span class="day-month">28 Nov</span>
- </p>
- </header>
-
- <p>Ranch 1.3.0 has been released!
-This release fixes a number of long standing issues and adds a small number of features:
-The ssl application has been added to the list of dependencies. If you don&apos;t need it, you can remove it automatically when fetching Ranch or when building the release. If you do need it, you will no longer have issues shutting down a node because of Ranch.
-The ranch:info/0 and ranch:procs/2 can be used to retrieve information about Ranch&apos;s state.</p>
-
- <p style="text-align:right">
- <a class="read_more" href="https://ninenines.eu/articles/ranch-1.3/">Read More</a>
- </p>
- </article>
-
<nav class="pagination" role="pagination">
diff --git a/articles/index.xml b/articles/index.xml
index 5eaa1f9e..3023ea52 100644
--- a/articles/index.xml
+++ b/articles/index.xml
@@ -6,12 +6,23 @@
<description>Recent content in Articles on Nine Nines</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
- <lastBuildDate>Mon, 19 Nov 2018 07:00:00 +0100</lastBuildDate>
+ <lastBuildDate>Tue, 25 Dec 2018 07:00:00 +0100</lastBuildDate>
<atom:link href="https://ninenines.eu/articles/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>Merry Christmas 2018: A Recap</title>
+ <link>https://ninenines.eu/articles/merry-christmas-2018/</link>
+ <pubDate>Tue, 25 Dec 2018 07:00:00 +0100</pubDate>
+
+ <guid>https://ninenines.eu/articles/merry-christmas-2018/</guid>
+ <description>As the year 2018 ends it&amp;apos;s time for a short recap and a look forward for the next year.
+Overall, more than half of all open tickets have been closed. Most tickets were opened since 2015 and I couldn&amp;apos;t get to those, but now that pre-school started I have a lot more time! I&amp;apos;m aiming to keep the number of tickets below 100 across all my projects.
+Cowboy 2.x is now mature.</description>
+ </item>
+
+ <item>
<title>Cowboy 2.6</title>
<link>https://ninenines.eu/articles/cowboy-2.6.0/</link>
<pubDate>Mon, 19 Nov 2018 07:00:00 +0100</pubDate>
diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html
index 562995db..1a5dd84b 100644
--- a/articles/january-2014-status/index.html
+++ b/articles/january-2014-status/index.html
@@ -113,6 +113,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/merry-christmas-2018/index.html b/articles/merry-christmas-2018/index.html
new file mode 100644
index 00000000..210bf065
--- /dev/null
+++ b/articles/merry-christmas-2018/index.html
@@ -0,0 +1,293 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Merry Christmas 2018: A Recap</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=4" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li class="active"><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents">
+<div class="container">
+<div class="row">
+<div class="span9 maincol">
+
+<article class="blog_item">
+<header>
+ <h1 class="lined-header"><span>Merry Christmas 2018: A Recap</span></h1>
+ <p class="date">
+ <span class="year">2018</span>
+ <span class="day-month">25 Dec</span>
+ </p>
+</header>
+
+<p>As the year 2018 ends it&apos;s time for a short recap and a look forward for the next year.</p>
+<p>Overall, more than half of all open tickets have been closed. Most tickets were opened since 2015 and I couldn&apos;t get to those, but now that pre-school started I have a lot more time! I&apos;m aiming to keep the number of tickets below 100 across all my projects.</p>
+<p>Cowboy 2.x is now mature. Features are on par or better than the 1.x series and the HTTP/2 code is solid. I&apos;ve been using it in customer and personal projects and I&apos;m really happy with how it turned out.</p>
+<p>Ranch has received numerous contributions from Jan Uhlig and is going to get a 2.0 release in 2019 which will remove the connection supervisor bottleneck that is causing issues when shutting down many connections at the same time.</p>
+<p>Gun has received CONNECT proxy support and I am currently working on adding support for HTTPS connections over HTTPS proxies. Gun is currently being worked on, including a rewrite of the main code to <code>gen_statem</code>. Gun 2.0 will most likely be released in 2019 and will include a few minor breaking changes that should only impact advanced users.</p>
+<p>Erlang.mk has received a ton of fixes and is very solid now including for multi-applications repositories. It no longer always recompiles dependencies, speeding up rebuilds immensely.</p>
+<p>The Erlanger Playbook will be removed from sale for some time due to administrative constraints. It will be restored during the coming year. A new release is planned in January or February of 2019 and this will most likely be the final release. It seems that temperamentally I&apos;m not quite writer material and this has been a very difficult process so I will not attempt to write another book on my own in the future.</p>
+<p>I have started working on a new project that is in the realm of REST, HATEOAS and the Semantic Web. The goal is to be able to create resources in a generic way without the constraints imposed by the HTTP protocol and its limitations. This will be my main focus in 2019 after the book update and the closing of tickets.</p>
+<p>I am currently waiting for Hex.pm to change its terms of services to be less invasive before adding Hex.pm support to Erlang.mk and perhaps manage my own packages. Currently the terms require accepting a Code of Conduct that&apos;s both subjective and applies to off-service user behavior, and that&apos;s unacceptable. A good example that these policies are harmful can be seen in the trouble currently going on at Patreon as I write this. It&apos;s even more puzzling that Hex.pm is just a source code storage and doesn&apos;t have user interactions, so these policies make little sense to me. I have discussed this with Hex.pm and helped review changes that would make the policies still bad but at least not outright dangerous, and I am waiting for these changes to be applied before implementing Hex.pm into Erlang.mk.</p>
+<p>As you may have noticed, I have stayed away from conferences in recent years. At first it was because I became a father, but in 2017 I went back to what would be the final Erlang User Conference. It was not the best, and as time goes on it seems these conferences simply no longer offer the content that interests me. That could be fine on its own; conferences are more about networking than talks after all. But I&apos;ve recently discovered to my dismay that the conferences now known as Code BEAM started to play social justice games, where discrimination based on perceived group identity is seen as a good thing. I will not play these games, regardless of the groups being discriminated for or against.</p>
+<p>Since I&apos;m not a writer, and conferences are a no-no at this point, I will be focusing on code for most of 2019 and will perhaps attempt to create a video or two where I can demonstrate code, for example taking an interesting ticket and solving it in the video.</p>
+<p>The future looks bright as far as I&apos;m concerned and it looks like I&apos;ll be able to continue dedicating almost half of my time to open source projects. Great things are coming up!</p>
+<p>I wish everyone a great holiday season, Merry Christmas, and I will soon take a small break to enjoy a good meal with the extended family and some well deserved rest. I still managed to squeeze in a <a href="https://github.com/erlang/otp/pull/2072">PR to Erlang/OTP</a> which will help optimize Cowboy and Gun further.</p>
+<p>You can forward Santa Claus to <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a> for sending presents. I will use these funds to buy a Mac Mini or similar for testing projects under macOS. If there&apos;s funds remaining after that I will spend them on a similar machine for testing under Windows.</p>
+<p>As this is the last article of the year, I also wish you a Happy New Year and will be back soon with more good news. Cheers!</p>
+
+
+</article>
+</div>
+
+<div class="span3 sidecol">
+<h3>More articles</h3>
+<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ranch-1.7.0/">Ranch 1.7</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.5.0/">Cowboy 2.5</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/gun-1.3.0/">Gun 1.3</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/gun-1.0.0/">Gun 1.0</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/asciideck/">Asciideck: Asciidoc for Erlang</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/gun-1.0.0-rc.1/">Gun 1.0 release candidate 1</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.4.0/">Cowboy 2.4</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.3.0/">Cowboy 2.3</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.2.0/">Cowboy 2.2</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.1.0/">Cowboy 2.1</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0/">Cowboy 2.0</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.2/">Cowboy 2.0 release candidate 2</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.1/">Cowboy 2.0 release candidate 1</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/the-elephant-in-the-room/">The elephant in the room</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don&#39;t let it crash</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/website-update/">Website update</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/the-story-so-far/">The story so far</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
+
+
+
+
+</ul>
+
+<h3>Feedback</h3>
+<p>Feel free to <a href="mailto:[email protected]">email us</a>
+if you found any mistake or need clarification on any of the
+articles.</p>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
diff --git a/articles/ml-archives/index.html b/articles/ml-archives/index.html
index 03abd0ba..d033e1d1 100644
--- a/articles/ml-archives/index.html
+++ b/articles/ml-archives/index.html
@@ -84,6 +84,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/on-open-source/index.html b/articles/on-open-source/index.html
index 326f7291..4858c68e 100644
--- a/articles/on-open-source/index.html
+++ b/articles/on-open-source/index.html
@@ -96,6 +96,10 @@ much left to look at today</a>. This was followed by a <a href="https://github.c
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/page/2/index.html b/articles/page/2/index.html
index 72de53cf..a284068e 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -67,6 +67,25 @@
<article class="blog_item">
<header>
+ <h2><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></h2>
+ <p class="date">
+ <span class="year">2016</span>
+ <span class="day-month">28 Nov</span>
+ </p>
+ </header>
+
+ <p>Ranch 1.3.0 has been released!
+This release fixes a number of long standing issues and adds a small number of features:
+The ssl application has been added to the list of dependencies. If you don&apos;t need it, you can remove it automatically when fetching Ranch or when building the release. If you do need it, you will no longer have issues shutting down a node because of Ranch.
+The ranch:info/0 and ranch:procs/2 can be used to retrieve information about Ranch&apos;s state.</p>
+
+ <p style="text-align:right">
+ <a class="read_more" href="https://ninenines.eu/articles/ranch-1.3/">Read More</a>
+ </p>
+ </article>
+
+ <article class="blog_item">
+ <header>
<h2><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></h2>
<p class="date">
<span class="year">2016</span>
diff --git a/articles/ranch-1.3/index.html b/articles/ranch-1.3/index.html
index bf46d348..16d2612f 100644
--- a/articles/ranch-1.3/index.html
+++ b/articles/ranch-1.3/index.html
@@ -125,6 +125,10 @@ Primary key fingerprint<font color="#990000">:</font> F19F 189C ECC7 <font color
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/ranch-1.6.0/index.html b/articles/ranch-1.6.0/index.html
index 124b412a..0247a70b 100644
--- a/articles/ranch-1.6.0/index.html
+++ b/articles/ranch-1.6.0/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/ranch-1.7.0/index.html b/articles/ranch-1.7.0/index.html
index fa87d1d3..dc361dfc 100644
--- a/articles/ranch-1.7.0/index.html
+++ b/articles/ranch-1.7.0/index.html
@@ -86,6 +86,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/ranch-ftp/index.html b/articles/ranch-ftp/index.html
index 1df5ca49..060c2372 100644
--- a/articles/ranch-ftp/index.html
+++ b/articles/ranch-ftp/index.html
@@ -227,6 +227,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/the-elephant-in-the-room/index.html b/articles/the-elephant-in-the-room/index.html
index 7c8ba0f6..b902337d 100644
--- a/articles/the-elephant-in-the-room/index.html
+++ b/articles/the-elephant-in-the-room/index.html
@@ -109,6 +109,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/the-story-so-far/index.html b/articles/the-story-so-far/index.html
index 0742fb36..dc5b2c23 100644
--- a/articles/the-story-so-far/index.html
+++ b/articles/the-story-so-far/index.html
@@ -100,6 +100,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/tictactoe/index.html b/articles/tictactoe/index.html
index bf8a8bd5..957bcfbc 100644
--- a/articles/tictactoe/index.html
+++ b/articles/tictactoe/index.html
@@ -132,6 +132,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/website-update/index.html b/articles/website-update/index.html
index d769db2d..63878192 100644
--- a/articles/website-update/index.html
+++ b/articles/website-update/index.html
@@ -89,6 +89,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/xerl-0.1-empty-modules/index.html b/articles/xerl-0.1-empty-modules/index.html
index fdb82127..1272860d 100644
--- a/articles/xerl-0.1-empty-modules/index.html
+++ b/articles/xerl-0.1-empty-modules/index.html
@@ -167,6 +167,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/xerl-0.2-two-modules/index.html b/articles/xerl-0.2-two-modules/index.html
index 206bf4d4..7c07a583 100644
--- a/articles/xerl-0.2-two-modules/index.html
+++ b/articles/xerl-0.2-two-modules/index.html
@@ -195,6 +195,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/xerl-0.3-atomic-expressions/index.html b/articles/xerl-0.3-atomic-expressions/index.html
index 10bd59de..1b8a5a78 100644
--- a/articles/xerl-0.3-atomic-expressions/index.html
+++ b/articles/xerl-0.3-atomic-expressions/index.html
@@ -164,6 +164,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/xerl-0.4-expression-separator/index.html b/articles/xerl-0.4-expression-separator/index.html
index 48022d3a..41759ba5 100644
--- a/articles/xerl-0.4-expression-separator/index.html
+++ b/articles/xerl-0.4-expression-separator/index.html
@@ -116,6 +116,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/articles/xerl-0.5-intermediate-module/index.html b/articles/xerl-0.5-intermediate-module/index.html
index dbea1988..7d075d9c 100644
--- a/articles/xerl-0.5-intermediate-module/index.html
+++ b/articles/xerl-0.5-intermediate-module/index.html
@@ -160,6 +160,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li>
diff --git a/donate/index.html b/donate/index.html
index 04b1f90f..7130527f 100644
--- a/donate/index.html
+++ b/donate/index.html
@@ -777,6 +777,8 @@
+
+
<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
<p>Donate to Loïc Hoguin because his work on Cowboy and Erlang.mk is fantastic:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
diff --git a/index.html b/index.html
index 05d7fec6..cc4d780c 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
<html lang="en">
<head>
- <meta name="generator" content="Hugo 0.49.2" />
+ <meta name="generator" content="Hugo 0.52" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
@@ -917,6 +917,8 @@
+
+
<p>Feeling generous? Love reading?<br/><a href="https://salt.bountysource.com/teams/ninenines">Crowdfund my salary</a> or buy <a href="/articles/erlanger-playbook">The Erlanger Playbook</a></p>
diff --git a/index.xml b/index.xml
index ea6964ce..ab65a1b8 100644
--- a/index.xml
+++ b/index.xml
@@ -6,7 +6,7 @@
<description>Recent content on Nine Nines</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
- <lastBuildDate>Mon, 19 Nov 2018 07:00:00 +0100</lastBuildDate>
+ <lastBuildDate>Tue, 25 Dec 2018 07:00:00 +0100</lastBuildDate>
<atom:link href="https://ninenines.eu/index.xml" rel="self" type="application/rss+xml" />
@@ -3582,6 +3582,17 @@ HTTP IANA Registries HTTP Method Registry HTTP Status Code Registry Message He
</item>
<item>
+ <title>Merry Christmas 2018: A Recap</title>
+ <link>https://ninenines.eu/articles/merry-christmas-2018/</link>
+ <pubDate>Tue, 25 Dec 2018 07:00:00 +0100</pubDate>
+
+ <guid>https://ninenines.eu/articles/merry-christmas-2018/</guid>
+ <description>As the year 2018 ends it&amp;apos;s time for a short recap and a look forward for the next year.
+Overall, more than half of all open tickets have been closed. Most tickets were opened since 2015 and I couldn&amp;apos;t get to those, but now that pre-school started I have a lot more time! I&amp;apos;m aiming to keep the number of tickets below 100 across all my projects.
+Cowboy 2.x is now mature.</description>
+ </item>
+
+ <item>
<title>Cowboy 2.6</title>
<link>https://ninenines.eu/articles/cowboy-2.6.0/</link>
<pubDate>Mon, 19 Nov 2018 07:00:00 +0100</pubDate>
diff --git a/services/index.html b/services/index.html
index b9af586b..296573f8 100644
--- a/services/index.html
+++ b/services/index.html
@@ -804,6 +804,8 @@
+
+
<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
<p>Donate to Loïc Hoguin because his work on Cowboy and Erlang.mk is fantastic:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
diff --git a/sitemap.xml b/sitemap.xml
index 6c51e44b..e57c9151 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1295,6 +1295,11 @@
</url>
<url>
+ <loc>https://ninenines.eu/articles/merry-christmas-2018/</loc>
+ <lastmod>2018-12-25T07:00:00+01:00</lastmod>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/articles/cowboy-2.6.0/</loc>
<lastmod>2018-11-19T07:00:00+01:00</lastmod>
</url>
@@ -1516,7 +1521,7 @@
<url>
<loc>https://ninenines.eu/articles/</loc>
- <lastmod>2018-11-19T07:00:00+01:00</lastmod>
+ <lastmod>2018-12-25T07:00:00+01:00</lastmod>
<priority>0</priority>
</url>
@@ -1652,7 +1657,7 @@
<url>
<loc>https://ninenines.eu/</loc>
- <lastmod>2018-11-19T07:00:00+01:00</lastmod>
+ <lastmod>2018-12-25T07:00:00+01:00</lastmod>
<priority>0</priority>
</url>