summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2019-06-11 15:53:47 +0200
committerLoïc Hoguin <[email protected]>2019-06-11 15:53:47 +0200
commite031713c0e8bd871248dbbbbdec1ea28609f4431 (patch)
treeb2aa91d26c6de0bb02e5fc1ac04093c7a1af9a2e
parent6c17bcc5ecd1ab7f26fad8e280d782bd5f3965d6 (diff)
downloadninenines.eu-e031713c0e8bd871248dbbbbdec1ea28609f4431.tar.gz
ninenines.eu-e031713c0e8bd871248dbbbbdec1ea28609f4431.tar.bz2
ninenines.eu-e031713c0e8bd871248dbbbbdec1ea28609f4431.zip
Joe Armstrong the rubber duck
-rw-r--r--_build/content/articles/joe_the_rubber_duck.asciidoc37
-rw-r--r--_build/data/projects/ranch.toml2
-rw-r--r--_build/static/res/joe_the_rubber_duck.jpgbin0 -> 543312 bytes
-rw-r--r--articles/asciideck/index.html8
-rw-r--r--articles/cowboy-2.0.0-pre.4/index.html8
-rw-r--r--articles/cowboy-2.0.0-rc.1/index.html8
-rw-r--r--articles/cowboy-2.0.0-rc.2/index.html8
-rw-r--r--articles/cowboy-2.0.0/index.html8
-rw-r--r--articles/cowboy-2.1.0/index.html8
-rw-r--r--articles/cowboy-2.2.0/index.html8
-rw-r--r--articles/cowboy-2.3.0/index.html8
-rw-r--r--articles/cowboy-2.4.0/index.html8
-rw-r--r--articles/cowboy-2.5.0/index.html8
-rw-r--r--articles/cowboy-2.6.0/index.html8
-rw-r--r--articles/cowboy2-qs/index.html8
-rw-r--r--articles/dont-let-it-crash/index.html8
-rw-r--r--articles/erlang-scalability/index.html8
-rw-r--r--articles/erlang-validate-utf8/index.html8
-rw-r--r--articles/erlang.mk-and-relx/index.html8
-rw-r--r--articles/erlanger-playbook-september-2015-update/index.html8
-rw-r--r--articles/erlanger-playbook/index.html8
-rw-r--r--articles/farwest-funded/index.html8
-rw-r--r--articles/gun-1.0.0-rc.1/index.html8
-rw-r--r--articles/gun-1.0.0/index.html8
-rw-r--r--articles/gun-1.2.0/index.html8
-rw-r--r--articles/gun-1.3.0/index.html8
-rw-r--r--articles/index.html40
-rw-r--r--articles/index.xml14
-rw-r--r--articles/january-2014-status/index.html8
-rw-r--r--articles/joe_the_rubber_duck/index.html290
-rw-r--r--articles/merry-christmas-2018/index.html8
-rw-r--r--articles/ml-archives/index.html8
-rw-r--r--articles/on-open-source/index.html8
-rw-r--r--articles/page/2/index.html42
-rw-r--r--articles/page/3/index.html127
-rw-r--r--articles/ranch-1.3/index.html8
-rw-r--r--articles/ranch-1.6.0/index.html8
-rw-r--r--articles/ranch-1.7.0/index.html8
-rw-r--r--articles/ranch-ftp/index.html8
-rw-r--r--articles/the-elephant-in-the-room/index.html8
-rw-r--r--articles/the-story-so-far/index.html8
-rw-r--r--articles/tictactoe/index.html8
-rw-r--r--articles/website-update/index.html8
-rw-r--r--articles/xerl-0.1-empty-modules/index.html8
-rw-r--r--articles/xerl-0.2-two-modules/index.html8
-rw-r--r--articles/xerl-0.3-atomic-expressions/index.html8
-rw-r--r--articles/xerl-0.4-expression-separator/index.html8
-rw-r--r--articles/xerl-0.5-intermediate-module/index.html8
-rw-r--r--docs/en/cowboy/2.6/guide/specs.asciidoc3
-rw-r--r--docs/en/cowboy/2.6/guide/specs/index.html6
-rw-r--r--docs/en/cowboy/2.6/manual/cowboy.start_tls/index.html4
-rw-r--r--docs/en/cowboy/2.6/manual/cowboy_req.cert/index.html2
-rw-r--r--docs/index.xml2
-rw-r--r--donate/index.html10
-rw-r--r--index.html10
-rw-r--r--index.xml16
-rw-r--r--res/joe_the_rubber_duck.jpgbin0 -> 543312 bytes
-rw-r--r--services/index.html10
-rw-r--r--sitemap.xml29
59 files changed, 812 insertions, 152 deletions
diff --git a/_build/content/articles/joe_the_rubber_duck.asciidoc b/_build/content/articles/joe_the_rubber_duck.asciidoc
new file mode 100644
index 00000000..3c869c01
--- /dev/null
+++ b/_build/content/articles/joe_the_rubber_duck.asciidoc
@@ -0,0 +1,37 @@
++++
+date = "2019-06-11T07:00:00+01:00"
+title = "Joe Armstrong the rubber duck"
+
++++
+
+Joe Armstrong passed away a couple months ago. This
+was a sad day, completely unexpected to me, and he
+will be sorely missed.
+
+https://jlouis.github.io/posts/joe-goodbye/[Great]
+https://ferd.ca/goodbye-joe.html[eulogies] were written.
+
+My most striking memory of Joe was during dinner at
+his place after a conference in Stockholm many years
+ago. Joe was describing his rubber duck debugging
+method and introduced us to his famous rubber duck.
+
+"When you can't figure it out, ask the duck!"
+
+I then had the greatest idea. What if I could get
+a rubber duck built in Joe's likeness? Surely there
+is no greater mind than the combination of Joe and
+his rubber duck.
+
+As great an idea that was, I had to settle for the
+next best thing. I suppose custom rubber ducks are
+not in high demand.
+
+image::/res/joe_the_rubber_duck.jpg[Joe Armstrong the rubber duck]
+
+I will honor your memory by continuing to work on
+and with Erlang, and I thank you in advance for the
+help you'll send my way during those difficult
+rubber duck debugging sessions.
+
+Goodbye Joe.
diff --git a/_build/data/projects/ranch.toml b/_build/data/projects/ranch.toml
index 5ede7f5b..5415e854 100644
--- a/_build/data/projects/ranch.toml
+++ b/_build/data/projects/ranch.toml
@@ -4,7 +4,7 @@ description = "Ranch is a socket acceptor pool for building awesome TCP and TLS
name = "ranch"
repository = "https://github.com/ninenines/ranch"
versions = ["1.7", "1.6", "1.5", "1.4", "1.3", "1.2"]
-branches = ["master", "1.6.2", "1.5.0", "1.4.0", "1.3.2", "1.2.1"]
+branches = ["1.7.1", "1.6.2", "1.5.0", "1.4.0", "1.3.2", "1.2.1"]
has_source = true
has_guide = true
has_manual = true
diff --git a/_build/static/res/joe_the_rubber_duck.jpg b/_build/static/res/joe_the_rubber_duck.jpg
new file mode 100644
index 00000000..7094ee35
--- /dev/null
+++ b/_build/static/res/joe_the_rubber_duck.jpg
Binary files differ
diff --git a/articles/asciideck/index.html b/articles/asciideck/index.html
index 7734890d..84ddd17d 100644
--- a/articles/asciideck/index.html
+++ b/articles/asciideck/index.html
@@ -108,6 +108,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -267,8 +273,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.0.0-pre.4/index.html b/articles/cowboy-2.0.0-pre.4/index.html
index ad67a335..9eac8c92 100644
--- a/articles/cowboy-2.0.0-pre.4/index.html
+++ b/articles/cowboy-2.0.0-pre.4/index.html
@@ -127,6 +127,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -286,8 +292,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.0.0-rc.1/index.html b/articles/cowboy-2.0.0-rc.1/index.html
index 939e29aa..9f0f1bbe 100644
--- a/articles/cowboy-2.0.0-rc.1/index.html
+++ b/articles/cowboy-2.0.0-rc.1/index.html
@@ -98,6 +98,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -257,8 +263,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.0.0-rc.2/index.html b/articles/cowboy-2.0.0-rc.2/index.html
index 19007e99..0f4bd464 100644
--- a/articles/cowboy-2.0.0-rc.2/index.html
+++ b/articles/cowboy-2.0.0-rc.2/index.html
@@ -91,6 +91,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -250,8 +256,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.0.0/index.html b/articles/cowboy-2.0.0/index.html
index 9257f247..31a04dec 100644
--- a/articles/cowboy-2.0.0/index.html
+++ b/articles/cowboy-2.0.0/index.html
@@ -97,6 +97,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -256,8 +262,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.1.0/index.html b/articles/cowboy-2.1.0/index.html
index 19f7c649..a82c6d23 100644
--- a/articles/cowboy-2.1.0/index.html
+++ b/articles/cowboy-2.1.0/index.html
@@ -94,6 +94,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -253,8 +259,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.2.0/index.html b/articles/cowboy-2.2.0/index.html
index a1cbfe8c..112df4b5 100644
--- a/articles/cowboy-2.2.0/index.html
+++ b/articles/cowboy-2.2.0/index.html
@@ -92,6 +92,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -251,8 +257,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.3.0/index.html b/articles/cowboy-2.3.0/index.html
index 92bb92b3..0f48b4ff 100644
--- a/articles/cowboy-2.3.0/index.html
+++ b/articles/cowboy-2.3.0/index.html
@@ -84,6 +84,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -243,8 +249,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.4.0/index.html b/articles/cowboy-2.4.0/index.html
index fc23e1bd..1e7e9dea 100644
--- a/articles/cowboy-2.4.0/index.html
+++ b/articles/cowboy-2.4.0/index.html
@@ -86,6 +86,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -245,8 +251,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.5.0/index.html b/articles/cowboy-2.5.0/index.html
index d368638a..726a4580 100644
--- a/articles/cowboy-2.5.0/index.html
+++ b/articles/cowboy-2.5.0/index.html
@@ -90,6 +90,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -249,8 +255,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy-2.6.0/index.html b/articles/cowboy-2.6.0/index.html
index f5f7d2c7..498b5785 100644
--- a/articles/cowboy-2.6.0/index.html
+++ b/articles/cowboy-2.6.0/index.html
@@ -87,6 +87,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -246,8 +252,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/cowboy2-qs/index.html b/articles/cowboy2-qs/index.html
index 6612769c..e0feab88 100644
--- a/articles/cowboy2-qs/index.html
+++ b/articles/cowboy2-qs/index.html
@@ -128,6 +128,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -287,8 +293,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/dont-let-it-crash/index.html b/articles/dont-let-it-crash/index.html
index 890420d1..41ff3ea8 100644
--- a/articles/dont-let-it-crash/index.html
+++ b/articles/dont-let-it-crash/index.html
@@ -103,6 +103,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -262,8 +268,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/erlang-scalability/index.html b/articles/erlang-scalability/index.html
index 68ed1da3..314ff313 100644
--- a/articles/erlang-scalability/index.html
+++ b/articles/erlang-scalability/index.html
@@ -115,6 +115,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -274,8 +280,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/erlang-validate-utf8/index.html b/articles/erlang-validate-utf8/index.html
index 853f0d56..16febad7 100644
--- a/articles/erlang-validate-utf8/index.html
+++ b/articles/erlang-validate-utf8/index.html
@@ -231,6 +231,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -390,8 +396,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/erlang.mk-and-relx/index.html b/articles/erlang.mk-and-relx/index.html
index 53a7318a..2417d6e5 100644
--- a/articles/erlang.mk-and-relx/index.html
+++ b/articles/erlang.mk-and-relx/index.html
@@ -141,6 +141,12 @@ 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/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -300,8 +306,6 @@ cowboy-0.8.5 erlydtl-0.7.0 ninenines-0.2.0 stdlib-1.19.1</pre></div></div>
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/erlanger-playbook-september-2015-update/index.html b/articles/erlanger-playbook-september-2015-update/index.html
index 8826220b..17e3955b 100644
--- a/articles/erlanger-playbook-september-2015-update/index.html
+++ b/articles/erlanger-playbook-september-2015-update/index.html
@@ -86,6 +86,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -245,8 +251,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/erlanger-playbook/index.html b/articles/erlanger-playbook/index.html
index 7a14a891..47bb449f 100644
--- a/articles/erlanger-playbook/index.html
+++ b/articles/erlanger-playbook/index.html
@@ -127,6 +127,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -286,8 +292,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/farwest-funded/index.html b/articles/farwest-funded/index.html
index 3666b1fe..ef4a55ff 100644
--- a/articles/farwest-funded/index.html
+++ b/articles/farwest-funded/index.html
@@ -87,6 +87,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -246,8 +252,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/gun-1.0.0-rc.1/index.html b/articles/gun-1.0.0-rc.1/index.html
index ee5bf875..1d685869 100644
--- a/articles/gun-1.0.0-rc.1/index.html
+++ b/articles/gun-1.0.0-rc.1/index.html
@@ -88,6 +88,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -247,8 +253,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/gun-1.0.0/index.html b/articles/gun-1.0.0/index.html
index cfbf794c..77675b5b 100644
--- a/articles/gun-1.0.0/index.html
+++ b/articles/gun-1.0.0/index.html
@@ -87,6 +87,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -246,8 +252,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/gun-1.2.0/index.html b/articles/gun-1.2.0/index.html
index 2d378eb5..b994c292 100644
--- a/articles/gun-1.2.0/index.html
+++ b/articles/gun-1.2.0/index.html
@@ -87,6 +87,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -246,8 +252,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/gun-1.3.0/index.html b/articles/gun-1.3.0/index.html
index 0fedce07..a8dd474f 100644
--- a/articles/gun-1.3.0/index.html
+++ b/articles/gun-1.3.0/index.html
@@ -85,6 +85,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -244,8 +250,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/index.html b/articles/index.html
index 2f646ebe..005c857b 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -67,6 +67,25 @@
<article class="blog_item">
<header>
+ <h2><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></h2>
+ <p class="date">
+ <span class="year">2019</span>
+ <span class="day-month">11 Jun</span>
+ </p>
+ </header>
+
+ <p>Joe Armstrong passed away a couple months ago. This was a sad day, completely unexpected to me, and he will be sorely missed.
+Great eulogies were written.
+My most striking memory of Joe was during dinner at his place after a conference in Stockholm many years ago. Joe was describing his rubber duck debugging method and introduced us to his famous rubber duck.
+&quot;When you can&apos;t figure it out, ask the duck!</p>
+
+ <p style="text-align:right">
+ <a class="read_more" href="https://ninenines.eu/articles/joe_the_rubber_duck/">Read More</a>
+ </p>
+ </article>
+
+ <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>
@@ -417,30 +436,11 @@ The general pattern behind writing only for the happy path, letting the VM catch
</p>
</article>
- <article class="blog_item">
- <header>
- <h2><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></h2>
- <p class="date">
- <span class="year">2017</span>
- <span class="day-month">03 Jan</span>
- </p>
- </header>
-
- <p>Cowboy 2.0.0-pre.4 has been released!
-This is the new recommended version of Cowboy. While I would not recommend putting it in production just yet, I do recommend you start writing new applications with this Cowboy version.
-The most significant changes in the pre-release are:
-A new architecture: there now is one process per connection and one process per request. This was done because HTTP/2 allows running requests concurrently. Stream handlers.</p>
-
- <p style="text-align:right">
- <a class="read_more" href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Read More</a>
- </p>
- </article>
-
<nav class="pagination" role="pagination">
- <span>1 / 2</span>
+ <span>1 / 3</span>
<a href="/articles/page/2/"><i class="fa fa-angle-double-right"></i></a>
diff --git a/articles/index.xml b/articles/index.xml
index 3023ea52..c67b8e35 100644
--- a/articles/index.xml
+++ b/articles/index.xml
@@ -6,12 +6,24 @@
<description>Recent content in Articles on Nine Nines</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
- <lastBuildDate>Tue, 25 Dec 2018 07:00:00 +0100</lastBuildDate>
+ <lastBuildDate>Tue, 11 Jun 2019 07:00:00 +0100</lastBuildDate>
<atom:link href="https://ninenines.eu/articles/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>Joe Armstrong the rubber duck</title>
+ <link>https://ninenines.eu/articles/joe_the_rubber_duck/</link>
+ <pubDate>Tue, 11 Jun 2019 07:00:00 +0100</pubDate>
+
+ <guid>https://ninenines.eu/articles/joe_the_rubber_duck/</guid>
+ <description>Joe Armstrong passed away a couple months ago. This was a sad day, completely unexpected to me, and he will be sorely missed.
+Great eulogies were written.
+My most striking memory of Joe was during dinner at his place after a conference in Stockholm many years ago. Joe was describing his rubber duck debugging method and introduced us to his famous rubber duck.
+&amp;quot;When you can&amp;apos;t figure it out, ask the duck!</description>
+ </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>
diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html
index 9947a8a8..4acd83e7 100644
--- a/articles/january-2014-status/index.html
+++ b/articles/january-2014-status/index.html
@@ -113,6 +113,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -272,8 +278,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/joe_the_rubber_duck/index.html b/articles/joe_the_rubber_duck/index.html
new file mode 100644
index 00000000..9298e787
--- /dev/null
+++ b/articles/joe_the_rubber_duck/index.html
@@ -0,0 +1,290 @@
+<!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: Joe Armstrong the rubber duck</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=5" 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>Joe Armstrong the rubber duck</span></h1>
+ <p class="date">
+ <span class="year">2019</span>
+ <span class="day-month">11 Jun</span>
+ </p>
+</header>
+
+<p>Joe Armstrong passed away a couple months ago. This was a sad day, completely unexpected to me, and he will be sorely missed.</p>
+<p><a href="https://jlouis.github.io/posts/joe-goodbye/">Great</a> <a href="https://ferd.ca/goodbye-joe.html">eulogies</a> were written.</p>
+<p>My most striking memory of Joe was during dinner at his place after a conference in Stockholm many years ago. Joe was describing his rubber duck debugging method and introduced us to his famous rubber duck.</p>
+<p>&quot;When you can&apos;t figure it out, ask the duck!&quot;</p>
+<p>I then had the greatest idea. What if I could get a rubber duck built in Joe&apos;s likeness? Surely there is no greater mind than the combination of Joe and his rubber duck.</p>
+<p>As great an idea that was, I had to settle for the next best thing. I suppose custom rubber ducks are not in high demand.</p>
+<img src="/res/joe_the_rubber_duck.jpg" alt="Joe Armstrong the rubber duck"/><p>I will honor your memory by continuing to work on and with Erlang, and I thank you in advance for the help you&apos;ll send my way during those difficult rubber duck debugging sessions.</p>
+<p>Goodbye Joe.</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/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
+ <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/merry-christmas-2018/index.html b/articles/merry-christmas-2018/index.html
index 9e479985..32d7f8e4 100644
--- a/articles/merry-christmas-2018/index.html
+++ b/articles/merry-christmas-2018/index.html
@@ -94,6 +94,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -253,8 +259,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/ml-archives/index.html b/articles/ml-archives/index.html
index f755f5e6..9eacbf0d 100644
--- a/articles/ml-archives/index.html
+++ b/articles/ml-archives/index.html
@@ -84,6 +84,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -243,8 +249,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/on-open-source/index.html b/articles/on-open-source/index.html
index b6154385..8343bb03 100644
--- a/articles/on-open-source/index.html
+++ b/articles/on-open-source/index.html
@@ -96,6 +96,12 @@ 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/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -255,8 +261,6 @@ much left to look at today</a>. This was followed by a <a href="https://github.c
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/page/2/index.html b/articles/page/2/index.html
index 46ecfdd7..6e899f20 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/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></h2>
+ <p class="date">
+ <span class="year">2017</span>
+ <span class="day-month">03 Jan</span>
+ </p>
+ </header>
+
+ <p>Cowboy 2.0.0-pre.4 has been released!
+This is the new recommended version of Cowboy. While I would not recommend putting it in production just yet, I do recommend you start writing new applications with this Cowboy version.
+The most significant changes in the pre-release are:
+A new architecture: there now is one process per connection and one process per request. This was done because HTTP/2 allows running requests concurrently. Stream handlers.</p>
+
+ <p style="text-align:right">
+ <a class="read_more" href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Read More</a>
+ </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>
@@ -408,32 +427,15 @@ The goal of this article is to showcase how to use Ranch for writing a network p
</p>
</article>
- <article class="blog_item">
- <header>
- <h2><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></h2>
- <p class="date">
- <span class="year">2012</span>
- <span class="day-month">17 Oct</span>
- </p>
- </header>
-
- <p>Everyone knows Tic Tac Toe, right?
-Players choose either to be the Xs or the Os, then place their symbol on a 3x3 board one after another, trying to create a line of 3 of them.
-Writing an algorithm to check for victory sounds easy, right? It&apos;s easily tested, considering there&apos;s only 8 possible winning rows (3 horizontal, 3 vertical and 2 diagonal).
-In Erlang though, you probably wouldn&apos;t want an algorithm.</p>
-
- <p style="text-align:right">
- <a class="read_more" href="https://ninenines.eu/articles/tictactoe/">Read More</a>
- </p>
- </article>
-
<nav class="pagination" role="pagination">
<a href="/articles/"><i class="fa fa-angle-double-left"></i></a>
- <span>2 / 2</span>
+ <span>2 / 3</span>
+
+ <a href="/articles/page/3/"><i class="fa fa-angle-double-right"></i></a>
</nav>
diff --git a/articles/page/3/index.html b/articles/page/3/index.html
new file mode 100644
index 00000000..b75d31ad
--- /dev/null
+++ b/articles/page/3/index.html
@@ -0,0 +1,127 @@
+<!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: Articles</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=5" 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">
+
+
+ <link rel="alternate" href="https://ninenines.eu/articles/index.xml" type="application/rss+xml" title="Nine Nines" />
+
+</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" class="two_col">
+<div class="container">
+<div class="row">
+<div class="span9 maincol">
+
+<h1 class="lined-header"><span>Articles</span></h1>
+
+
+ <article class="blog_item">
+ <header>
+ <h2><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></h2>
+ <p class="date">
+ <span class="year">2012</span>
+ <span class="day-month">17 Oct</span>
+ </p>
+ </header>
+
+ <p>Everyone knows Tic Tac Toe, right?
+Players choose either to be the Xs or the Os, then place their symbol on a 3x3 board one after another, trying to create a line of 3 of them.
+Writing an algorithm to check for victory sounds easy, right? It&apos;s easily tested, considering there&apos;s only 8 possible winning rows (3 horizontal, 3 vertical and 2 diagonal).
+In Erlang though, you probably wouldn&apos;t want an algorithm.</p>
+
+ <p style="text-align:right">
+ <a class="read_more" href="https://ninenines.eu/articles/tictactoe/">Read More</a>
+ </p>
+ </article>
+
+
+
+<nav class="pagination" role="pagination">
+
+ <a href="/articles/page/2/"><i class="fa fa-angle-double-left"></i></a>
+
+ <span>3 / 3</span>
+
+</nav>
+
+
+
+</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/ranch-1.3/index.html b/articles/ranch-1.3/index.html
index c45ca2cd..2e07647a 100644
--- a/articles/ranch-1.3/index.html
+++ b/articles/ranch-1.3/index.html
@@ -125,6 +125,12 @@ 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/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -284,8 +290,6 @@ Primary key fingerprint<font color="#990000">:</font> F19F 189C ECC7 <font color
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/ranch-1.6.0/index.html b/articles/ranch-1.6.0/index.html
index 801e29dd..bfe963e2 100644
--- a/articles/ranch-1.6.0/index.html
+++ b/articles/ranch-1.6.0/index.html
@@ -87,6 +87,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -246,8 +252,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/ranch-1.7.0/index.html b/articles/ranch-1.7.0/index.html
index 94cee663..938438fc 100644
--- a/articles/ranch-1.7.0/index.html
+++ b/articles/ranch-1.7.0/index.html
@@ -86,6 +86,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -245,8 +251,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/ranch-ftp/index.html b/articles/ranch-ftp/index.html
index ac1cc835..4f2d4a42 100644
--- a/articles/ranch-ftp/index.html
+++ b/articles/ranch-ftp/index.html
@@ -227,6 +227,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -386,8 +392,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/the-elephant-in-the-room/index.html b/articles/the-elephant-in-the-room/index.html
index 7a0fc634..27816ac4 100644
--- a/articles/the-elephant-in-the-room/index.html
+++ b/articles/the-elephant-in-the-room/index.html
@@ -109,6 +109,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -268,8 +274,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/the-story-so-far/index.html b/articles/the-story-so-far/index.html
index 846f8bf8..17e9f5d5 100644
--- a/articles/the-story-so-far/index.html
+++ b/articles/the-story-so-far/index.html
@@ -100,6 +100,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -259,8 +265,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/tictactoe/index.html b/articles/tictactoe/index.html
index 54d312ca..f83f08cf 100644
--- a/articles/tictactoe/index.html
+++ b/articles/tictactoe/index.html
@@ -132,6 +132,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -291,8 +297,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/website-update/index.html b/articles/website-update/index.html
index e9063bc4..70837aa7 100644
--- a/articles/website-update/index.html
+++ b/articles/website-update/index.html
@@ -89,6 +89,12 @@
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -248,8 +254,6 @@
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/xerl-0.1-empty-modules/index.html b/articles/xerl-0.1-empty-modules/index.html
index 7b2439f0..cfb21eaa 100644
--- a/articles/xerl-0.1-empty-modules/index.html
+++ b/articles/xerl-0.1-empty-modules/index.html
@@ -167,6 +167,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -326,8 +332,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/xerl-0.2-two-modules/index.html b/articles/xerl-0.2-two-modules/index.html
index fa7101ad..2a65cfbb 100644
--- a/articles/xerl-0.2-two-modules/index.html
+++ b/articles/xerl-0.2-two-modules/index.html
@@ -195,6 +195,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -354,8 +360,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/xerl-0.3-atomic-expressions/index.html b/articles/xerl-0.3-atomic-expressions/index.html
index 5eafbf2c..cb8a52eb 100644
--- a/articles/xerl-0.3-atomic-expressions/index.html
+++ b/articles/xerl-0.3-atomic-expressions/index.html
@@ -164,6 +164,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -323,8 +329,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/xerl-0.4-expression-separator/index.html b/articles/xerl-0.4-expression-separator/index.html
index bbceb292..264565ae 100644
--- a/articles/xerl-0.4-expression-separator/index.html
+++ b/articles/xerl-0.4-expression-separator/index.html
@@ -116,6 +116,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -275,8 +281,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/articles/xerl-0.5-intermediate-module/index.html b/articles/xerl-0.5-intermediate-module/index.html
index 091f64bc..b2229f2f 100644
--- a/articles/xerl-0.5-intermediate-module/index.html
+++ b/articles/xerl-0.5-intermediate-module/index.html
@@ -160,6 +160,12 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li>
@@ -319,8 +325,6 @@ http://www.gnu.org/software/src-highlite -->
<li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
-
-
</ul>
<h3>Feedback</h3>
diff --git a/docs/en/cowboy/2.6/guide/specs.asciidoc b/docs/en/cowboy/2.6/guide/specs.asciidoc
index 06751cd5..d1022abb 100644
--- a/docs/en/cowboy/2.6/guide/specs.asciidoc
+++ b/docs/en/cowboy/2.6/guide/specs.asciidoc
@@ -91,6 +91,8 @@ for or related to HTTP.
* https://tools.ietf.org/html/rfc8441[RFC 8441]: Bootstrapping WebSockets with HTTP/2
* https://tools.ietf.org/html/rfc8470[RFC 8470]: Using Early Data in HTTP
* https://tools.ietf.org/html/rfc8473[RFC 8473]: Token Binding over HTTP
+* https://tools.ietf.org/html/rfc8586[RFC 8586]: Loop Detection in Content Delivery Networks (CDNs)
+* https://tools.ietf.org/html/rfc8594[RFC 8594]: The Sunset HTTP Header Field
* https://www.w3.org/TR/webmention/[Webmention]: Webmention
==== Upcoming
@@ -159,6 +161,7 @@ for or related to HTTP.
* https://tools.ietf.org/html/rfc6570[RFC 6570]: URI Template
* https://tools.ietf.org/html/rfc6874[RFC 6874]: Representing IPv6 Zone Identifiers in Address Literals and URIs
* https://tools.ietf.org/html/rfc7320[RFC 7320]: URI Design and Ownership
+* https://tools.ietf.org/html/rfc8615[RFC 8615]: Well-Known URIs
* http://www.w3.org/TR/url-1/[URL]
* https://url.spec.whatwg.org/[URL Living Standard]
diff --git a/docs/en/cowboy/2.6/guide/specs/index.html b/docs/en/cowboy/2.6/guide/specs/index.html
index e113ef95..5e918516 100644
--- a/docs/en/cowboy/2.6/guide/specs/index.html
+++ b/docs/en/cowboy/2.6/guide/specs/index.html
@@ -227,6 +227,10 @@
</li>
<li><a href="https://tools.ietf.org/html/rfc8473">RFC 8473</a>: Token Binding over HTTP
</li>
+<li><a href="https://tools.ietf.org/html/rfc8586">RFC 8586</a>: Loop Detection in Content Delivery Networks (CDNs)
+</li>
+<li><a href="https://tools.ietf.org/html/rfc8594">RFC 8594</a>: The Sunset HTTP Header Field
+</li>
<li><a href="https://www.w3.org/TR/webmention/">Webmention</a>: Webmention
</li>
</ul>
@@ -343,6 +347,8 @@
</li>
<li><a href="https://tools.ietf.org/html/rfc7320">RFC 7320</a>: URI Design and Ownership
</li>
+<li><a href="https://tools.ietf.org/html/rfc8615">RFC 8615</a>: Well-Known URIs
+</li>
<li><a href="http://www.w3.org/TR/url-1/">URL</a>
</li>
<li><a href="https://url.spec.whatwg.org/">URL Living Standard</a>
diff --git a/docs/en/cowboy/2.6/manual/cowboy.start_tls/index.html b/docs/en/cowboy/2.6/manual/cowboy.start_tls/index.html
index 6600a27e..dd7adf06 100644
--- a/docs/en/cowboy/2.6/manual/cowboy.start_tls/index.html
+++ b/docs/en/cowboy/2.6/manual/cowboy.start_tls/index.html
@@ -115,7 +115,7 @@ http://www.gnu.org/software/src-highlite -->
{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_tls</font></b>(<font color="#FF6600">example</font>, [
{<font color="#FF6600">port</font>, <font color="#993399">8443</font>},
- {<font color="#FF6600">cert</font>, <font color="#FF0000">"path/to/cert.pem"</font>}
+ {<font color="#FF6600">certfile</font>, <font color="#FF0000">"path/to/cert.pem"</font>}
], #{
<font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
})<font color="#990000">.</font></tt></pre>
@@ -128,7 +128,7 @@ http://www.gnu.org/software/src-highlite -->
<pre><tt><font color="#009900">Name</font> <font color="#990000">=</font> <font color="#FF6600">example</font>,
{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_tls</font></b>(<font color="#009900">Name</font>, [
- {<font color="#FF6600">cert</font>, <font color="#FF0000">"path/to/cert.pem"</font>}
+ {<font color="#FF6600">certfile</font>, <font color="#FF0000">"path/to/cert.pem"</font>}
], #{
<font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
}),
diff --git a/docs/en/cowboy/2.6/manual/cowboy_req.cert/index.html b/docs/en/cowboy/2.6/manual/cowboy_req.cert/index.html
index 16854249..c565275c 100644
--- a/docs/en/cowboy/2.6/manual/cowboy_req.cert/index.html
+++ b/docs/en/cowboy/2.6/manual/cowboy_req.cert/index.html
@@ -79,7 +79,7 @@ http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt>{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy:start_tls</font></b>(<font color="#FF6600">example</font>, [
{<font color="#FF6600">port</font>, <font color="#993399">8443</font>},
- {<font color="#FF6600">cert</font>, <font color="#FF0000">"path/to/cert.pem"</font>},
+ {<font color="#FF6600">certfile</font>, <font color="#FF0000">"path/to/cert.pem"</font>},
{<font color="#FF6600">verify</font>, <font color="#FF6600">verify_peer</font>}
], #{
<font color="#0000FF">env</font> <font color="#990000">=&gt;</font> #{<font color="#0000FF">dispatch</font> <font color="#990000">=&gt;</font> <font color="#009900">Dispatch</font>}
diff --git a/docs/index.xml b/docs/index.xml
index 184d1467..1ce55c1a 100644
--- a/docs/index.xml
+++ b/docs/index.xml
@@ -5806,7 +5806,7 @@ Using the default configuration this function will always return undefined. You
<description>Name cowboy_req:cert - Client TLS certificate
Description cert(Req :: cowboy_req:req()) -&amp;gt; binary() | undefined Return the peer&amp;apos;s TLS certificate.
Using the default configuration this function will always return undefined. You need to explicitly configure Cowboy to request the client certificate. To do this you need to set the verify transport option to verify_peer:
-{ok, _} = cowboy:start_tls(example, [ {port, 8443}, {cert, &#34;path/to/cert.pem&#34;}, {verify, verify_peer} ], #{ env =&amp;gt; #{dispatch =&amp;gt; Dispatch} }).</description>
+{ok, _} = cowboy:start_tls(example, [ {port, 8443}, {certfile, &#34;path/to/cert.pem&#34;}, {verify, verify_peer} ], #{ env =&amp;gt; #{dispatch =&amp;gt; Dispatch} }).</description>
</item>
<item>
diff --git a/donate/index.html b/donate/index.html
index 584462c0..dba6642c 100644
--- a/donate/index.html
+++ b/donate/index.html
@@ -780,6 +780,12 @@
+
+
+
+
+
+
<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
@@ -2255,10 +2261,6 @@
-
-
-
-
</div>
</div>
</div>
diff --git a/index.html b/index.html
index 22bc24c6..8ebfeb1b 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
<html lang="en">
<head>
- <meta name="generator" content="Hugo 0.53" />
+ <meta name="generator" content="Hugo 0.55.6" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
@@ -919,14 +919,16 @@
- <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>
-
-
+
+ <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 35cf82bb..96b47b69 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>Tue, 25 Dec 2018 07:00:00 +0100</lastBuildDate>
+ <lastBuildDate>Tue, 11 Jun 2019 07:00:00 +0100</lastBuildDate>
<atom:link href="https://ninenines.eu/index.xml" rel="self" type="application/rss+xml" />
@@ -3584,6 +3584,18 @@ HTTP IANA Registries HTTP Method Registry HTTP Status Code Registry Message He
</item>
<item>
+ <title>Joe Armstrong the rubber duck</title>
+ <link>https://ninenines.eu/articles/joe_the_rubber_duck/</link>
+ <pubDate>Tue, 11 Jun 2019 07:00:00 +0100</pubDate>
+
+ <guid>https://ninenines.eu/articles/joe_the_rubber_duck/</guid>
+ <description>Joe Armstrong passed away a couple months ago. This was a sad day, completely unexpected to me, and he will be sorely missed.
+Great eulogies were written.
+My most striking memory of Joe was during dinner at his place after a conference in Stockholm many years ago. Joe was describing his rubber duck debugging method and introduced us to his famous rubber duck.
+&amp;quot;When you can&amp;apos;t figure it out, ask the duck!</description>
+ </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>
@@ -6312,7 +6324,7 @@ Using the default configuration this function will always return undefined. You
<description>Name cowboy_req:cert - Client TLS certificate
Description cert(Req :: cowboy_req:req()) -&amp;gt; binary() | undefined Return the peer&amp;apos;s TLS certificate.
Using the default configuration this function will always return undefined. You need to explicitly configure Cowboy to request the client certificate. To do this you need to set the verify transport option to verify_peer:
-{ok, _} = cowboy:start_tls(example, [ {port, 8443}, {cert, &#34;path/to/cert.pem&#34;}, {verify, verify_peer} ], #{ env =&amp;gt; #{dispatch =&amp;gt; Dispatch} }).</description>
+{ok, _} = cowboy:start_tls(example, [ {port, 8443}, {certfile, &#34;path/to/cert.pem&#34;}, {verify, verify_peer} ], #{ env =&amp;gt; #{dispatch =&amp;gt; Dispatch} }).</description>
</item>
<item>
diff --git a/res/joe_the_rubber_duck.jpg b/res/joe_the_rubber_duck.jpg
new file mode 100644
index 00000000..7094ee35
--- /dev/null
+++ b/res/joe_the_rubber_duck.jpg
Binary files differ
diff --git a/services/index.html b/services/index.html
index 13fadab2..d8c6d916 100644
--- a/services/index.html
+++ b/services/index.html
@@ -806,6 +806,12 @@
+
+
+
+
+
+
<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
@@ -2281,10 +2287,6 @@
-
-
-
-
</div>
</div>
</div>
diff --git a/sitemap.xml b/sitemap.xml
index e57c9151..ad76a35b 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1295,6 +1295,23 @@
</url>
<url>
+ <loc>https://ninenines.eu/articles/</loc>
+ <lastmod>2019-06-11T07:00:00+01:00</lastmod>
+ <priority>0</priority>
+ </url>
+
+ <url>
+ <loc>https://ninenines.eu/articles/joe_the_rubber_duck/</loc>
+ <lastmod>2019-06-11T07:00:00+01:00</lastmod>
+ </url>
+
+ <url>
+ <loc>https://ninenines.eu/</loc>
+ <lastmod>2019-06-11T07:00:00+01:00</lastmod>
+ <priority>0</priority>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/articles/merry-christmas-2018/</loc>
<lastmod>2018-12-25T07:00:00+01:00</lastmod>
</url>
@@ -1520,12 +1537,6 @@
</url>
<url>
- <loc>https://ninenines.eu/articles/</loc>
- <lastmod>2018-12-25T07:00:00+01:00</lastmod>
- <priority>0</priority>
- </url>
-
- <url>
<loc>https://ninenines.eu/categories/</loc>
<priority>0</priority>
</url>
@@ -1656,12 +1667,6 @@
</url>
<url>
- <loc>https://ninenines.eu/</loc>
- <lastmod>2018-12-25T07:00:00+01:00</lastmod>
- <priority>0</priority>
- </url>
-
- <url>
<loc>https://ninenines.eu/docs/en/ranch/1.2/manual/</loc>
</url>