Even Faster Web Sites

Errata for Even Faster Web Sites

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. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed
Page back cover
second bullet

Change

Steve Souders
Steve Souders
O'Reilly AuthorO'Reilly Blogger 
Jul 01, 2009 
Printed
Page ix
bottom

Expand the Appendix to include a list of the tools.

Steve Souders
Steve Souders
O'Reilly AuthorO'Reilly Blogger 
Jul 01, 2009 
Printed
Page Fig 1-1
Figure 1-1

In Figure 1-1, "iteration" is misspelled.

Note from the Author or Editor:
Yes, please change "itertion" to "iteration".

Andrew Hinton
Andrew Hinton
O'Reilly Author 
Jul 23, 2009 
Printed
Page pages 49 and 57
code sample

Aaron Peters sent in this bug fix: In addition to checking for readyState "loaded", it's necessary to check for "complete" to handle the situation where a script file is read from cache in IE. On page 49, change this line: if ( "loaded" === domscript.readyState && ! domscript.onloadDone ) { to this: if ( ( "loaded" === domscript.readyState || "complete" === domscript.readyState ) && ! domscript.onloadDone ) { If you have to wrap the text, put '&& ! domscript.onloadDone ) {' on the next line, and left-align it with '( "loaded" ==='. In other words the first "&" of '&& ! dom" should be under the paren of '( "loaded" ==='. On page 57, change this line: if ( "loaded" === domscript.readyState && to this: if ( ( "loaded" === domscript.readyState || "complete" === domscript.readyState ) &&

Steve Souders
Steve Souders
O'Reilly AuthorO'Reilly Blogger 
Sep 30, 2009 
Printed
Page 7-1 7-4
Figures 7-1 and 7-4

In Figures 7-1 and 7-4, the "Global object" box should not contain "num2."

Note from the Author or Editor:
Correct - please remove "num2" from figures 7-1 and 7-4 from the "Global object" box. Make sure to leave it in the "Activation object" box of figure 7-1.

Andrew Hinton
Andrew Hinton
O'Reilly Author 
Jul 23, 2009 
Printed
Page 23
Sentence beginning "Thus, if..."

On page 23, in the sentence beginning "Thus, if...," the term "was" should instead read "were."

Note from the Author or Editor:
Yes, please change "was" to "were".

Andrew Hinton
Andrew Hinton
O'Reilly Author 
Jul 23, 2009 
Printed
Page 33
document.write Script Tag' script

I think that document.write("<script type='text/javascript' src='A.js'><\/script>"); should be document.write("<script type='text\/javascript' src='A.js'><\/script>");

Note from the Author or Editor:
Yes, add the extra backslash.

Louis-Martin Carrière  Feb 25, 2010 
Printed
Page 36
first sentence (continued from previous page)

The complete sentence is: For Internet Explorer, the Script Defer and document.write Script Tag approaches that guarantee scripts are executed in the order listed, regardless of which is downloaded first. It should be: ... approaches guarantee ... or ... are approaches that guarantee ...

Note from the Author or Editor:
Change "that guarantee" to "guarantee that": For Internet Explorer, the Script Defer and document.write Script Tag approaches GUARANTEE THAT scripts are executed in the order listed, regardless of which is downloaded first.

Anonymous  Jul 03, 2009 
Printed
Page 37
Figure 4-2, note e

Note e says: See note b above. Shouldn't that be: See note a above. ???

Note from the Author or Editor:
Change footnote "e" on page 37 to say "See note a above."

Anonymous  Jul 05, 2009 
Printed
Page 57
code sample

There's a "!" missing. Change this line: domscript.onloadDone ) { to this: ! domscript.onloadDone ) {

Steve Souders
Steve Souders
O'Reilly AuthorO'Reilly Blogger 
Sep 30, 2009 
Printed
Page 80
Figure 7-1

num2 should not be in the Global object table

Anonymous  Jul 31, 2009 
Printed
Page 81
last paragraph

Is the explanation of fig.7-2 and fig.7-3 reversed? Or, are the captions for fig.7-2 and fig.7-3 on page 82 wrong?

Note from the Author or Editor:
The text in the paragraph at the bottom of page 81 needs to be flipped to read: Figure 7-2 illustrates the amount of time it takes to read from an identifier based on its scope chain depth, and Figure 7-3 illustrates the amount of time it takes to write to a variable based on scope chain depth (a depth of 1 signifies a local identifier).

Anonymous  Sep 06, 2009 
Printed
Page 84
Figure 7-4

num2 should not be in the Global object table

Anonymous  Jul 31, 2009 
Printed
Page 95
"The terminal condition evaluates to true..."

On page 95, in the phrase "the terminal condition evaluates to true," that instead should read "false."

Note from the Author or Editor:
Correct - please change "true" to "false".

Andrew Hinton
Andrew Hinton
O'Reilly Author 
Jul 23, 2009 
Printed
Page 111
code sample

setTimeout(function(){xhrRequest... I believe this should be setInterval() because this is supposed to be an example of polling, not a single call.

Note from the Author or Editor:
Yes, please replace "setTimeout" with "setInterval".

Michael Bolin  Mar 01, 2010 
Printed
Page 114
code sample

The variable "tunnel" is not declared -- it is not clear where it comes from. I think it is supposed to be "htmlfile" and if "htmlfile" were declared outside the function, it would make things clearer because the "note, do not use 'var tunnel...'" comment could be removed and then it would also improve the code snippet at the top of page 115 because it would make it clear why htmlfile is not prefixed with 'var' in foreverFrameClose().

Note from the Author or Editor:
I checked with Dylan: Yes, please repeat both occurrences of "tunnel" with "htmlfile".

Michael Bolin  Mar 01, 2010 
Printed
Page 115
2nd paragraph

IE8 does not support XHR streaming, so it should be removed from the list of browsers. The sentence should read as follows:

Note from the Author or Editor:
This is accurate. Please make the change.

Steve Souders  Aug 10, 2009 
Printed
Page 136
1st paragraph, 2nd sentence

In the sentence: The answer is more than 16 million: 255 * 255 * 255 (or 2^24) gives you 16,777,216 combinations. 255 * 255 * 255 should be 256 * 256 * 256

Note from the Author or Editor:
Change "255 * 255 * 255" to "256 * 256 * 256".

Anonymous  Jul 03, 2009 
Printed
Page 147
Sentence beginning "However, the same icon..."

On page 147, in the sentence beginning "However, the same icon...," the "was" should instead read "were."

Note from the Author or Editor:
Yes, please change "was" to "were".

Andrew Hinton
Andrew Hinton
O'Reilly Author 
Jul 23, 2009 
Printed
Page 149
Figure 10-7, under the Binary transparency label

Note from the Author or Editor:
In the text at the top of figure 10-7, change "creats" to "creates": Careful selection of pixels and the human eye's tendency to smooth small differenes CREATES a rounded corner

Anonymous  Jul 05, 2009 
Printed, PDF, Safari Books Online, Other Digital Version
Page 154
Figure 10-11

In the bottom-left callout in Figure 10-11, change "Maintenence" to "Maintenance"

Nellie McKesson
Nellie McKesson
O'Reilly Author 
May 16, 2011 
Printed
Page 185
Figure 13-2

Figures 13-2 and 13-3 are identical.

Note from the Author or Editor:
Figure 13-3 is wrong. Between QC1 and QC2, the figure was changed. Go back to QC1 or earlier .doc files and retrieve the figure. Then, fix it up to have the appropriate bar and text spacing.

Anonymous  Jul 05, 2009 
Printed
Page 187
Figure 13-4

The Internet Explorer HTTP waterfall chart shows the iframe and stylesheet downloading in parallel, but lists the stylesheet first. The section discusses putting stylesheets after iframes and the other charts in the same figure list the iframe first. I'm not sure if there's a reason for that, but if not, I think it would be clearer the other way around.

Note from the Author or Editor:
The figure is correct. Even though the stylesheet is listed AFTER the iframe in the page, IE does something weird and actually starts downloading it BEFORE the iframe. That's why it occurs before the iframe in the figure only for IE. So the figure is 100% accurate and should be left as-is. However, this is confusing. Please add a footnote at the end of this sentence: "Firefox’s waterfall chart, as shown in Figure 13-4, takes eight seconds to load." The footnote should say: "Even though the stylesheet occurs after the iframe, Internet Explorer starts downloading it before the iframe, as shown in Figure 13-4."

Anonymous  Jul 13, 2009 
Printed
Page 203
2nd paragraph, first sentence

Note from the Author or Editor:
Change "use" to "uses" in this sentence: If, like AOL and Facebook, your site USES a large number of...

Anonymous  Jul 05, 2009 
Printed
Page 214
"Web-Pagetest. AOL"

On page 214, "Web-Pagetest. AOL" should instead read "Web-Pagetest, then AOL," because the first sentence is one long absolute phrase (i.e., lacking a finite noun and verb).

Note from the Author or Editor:
Replace this sentence: "If you’re trying to debug a problem with your current Internet connection, or you’re loading a page that depends on your current cookies, that can’t be captured by WebPagetest." with this sentence: "WebPagetest can't be used to debug a problem with your current Internet connection or to analyze pages that require your current cookies."

Andrew Hinton
Andrew Hinton
O'Reilly Author 
Jul 23, 2009