Head First HTML5 Programming

Errata for Head First HTML5 Programming

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
PDF
Page xxii
Item 1 near the top of the page

"test editor" should be "text editor"

Larry Seltzer  Oct 08, 2011  Jan 06, 2012
PDF
Page xxv
Third paragraph

"But we assume that if you’re holding this book, you really want to learn about iPhone development." Not sure, but I think this text was copied and pasted from a book on iPhone development. This book might (haven't looked ahead) contain some information about mobile development with HTML5, but that's not its primary purpose!

Note from the Author or Editor:
Change to "you really want to learn about HTML5 and JavaScript."

Larry Seltzer  Oct 08, 2011  Jan 06, 2012
PDF
Page xxx
Near the bottom

The picture's label says "Rebeca Dunn-Kahn". The sentence at the bottom that lists the team members says "Rebeca Dunn-Krahn".

Note from the Author or Editor:
Replace Krahn with Kahn.

Larry Seltzer  Oct 08, 2011  Jan 06, 2012
Printed
Page xxx
Near the bottom

The correct spelling of my last name is Dunn-Krahn (not Duhn-Krahn or Dunn-Kahn)

Note from the Author or Editor:
Fixed

Rebeca Dunn-Krahn  Apr 19, 2012  Oct 19, 2012
PDF
Page 1
Second to last sentence on the page

through Webville to get sense for everything that goes into “HTML5.” The above text should probably be through Webville to get a sense for everything that goes into “HTML5.” IMHO, "for" should be replaced by "of". Also, the line that begins with "HTML5" is slightly outdented for no reason (a PDF generation error?).

Note from the Author or Editor:
Change "get sense for" to "get a sense of". Outdenting is correct; that's the way lines that start with quotation marks are supposed to look.

Larry Seltzer  Oct 09, 2011  Jan 06, 2012
PDF
Page 3
1st sentence

After taking a careful look at the HTML on the page 2, should be After taking a careful look at the HTML on page 2,

Note from the Author or Editor:
Change "on the page 2" to "on page 2" in the first sentence.

Larry Seltzer  Oct 09, 2011  Jan 06, 2012
PDF
Page 6
2nd to last paragraph

"In fact, what everyone is excited about is the ability to build rich, interactive pages (or even sophisticated web applications), and to support that HTML5 provides a whole family of technologies that works hand in hand with the HTML5 markup language." The above doesn't appear to be a sentence. It should probably be something like In fact, what everyone is excited about is the ability to build rich, interactive pages (or even sophisticated web applications), and to support a whole family of technologies that works hand in hand with the HTML5 markup language. or In fact, what everyone is excited about is the ability to build rich, interactive pages (or even sophisticated web applications), and the support that HTML5 provides for a whole family of technologies that works hand in hand with the HTML5 markup language.

Note from the Author or Editor:
I added a comma that I hope will clear things up, so it reads: "In fact, what everyone is excited about is the ability to build rich, interactive pages (or even sophisticated web applications), and to support that, HTML5 provides a whole family of technologies that works hand in hand with the HTML5 markup language."

Larry Seltzer  Oct 09, 2011  Jan 06, 2012
PDF
Page 10
Last paragraph

It says that "Head First HTML with CSS & XHTML" "proceeds" this book. It should have been "precedes" this book.

Note from the Author or Editor:
Change proceeds to precedes.

Steve Bryant  Nov 23, 2011  Jan 06, 2012
Printed
Page 16,33

Page 16 there is an exercise "who does what" there is a concept "New Markup". In solution in page 33 it says "New Elements" instead of "New Markup".

Note from the Author or Editor:
Fixed. Changed page 16 to say new elements.

Alex  May 10, 2012  Oct 19, 2012
PDF
Page 20
The 1st A (Answer) paragraph

"and the browser makers are well on to their way to implementing it." should be and the browser makers are well on their way to implementing it. (i.e., remove the word "to" that precedes "their")

Note from the Author or Editor:
Change "well on to their way" to "well on their way" in he answer to the first Q.

Larry Seltzer  Oct 10, 2011  Jan 06, 2012
Safari Books Online
40
Description of Rule #2

`you can also thrown in ' should be `you can also throw in'

Note from the Author or Editor:
Think this might be a duplicate. Replace "thrown in" with "throw in" in last sentence of para under Rule 2.

Daniel.Kullik  Dec 13, 2011  Jan 06, 2012
PDF
Page 50, 79
Bottom (both pages)

(Very trivial typo) Page 79 shows Life without ... Page 50 shows alert("life without ...". The 1st letter in the word life should be uppercased in both or lowercased in both (probably uppercased).

Note from the Author or Editor:
Change "life" to "Life" on page 50 in exercise code.

Larry Seltzer  Oct 12, 2011  Jan 06, 2012
PDF
Page 65
Top right

Check your answer with our solution and the end of the chapter before you go on. should be Check your answer with our solution at the end of the chapter before you go on.

Note from the Author or Editor:
Change "and the end" to "at the end" in the last sentence in the exercise instructions.

Larry Seltzer  Oct 12, 2011  Jan 06, 2012
PDF
Page 67
Above How to create an array

"Each value has a index number, starting with zero." should be Each value has an index number, starting with zero.

Note from the Author or Editor:
Change "a index" to "an index" in annotation on the left of the array illustration.

Larry Seltzer  Oct 21, 2011  Jan 06, 2012
PDF
Page 68
Bottom of page

"And now that we know how to get length of an array" should be And now that we know how to get the length of an array

Note from the Author or Editor:
Change "get length" to "get the length", second to last line on the page.

Larry Seltzer  Oct 21, 2011  Jan 06, 2012
PDF
Page 69
First paragraph (near top)

So, list item with id = “temp3” will read should be So, the list item with id = “temp3” will read

Note from the Author or Editor:
Change "So, list item..." to "So, the list item"

Larry Seltzer  Oct 21, 2011  Jan 06, 2012
PDF
Page 72
Bullet 4 in the middle of the page

"taking each randomly choosen word" should be taking each randomly chosen word

Note from the Author or Editor:
Change "choosen" to "chosen"

Larry Seltzer  Oct 21, 2011  Jan 06, 2012
PDF
Page 75
bullet 6, left column

Text is: Undefined means a variable hasn’t been assigned a value; null means the variable has the no value. Probably should read: Undefined means a variable hasn’t been assigned a value; null means the variable has no value.

Note from the Author or Editor:
fixed

lemuel  Mar 15, 2012  Oct 19, 2012
PDF
Page 78
Near the bottom

Oops -- see the correction for pages 50 and 79 -- page 78 also has alert("life ... life should be Life (assuming we've decided to uppercase all of them)

Note from the Author or Editor:
Change "life" to "Life" in exercise code.

Larry Seltzer  Oct 12, 2011  Jan 06, 2012
PDF
Page 81
Under the picture near the top left corner

"Your job is the act like you’re the browser." should be Your job is to act like you’re the browser.

Note from the Author or Editor:
Change "the act" to "to act"

Larry Seltzer  Oct 21, 2011  Jan 06, 2012
PDF
Page 90
Paragraph under the numbered list

"Go ahead an open up a new file" should be Go ahead and open up a new file

Note from the Author or Editor:
Change "an open" to "and open" on last line of 2nd para.

Larry Seltzer  Oct 23, 2011  Jan 06, 2012
Printed
Page 106
United States

In page 106: function handleButtonClick() { .... var ul = document.getElementById("list"); .... } Isn't this supposed to be function handleButtonClick() { .... var ul = document.getElementById("playlist"); .... } ?

Note from the Author or Editor:
Yes, should be "playlist"

Alejandro Cruz  Oct 15, 2012  Oct 19, 2012
PDF
Page 107
Paragraph below "Perfect timing"

"working together to build the first part of a web applications" should be working together to build the first part of a web application

Note from the Author or Editor:
Change "web applications" to "web application"

Larry Seltzer  Oct 23, 2011  Jan 06, 2012
PDF
Page 123
Paragraph in left column near bottom of page

"determines how visible they are to other part of your code" should be determines how visible they are to other parts of your code

Note from the Author or Editor:
change "other part" to "other parts"

Larry Seltzer  Oct 27, 2011  Jan 06, 2012
PDF
Page 139
Now Showing at the Webville Cinema Solution

The rating for movie1 ("Plan 9...") should be "2" as per previous page.

Note from the Author or Editor:
Changed rating to 2.

lemuel  Apr 10, 2012  Oct 19, 2012
Printed
Page 141
in the test code near the bottom of the page

The closing brace for the banzaiMovie object should be followed by a semicolon.

Note from the Author or Editor:
fixed in cS5.5 version of chapter

Donald Rind  Feb 24, 2013  May 31, 2013
PDF
Page 142
Last paragraph on the page

"To call a method on a object we use ..." should be To call a method on an object we use ...

Note from the Author or Editor:
"an object" instead of "a object"

Anonymous  Nov 28, 2011  Jan 06, 2012
Other Digital Version
142
Code block

The fido object is missing a comma after the "loves" property.

Note from the Author or Editor:
Added comma

Anonymous  Jun 08, 2012  Oct 19, 2012
PDF
Page 147
last paragraph

"returns an new object" should be "returns a new object".

Note from the Author or Editor:
Change "an new" to "a new" on last line on the page.

Anonymous  Oct 16, 2011  Jan 06, 2012
Printed
Page 161
HTML5cross 7 Down description

Handler functions get assigned to properties, not vice versa, so "A property in window that we assign to a handler function." should be "We assign a handler function to this property in window."

Note from the Author or Editor:
7 down in the crossword, the clue should read: "We assign a handler function to this property in window."

Donald Rind  Feb 24, 2013  May 31, 2013
PDF
Page 166
2nd paragraph below "Location, Location, Location"

"That’s said, there are a few things to know about location before we get started. Let’s check it out..." should be That said, there are a few things to know about location before we get started. Let’s check it out...

Note from the Author or Editor:
I think this might be a duplicate. Change "That's" to "That", second to last sentence of second para.

Anonymous  Dec 07, 2011  Jan 06, 2012
PDF
Page 180
top

Statement is made: To compute the distance between two coordinates most everyone uses the Haversine equation; you’ll find it implemented below. This is not accurate. The formula specified is the Spherical Law of Cosines: The simple spherical law of cosines formula (cos c = cos a cos b + sin a sin b cos C) gives well-conditioned results down to distances as small as around 1 metre. (Note that the geodetic form of the law of cosines is rearranged from the canonical one so that the latitude can be used directly, rather than the colatitude). d = acos(sin(lat1).sin(lat2)+cos(lat1).cos(lat2).cos(long2−long1)).R The ‘haversine’ formula to calculate the great-circle distance between two points is a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2) c = 2.atan2(√a, √(1−a)) d = R.c where R is earth’s radius (mean radius = 6,371km); References: http://en.wikipedia.org/wiki/Haversine_formula http://www.movable-type.co.uk/scripts/latlong.html

Note from the Author or Editor:
Change "Haversine" to "Spherical Law of Cosines"

David C.  Oct 14, 2011  Jan 06, 2012
Printed
Page 180, 208, 212
near top

Note that correcting the equation name to "Spherical Law of Cosines" is needed, but when it is done the chapter 5 HTML5cross (on page 208, with the answer on 212) will be broken. "Haversine" will no longer be available as the answer to 6 Down.

Note from the Author or Editor:
Fixed in the crossword for next reprint

Donald Rind  Feb 27, 2013  May 31, 2013
PDF
Page 184
The function displayLocation(position)

On line 7 of within the scope of the displayLocation(position) function, the distance.innerHTML = "You are" + km + "km from the WickedlySmart HQ"; should be corrected as div.innerHTML = "You are" + km + "km from the WickedlySmart HQ"; The var div was declared on the previous line var div = document.getElementyById("distance"); But instead of using the div, the undeclared distance was used.

Note from the Author or Editor:
replace "distance.innerHTML" with "div.innerHTML" on the second to last line of code. Can also change "var div = ... " to just "div = ..." on the previous line of code, since div has already been declared.

Anonymous  Dec 01, 2011  Jan 06, 2012
PDF
Page 192
2nd paragraph

"including last two methods in the Geolocation API, and create an app that tracks you, in near real time." should be including the last two methods in the Geolocation API, and create an app that tracks you, in near real time.

Note from the Author or Editor:
Insert "the" so it reads "including the last two methods in the Geolocation API", last sentence of 2nd paragraph.

Anonymous  Dec 11, 2011  Jan 06, 2012
PDF
Page 192
First paragraph (near top)

"The orgin of this phrase" should be The origin of this phrase

Note from the Author or Editor:
change "orgn" to "origin"

Anonymous  Dec 30, 2011  Jan 06, 2012
Printed
Page 197
Sharpen your pencil

The "if (prevKm < km)" comparison is backwards. You should be getting hotter when the new measurement (km) is smaller than the old measurment (prevKm).

Note from the Author or Editor:
Fixed

Joe Kelly  Feb 17, 2012  Oct 19, 2012
PDF
Page 198
To the right of the code block

"The timeout option controls how long the browser gets to determine its location. By default this is set to infinity meaning the browser gets all the time it needs)." should be The timeout option controls how long the browser gets to determine its location. By default this is set to infinity, meaning the browser gets all the time it needs. (Add a comma, lose the right paren.)

Note from the Author or Editor:
I think I actually meant it to read: "By default this is set to infinity (meaning the browser gets all the time it needs)."

Anonymous  Dec 12, 2011  Jan 06, 2012
PDF
Page 202
About 1/3 down from the top

"Here’s what the intial options are going to look like:" should be Here’s what the initial options are going to look like:

Note from the Author or Editor:
replace "intial" with "initial" in "Here's what the intial options..."

Anonymous  Dec 16, 2011  Jan 06, 2012
PDF
Page 203
Handwritten text a little more than half way down

"and passing in options as the third paramter." should be and passing in options as the third parameter. (Add an "e" after the "m")

Note from the Author or Editor:
change "paramter" to "parameter"

Anonymous  Dec 30, 2011  Jan 06, 2012
Other Digital Version
229
United States

At the top of the page 2nd paragraph, 2nd sentence reads: "That's what we're going to start writing our code now." I think it's supposed to be: "That's where we're going to start writing our code now."

Note from the Author or Editor:
fixed

Anonymous  Mar 08, 2012  Oct 19, 2012
Printed
Page 229
2nd paragraph

That's what we're going to start writing our code now. I think that should be: That's where we're going to start writing our code now.

Note from the Author or Editor:
Fixed

lczegel  Mar 22, 2012  Oct 19, 2012
PDF
Page 240
1st paragraph

"are you available in only the newer browsers only?" One "only" should be removed, or the phrase should read are you only available in the newer browsers?

Note from the Author or Editor:
Remove "only" at end of sentence.

Anonymous  Jan 03, 2012  Jan 06, 2012
Printed
Page 241
2nd handwritten comment

... But there is no request onload property in Level 2, should instead read ... But there is no request onload property in Level 1,

Note from the Author or Editor:
Fixed in CS5.5 version of chapter

Donald Rind  Feb 27, 2013  May 31, 2013
PDF
Page 249
8th paragraph

Incorrect URL results in a 404 error http://wickedlysmart.com/hfhtml5/chapter5/dog2.js Should be: http://wickedlysmart.com/hfhtml5/chapter6/dog2.js

Note from the Author or Editor:
Yes, should be: http://wickedlysmart.com/hfhtml5/chapter6/dog2.js

T Graham  Nov 24, 2011  Jan 06, 2012
PDF
Page 250
6th paragraph

Incorrect URL results in a 404 error http://wickedlysmart.com/hfhtml6/chapter5/cat2.js Should be: http://wickedlysmart.com/hfhtml5/chapter6/cat2.js

Note from the Author or Editor:
Ack! last minute chapter ordering change... should be http://wickedlysmart.com/hfhtml5/chapter6/cat2.js as noted.

T Graham  Nov 24, 2011  Jan 06, 2012
PDF
Page 254
In the middle of the cloud

"How does the web service know the right function name is?" should be How does the web service know the right function name? or maybe How does the web service know what the right function name is?

Note from the Author or Editor:
fix: How does the web service know the right function name?

Anonymous  Jan 03, 2012  Jan 06, 2012
PDF
Page 261
Right column, near the bottom

"You just need to use write a new <script> element into the DOM to do another request." should be You just need to write a new <script> element into the DOM to do another request. (remove "use ")

Note from the Author or Editor:
remove "use"

Anonymous  Jan 03, 2012  Jan 06, 2012
PDF
Page 265
Last paragraph on the page

"Let’s give this a try and then when we know it’s working—that is, when we see our our handler being invoked every three seconds—we’ll implement the JSONP code." should be Let’s give this a try and then when we know it’s working—that is, when we see our handler being invoked every three seconds—we’ll implement the JSONP code. (Remove the extra "our".)

Note from the Author or Editor:
remove one "our"

Anonymous  Jan 03, 2012  Jan 06, 2012
PDF
Page 269
1st handwritten paragraph on the right

"If doesn’t exist, we’ll get back null." should be If it doesn’t exist, we’ll get back null. (Insert "it".)

Note from the Author or Editor:
change "If doesn't exist" to "If it doesn't exist"

Anonymous  Jan 04, 2012  Jan 06, 2012
Printed
Page 270
1st paragraph

It's similar to getDocumentById, should be It's similar to getElementById,

Note from the Author or Editor:
Fixed

lczegel  Mar 22, 2012  Oct 19, 2012
PDF
Page 273
Near the bottom

"That’s a great, but how do we know the time ..." should be That’s great, but how do we know the time ... or maybe That’s all great, but how do we know the time ...

Note from the Author or Editor:
Fixed

Anonymous  Jan 08, 2012  Oct 19, 2012
PDF
Page 293
Handwritten text in the Serious Coding section

"existance" should be "existence"

Note from the Author or Editor:
Fixed

Anonymous  Jan 24, 2012  Oct 19, 2012
PDF
Page 303
First answer paragraph

"So, say you have an selection list" should be "So, say you have a selection list"

Note from the Author or Editor:
fixed

Anonymous  Jan 24, 2012  Oct 19, 2012
PDF
Page 322
Code with a gray background near bottom of page

Incorrect URL results in failure to retrieve Tweets src="http://twitter.com/statuses/user_timeline/wickedsmartly.json?callback=updateTweets" Should be: src="https://twitter.com/statuses/user_timeline/wickedsmartly.json?callback=updateTweets"

Note from the Author or Editor:
I've updated the URL so it reads https. However, http will also work (it redirects).

T Graham  Nov 27, 2011  Jan 06, 2012
Other Digital Version
322
2nd paragraph, first sentence

In 2nd paragraph, first sentence it says: "Now, to get a get a tweet on the canvas..." Should be: "Now, to get a tweet on the canvas..."

Note from the Author or Editor:
fixed

cLizLee  Mar 12, 2012  Oct 19, 2012
PDF
Page 322
the tweets address

src="http://twitter.com/statuses/user_timeline/wickedsmartly.json?callback=updateTweets" Should be: src="http://api.twitter.com/1/statuses/user_timeline.json?screen_name=wickedsmartly&callback=updateTweets" the original one doesn't work now and the updated one works

Note from the Author or Editor:
I've fixed to point to our "fake" twitter feed for the next print edition in case Twitter removes the older API as well. Will be updated in the next reprint

chendong  Mar 28, 2013  May 31, 2013
Other Digital Version
333
3rd parapraph or point #3

In 1st sentence of point #3: "...make sure that the image has fully loaded beford you draw it." The word "beford" should be "before".

Note from the Author or Editor:
Fixed

cLizLee  Mar 12, 2012  Oct 19, 2012
PDF
Page 335
2nd answer, about halfway down the page

"And we’re in early days of canvas" should be "And we’re in the early days of canvas"

Note from the Author or Editor:
fixed

Anonymous  Jan 29, 2012  Oct 19, 2012
PDF
Page 341
The second answer

The correct answer to the second exercise on the page should be "none" instead of "circles." This is because "Neither" is the default selection for that selection control.

Note from the Author or Editor:
Change "circles" to "none" in the 2nd answer on page 341.

T Graham  Dec 15, 2011  Jan 06, 2012
Other Digital Version
372
2nd paragraph, 2nd sentence

In the 2nd paragraph, 2nd sentence: "Up next we've got an example that is the closet thing to a real web app..." "closet" should be "closest"

Note from the Author or Editor:
Fixed

cLizLee  Mar 13, 2012  Oct 19, 2012
Other Digital Version
375
code

In the html code on page 375 there is a missing </div> for the div with an id of dashboard.

Note from the Author or Editor:
Fixed - added ending div tag

cLizLee  Mar 13, 2012  Oct 19, 2012
Printed
Page 376
bottom of page

Also on 542 document.querySelectorAll() does not return an array, it returns a Node List. You can still loop through it, but it doesn't have the other array methods.

Elisabeth Robson
Elisabeth Robson
O'Reilly AuthorO'Reilly Blogger 
May 15, 2012  May 31, 2013
Printed
Page 397
1st code block

The code: buffer.drawImage(video, 0, 0, bufferCanvas.width, displayCanvas.height); var frame = buffer.getImageData(0, 0, bufferCanvas.width, displayCanvas.height); Should be: buffer.drawImage(video, 0, 0, bufferCanvas.width, bufferCanvas.height); var frame = buffer.getImageData(0, 0, bufferCanvas.width, bufferCanvas.height); This error is present in the videobooth.js file in the downloadable code package too.

Note from the Author or Editor:
replace "displayCanvas.height" with "bufferCanvas.height" in both lines. Fortunately, since the buffer and display are the same height in this example it works :-)

Anonymous  Jan 02, 2012  Jan 06, 2012
PDF
Page 416
Paragraph next to the last checkbox

"They seem to assume everything in happening in the server." should be "They seem to assume everything is happening in the server."

Note from the Author or Editor:
fixed

Anonymous  Feb 11, 2012  Oct 19, 2012
PDF
Page 425
The 1st A (Answer) paragraph

"In fact, different browers may give you different ordering for the same code and items." should be "In fact, different browsers may give you different ordering for the same code and items."

Note from the Author or Editor:
fixed

Anonymous  Feb 15, 2012  Oct 19, 2012
PDF
Page 446
Bottom

"more to removing an sticky note than" should be "more to removing a sticky note than"

Note from the Author or Editor:
fixed

Anonymous  Feb 27, 2012  Oct 19, 2012
PDF
Page 450
Middle - function code

Hello there In the code function in the line span.innerHTML = stickyObj.value; i think stickyObj. should not be there. Best Regards

Note from the Author or Editor:
fixed

Alexandre Kapancioglu  Feb 11, 2012  Oct 19, 2012
PDF
Page 458
Handwritten text near bottom

"handle the general case of an exception occuring when you set an item" should be "handle the general case of an exception occurring when you set an item" (Add an 'r' to "occuring".)

Note from the Author or Editor:
fixed

Anonymous  Feb 29, 2012  Oct 19, 2012
PDF
Page 458
Handwritten text near bottom

"But they still throw a exception" should be "But they still throw an exception"

Note from the Author or Editor:
fixed

Anonymous  Mar 01, 2012  Oct 19, 2012
PDF
Page 465
2 down

"sessionStorage is just like localStorage except its not" should be "sessionStorage is just like localStorage except it's not" (Add an apostrophe.)

Note from the Author or Editor:
Fixed

Anonymous  Mar 01, 2012  Oct 19, 2012
PDF
Page 468
Note at bottom of page

This sentence: "But they still throw a exception..." should be: "But they still throw an exception..."

Note from the Author or Editor:
Replace "a exception" with "an exception" in the bottom annotation on the page.

T Graham  Dec 15, 2011  Jan 06, 2012
PDF
Page 482
Code at bottom of page

This line: if (window["Worker"]) { should be: if (!window["Worker"]) { In its current form, the if statement will evaluate to true if Web Workers are supported. It should instead evaluate to false.

Note from the Author or Editor:
Replace "if (window["Worker"]) {" with "if (!window["Worker"]) {" in the first line of the code in the Watch It on page 482

T Graham  Dec 15, 2011  Jan 06, 2012
PDF
Page 498
Handwritten text near bottom

"Workers send back the the pieces" should be "Workers send back the pieces" (Remove the extra 'the'.)

Note from the Author or Editor:
fixed

Anonymous  Mar 04, 2012  Oct 19, 2012
PDF
Page 506
Handwritten text near following setupGraphics

"And here we’re initializing the palette of colors we’re using to draw the the set as a fractal image." should be "And here we’re initializing the palette of colors we’re using to draw the set as a fractal image." (Remove the extra "the".)

Note from the Author or Editor:
fixed

Anonymous  Mar 04, 2012  Oct 19, 2012