summaryrefslogtreecommitdiffstats
path: root/archives/extend/attachments/20130103/d9dbc1a5/attachment.html
blob: 7a05b607b98cb33834ad1d511fdff623a1dd812a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<tt>
&lt;div&nbsp;dir=&quot;ltr&quot;&gt;ok&lt;br&gt;&lt;/div&gt;&lt;div&nbsp;class=&quot;gmail_extra&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div&nbsp;class=&quot;gmail_quote&quot;&gt;On&nbsp;Thu,&nbsp;Jan&nbsp;3,&nbsp;2013&nbsp;at&nbsp;5:51&nbsp;PM,&nbsp;Loïc&nbsp;Hoguin&nbsp;&lt;span&nbsp;dir=&quot;ltr&quot;&gt;&lt;&lt;a&nbsp;href=&quot;mailto:[email protected]&quot;&nbsp;target=&quot;_blank&quot;&gt;[email protected]&lt;/a&gt;&gt;&lt;/span&gt;&nbsp;wrote:&lt;br&gt;<br>
&lt;blockquote&nbsp;class=&quot;gmail_quote&quot;&nbsp;style=&quot;margin:0&nbsp;0&nbsp;0&nbsp;.8ex;border-left:1px&nbsp;#ccc&nbsp;solid;padding-left:1ex&quot;&gt;Existing&nbsp;acceptors&nbsp;were&nbsp;using&nbsp;the&nbsp;old&nbsp;options&nbsp;for&nbsp;the&nbsp;next&nbsp;connection&nbsp;and&nbsp;then&nbsp;switched&nbsp;to&nbsp;the&nbsp;new&nbsp;options.&nbsp;But&nbsp;that&nbsp;has&nbsp;been&nbsp;fixed&nbsp;a&nbsp;long&nbsp;time&nbsp;ago.&nbsp;Ranch&nbsp;doesn&#39;t&nbsp;have&nbsp;that&nbsp;issue.&lt;div&nbsp;class=&quot;im&quot;&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
On&nbsp;01/03/2013&nbsp;02:32&nbsp;PM,&nbsp;Max&nbsp;Lapshin&nbsp;wrote:&lt;br&gt;<br>
&lt;/div&gt;&lt;blockquote&nbsp;class=&quot;gmail_quote&quot;&nbsp;style=&quot;margin:0&nbsp;0&nbsp;0&nbsp;.8ex;border-left:1px&nbsp;#ccc&nbsp;solid;padding-left:1ex&quot;&gt;&lt;div&nbsp;class=&quot;im&quot;&gt;<br>
I&nbsp;mean&nbsp;situation&nbsp;that&nbsp;after&nbsp;cowboy:update_options&nbsp;existing&nbsp;acceptors&nbsp;are&lt;br&gt;<br>
still&nbsp;working&nbsp;with&nbsp;old&nbsp;routes.&lt;br&gt;<br>
Currently&nbsp;it&nbsp;is&nbsp;useless&nbsp;API,&nbsp;so&nbsp;I&nbsp;have&nbsp;to&nbsp;stop&nbsp;cowboy&nbsp;and&nbsp;start&nbsp;it&nbsp;back.&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
On&nbsp;Thu,&nbsp;Jan&nbsp;3,&nbsp;2013&nbsp;at&nbsp;4:46&nbsp;PM,&nbsp;Loïc&nbsp;Hoguin&nbsp;&lt;&lt;a&nbsp;href=&quot;mailto:[email protected]&quot;&nbsp;target=&quot;_blank&quot;&gt;[email protected]&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;div&nbsp;class=&quot;im&quot;&gt;<br>
&lt;mailto:&lt;a&nbsp;href=&quot;mailto:[email protected]&quot;&nbsp;target=&quot;_blank&quot;&gt;[email protected]&lt;/a&gt;&gt;&gt;&nbsp;wrote:&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp;Haven&#39;t&nbsp;had&nbsp;any&nbsp;stability&nbsp;issue.&nbsp;What&nbsp;we&nbsp;did&nbsp;here&nbsp;is&nbsp;ensure&nbsp;that&lt;br&gt;<br>
 &nbsp; &nbsp;when&nbsp;any&nbsp;process&nbsp;gets&nbsp;killed&nbsp;for&nbsp;any&nbsp;reason,&nbsp;especially&nbsp;reasons&nbsp;we&lt;br&gt;<br>
 &nbsp; &nbsp;can&#39;t&nbsp;foresee,&nbsp;Ranch&nbsp;continues&nbsp;to&nbsp;work&nbsp;as&nbsp;expected.&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp;Ranch&nbsp;not&nbsp;updating&nbsp;protocol&nbsp;options&nbsp;for&nbsp;existing&nbsp;connections&nbsp;isn&#39;t&nbsp;a&lt;br&gt;<br>
 &nbsp; &nbsp;problem,&nbsp;it&nbsp;won&#39;t&nbsp;be&nbsp;&quot;fixed&quot;.&nbsp;Ranch&nbsp;can&#39;t&nbsp;guess&nbsp;how&nbsp;connection&lt;br&gt;<br>
 &nbsp; &nbsp;processes&nbsp;are&nbsp;implemented.&nbsp;It&#39;s&nbsp;up&nbsp;to&nbsp;you&nbsp;to&nbsp;allow&nbsp;this&nbsp;if&nbsp;you&nbsp;need&lt;br&gt;<br>
 &nbsp; &nbsp;it.&nbsp;The&nbsp;upgrade&nbsp;updates&nbsp;the&nbsp;options&nbsp;for&nbsp;all&nbsp;acceptors&nbsp;and&nbsp;all&nbsp;future&lt;br&gt;<br>
 &nbsp; &nbsp;connections,&nbsp;that&#39;s&nbsp;it.&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp;On&nbsp;01/03/2013&nbsp;10:30&nbsp;AM,&nbsp;Max&nbsp;Lapshin&nbsp;wrote:&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Loic,&nbsp;it&nbsp;would&nbsp;be&nbsp;great&nbsp;to&nbsp;hear&nbsp;a&nbsp;bit,&nbsp;what&nbsp;problems&nbsp;have&nbsp;you&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;met&nbsp;with.&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;What&nbsp;issues&nbsp;with&nbsp;stability&nbsp;can&nbsp;be&nbsp;in&nbsp;acceptor&nbsp;pool?&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Also&nbsp;I&nbsp;have&nbsp;question&nbsp;about&nbsp;updating&nbsp;protocol&nbsp;options:&nbsp;have&nbsp;you&nbsp;done&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;something&nbsp;with&nbsp;the&nbsp;problem&nbsp;that&nbsp;after&nbsp;updating&nbsp;protocol&nbsp;options&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;existing&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;workers&nbsp;are&nbsp;running&nbsp;with&nbsp;old&nbsp;config?&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;On&nbsp;Tuesday,&nbsp;December&nbsp;25,&nbsp;2012,&nbsp;Loïc&nbsp;Hoguin&nbsp;wrote:&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ho&nbsp;ho&nbsp;ho!&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; I&nbsp;have&nbsp;just&nbsp;tagged&nbsp;version&nbsp;0.6.0&nbsp;of&nbsp;the&nbsp;Ranch&nbsp;project!&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ranch&nbsp;is&nbsp;a&nbsp;socket&nbsp;acceptor&nbsp;pool&nbsp;for&nbsp;TCP&nbsp;protocols.&lt;br&gt;<br>
&lt;br&gt;&lt;/div&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;a&nbsp;href=&quot;https://github.com/extend/____ranch&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/extend/____&lt;u&gt;&lt;/u&gt;ranch&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;https://github.com/extend/__ranch&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/extend/__&lt;u&gt;&lt;/u&gt;ranch&lt;/a&gt;&gt;&lt;div&nbsp;class=&quot;im&quot;&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;https://github.com/extend/__ranch&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/extend/__&lt;u&gt;&lt;/u&gt;ranch&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;https://github.com/extend/ranch&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/extend/&lt;u&gt;&lt;/u&gt;ranch&lt;/a&gt;&gt;&gt;&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ranch&nbsp;is&nbsp;used&nbsp;by&nbsp;the&nbsp;next&nbsp;version&nbsp;of&nbsp;Cowboy,&nbsp;0.8.0,&nbsp;set&nbsp;to&nbsp;be&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; released&nbsp;early&nbsp;February,&nbsp;but&nbsp;also&nbsp;in&nbsp;Basho&#39;s&nbsp;Riak&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;multi-data&nbsp;center&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; replication&nbsp;amongst&nbsp;others.&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; All&nbsp;tickets&nbsp;have&nbsp;been&nbsp;resolved.&nbsp;A&nbsp;significant&nbsp;contribution&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;was&nbsp;made&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; by&nbsp;Andrew&nbsp;Majorov&nbsp;to&nbsp;improve&nbsp;the&nbsp;fault&nbsp;tolerance&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;capabilities&nbsp;of&nbsp;the&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; application,&nbsp;making&nbsp;sure&nbsp;it&nbsp;always&nbsp;restarts&nbsp;properly&nbsp;when&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;things&nbsp;go&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; wrong.&nbsp;This&nbsp;has&nbsp;been&nbsp;made&nbsp;possible&nbsp;thanks&nbsp;to&nbsp;the&nbsp;amazing&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;project&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from&nbsp;Daniel&nbsp;Luna,&nbsp;chaos_monkey&lt;br&gt;&lt;/div&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&lt;a&nbsp;href=&quot;https://github.com/dluna/____chaos_monkey&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/dluna/____&lt;u&gt;&lt;/u&gt;chaos_monkey&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;https://github.com/dluna/__chaos_monkey&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/dluna/__&lt;u&gt;&lt;/u&gt;chaos_monkey&lt;/a&gt;&gt;&lt;div&nbsp;class=&quot;im&quot;&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;&lt;a&nbsp;href=&quot;https://github.com/dluna/__chaos_monkey&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/dluna/__&lt;u&gt;&lt;/u&gt;chaos_monkey&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;https://github.com/dluna/chaos_monkey&quot;&nbsp;target=&quot;_blank&quot;&gt;https://github.com/dluna/&lt;u&gt;&lt;/u&gt;chaos_monkey&lt;/a&gt;&gt;&gt;).&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The&nbsp;guide&nbsp;has&nbsp;also&nbsp;been&nbsp;improved&nbsp;and&nbsp;completed.&lt;br&gt;<br>
&lt;br&gt;&lt;/div&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;a&nbsp;href=&quot;http://ninenines.eu/docs/en/____ranch/HEAD/guide/introduction&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu/docs/en/__&lt;u&gt;&lt;/u&gt;__ranch/HEAD/guide/&lt;u&gt;&lt;/u&gt;introduction&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;http://ninenines.eu/docs/en/__ranch/HEAD/guide/introduction&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu/docs/en/_&lt;u&gt;&lt;/u&gt;_ranch/HEAD/guide/introduction&lt;/a&gt;&lt;u&gt;&lt;/u&gt;&gt;&lt;div&gt;&lt;div&nbsp;class=&quot;h5&quot;&gt;&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;http://ninenines.eu/docs/en/__ranch/HEAD/guide/introduction&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu/docs/en/_&lt;u&gt;&lt;/u&gt;_ranch/HEAD/guide/introduction&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;http://ninenines.eu/docs/en/ranch/HEAD/guide/introduction&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu/docs/en/&lt;u&gt;&lt;/u&gt;ranch/HEAD/guide/introduction&lt;/a&gt;&gt;&lt;u&gt;&lt;/u&gt;&gt;&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If&nbsp;the&nbsp;guide&nbsp;isn&#39;t&nbsp;enough,&nbsp;drop&nbsp;by&nbsp;our&nbsp;new&nbsp;IRC&nbsp;channel&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;dedicated&nbsp;to&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Cowboy,&nbsp;Ranch&nbsp;and&nbsp;all&nbsp;our&nbsp;other&nbsp;projects!&nbsp;#ninenines&nbsp;on&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Freenode.&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Following&nbsp;is&nbsp;the&nbsp;list&nbsp;of&nbsp;change&nbsp;since&nbsp;last&nbsp;time:&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Improve&nbsp;fault&nbsp;tolerance&nbsp;thanks&nbsp;to&nbsp;chaos_monkey&nbsp;testing&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Add&nbsp;&#39;nodelay&#39;&nbsp;option&nbsp;to&nbsp;transports&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Add&nbsp;&#39;verify&#39;&nbsp;option&nbsp;to&nbsp;ranch_ssl&nbsp;transport&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Add&nbsp;&#39;socket&#39;&nbsp;option&nbsp;to&nbsp;pass&nbsp;an&nbsp;already&nbsp;open&nbsp;socket&nbsp;to&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;the&nbsp;listener&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Add&nbsp;Transport:sendfile/2&nbsp;function&nbsp;(uses&nbsp;a&nbsp;fallback&nbsp;if&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;unavailable)&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Allow&nbsp;IP&nbsp;tuples&nbsp;in&nbsp;Transport:connect/3&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Add&nbsp;ranch:set_max_connections/2&nbsp;to&nbsp;update&nbsp;the&nbsp;value&nbsp;live&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *&nbsp; Add&nbsp;ranch:get_max_connections/1&nbsp;to&nbsp;retrieve&nbsp;it&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; We&nbsp;are&nbsp;always&nbsp;looking&nbsp;for&nbsp;feedback,&nbsp;especially&nbsp;now&nbsp;that&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;there&nbsp;is&nbsp;no&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ticket&nbsp;left&nbsp;open&nbsp;on&nbsp;this&nbsp;project.&nbsp;If&nbsp;you&nbsp;are&nbsp;using&nbsp;Ranch&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;and&nbsp;have&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; questions&nbsp;or&nbsp;needs&nbsp;that&nbsp;it&nbsp;doesn&#39;t&nbsp;cover,&nbsp;please&nbsp;send&nbsp;them&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;to&nbsp;us.&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Commercial&nbsp;support&nbsp;will&nbsp;be&nbsp;available&nbsp;starting&nbsp;from&nbsp;January,&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;ping&nbsp;me&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if&nbsp;you&nbsp;are&nbsp;interested.&nbsp;Details&nbsp;will&nbsp;be&nbsp;announced&nbsp;at&nbsp;a&nbsp;later&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;time&nbsp;on&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the&nbsp;&lt;a&nbsp;href=&quot;http://ninenines.eu&quot;&nbsp;target=&quot;_blank&quot;&gt;ninenines.eu&lt;/a&gt;&nbsp;&lt;&lt;a&nbsp;href=&quot;http://ninenines.eu&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu&lt;/a&gt;&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;http://ninenines.eu&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu&lt;/a&gt;&gt;&nbsp;mailing&nbsp;list.&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; I&nbsp;want&nbsp;to&nbsp;thank&nbsp;all&nbsp;contributors&nbsp;for&nbsp;helping&nbsp;this&nbsp;project&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;by&nbsp;opening&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tickets,&nbsp;sending&nbsp;patches&nbsp;and&nbsp;offering&nbsp;feedback.&nbsp;I&nbsp;am&nbsp;as&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;always&nbsp;very&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; grateful&nbsp;for&nbsp;any&nbsp;and&nbsp;all&nbsp;contributions.&nbsp;I&nbsp;wouldn&#39;t&nbsp;have&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;made&nbsp;it&nbsp;this&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; far&nbsp;without&nbsp;the&nbsp;tremendous&nbsp;help&nbsp;I&nbsp;receive&nbsp;everyday.&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thanks&nbsp;to&nbsp;all&nbsp;and&nbsp;have&nbsp;a&nbsp;nice&nbsp;holiday!&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Loïc&nbsp;Hoguin&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Erlang&nbsp;Santa&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Nine&nbsp;Nines&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;a&nbsp;href=&quot;http://ninenines.eu&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ______________________________&lt;u&gt;&lt;/u&gt;_____________________&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; erlang-questions&nbsp;mailing&nbsp;list&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;a&nbsp;href=&quot;mailto:[email protected]&quot;&nbsp;target=&quot;_blank&quot;&gt;[email protected]&lt;/a&gt;&nbsp;&lt;mailto:&lt;a&nbsp;href=&quot;mailto:[email protected]&quot;&nbsp;target=&quot;_blank&quot;&gt;erlang-questions@&lt;u&gt;&lt;/u&gt;erlang.org&lt;/a&gt;&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;a&nbsp;href=&quot;http://erlang.org/mailman/____listinfo/erlang-questions&quot;&nbsp;target=&quot;_blank&quot;&gt;http://erlang.org/mailman/____&lt;u&gt;&lt;/u&gt;listinfo/erlang-questions&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;http://erlang.org/mailman/__listinfo/erlang-questions&quot;&nbsp;target=&quot;_blank&quot;&gt;http://erlang.org/mailman/__&lt;u&gt;&lt;/u&gt;listinfo/erlang-questions&lt;/a&gt;&gt;&lt;div&nbsp;class=&quot;im&quot;&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;&lt;a&nbsp;href=&quot;http://erlang.org/mailman/__listinfo/erlang-questions&quot;&nbsp;target=&quot;_blank&quot;&gt;http://erlang.org/mailman/__&lt;u&gt;&lt;/u&gt;listinfo/erlang-questions&lt;/a&gt;&lt;br&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt;a&nbsp;href=&quot;http://erlang.org/mailman/listinfo/erlang-questions&quot;&nbsp;target=&quot;_blank&quot;&gt;http://erlang.org/mailman/&lt;u&gt;&lt;/u&gt;listinfo/erlang-questions&lt;/a&gt;&gt;&gt;&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
 &nbsp; &nbsp;--&lt;br&gt;<br>
 &nbsp; &nbsp;Loïc&nbsp;Hoguin&lt;br&gt;<br>
 &nbsp; &nbsp;Erlang&nbsp;Cowboy&lt;br&gt;<br>
 &nbsp; &nbsp;Nine&nbsp;Nines&lt;br&gt;<br>
 &nbsp; &nbsp;&lt;a&nbsp;href=&quot;http://ninenines.eu&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu&lt;/a&gt;&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
&lt;/div&gt;&lt;/blockquote&gt;&lt;div&nbsp;class=&quot;HOEnZb&quot;&gt;&lt;div&nbsp;class=&quot;h5&quot;&gt;<br>
&lt;br&gt;<br>
&lt;br&gt;<br>
--&nbsp;&lt;br&gt;<br>
Loïc&nbsp;Hoguin&lt;br&gt;<br>
Erlang&nbsp;Cowboy&lt;br&gt;<br>
Nine&nbsp;Nines&lt;br&gt;<br>
&lt;a&nbsp;href=&quot;http://ninenines.eu&quot;&nbsp;target=&quot;_blank&quot;&gt;http://ninenines.eu&lt;/a&gt;&lt;br&gt;<br>
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;<br>

</tt>