<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Musings of a code slave &#187; Books</title>
	<atom:link href="http://foundationphp.com/blog/category/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://foundationphp.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 28 Jan 2012 14:05:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New tutorial: send a link to a friend</title>
		<link>http://foundationphp.com/blog/2011/12/22/new-tutorial-send-a-link-to-a-friend/</link>
		<comments>http://foundationphp.com/blog/2011/12/22/new-tutorial-send-a-link-to-a-friend/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 19:48:51 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=288</guid>
		<description><![CDATA[I&#8217;ve just published a new tutorial for a script that sends a link to a friend. It&#8217;s a very simple script, but—as long as you have a basic knowledge of PHP—you should be able to adapt it to your own &#8230; <a href="http://foundationphp.com/blog/2011/12/22/new-tutorial-send-a-link-to-a-friend/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just published a new tutorial for a script that <a href="/tutorials/sendtofriend.php">sends a link to a friend</a>. It&#8217;s a very simple script, but—as long as you have a basic knowledge of PHP—you should be able to adapt it to your own needs. The tutorial explains how the code works, and gives instructions for those sections that you need to change. If you find the instructions difficult to follow, maybe it&#8217;s time to grab hold of <a href="/phpsolutions/"><cite>PHP Solutions, 2nd Edition</cite></a> and learn how to write PHP scripts.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/12/22/new-tutorial-send-a-link-to-a-friend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>An odd turn-up for the book</title>
		<link>http://foundationphp.com/blog/2011/10/18/an-odd-turn-up-for-the-book/</link>
		<comments>http://foundationphp.com/blog/2011/10/18/an-odd-turn-up-for-the-book/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 17:57:01 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[AJAX/JavaScript]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dreamweaver]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=262</guid>
		<description><![CDATA[Yesterday, I received an invitation to review a new book about Dreamweaver. Nothing terribly remarkable about that. After all, I&#8217;m well known in the Dreamweaver community and I recently published a review of Peter Gasston&#8217;s excellent The Book of CSS3. &#8230; <a href="http://foundationphp.com/blog/2011/10/18/an-odd-turn-up-for-the-book/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I received an invitation to review a new book about <a href="http://www.adobe.com/products/dreamweaver/">Dreamweaver</a>. Nothing terribly remarkable about that. After all, I&#8217;m well known in the Dreamweaver community and I recently published a <a href="http://foundationphp.com/blog/2011/08/23/book-review-the-book-of-css3-by-peter-gasston/">review of Peter Gasston&#8217;s excellent <cite>The Book of CSS3</cite></a>. What took me back was the title of the book I was being asked to review: <cite>Dreamweaver CS5.5 Mobile and Web Development with HTML5, CSS3, and jQuery</cite>. It&#8217;s almost word-for-word the same as the title of the book I published in June: <a href="/dwmobile/"><cite>Adobe Dreamweaver CS5.5 Studio Techniques: Designing and Developing for Mobile with jQuery, HTML5, and CSS3</cite></a>.</p>
<p>The invitation to review the rival book came from the marketing department of <a href="http://www.packtpub.com/">Packt</a>, the company that published it. I sent a polite reply saying that I didn&#8217;t think it would be appropriate for me to review a book that had an almost identical title to mine. I thought that would be the end of it. However, I received an email from Packt saying they knew I had written a book with an identical title, and that&#8217;s why I would be the perfect person to write an honest review.</p>
<p>At first I wasn&#8217;t sure whether to be flattered or horrified. It&#8217;s nice to think that I have such a great reputation for fairness that I would write a glowing review of a book that&#8217;s in direct competition with mine. Of course, there&#8217;s always the temptation to savage the book in public, but I would never want to do that to a fellow author. I know how much a bad review hurts. Since my book was published three months earlier (and was available even before that as Rough Cuts in the <a href="http://my.safaribooksonline.com/">Safari Online Library</a>), Packt can have no excuse for not knowing the title of its rival book was almost identical. I&#8217;ve no idea if the title was chosen as a deliberate spoiler, but asking me to review Packt&#8217;s book is rather like asking Coca Cola to endorse Pepsi&#8217;s latest offering.</p>
<p>I haven&#8217;t read the Packt book, which is written by David Karlins, an established and respected author. What I have read is David&#8217;s <a href="http://www.amazon.com/Thoughts-from-the-author/forum/Fx3IZO2UFJY7FCI/Tx28LXNLE6NW2B1/1/ref=cm_cd_et_md_pl?_encoding=UTF8&amp;cdMsgNo=1&amp;asin=1849691584&amp;cdSort=oldest&amp;cdMsgID=Mx24YLZWJI6796Q#Mx24YLZWJI6796Q">&#8220;Thoughts from the author&#8221;</a> on Amazon.com. In it, he says you don&#8217;t need to know HTML, CSS, or JavaScript. In fact, you don&#8217;t even need to know what they are. That immediately tells me that our books take completely different approaches to the same subject. I think it&#8217;s a pity his new publisher has decided to muddy the waters with the confusing titles.</p>
<p>I firmly believe that to build a website, you need to have at least a basic understanding of the underlying technologies. Website development is becoming increasingly complex. Dreamweaver helps speed up development through dialog boxes, prepackaged widgets, and code hints; but if you rely solely on point-and-click or copy-and-paste techniques, you&#8217;ll remain severely limited in what you can achieve. My book is aimed at readers who aren&#8217;t afraid to dig into a bit of code. In fact, you&#8217;ll need to do so if you want to access features such as geolocation and web storage on mobile devices. I guide you through the code, explaining what it does so that you can adapt it to your own needs.</p>
<p>So, if you&#8217;re looking for a book on developing for mobile with Dreawmeaver CS5.5 with jQuery, HTML5, and CSS, make sure you choose the one that&#8217;s right for you. Don&#8217;t be confused by the titles. Oh, and as small bonus, my book is in full colour, even though it&#8217;s the same length and the same cover price ($39.99) as the one published by Packt.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/10/18/an-odd-turn-up-for-the-book/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>What&#8217;s the difference between parameters and arguments?</title>
		<link>http://foundationphp.com/blog/2011/09/24/whats-the-difference-between-parameters-and-arguments/</link>
		<comments>http://foundationphp.com/blog/2011/09/24/whats-the-difference-between-parameters-and-arguments/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 11:20:20 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=254</guid>
		<description><![CDATA[When writing books aimed at beginners, there&#8217;s a difficult line to tread between giving too much and too little information. Too much information overloads the mind, running the risk of losing the reader&#8217;s enthusiasm for the subject. Too little information &#8230; <a href="http://foundationphp.com/blog/2011/09/24/whats-the-difference-between-parameters-and-arguments/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When writing books aimed at beginners, there&#8217;s a difficult line to tread between giving too much and too little information. Too much information overloads the mind, running the risk of losing the reader&#8217;s enthusiasm for the subject. Too little information leaves questions unanswered.</p>
<p>Chapter 3 of my <a href="/phpsolutions/"><cite>PHP Solutions, 2nd Edition</cite></a> makes for pretty heavy reading. So much so that I recommend stopping halfway through on the first pass. That&#8217;s why I skirted around the difference between parameters and arguments on page 43. But I&#8217;ve piqued the interest of <a href="http://www.meetup.com/bostonphp/members/24224922/">Tom Flis</a>, one of the participants in <a href="http://www.meetup.com/bostonphp/">Boston PHP</a>&#8216;s self-study group <a href="http://www.meetup.com/bostonphp/events/28906641/">PHP Percolate</a>. He&#8217;s asked what&#8217;s the technical difference between the two words, so here goes. It&#8217;s actually quite simple.</p>
<p>When you define a function, the variables that represent the values that will be passed to it for processing are called <em>parameters</em>. For example, the following function definition has one parameter called <code>$number</code>:</p>
<p><code>function doubleIt($number) {<br />
    return $number *= 2;<br />
}</code></p>
<p>However, when you use a function, the value you pass to it is called an <em>argument</em>. So, in the following case, <code>$price</code> is passed as the argument to <code>doubleIt()</code>:</p>
<p><code>$price = 50;<br />
$inflated_price = doubleIt($price);  // 100</code></p>
<p>It&#8217;s a pretty subtle difference. A parameter contains no value; it&#8217;s simply a placeholder for the value that will be passed to the function. An argument contains a value (even if it&#8217;s <code>null</code> or an empty string) that the function processes to produce a result. Because the meanings are so similar, many developers use the words interchangeably or always refer to arguments.</p>
<p>So, now you know.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/09/24/whats-the-difference-between-parameters-and-arguments/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Accessing PHP objects&#8217; methods and properties</title>
		<link>http://foundationphp.com/blog/2011/09/19/accessing-php-objects-methods-and-properties/</link>
		<comments>http://foundationphp.com/blog/2011/09/19/accessing-php-objects-methods-and-properties/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 13:09:30 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=241</guid>
		<description><![CDATA[A couple of participants in Boston PHP&#8216;s self-study PHP Percolate, Jim Wright and Jared Stenquist, are confused about the use of the -&#62; operator, which is introduced on page 44 of PHP Solutions, 2nd Edition. Since others might be in &#8230; <a href="http://foundationphp.com/blog/2011/09/19/accessing-php-objects-methods-and-properties/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A couple of participants in <a href="http://www.meetup.com/bostonphp/">Boston PHP</a>&#8216;s self-study <a href="http://www.meetup.com/bostonphp/events/28906641/">PHP Percolate</a>, Jim Wright and Jared Stenquist, are confused about the use of the <code>-&gt;</code> operator, which is introduced on page 44 of <a href="/phpsolutions/"><cite>PHP Solutions, 2nd Edition</cite></a>. Since others might be in a similar situation, I decided to write a blog post about it.</p>
<p>Although PHP isn&#8217;t an object-oriented language, it has extensive support for objects. Also, since PHP 5, many core aspects of the language use objects rather than ordinary (procedural) functions. An <dfn>object</dfn> is a special data type that is capable of storing and manipulating values. You create an object from a <dfn>class</dfn>, which is a collection of functions and variables that define the object&#8217;s characteristics. Some classes, such as <code>DateTime</code> and <code>Mysqli</code>, are predefined by PHP, but you can also define your own.</p>
<p>The advantage of using classes and objects is that, once the class has been defined, they reduce the amount of code you need to write. An object inherits all the functions and variables defined by the class. That&#8217;s not all. Each object is independent, so you can create several objects from the same class to store different values, but they all share the same functions. Up to now, I&#8217;ve referred to functions and variables, but when talking about objects and classes, a function is called a <dfn>method</dfn>, and a variable is called a <dfn>property</dfn>. Whenever you want to use an object&#8217;s method or property, you need to use the <code>-&gt;</code> operator.</p>
<p>You create an object by calling the class&#8217;s constructor method (which has the same name as the class) with the <code>new</code> keyword. Most constructor methods also accept arguments that set the initial properties of the object. In the case of the built-in <code>DateTime</code> class, you can use a string to specify the date. Without any arguments, it creates an object for the current date and time. For example, the following code creates two objects, one for today, and the other for Christmas Day 2011:</p>
<p><code>$today = new DateTime();<br />
$xmas2011 = new DateTime('12/25/2011');</code></p>
<p>The <code>$today</code> object now contains the current date and time, but <code>$xmas2011</code> contains the date for December 25, 2011 (because the time wasn&#8217;t specified when creating the object, it&#8217;s set to midnight at the start of the day).</p>
<p>To display the day of the week, you need to use the <code>DateTime</code> class&#8217;s <code>format()</code> method, and pass it <a href="http://docs.php.net/manual/en/function.date.php">a format string</a> (they&#8217;re listed in Table 14-4 on page 402 of <cite>PHP Solutions, 2nd Edition</cite>) for the weekday name like this:</p>
<p><code>echo $today-&gt;format('l');</code></p>
<p>This displays whatever day it is today. However, the date stored in <code>$xmas2011</code> is independent of <code>$today</code>. The following code displays &#8220;Sunday&#8221;:</p>
<p><code>echo $xmas2011-&gt;format('l');  // Sunday</code></p>
<p>Using the <code>-&gt;</code> operator is very similar to passing a variable as an argument to a function. Instead of putting the variable between the function&#8217;s parentheses, you attach the function (method) to the variable with the <code>-&gt;</code> operator. What it actually means is &#8220;use the <code>format()</code> method with the value stored in this object (<code>$xmas2011</code>)&#8221;. In addition to <code>format()</code>, the <code>DateTime</code> class has other methods, such as <code>setDate()</code> and <code>add()</code>, that can be used to modify the date.</p>
<p>Many objects also have properties that you can access. An object&#8217;s properties are similar to values stored in an array. The big difference is that the class definition can control how a property is accessed and modified by specifying whether it&#8217;s <code>public</code>, <code>protected</code>, or <code>private</code>. Only <code>public</code> properties are visible and can be modified outside the class definition; <code>protected</code> and <code>private</code> ones are hidden from view. You access a <code>public</code> property using the <code>-&gt;</code> operator like this:</p>
<p><code>$someObject-&gt;propertyName</code></p>
<p>This is the equivalent of accessing an array element like this:</p>
<p><code>$arrayName['elementName']</code></p>
<p>If you&#8217;re familiar with JavaScript, it should be obvious by now that the <code>-&gt;</code> operator plays the same role in PHP as the dot operator in JavaScript. For example, in JavaScript, this produces the date for Christmas Day 2011:</p>
<p><code>var xmas2011 = new Date(2011, 11, 25); // months are zero-based<br />
alert('Christmas 2011 is on ' + xmas2011.toString());</code></p>
<p>JavaScript also uses the dot operator for properties:</p>
<p><code>objectName.propertyName</code></p>
<p>Hopefully, that clarifies the role of the <code>-&gt;</code> operator. If you still have questions, post them in the Comments section below.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/09/19/accessing-php-objects-methods-and-properties/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Join others learning PHP with PHP Solutions</title>
		<link>http://foundationphp.com/blog/2011/08/25/join-others-learning-php-with-php-solutions/</link>
		<comments>http://foundationphp.com/blog/2011/08/25/join-others-learning-php-with-php-solutions/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 13:42:51 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=231</guid>
		<description><![CDATA[So far, more than 90 people have signed up to join a self-study group organized by Boston PHP to learn PHP with the help of my book, PHP Solutions: Dynamic Web Design Made Easy, 2nd Edition. This is the third &#8230; <a href="http://foundationphp.com/blog/2011/08/25/join-others-learning-php-with-php-solutions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So far, more than 90 people have signed up to join a self-study group organized by <a href="http://www.meetup.com/bostonphp/">Boston PHP</a> to learn PHP with the help of my book, <a href="/phpsolutions/"><cite>PHP Solutions: Dynamic Web Design Made Easy, 2nd Edition</cite></a>. This is the third time that Boston PHP has run this scheme known as <a href="http://www.meetup.com/bostonphp/events/28906641/">PHP Percolate</a>, which begins again <time datetime="2011-09-01">next Thursday (September 1)</time>. I understand that nearly 200 have taken part in the previous two seasons. The fact that they&#8217;re running it again—and that so many have signed up—indicates that it must be a pretty successful way of learning PHP.</p>
<p>There&#8217;s no charge to participate. The only cost is buying a copy of my book. Although I have Amazon affiliate links on my website, I encourage you to buy it through the <a href="http://astore.amazon.com/boph-20">Boston PHP Store</a>. That way, the organizers get a small commission that helps support the activities of Boston PHP.</p>
<p>The way it works is that you commit to reading one chapter of the book (there are 17) and completing the exercises each week. There&#8217;s no classroom instruction, but you can get online support through a dedicated forum for each chapter. Also, if you live in the Boston area (the one in Massachusetts, not the one in Lincolnshire or more than a dozen other places), you can get hands-on help at the PHP Percolate Coffee Club, which is usually held every Saturday morning at a Starbucks. Boston PHP also runs occasional all-day events known as <a href="http://www.meetup.com/bostonphp/events/27206091/">Developer Dorm Room</a> in Cambridge, Massachusetts, where you can get help with PHP problems or just bounce ideas about projects off each other.</p>
<p>Although PHP Percolate is based on my book, this isn&#8217;t a wacky marketing idea that has been dreamed up by me or my publisher. It&#8217;s an idea that Boston PHP came up with independently. In fact, I didn&#8217;t learn about it until quite recently. According to the President of Boston PHP, Michael Bourque, Boston PHP is the largest and most active PHP tech community in the world, with more than 1,900 members. It has a focus on education and adoption of open source technology like PHP. Last year, they were looking for the best possible book to learn PHP, and mine was the one they chose. Naturally, I&#8217;m delighted, and I have agreed to help in whatever way I can.</p>
<p>Unfortunately, there&#8217;s a small matter of the Atlantic Ocean lying between me and Boston, so I won&#8217;t be able to attend the PHP Percolate Coffee Club or Developer Dorm Room in person. But that&#8217;s one of the joys of the internet. You don&#8217;t need to be there in person to share ideas and cooperate with others. From what I understand, PHP Percolate has also attracted people from other countries to join in. A book and an internet connection is all you need.</p>
<p>Committing to working through 17 chapters in as many weeks is a lot to ask. Work, family, and other obligations get in the way. So, not everybody manages to last the whole course. But since there&#8217;s no cost (apart from the book), there&#8217;s little to lose. In fact, I see that some of the people who dropped out part of the way through season 2 have signed up again for season 3. As one of them said, &#8220;It&#8217;s fun!&#8221;</p>
<p>So, if you&#8217;re looking for a little bit of moral support in your efforts to learn PHP, check out <a href="http://www.meetup.com/bostonphp/events/28906641/">PHP Percolate Season 3</a> with Boston PHP.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/08/25/join-others-learning-php-with-php-solutions/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Book Review: The Book of CSS3 by Peter Gasston</title>
		<link>http://foundationphp.com/blog/2011/08/23/book-review-the-book-of-css3-by-peter-gasston/</link>
		<comments>http://foundationphp.com/blog/2011/08/23/book-review-the-book-of-css3-by-peter-gasston/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 17:16:38 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=224</guid>
		<description><![CDATA[Several months ago, I attended a fascinating talk on CSS3 by Peter Gasston at London Web. As one of the first people to ask a question during the Q&#38;A session at the end of Peter&#8217;s talk, I received a free &#8230; <a href="http://foundationphp.com/blog/2011/08/23/book-review-the-book-of-css3-by-peter-gasston/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Several months ago, I attended a fascinating talk on CSS3 by <a title="Follow Peter Gasston on Twitter" href="http://twitter.com/#%21/stopsatgreen">Peter Gasston</a> at <a href="http://www.meetup.com/londonweb/">London Web</a>. As one of the first people to ask a question during the <abbr title="question and answer">Q&amp;A</abbr> session at the end of Peter&#8217;s talk, I received a free copy of his <cite>The Book of CSS3: A Developer&#8217;s Guide to the Future of Web Design</cite>. Unfortunately, my own manic schedule meant I had to put the book to the side for a while. But now I&#8217;ve managed to read it from cover to cover, I&#8217;d like to share my thoughts about it.</p>
<p>Let me say it right out: Peter has done a splendid job. The book is extremely well researched, and he obviously knows what he&#8217;s talking about. Having said that, the book&#8217;s subtitle (A Developer&#8217;s Guide to the Future of Web Design) very much sets the tone. If you&#8217;re looking for a quick guide on how to create CSS3 eye candy with rounded corners and drop shadows, this is not the book for you. Although Peter covers the relevant properties (<code>border-radius</code> and <code>box-shadow</code>), he takes a much more serious approach through an in-depth exploration of each new property, together with warnings about anomalies in different browsers. Because CSS3 is still evolving and browser makers are bringing out new versions at a breathtaking pace, you might think that Peter&#8217;s book will rapidly go out of date. Undoubtedly, some parts of it will; but many of the CSS3 modules that Peter covers are unlikely to change. Color is already a <abbr title="World Wide Web Consortium">W3C</abbr> recommendation. Selectors is a proposed recommendation; and Media Queries, Backgrounds and Borders, and Multi-column Layout are all candidate recommendations.  As a result, <cite>The Book of CSS3</cite> is a reference book that I&#8217;ll be keeping by my side for a considerable time to come.</p>
<p>Even the more experimental areas covered by the book are not really a problem, thanks to the decision by all mainstream browsers to adopt browser-specific prefixes (such as <code>-moz</code> for Firefox and <code>-webkit</code> for Safari and Chrome) until the specifications settle down. Unlike CSS2.1, you won&#8217;t need hacks to deal with quirky implementations in older browsers. Just use the browser-specific prefixes in combination with the standard properties. Older versions use the prefixed properties, and when the specification stabilizes, the most up-to-date version will use the standard ones (as long as you put the standard ones lower down in the cascade). Perhaps one exception is the Flexible Box (flexbox) Layout module. Just as the book was going to press, the W3C decided to completely rename the properties. Peter mentions this at the end of the chapter on flexbox layout, but the changes haven&#8217;t yet made it through to the browsers that support it (Firefox, Safari, and Chrome). However, they will presumably continue to support the old properties with the browser-specific prefixes. But until Internet Explorer supports flexbox (planned for IE 10), using this type of layout is of limited value anyway.</p>
<p>Although flexbox and other proposed layout systems don&#8217;t have much practical value at the moment, I found the chapters devoted to them among the most interesting in the book—mainly because they give me hope for the future. CSS layout has always been a minefield, but if browsers (and the W3C) continue the current rapid pace of development, the job of the web developer should become a lot easier. Or will it? One of the comments in the Q&amp;A session after Peter&#8217;s talk was that CSS was becoming more like a programming language. And it was obvious from the questioner&#8217;s tone that the thought of handling more code was unwelcome. But if you&#8217;re involved in designing websites and want to understand the direction in which CSS is moving, Peter Gasston&#8217;s book is an excellent place to start.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/08/23/book-review-the-book-of-css3-by-peter-gasston/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Corrections for my books</title>
		<link>http://foundationphp.com/blog/2011/08/14/corrections-for-my-books/</link>
		<comments>http://foundationphp.com/blog/2011/08/14/corrections-for-my-books/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 18:52:32 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=213</guid>
		<description><![CDATA[I hate it when I find a mistake in a technical book—particularly when it&#8217;s one of mine. There&#8217;s nothing more frustrating than trying to learn a new concept and hitting a brick wall because the code doesn&#8217;t work. Mistakes creep &#8230; <a href="http://foundationphp.com/blog/2011/08/14/corrections-for-my-books/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I hate it when I find a mistake in a technical book—particularly when it&#8217;s one of mine. There&#8217;s nothing more frustrating than trying to learn a new concept and hitting a brick wall because the code doesn&#8217;t work. Mistakes creep in for a variety of reasons. But whatever the reason, I know I&#8217;m letting down my readers if there&#8217;s a serious error in one of my books. So, as well as trying to avoid errors in the first place, I try to respond to error reports as quickly as possible.</p>
<p>I recently discovered that friends of ED has closed its website and merged it with that of its parent company, <a href="http://apress.com/">Apress</a>. Unfortunately, none of my books&#8217; errata are yet listed on the new site. So, I&#8217;ve scrabbled around to put them back together and host them here. You can find the corrections for the following Apress/friends of ED titles on this site:</p>
<ul>
<li><a href="http://foundationphp.com/pos/errata.php">PHP Object-Oriented Solutions</a></li>
<li><a href="http://foundationphp.com/phpsolutions/updates.php">PHP Solutions (First edition)</a></li>
<li><a href="http://foundationphp.com/phpsolutions/errata_2e.php">PHP Solutions (Second edition)</a></li>
<li><a href="http://foundationphp.com/egdwcs3/updates.php">The Essential Guide to Dreamweaver CS3</a></li>
<li><a href="http://foundationphp.com/flash/updates.php">Foundation PHP 5 for Flash</a></li>
</ul>
<p>I find it hard to believe that there weren&#8217;t any mistakes in <cite>The Essential Guide to Dreamweaver CS4</cite>, but I can&#8217;t trace any record of corrections. I haven&#8217;t gone back to some of my older books. Good though they were, they&#8217;re based on versions of software that are no longer supported. What&#8217;s more, most of them were reprinted with corrections.</p>
<p>I also plan to keep up to date the corrections pages on this site for the books I have published with Adobe Press.</p>
<p>If you come across any errors or code that doesn&#8217;t work, please report them directly to the publisher. That way corrections can be incorporated into reprinted versions of the book. But if you don&#8217;t get an acknowledgement from the publisher within a day or so, please leave a comment here, and I&#8217;ll try to deal with the issue as quickly as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/08/14/corrections-for-my-books/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>My book on Dreamweaver CS5.5 is now available online</title>
		<link>http://foundationphp.com/blog/2011/05/05/my-book-on-dreamweaver-cs5-5-is-now-available-online/</link>
		<comments>http://foundationphp.com/blog/2011/05/05/my-book-on-dreamweaver-cs5-5-is-now-available-online/#comments</comments>
		<pubDate>Thu, 05 May 2011 16:52:21 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[AJAX/JavaScript]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dreamweaver]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=208</guid>
		<description><![CDATA[My new book, Adobe Dreamweaver CS5.5 Studio Techniques: Designing and Developing for Mobile with jQuery, HTML5, and CSS3, is now available as Rough Cuts in the Safari Online Library and Creative Edge. In spite of being published as Rough Cuts, &#8230; <a href="http://foundationphp.com/blog/2011/05/05/my-book-on-dreamweaver-cs5-5-is-now-available-online/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My new book, <a href="/dwmobile/"><cite>Adobe Dreamweaver CS5.5 Studio Techniques: Designing and Developing for Mobile with jQuery, HTML5, and CSS3</cite></a>, is now available as Rough Cuts in the <a href="http://my.safaribooksonline.com/book/web-development/mobile/9780132754910">Safari Online Library</a> and <a href="http://www.creativeedge.com/book/web-development/mobile/9780132754910">Creative Edge</a>. In spite of being published as Rough Cuts, it&#8217;s the complete book. The only differerence is that the text and screenshots haven&#8217;t been laid out in the way they will be in the final version, which is expected to be published on 10 June.</p>
<p>If you planning to develop sites for multiple platforms, you&#8217;ll learn about CSS media queries and how to use the new features in <a href="http://www.adobe.com/products/dreamweaver.html">Dreamweaver CS5.5</a>, including setting up a site-wide media queries file. There&#8217;s a chapter on making sites available offline, and the download files contain a Dreamweaver extension that automatically builds a manifest file ready for editing. The chapters on <a href="http://jquerymobile.com/">jQuery Mobile</a> contain extensive analysis of custom data attributes that control the look and functionality of a jQuery Mobile site.</p>
<p><a href="http://www.w3conversions.com/about.html">Stephanie (Sullivan) Rewis</a> (<a href="http://twitter.com/stefsull">@stefsull</a>) had a sneak preview of the book. Her verdict: &#8220;David&#8217;s clarity and ability to explain complex subjects clearly makes this a book not to be missed.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/05/05/my-book-on-dreamweaver-cs5-5-is-now-available-online/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>My Next Book: Dreamweaver CS5.5 for Mobile</title>
		<link>http://foundationphp.com/blog/2011/04/11/my-next-book-dreamweaver-cs5-5-for-mobile/</link>
		<comments>http://foundationphp.com/blog/2011/04/11/my-next-book-dreamweaver-cs5-5-for-mobile/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 04:30:18 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dreamweaver]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=194</guid>
		<description><![CDATA[I&#8217;ve been burning the midnight oil since the beginning of this year, working on my next book—Adobe Dreamweaver CS5.5 for Mobile with jQuery, HTML5, and CSS3: Studio Techniques. The book is now complete, and is scheduled to go live on &#8230; <a href="http://foundationphp.com/blog/2011/04/11/my-next-book-dreamweaver-cs5-5-for-mobile/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been burning the midnight oil since the beginning of this year, working on my next book—<cite>Adobe Dreamweaver CS5.5 for Mobile with jQuery, HTML5, and CSS3: Studio Techniques</cite>. The book is now complete, and is scheduled to go live on Safari Online Library and Creative Edge as soon as Dreamweaver CS5.5 is released (the actual date has not yet been made public). The printed book—published by Adobe Press—should be available in early June.</p>
<p>The book guides you through the main new features in Dreamweaver CS5.5 with the help of three case studies. The first one centers on redesigning a website for display on desktops, tablets, and smartphones using HTML5, CSS3, and media queries. The second takes a cut-down version of the same site, and builds a dedicated mobile version using jQuery Mobile, a sophisticated JavaScript and CSS framework designed to work consistently in all major mobile platforms. The final case study uses Dreamweaver CS5.5&#8242;s PhoneGap integration to develop a simple app that stores information in a database, accesses a mobile phone’s GPS sensor, and displays a map.</p>
<p>More details later.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/04/11/my-next-book-dreamweaver-cs5-5-for-mobile/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Missing file for PHP Solutions, Second Edition</title>
		<link>http://foundationphp.com/blog/2011/01/05/missing-file-for-php-solutions-second-edition/</link>
		<comments>http://foundationphp.com/blog/2011/01/05/missing-file-for-php-solutions-second-edition/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 12:50:13 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=186</guid>
		<description><![CDATA[A couple of readers have reported that download.php was missing from the ch07 folder of the download files for PHP Solutions, Second Edition. The zip file on the friends of ED download page has now been updated. If you downloaded &#8230; <a href="http://foundationphp.com/blog/2011/01/05/missing-file-for-php-solutions-second-edition/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A couple of readers have reported that <code>download.php</code> was missing from the <code>ch07</code> folder of the download files for <a href="/phpsolutions/"><cite>PHP Solutions, Second Edition</cite></a>. The zip file on the <a href="http://www.friendsofed.com/download.html?isbn=1430232498">friends of ED download page</a> has now been updated. If you downloaded the zip file before 4 January, please download the updated version. Many apologies for the inconvenience.</p>
<p>While checking the reports of the missing file, I discovered a mistake in the code on page 211 of the book. A closing curly brace is missing at the bottom of the script. Details are on <a href="/phpsolutions/errata_2e.php">the book&#8217;s corrections page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2011/01/05/missing-file-for-php-solutions-second-edition/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
	</channel>
</rss>

