Errata

Building Web Applications with Erlang

Errata for Building Web Applications with Erlang

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
PDF Page ix
1st paragraph

using the c(Moudule). command
remove the letter 'u'
should be using the c(Module). command

Mohamed Chenini  Feb 28, 2012 
PDF Page ix
7th paragraph

"HTTP's request-response model, you should explore web sockets Chapter 6" should be "HTTP's request-response model, you should explore websockets in Chapter 6". Websocket is being mentioned as 'web socket' in some other places also.

Damodharan R  May 10, 2012 
PDF Page x
3rd paragraph

"...an Erlang application, beyod" to ""...an Erlang application, beyond"

Damodharan R  May 10, 2012 
PDF Page x
4th paragraph

extra '>' after Chapter8

Damodharan R  May 10, 2012 
PDF Page x
6th paragraph

"Automated Testing Erlang has a test framework "EUnit" that is documented in "Erlang
Programming" should be "To automate testing Erlang has a test framework "EUnit" that is documented in "Erlang Programming"

Damodharan R  May 10, 2012 
PDF Page x
6th paragraph

"These are beyond the scope of this book, but can be quite useful in a for development." should be "These are beyond the scope of this book, but can be quite useful for development."

Damodharan R  May 10, 2012 
PDF Page xi
under diagnosing the error 1st paragraph

"show a screen link Figure P-1" should be "show a screen like Figure P-1".

"First of All" should be "First of all"

Damodharan R  May 10, 2012 
PDF Page xii
4th paragraph

"One nice thing about Erlang is that if the system is setup in a reasonable you should" should be "One nice thing about Erlang is that if the system is setup in a reasonable way you should"

Damodharan R  May 10, 2012 
PDF Page xii
7th paragraph

"If you are having trouble with Mnesia tables you can you the table viewer" should be "If you are having trouble with Mnesia tables you can use the table viewer"

Damodharan R  May 10, 2012 
PDF Page 1
3rd paragraph

"think about how to build a system and droping many of" - droping should be dropping

Damodharan R  May 10, 2012 
PDF Page 1
5th paragraph

"and be able to upgraded in place without downtime." - upgraded should be upgrade

Damodharan R  May 10, 2012 
PDF Page 2
2nd paragraph

"Clearly, most systems written in Erlang will not achive" - achive should be achieve

Damodharan R  May 10, 2012 
PDF Page 3
2nd paragraph

"it must have been set at intial assignment." - intial should initial

Damodharan R  May 10, 2012 
PDF Page 3
6th paragraph (1st para under Lack of types)

"Type systems give programmers is a way" - remove is

Damodharan R  May 10, 2012 
PDF Page 4
5th paragraph

"This book builds an application using otp" - otp should be OTP

Damodharan R  May 10, 2012 
PDF Page 4
last paragraph last line and continued to next page

"It is obvious in this case how in this case the URL relates onto the" - "It is obvious in this case how the URL relates onto the"

Damodharan R  May 10, 2012 
PDF Page 5
1 st paragraph

As long as the server sets a ETag
change a to an like this
As long as the server sets an ETag

Mohamed Chenini  Feb 28, 2012 
PDF Page 5
3rd paragraph

"However SOAP does not make use very good use of HTTP" to "However SOAP does not make very good use of HTTP"

Damodharan R  May 10, 2012 
PDF Page 5
4th paragraph

"but it offers a consistent and powrful" - powrful should be powerful

Damodharan R  May 10, 2012 
PDF Page 5
7th paragraph

"Uniform Resource Identifiers (URIs) in this contnext" - contnext should be context

Damodharan R  May 10, 2012 
PDF Page 6
end paragraph

to have the monitoring process use the REST API from AWS
what is AWS? do you want to say Yaws?

Mohamed Chenini  Feb 28, 2012 
PDF Page 6
7th paragraph

"REST API from AWS or an other" = an other should be another

Damodharan R  May 10, 2012 
PDF Page 7
last paragraph

"much larger than than the" - remove extra thanr

Damodharan R  May 10, 2012 
PDF Page 8
4th paragraph

CPUS should be CPUs

Damodharan R  May 10, 2012 
PDF Page 8
5th paragraph

"today's cloud based paas platforms" - paas should be PAAS

Damodharan R  May 10, 2012 
PDF Page 9
end of page

work in a sensible manor.
It should be work in a sensible manner

Mohamed Chenini  Feb 28, 2012 
PDF Page 9
7th paragraph

"which is a loosely defined set of date storage" - date should be data

Damodharan R  May 10, 2012 
PDF Page 10
in CAP Theorem

this can making handling failures
should be
this can make handling failures much

Mohamed Chenini  Feb 28, 2012 
PDF Page 11
last paragraph, 3rd line

...it is also possible to setup Mnesia to server data.. -> "... it is also possible to setup Mnesia to serve data ..."

David Ellefsen  May 09, 2012 
PDF Page 11
1

"with partition tolerance and constancy"

"with partition tolerance and consistency"

Anonymous  Jul 22, 2012 
PDF Page 13
Riak paragraph

all the nodes most agree to the transaction.
it should be
all the nodes must agree to the transaction.

Mohamed Chenini  Feb 28, 2012 
PDF Page 15
United States

The paragraph is written twice

When building an application with Apache and PHP for each request the web server
must bring up a copy of the PHP interpreter and quite possibly re-compile the various
bits of PHP code that are to be run. This is an an expensive operation. By comparison
in Yaws the Erlang code is probably already compile and loaded, so in practice most
of the time all yaws will need to do is call the correct functiApache and PHP for each
request the web server must bring up a copy of the PHP interpreter and quite possibly
re-compile the various bits of PHP code that are to be run. This is an an expensive
operation. By comparison in Yaws the Erlang code is probably already compile and
loaded, so in practice most of the time all yaws will need to do is call the correct function.

Anonymous  Apr 21, 2012 
PDF Page 15
1st paragraph

"...web development enviorments to Erlang..." -> "... web development environments to Erlang..."

David Ellefsen  May 09, 2012 
PDF Page 16

There are a number of comamnd line switches
should be
There are a number of command line switches that

Mohamed Chenini  Feb 28, 2012 
PDF Page 16
7th paragraph, line 7

"... Alternativly we can use a number ..." -> "Alternatively we can use a number..."

David Ellefsen  May 09, 2012 
PDF Page 17
1st paragraph

(In the case where Yaws in embedded inside a larger Erlang application
change 'in' to 'is' like this:
(In the case where Yaws is embedded inside a larger Erlang application

Mohamed Chenini  Feb 28, 2012 
PDF Page 17
Using the CGI Interface

http://yaws.hyber.org/ website should be mentioned here:
The yaws web site has full details.

Mohamed Chenini  Feb 28, 2012 
PDF Page 17
7th paragraph, line 3

"...however many unix type systems will not allow...". "unix type" should be "UNIX-type","Unix-type", or "UNIX-like", however, The Open Group does not approve of this term. See: http://www.unix.org/questions_answers/faq.html#7a

Anonymous  May 09, 2012 
PDF Page 19
first line

can you add an appendix on how to compile a yaws application using rebar
and add the apendix reference here:

utility such as Make, Ant or Maven.

Mohamed Chenini  Feb 28, 2012 
Printed Page 21
1st paragraph

net_admin:ping/1 should be net_adm:ping/1.

CA Meijer  Jul 08, 2012 
PDF Page 22
1

parity

->

arity

Anonymous  Jul 23, 2012 
PDF Page 27
Templates and Erlydtl

The ErlyDTL project name should be capitalised correctly on this page.

David Ellefsen  May 09, 2012 
PDF Page 39
Lines 2 and 3

Wrong version ->

Username = yaws_api:queryvar(Arg, "Username"),
Password = yaws_api:queryvar(Arg, "Password"),

Correct version->

{ok, Username} = yaws_api:queryvar(Arg, "Username"),
{ok, Password} = yaws_api:queryvar(Arg, "Password"),

Description ->

queryvar(Arg, VarName)
This function is automatically included from yaws_api in all .yaws pages. It is used to search for a variable in the query-part of the url. Returns {ok, Val} or undefined. If a variable is defined multiple times, the function may also return {Val1, ....}.

Hamidreza Soleimani  Dec 07, 2013 
PDF Page 87
Para 1 of "Cowboy" section

"Cowboy https://github.com/extend/cowboy Is a new web server for Erlang that is designed to be small, fast and modular."

Is should be is.

Tim McNamara  Apr 09, 2012 
Printed Page 105
Example 9-8

The multi_cast_sup supervisor has stub code in it instead of the actual code required to start the multi_cast_server gen_server. E.g. 'AModule' should be multi_cast_server.

CA Meijer  Jul 08, 2012