<?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/"
xmlns:series="http://unfoldingneurons.com/"
><channel><title>Larry Ullman &#187; book</title> <atom:link href="http://www.larryullman.com/tag/book/feed/" rel="self" type="application/rss+xml" /><link>http://www.larryullman.com</link> <description>Translating Geek Into English</description> <lastBuildDate>Mon, 21 May 2012 11:03:07 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>What is Larry Thinking? #55 =&gt; Good Companies, Books, and Answers</title><link>http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/</link> <comments>http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#comments</comments> <pubDate>Mon, 21 May 2012 11:03:07 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[book]]></category> <category><![CDATA[hosting]]></category> <category><![CDATA[newsletter]]></category> <category><![CDATA[oop]]></category> <category><![CDATA[regex]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3199</guid> <description><![CDATA[In this edition… About This Newsletter What Were You Thinking? =&#62; Ajax and Search Engines On the Web =&#62; My Web Host, ServInt On the Web =&#62; 37 Tested PHP, Perl, and JavaScript Regular Expressions On the Blog =&#62; Review of &#8220;Technical Blogging&#8221; by Antonio Cangiano Q&#38;A =&#62; Have You Changed Your Opinion of OOP? [...]]]></description> <content:encoded><![CDATA[<p>In this edition…</p><ul><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#about">About This Newsletter</a></li><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#you">What Were You Thinking? =&gt; Ajax and Search Engines</a></li><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#web1">On the Web =&gt; My Web Host, ServInt</a></li><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#web2">On the Web =&gt; 37 Tested PHP, Perl, and JavaScript Regular Expressions</a></li><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#blog">On the Blog =&gt; Review of &#8220;Technical Blogging&#8221; by Antonio Cangiano</a></li><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#qa1">Q&amp;A =&gt; Have You Changed Your Opinion of OOP?</a></li><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#qa2">Q&amp;A =&gt; Why does false equal 0?</a></li><li><a
href="http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/#news">Larry Ullman&#8217;s Book News =&gt; &#8220;PHP Advanced and Object-Oriented Programming</a></li></ul><p><span
id="more-3199"></span></p><h2 id="about">About This Newsletter</h2><p>So, in case you hadn&#8217;t noticed (or are new to the newsletter), it now has a new template. It&#8217;s a bit more involved than the previous template (two columns instead of just one), but is simpler in other ways, too. The new look will more closely match the updated scheme for <a
href="http://LarryUllman.com">LarryUllman.com</a>, whenever I get around to putting that online (aka, July). Basically what I&#8217;m going with for the updated site is a white background, minimum of images, blue for headings, and, above all, a clear presentation of content.</p><p>To create this newsletter template, I used the template builder from <a
href="http://campaignmonitor.com.">Campaign Monitor</a>, whom I use for these newsletters. Campaign Monitor costs me $30/month (US), but I really think it&#8217;s worth it. They have a good product, and the user interface they&#8217;ve created is tremendous. In any case, I&#8217;m hoping that since I used their system, the resulting template will look reasonably good on most systems and devices.</p><p>As always, questions, comments, and all feedback are much appreciated. And thanks for your interest in what I have to say and do!</p><h2 id="you">What Were You Thinking? =&gt; Ajax and Search Engines</h2><p>In my <a
href="http://www.larryullman.com/2012/04/30/what-is-larry-thinking-54-salt-pepper-99designs/#qa1">previous newsletter</a>, I answered a question about making Ajax-derived content available to search engines. Yogesh was kind enough to share a link at <a
href="https://developers.google.com/webmasters/ajax-crawling/">Google Developers</a> in which Google explains what else you can do to make Ajax-derived content indexable. Thanks, Yogesh!</p><h2 id="web1">On the Web =&gt; My Web Host, ServInt</h2><p>Since I&#8217;m dishing out accolades (e.g., Campaign Monitor), I&#8217;d like to recognize the company I use for Web hosting: <a
href="http://www.servint.net">ServInt</a>. I&#8217;ve been using ServInt for my Web hosting for almost five years now and I&#8217;m so, so happy with their service. They only provide Virtual Private Servers (VPS) and dedicating hosting, so ServInt is not for everyone. But I think their packages are reasonably priced and their customer service is excellent. Their customer service is excellent! I&#8217;m paying $50 (USD) per month and am happily doing so. I have complete control over my little area of the server and don&#8217;t have to worry about what someone else might have done that would bring my site down. I have a few sites on the server, which garner between 500,000 and 1 million page views per month, and the lowest-level Essential VPS setup handles that easily.</p><p>There are two reasons I&#8217;m mentioning ServInt now. One is that I get asked this question a lot. Although if you&#8217;re not interested in a VPS account, these companies have also been recommended in my <a
href="http://www.larryullman.com/forums/index.php?/topic/132-web-hosting-recommendation/">forums</a>:</p><ul><li><a
href="http://www.dreamhost.com">Dreamhost</a></li><li><a
href="http://www.hostduplex.com">HostDuplex</a></li><li><a
href="http://hostgator.com">HostGator</a></li></ul><p>Besides letting you all know about a good hosting company, if you&#8217;re looking for one, I wanted to thank the people that have used me as a reference when creating his or her own account with ServInt. I don&#8217;t know who has done so, but a couple of people have signed up with ServInt and mentioned me in the past few months, which gives me a small credit on my account. Thanks for that!</p><h2 id="web2">On the Web =&gt; 37 Tested PHP, Perl, and JavaScript Regular Expressions</h2><p>Some time ago I stumbled upon <a
href="http://www.virtuosimedia.com/dev/php/37-tested-php-perl-and-javascript-regular-expressions">37 Tested PHP, Perl, and JavaScript Regular Expressions</a>. This is just a list of 37 Perl-Compatible Regular Expressions (PCRE) that you can use for common purposes: credit card numbers, dates, postal codes, URLs, email addresses, and more. A good resource to have around!</p><h2 id="blog">On the Blog =&gt; Review of &#8220;Technical Blogging&#8221; by Antonio Cangiano</h2><p>I <a
href="http://www.larryullman.com/2012/05/07/review-of-technical-blogging-by-antonio-cangiano/">just recently reviewed</a> the book &#8220;<a
href="http://amzn.to/H6gFcE">Technical Blogging</a>&#8221; by <a
href="http://antoniocangiano.com/">Antonio Cangiano</a>. It&#8217;s a very good book, and one that I&#8217;m happy that I read. For more, check out the <a
href="http://www.larryullman.com/2012/05/07/review-of-technical-blogging-by-antonio-cangiano/">review on my blog</a>.</p><h2 id="qa1">Q&amp;A =&gt; Have You Changed Your Opinion of OOP?</h2><p>In response to my previous newsletter, Marten asked if I have changed my opinion about procedural vs. object-oriented programming. I suspect the question was raised in part because I&#8217;m currently working on &#8220;<a
href="http://amzn.to/M6yvzg">PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide</a>&#8220;. This is something I&#8217;ve discussed in the past, and am happy to go through again. The short answer is no, I have not changed my opinion. And here is what that opinion is:</p><blockquote><p>Procedural programming is better in some situations and OOP is better in some situations.</p></blockquote><p>This is an interesting debate, because PHP is one of the few programming languages that allows you to work procedurally or objectively. You can&#8217;t do procedural code with Java, JavaScript, or Ruby, and you can&#8217;t use objects with C. In PHP, you can <em>choose</em> to use objects or not use objects.</p><p>As for myself, obviously if I&#8217;m using JavaScript, Ruby, or ActionScript, I&#8217;m going to use objects. If I&#8217;m doing C, I&#8217;m not. On some PHP projects, I&#8217;ll use procedural code. On other PHP projects, I&#8217;ll use objects. Obviously any project I do that uses the <a
href="http://www.yiiframework.com">Yii framework</a> will use objects, as most frameworks are OOP in nature. So I&#8217;m totally comfortable with both approaches and I have no preference for one over the other, I always just try to choose the right tool for the job.</p><p>That, of course, is what we should all be doing as developers. There are very few absolutes when it comes to programming; there&#8217;s mostly just opinions. I&#8217;m sure that part of the reason it may have seemed like I didn&#8217;t care for OOP is that I don&#8217;t care for the presumption that OOP is better than procedural programming. OOP has its strengths and weaknesses, as does procedural programming. One is not categorically better or worse than the other. In PHP, which allows for both, there&#8217;s a very strong argument to being comfortable with both approaches so that you, too, can choose the right tool for each job.</p><p>This belief of mine also applies to frameworks. People who are really intro frameworks sometimes assert that programming with frameworks is vastly superior. It&#8217;s not. Not all the time, that is. For some developers, with some projects, a framework is the better choice. For some developers, with some projects, a framework would be the worse choice.</p><p>I like analogies, so I&#8217;ll end this with one: I like tools, I like working around the house and being handy. I have probably about 30 screwdrivers and four electric drill/drivers, including a relatively new, and quite powerful, impact driver. The analogy is that this impact driver (OOP) is the better way to drive a screw, but that&#8217;s patently false. The driver was much more expensive than any screwdriver, and it&#8217;s much heavier, and I need to go looking for the right bit, and I need to keep the batteries charged. And aside from all that, if I had to put a small screw into the back of a picture frame, the impact driver would be a <em>terrible</em> choice. But the same goes for the screwdriver (procedural): if I had to drive a three-inch lag bolt into a post, trying to do that with a screwdriver would be a decision I&#8217;d regret for a long, long time.</p><p>Do away with the assumptions, learn as much as you can, and always try to choose the right tool for the job.</p><h2 id="qa2">Q&amp;A =&gt; Why does false equal 0?</h2><p>Matti sent me this question via Twitter, specifically wondering what the difference is between 0 and 1 and true and false in PHP, and why false equals 0. This is a common point of confusion and cause of many bugs. However, the issue isn&#8217;t with the differences between these values but rather with how conditionals are evaluated and what equality is.</p><p>When you write any conditional in PHP, PHP needs to determine whether that conditional is true or false. For many conditionals, such as comparison, it&#8217;s pretty easy to identify true/false: is <strong>$x</strong> greater than 5 or no? Other conditionals are more subjective, though, and the language needs to define its rules for these situations. For example, <code>if ($x) {</code>. Is that conditional true or false? Well, it depends upon the value of <strong>$x</strong>, of course.</p><p>Obviously, if <strong>$x</strong> has a value of <strong>true</strong>, then the conditional is true. The same goes for <strong>$x</strong> having a value of &#8220;something&#8221;. It&#8217;s also pretty easy to decide that null is going to be treated as false. Things get tricky, though, when you have values such as 0 and an empty string. If <code>$x = 0;</code>, then should that conditional be true or false? The variable has been deliberately assigned a value, but the value is 0. Again, these are the kinds of choices that creators of a language have to make. In PHP, 0, an empty string, false, and null are all considered <em>empty</em> values, which get evaluated as false when used as the basis of a conditional.</p><p>Similarly, language designers have to make decisions as to what constitutes equality. If you compare two values of the same type—a string against a string, a number against a number, it is again easy to evaluate equality. It gets complicated when you compare values of different types: <code>if (2 == "2")</code>. That conditional compares the number 2 against the string &#8220;2&#8243;. These two values are not <em>identical</em> because of their different types, but are they equal?</p><p>To compare two different types, languages have to cast (i.e., forcibly convert) one type to the other. Generally, casting converts a value down to a simpler type. In that conditional, PHP will convert the string &#8220;2&#8243; to its numeric equivalent, which is 2. When you compare a Boolean against a non-Boolean, the non-Boolean has to be casted to a Boolean. As we&#8217;ve already seen, the empty values are treated as false in a conditional, so those values—0, an empty string, null, and false—are cast to the Boolean <strong>false</strong>. Hence, 0 does equal <strong>false</strong>.</p><p>Fortunately, programming languages tend to be pretty consistent in what gets treated as false (JavaScript also equates 0, an empty string, null, and false). The bugs arise in situations where your code tests for &#8220;truthiness&#8221; when it shouldn&#8217;t. For example, the conditional <code>if ($x) {</code> is fine unless one of the empty values is a valid value for <strong>$x</strong>. If it&#8217;s okay for <strong>$x</strong> to have a value of an empty string, you&#8217;d need to change your conditional accordingly. In PHP, the <strong>empty()</strong> function can discern between a variable just being set (i.e., assigned a value), and having a non-empty value. As another example, the <strong>strpos()</strong> function in PHP looks for a needle in a haystack, returning the starting indexed position where the needle is found. If the needle is found at the very beginning of the haystack, then the function will return 0. If you were to do this, you&#8217;d have a bug:</p><blockquote><p><code>if (strpos($haystack, $needle)) {</code></p></blockquote><p>The assumption is that the condition will be true if the needle is found in the haystack, but as written, the condition will only be true if the needle is found in the haystack <em>but not as the first thing in the haystack</em>. The proper way to write that conditional is:</p><blockquote><p><code>if (strpos($haystack, $needle) !== false) {</code></p></blockquote><p>Also note that it&#8217;s an identity comparison to false, because using != contains the same bug, as 0 does equal false.</p><p>Thanks to Matti for the good question. I hope this has clarified the issue and please, anyone, let me know if you have more questions or comments about this or similar matters.</p><h2 id="news">Larry Ullman&#8217;s Book News =&gt; &#8220;PHP Advanced and Object-Oriented Programming&#8221;</h2><p>First, I continue to receive a lot of positive feedback on the &#8220;<a
href="http://www.larryullman.com/books/modern-javascript-develop-and-design/">Modern JavaScript: Develop and Design</a>&#8221; book, which makes me very happy. I&#8217;ve posted a couple of the comments <a
href="http://www.larryullman.com/books/modern-javascript-develop-and-design/reviews/">on my Web site</a>, and currently the book has received five reviews on <a
href="http://amzn.to/wsdmkq">Amazon</a>, all for five stars. The book seems to be selling well, too, which is great, but knowing that I was able to do what I set out to do—and that my intention actually did match up with what readers wanted—is paramount. My continued thanks to everyone for their interest in the book and for the nice words on it.</p><p>Right now, I&#8217;m continuing to chug away on the third edition of my PHP advanced book, titled &#8220;<a
href="http://amzn.to/M6yvzg">PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide</a>&#8220;. I&#8217;ve written four chapters thus far and hope to get another two written before I head off to Istanbul (in 10 days!).</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/05/21/what-is-larry-thinking-55-good-companies-books-answers/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Review of &#8220;Technical Blogging&#8221; by Antonio Cangiano</title><link>http://www.larryullman.com/2012/05/07/review-of-technical-blogging-by-antonio-cangiano/</link> <comments>http://www.larryullman.com/2012/05/07/review-of-technical-blogging-by-antonio-cangiano/#comments</comments> <pubDate>Mon, 07 May 2012 11:00:44 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Web Development]]></category> <category><![CDATA[blog]]></category> <category><![CDATA[book]]></category> <category><![CDATA[reading]]></category> <category><![CDATA[wordpress]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3166</guid> <description><![CDATA[As part of my  (which really turned out to be February-March), I&#8217;ve been going through a stack of books, and a virtual stack of ebooks, that I&#8217;ve had lying around for way too long. One of the first books from that stack that I read was &#8220;Technical Blogging&#8220;, by Antonio Cangiano. I bought the ebook [...]]]></description> <content:encoded><![CDATA[<p>As part of my <a
href="http://www.larryullman.com/2012/01/03/my-january-2012-non-resolutions-list/">January-February 2012 downtime</a> (which really turned out to be February-March), I&#8217;ve been going through a stack of books, and a virtual stack of ebooks, that I&#8217;ve had lying around for way too long. One of the first books from that stack that I read was &#8220;<a
href="http://amzn.to/H6gFcE">Technical Blogging</a>&#8220;, by <a
href="http://antoniocangiano.com/">Antonio Cangiano</a>. I bought the ebook through <a
href="http://pragprog.com/">Pragmatic Programmer</a>&#8216;s Black Friday sale back in November, and it&#8217;s available through Pragmatic Programmer, or Amazon, of course. Overall, I was quite impressed with the book, and I think it&#8217;s going to help me a lot. Before I discuss the book in detail, a quick bit of perspective&#8230;<span
id="more-3166"></span></p><p>I started blogging relatively recently, about two or three years ago, I think. In retrospect, I&#8217;m not sure why I started blogging, as I had no game plan and no intent of making money from the blog. I suspect the impetus was supporting <a
href="http://www.larryullman.com/books/">my books</a>, but that&#8217;s probably as much as I thought about it. Eventually I added a single Amazon widget to my site, again as a way to promote my books. In part because of the success of my <a
href="http://www.larryullman.com/series/learning-the-yii-framework/">Learning the Yii Framework</a> series, I was surprised when I started getting decent traffic to my site, and making a bit of money through the Amazon widget. To be completely transparent about the money, I make around a few hundred dollars per year with the site set up as is. I&#8217;m not quitting my day job on that, but it is enough to pay for my hosting costs, as well as my <a
href="http://www.larryullman.com/newsletter/">monthly newsletter</a>, and my<a
href="http://www.larryullman.com/forums/"> forum</a> software. After seeing a mist of potential in this area, and with 2012 being the year of legitimizing much of my business, I read &#8220;Technical Blogging.&#8221;</p><p>Like any well written book, it&#8217;s well organized, broken down into five sequential parts:</p><ul><li>Part I — Plan It</li><li>Part II — Build It</li><li>Part III — Promote It</li><li>Part IV — Benefit from It</li><li>Part V — Scale It</li></ul><p>In my own situation, I had already done parts two and four on my own blog, without ever giving much thought to parts one and three. Clearly, it&#8217;s hard to know if your site is succeeding when you&#8217;ve established no goals for it! And while my primary goal is to sell more books, after reading just the first part, I was able to come up with other, more immediate and tangible goals.</p><p>The book&#8217;s structure is sound, but the strength of the book is this: <strong>lots of concrete, specific advice</strong>. The book has decent breadth in the topics it covers, but always provides exact recommendations. For example, in the <em>Build It</em> chapter, Mr. Cangiano talks about the software and hosting options, from using <a
href="http://wordpress.org">WordPress</a> to more geeky options like <a
href="http://jekyllbootstrap.com/">Jekyll</a>. After covering the range of options, you get specific advice:</p><blockquote><p>&#8220;Opt for a self-hosted WordPress installation if you are the kind of person who doesn’t mind dealing with a remote Linux box.&#8221;</p></blockquote><p>and</p><blockquote><p>&#8220;If you don’t have an IT background or would like to test the waters before committing to something&#8230; I recommend Blogger (from Google) due to&#8230;&#8221;</p></blockquote><p>This approach—presenting the options, with pros and cons, and then making recommendations—continues throughout the book, even when it comes to the money and statistics. Mr. Cangiano explicitly talks about the hits his sites get and is bravely honest about the income, too. He discusses, for example, the effectiveness of various social media sites, and how much he earns from ads vs. Amazon referrals vs. sponsorships. Providing the details, regardless of their personal nature, makes it really easy for the reader to make his or her own decisions. For example, I don&#8217;t have any ads on my site now (a la <a
href="http://www.google.com/adsense">AdSense</a>), which is very much my preference. But I was worried that I was missing out on good money because of this value of mine. Mr. Cangiano, in a table citing his monthly income for a given month, shows that AdSense accounted for only 3% of the total. Knowing that, Mr. Cangiano has saved me from going through all the hassle of integrating AdSense, bothering viewers with random ads, only to make a smidgen of money.</p><p>The area in which I learned the most is promoting the blog via social media and other avenues, such as <a
href="http://www.reddit.com">Reddit</a>. All marketing stuff is foreign to me, and I&#8217;m just finally getting involved with social media. In fact, I&#8217;m in the process of creating a new theme for my site, which will more prominently feature my social media connections (and, more importantly, give more space to the content itself). Over the summer I&#8217;ll work harder to implement the social media tools, and I&#8217;ve set some goals for where I&#8217;d like to be in a year from now.</p><p>All in all, I have literally seven pages of notes that I took while reading the book. And while I&#8217;ve only begun using this new-found knowledge, I have no doubt that what I learned from &#8220;<a
href="http://amzn.to/H6gFcE">Technical Blogging</a>&#8221; will pay off. If you do technical blogging as well, I would highly recommend it!</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/05/07/review-of-technical-blogging-by-antonio-cangiano/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to Write a Book &#8211; The Short Honest Truth by Scott Berkun</title><link>http://www.larryullman.com/2012/05/04/how-to-write-a-book-the-short-honest-truth-by-scott-berkun/</link> <comments>http://www.larryullman.com/2012/05/04/how-to-write-a-book-the-short-honest-truth-by-scott-berkun/#comments</comments> <pubDate>Fri, 04 May 2012 11:00:26 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[book]]></category> <category><![CDATA[writing]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3186</guid> <description><![CDATA[I&#8217;ve just recently become aware of Scott Berkun, thanks to catching an excerpt from his &#8220;Confessions of a Public Speaker&#8221; book. I&#8217;ve since read that book, and it was wonderful (more on that in a separate post). I&#8217;m now following Berkun on Twitter, where he frequently Tweets older posts. One of those that I found [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve just recently become aware of <a
href="http://www.scottberkun.com">Scott Berkun</a>, thanks to catching an excerpt from his &#8220;<a
href="http://www.amazon.com/gp/product/1449301959/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=larrullm09-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1449301959">Confessions of a Public Speaker</a>&#8221; book. I&#8217;ve since read that book, and it was wonderful (more on that in a separate post). I&#8217;m now following Berkun on <a
href="https://twitter.com/#!/berkun">Twitter</a>, where he frequently Tweets older posts. One of those that I found to be particularly on the nose was &#8220;<a
href="http://www.scottberkun.com/blog/2007/how-to-write-a-book-the-short-honest-truth/ ">How to Write a Book- the Short, Honest Truth</a>&#8220;. I get asked about publishing a lot (and recently had a long email conversation about this, which I&#8217;ll also share separately), and thought Berkun&#8217;s posting is quite valuable on the subject.</p><p>In the post, Berkun distinguishes between three aspects of writing a book:</p><ul><li>Anyone can write a book (i.e., you can write one right now, without needing anything else)</li><li>Getting published (which is a separate issue from writing a book)</li><li>Becoming famous and wealthy</li></ul><p>I know there are some people that would like to write a book as an experience, or as a way of sharing what they&#8217;ve learned. And some others like the imagined prestige and riches that come with writing a book. I&#8217;ve done quite well over the past decade, having written 22 books and sold over 350,000 copies, but I can verify that the prestige and riches aren&#8217;t all that you might imagine (I <a
href="http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#qa">recently discussed the economics in a newsletter</a>). That being said, I&#8217;m quite happy that I&#8217;m making a decent living doing something that I always dreamed of doing. I&#8217;ve been working for myself for 13 years now, which is something.</p><p>In any case, if you&#8217;re interested in the topic, check out Berkun&#8217;s post. It&#8217;s short, and well written. At the bottom, you&#8217;ll find links to more good articles on writing, if you&#8217;re not too discouraged by that point! His &#8220;<a
href="http://www.scottberkun.com/blog/2010/why-you-fail-at-writing/">Why You Fail at Writing</a>&#8221; is pretty good for helping you accomplish that goal of writing a book.</p><p>If you have any questions you&#8217;d like to ask me about what it means to be a writer, just let me know!</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/05/04/how-to-write-a-book-the-short-honest-truth-by-scott-berkun/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Yii and Me (aka, the Yii Book)</title><link>http://www.larryullman.com/2012/04/23/yii-and-me-aka-the-yii-book/</link> <comments>http://www.larryullman.com/2012/04/23/yii-and-me-aka-the-yii-book/#comments</comments> <pubDate>Mon, 23 Apr 2012 11:18:49 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[MySQL]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[book]]></category> <category><![CDATA[yii]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3187</guid> <description><![CDATA[Thanks largely to the success of my Learning the Yii Framework series, people are often asking me about my plans to write a book on Yii. Writing a book on Yii is something that I&#8217;ve been meaning to do for some time, but have been way too busy for the past couple of years to [...]]]></description> <content:encoded><![CDATA[<p>Thanks largely to the success of my <a
href="http://www.larryullman.com/series/learning-the-yii-framework/">Learning the Yii Framework</a> series, people are often asking me about my plans to write a book on <a
href="http://www.yiiframework.com">Yii</a>. Writing a book on Yii is something that I&#8217;ve been meaning to do for some time, but have been way too busy for the past couple of years to make it happen. Every so often I post something about the phantom Yii book, and so here&#8217;s another. This time, it&#8217;s pretty good news&#8230;</p><p>As for my schedule, I&#8217;m now writing the third edition of my &#8220;<a
href="http://www.larryullman.com/2012/04/09/php-5-advanced-visual-quickpro-guide-3rd-edition-table-of-contents/">PHP 5 Advanced: Visual QuickPro Guide</a>&#8221; book. That project will take the next couple of months, through June. I&#8217;m hoping it will be entirely done (rewrites and all) in early July. I think I&#8217;ll have a decent-sized Web project to do in the fall, but other than that, I have no deadlines and obligations for the latter half of 2012. Little things will no doubt come along, but this kind of free time is unusual for me. (And, strangely, isn&#8217;t frightening at the moment, although free time come January could be a problem!) So, reasonably speaking, I will be able to work on the Yii book full time as of August 2012. This should coincide nicely with the hopeful release of Yii 2.0 over the summer. Speaking of which&#8230;</p><p>I&#8217;ve been chatting with Qiang Xue, the creator of Yii, and he has graciously offered to act as the personal tech editor for the book. This is a great honor to me, and will be a wonderful asset in making sure the book is as technically accurate as possible. In return, I&#8217;m going to help with some of the official Yii documentation (it&#8217;s the least I can do). And the good news keeps rolling in, as <a
href="http://rmcreative.ru/">Alex Makarov</a>, author of the popular <a
href="http://yiicookbook.org/">Yii 1.1 Application Development Cookbook</a> (Packt Publishing), has generously offered his assistance, too. These are invaluable pieces that are coming together nicely here.</p><p>In terms of publishing, my current plan is&#8230;</p><ul><li>To self-publish an ebook only. I will release it in mobi, epub, and PDF formats, without any annoying Digital Rights Management (DRM).</li><li>Possibly no DRM.</li><li>Probably no DRM.</li><li>The price would be about $15 (USD).</li><li>People would be able to buy the book in advance, and get each chapter as I write it. Revised chapters would be free updates.</li><li>People would be able to buy just a single chapter and get revisions of that chapter as free updates.</li></ul><p>I&#8217;m assuming that I&#8217;ll create a separate Web site for the book, as I&#8217;m also planning on making some of the book&#8217;s content freely available in HTML format. This does mean that along with writing the book, I&#8217;ll have to create the Web site and the above functionality, but such are the costs of doing things yourself. And I happen to know of a framework that makes Web development a lot faster&#8230;</p><p>I&#8217;ll continue posting updates here and on <a
href="http://www.twitter.com">Twitter</a> (by the way, I&#8217;m on Twitter <a
href="https://twitter.com/#!/LarryUllman">@LarryUllman</a>) as I have them. Yii postings may be sporadic for the next couple of months as I focus on the PHP Advanced book, but rest assured the Yii book is happening.</p><p>All thoughts, feedback, input, and offers of money are most welcome!</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/04/23/yii-and-me-aka-the-yii-book/feed/</wfw:commentRss> <slash:comments>40</slash:comments> </item> <item><title>What is Larry Thinking? #53 =&gt; Writing and Working</title><link>http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/</link> <comments>http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#comments</comments> <pubDate>Mon, 02 Apr 2012 11:02:50 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[article]]></category> <category><![CDATA[book]]></category> <category><![CDATA[jsdd]]></category> <category><![CDATA[mamp]]></category> <category><![CDATA[newsletter]]></category> <category><![CDATA[phpvqp3]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[writing]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3167</guid> <description><![CDATA[In this edition… On the Web =&#62; Follow Me on Twitter! Redux On the Web =&#62; Three JavaScript Articles I wrote On the Blog =&#62; MAMP without MAMP Q&#38;A =&#62; Can I Make a Living as a Writer? What is Larry Thinking =&#62; Competing for Work Larry Ullman&#8217;s Book News =&#62; “Modern JavaScript: Develop and [...]]]></description> <content:encoded><![CDATA[<p>In this edition…</p><ul><li><a
href="http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#web1">On the Web =&gt; Follow Me on Twitter! Redux</a></li><li><a
href="http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#web2">On the Web =&gt; Three JavaScript Articles I wrote</a></li><li><a
href="http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#blog">On the Blog =&gt; MAMP without MAMP</a></li><li><a
href="http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#qa">Q&amp;A =&gt; Can I Make a Living as a Writer?</a></li><li><a
href="http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#thinking">What is Larry Thinking =&gt; Competing for Work</a></li><li><a
href="http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/#news">Larry Ullman&#8217;s Book News =&gt; “Modern JavaScript: Develop and Design” and “PHP 5 Advanced: Visual QuickPro Guide” (3rd Edition)</a></li></ul><p><span
id="more-3167"></span></p><h2 id="web1">On the Web =&gt; Follow Me on Twitter! Redux</h2><p>To reiterate something I said in the <a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#web1">previous newsletter</a>, I am now officially on <a
href="http://twitter.com">Twitter</a>. You can follow me using <a
href="https://twitter.com/#!/LarryUllman">@LarryUllman</a>. In the three-ish weeks since I started using it, I’ve only sent out maybe a dozen group tweets (not counting the ones directly to specific people), but at least there have been no “I am now having a sandwich.”-type tweets. Not by me anyway.</p><p>So far, a nice ego bump when it comes to Twitter is seeing people mention me (yes, yes, I am an idiot regarding Twitter; I didn’t know about that aspect at all). The annoying and stunning thing is that I’m occasionally getting hit up for technical support. It really quite amazes me that one would think I could provide free, instant tech support, and within 140 characters! Of course, I’m happy to provide free tech support, which is why I created my <a
href="http://www.larryullman.com/forums/">support forums</a>, but I just don&#8217;t think Twitter is the best medium for it.</p><h2 id="web2">On the Web =&gt; Three JavaScript Articles I Wrote</h2><p>In support of my “<a
href="http://www.larryullman.com/books/modern-javascript-develop-and-design/">Modern JavaScript: Develop and Design</a>” book, I wrote three articles to be published online by <a
href="http://peachpit.com">Peachpit Press</a>. All three are now available:</p><ul><li><a
href="http://www.peachpit.com/articles/article.aspx?p=1843879">The Five Biggest JavaScript Misconceptions</a></li><li><a
href="http://www.peachpit.com/articles/article.aspx?p=1847299">The 10 Best JavaScript Development and Design Habits</a></li><li><a
href="http://www.peachpit.com/articles/article.aspx?p=1851233">5 Ways to Improve Your Ajax Performance</a></li></ul><p>The articles don’t require that you have the book. And, of course, they’re free, so check them out when you get the chance. Thanks!</p><h2 id="blog">On the Blog =&gt; MAMP without MAMP</h2><p>For a couple of years now, I’ve used, and advocated using, the <a
href="http://mamp.info/en/index.html">MAMP application</a> as the easiest way to run a Web server on a Mac. I’ve started to change my thinking about that, as discussed in a <a
href="http://www.larryullman.com/2012/02/24/mamp-without-mamp/">recent blog post</a>.</p><h2 id="qa">Q&amp;A =&gt; Can I Make a Living as a Writer?</h2><p>“Can I make a living as a writer?” is one of the more common questions I get, and one I never mind answering. Both Helmut and Scott recently asked me about the logistics of being a writer, so it seems like a good time to rehash the topic.</p><p>In terms of hard numbers, how lucrative writing a book is all depends upon how well the book sells. As a reasonable basis number, assume you can get $10,000 (USD) to write a book, which is the <strong>advance</strong>. Some publishers will pay more, some will pay less. It also depends upon who you are and what the book is. But $10,000 is fair. And that money is yours to keep, no matter what happens (assuming you complete the book to the publisher’s satisfaction). If you can write two books per year, that’s $20,000. If you can write three, that’s $30,000. In the past, there have been years in which I wrote three books in a single year, and it’s really hard to do, not just because you have to have three good ideas and enough expertise on three subjects, but because writing a single book is quite draining.</p><p>Added to that, write an article a month, just to get some extra income and to help promote the books. Let’s say you’re paid $500 each for those. Most of the articles I write pay less than that, but the occasional article pays dramatically more. One article per month at $500 per is another $6,000. Keep in mind that, as with the books, you have to have the ideas, have the knowledge, and then put forth the effort to get someone to buy the article. That’s all time consuming, but the actual act of writing an article isn’t that hard. It’s really just a professional blog posting.</p><p>So now, with a fair amount of work and effort, you’ve managed to bring in $26,000. At least in the United States, from this income you have to pay all the taxes and such, so the actual net may be more like $20,000. Does that constitute a living for you? I’m sure some of you would be losing a lot of money to take that deal and others would be fine with it. But I think that’s what you could reasonably expect as a bottom line if you’re a good writer and put in the necessary work. The other end of the spectrum depends upon how well your books sell.</p><p>A good seller in computer books is around 10,000 copies. Different titles have different expectations, but my understanding is that if you sell 10,000 copies, you’ve done well. This number varies greatly, but a decent expectation is that you, the writer, will make $2 per copy sold. If you sell 10,000 copies, that’s $20,000 on that one book. Minus the $10,000 advance, there’s another $10,000 for you. But that $10k will be spread out over some years. In my last statement, I received $11.19 in royalties for my first book published over a decade ago (with three new editions since then). The best part is that you’ve done no extra direct work for that money above and beyond the advance, but you can’t count on it, and you’ll likely have to do a lot of marketing work to help make that happen. Still, by earning advances for writing new titles and hopefully getting royalties on existing titles, you might be able to bring your total yearly writing income up to $30,000 to $40,000. Eventually.</p><p>In terms of harder numbers, you could probably consider me to be fairly successful as a computer writer (I mean in terms of actual sales, not necessarily the quality of the books, which is a different criteria). My first book came out almost exactly 11 years ago and I’ve now written 22 books, including revisions. I’ve sold approximately 325,000 copies in sum, for approximately $577,000. That may seem like a grand sum of money (and, to be clear, I’m happy to have earned it), but that’s over 11 years, which is about $52,000 per year during that time. Again, many of you would probably be thrilled with that number (and I’m okay with it), but remember that taxes have to come out of that and I get no benefits whatsoever. In the United States, benefits are normally estimated to be equivalent to the salary itself (i.e., if you’re being paid $40,000 per year, the company is probably spending another $40,000 for your retirement, medical, and other benefits). So one could look at that $52,000 per year as really being more like $26,000 per year, gross, plus benefits. And, again, I do fairly well for a writer. I’ll add that I’m just starting to make money through my blog, but right now that’s a few hundred dollars per year. Perhaps one day I’ll get that to a few hundred dollars a month, but I don’t envision this avenue to be a significant form of income.</p><p>There are some very hard numbers for what it might mean to make a living as a writer. For some people, the idea of making, say, $30,000 to $40,000 (USD) per year as a writer would be great. And there are intangible benefits. I work for myself, at home. I don’t commute. I don’t do many meetings. I learn and write about things I’m interested in. And there’s a lot of flexibility in my schedule which helps out tremendously considering the personal demands that I have. For other people, the idea of making that amount of money, with no guarantees, regular paychecks, or benefits would send them screaming to the nearest stable job.</p><p>I should add that writing does allow you to make good money doing related things. For example, I also do Web development and other programming, consulting, training, and speaking. My writing does act as a marketing agent for these avenues, meaning it’s easier for me to get work and I can charge a premium for those services.</p><p>All things considered, the general advice I have is: while it is possible to make money writing books (and/or articles), I wouldn’t recommend anyone to go into writing for that purpose. The odds of making money, let alone sufficient money, are slim. There’s a lot of competition, the publishing industry is definitely down, and the best payoffs are definitely in the long term. Also, in case I didn’t make this clear, writing a book is really quite hard. If you’re looking to go into business for yourself, there are certainly more stable, lucrative routes. It’d be much better to pursue writing only because you like to write and share what you’ve learned. And I’m not just saying that to cut down on the competition!</p><h2 id="thinking">What is Larry Thinking? =&gt; Competing for Work</h2><p>Some time back, William asked for my thoughts on how to compete for work, considering foreign competition and a tough economy. Two weeks ago, I was on the other side of the equation for the first time, as I ran a <a
href="http://99designs.com/">99designs</a> contest to have a new logo and business card created for me. I’ve been sketching out a blog posting tentatively titled “How Not To Get Work” about that experience, but I’ll toss out some thoughts here, too. (As an aside, the contest went great and I’ll post the details about it on my site soon. I got a great logo and business card, which are currently being used as the basis for a revamping of my Web site.)</p><p>This problem—a bad economy and competing with foreign developers who can offer bargain prices—is not new, although it may be new to those who haven’t been freelancing for that long. Just after I started in this line of work, the “dot com” bubble burst. At the time I was getting work through online freelancing sites like elance and guru, sometimes losing out to people that drastically undercut my price. For example, there was a big banking job that I lost out to a company in India that underbid me. That project would have been huge for me—around $22,000, I think, when I didn’t make that in a year, but on the other hand, I wasn’t really prepared or qualified to do that job at that time, so it was probably for the best. In any case, how does one compete?</p><p>In my opinion, you have to first accept two facts:</p><ul><li>Just because a competitor is in X country and is willing to do the job for much cheaper, it doesn’t mean that developer won’t do as good as a job as you.</li><li>For the person buying the services, price is logical, significant factor.</li></ul><p>I mention these two ideas because you can’t succeed if you get bogged down in excuses. The cost of living in X country may be a fraction of what it is in your country, which makes it possible for developers in X to offer what seem like cut-rate prices. But that doesn’t mean that developer can’t do the job. So the arguments for hiring you instead of those cheaper developers can’t be based upon that assumption. Second, while it is often true that you get what you pay for, it’s also true that business fail when they spend more than they have to. Accepting a cheaper bid doesn’t mean the client is cheap, it means the client is making a sound business decision (hopefully). So what can you do?</p><p>There’s only one thing you can control when competing for work: you. <em>Focus on what you can do</em>, not what’s wrong with the other developers or the client’s thought process. Towards that end:</p><ul><li><strong>Above all, be professional in every way.</strong> Every single thing you do should demonstrate professionalism on the highest level. This includes how well you handle not getting a job. You never know: your ability to handle failure professionally may just be the reason that the client comes back to you for a future project.</li><li><strong>Communicate well, both in quality and in timeliness.</strong> Be prompt, responsive, and literate.</li><li><strong>Offer the best, most appropriate price you can.</strong> Be aware of what other prices the client may see, but base your price on what you think is appropriate for the job. Do factor in how much you need the job, how much you want the job, and so forth, but try to strike a balance between asking enough that you won’t be annoyed if you get the job while still being as affordable as you can be.</li><li><strong>Stress and demonstrate your less obvious strengths.</strong> While money is a mitigating factor for the client, it’s not the only one. If you can’t compete on a pure cost basis, work on other angles. For example, a developer in X country might be cheaper but may also be 12 hours away; a simple Q&amp;A could take a whole day in that case. Or, if you will be available via IM or Skype, that’s a bonus.</li><li><strong>Do the work in advance.</strong><strong> The absolute best way to demonstrate that you’re capable of doing a job, and on time, is to do the job ahead of time. My second client ever, for whom I’m still doing work, was one I got when I did a bit of JavaScript for an elance project he was hiring for. During the bidding process, as part of my bid, I linked to a page where the client could see the finished work. It was <em>easy</em> for that client to hire me at that point. Yes, this means I did work for free, and because it was JavaScript, anyone could have stolen my code, but I had the free time and needed the money, so I went out on a limb. I did that many times when I first started and my success rate was high because of it.</strong></li></ul><p>William had also specifically asked about how to convince small business owners to start or revise a Web site. I will say that I’m pretty good at convincing someone to hire me to do a project, but I have no skill when it comes to convincing someone that a project is necessary. In short, I wouldn’t have the vaguest idea how to proceed here. I would <strong>guess</strong> that it’d be more effective if you tie some of your payment into the site’s success (i.e., establish quantifiable goals that trigger payments or bonuses). That would clearly convey that you believe in the project, but it is risky.</p><p>As a final piece of advice, I’ll add that getting the job (and the money) isn’t the only benefit to be gained from trying to get work. There’s a lot to be said for the experience gained by being involved in the process. Certainly that’s a “silver lining” perspective, but if you can handle the failure to win the job, you can learn a ton from just participating. With open eyes, you can see what clients are looking for and what winning developers are doing right. In thinking about my 99designs contest, which had approximately 100 designers, about a third of the designers really didn’t have the skill set to compete. But those designers did get to see what a winning designer does, how a client behaves, and how to manage the interaction. In my opinion, that’s all quite valuable experience.</p><h2 id="news">Larry Ullman’s Book News =&gt; “Modern JavaScript: Develop and Design” and “PHP 5 Advanced: Visual QuickPro Guide” (3rd Edition)</h2><p>The <a
href="http://www.larryullman.com/books/modern-javascript-develop-and-design/">JavaScript book</a> is done and available at a store near you. The early reviews seem to be good, for which I’m quite grateful. I already gave away half of the copies I had to people that replied to previous newsletters, so right now I’m not planning on doing another dedicated “Modern JavaScript: Develop and Design” giveaway. I <strong>might</strong> have a couple more copies to give away later in the year. We shall see.</p><p>Next week I begin writing the third edition of my “PHP 5 Advanced: Visual QuickPro Guide”, which will come out this summer. I’m finished the new table of contents and I’ll put that online soon. The current plan is to cut four chapters that contain material since covered in my other books. I’m adding four new chapters, too:</p><ul><li>Debugging, Testing, and Performance</li><li>Design Patterns</li><li>A chapter that creates a complete example using OOP</li><li>Using the Zend Framework</li></ul><p>There are also some minor cuts and additions. The general thrust in this rewrite is to expand the book largely in the areas of Object-Oriented Programming and advanced Web development. The OOP additions include design patterns, implementing MVC, using the <a
href="http://www.php.net/spl">Standard PHP Library</a>, and an example application writing in OOP. For the latter, Im specifically thinking about things like using <a
href="http://www.phpdoc.org/">phpDocumentor</a>, <a
href="http://www.php.net/pdo">PDO</a>, caching, and unit testing.</p><p>If you have any thoughts or suggestions, I would love to hear them. Thanks!</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/04/02/what-is-larry-thinking-53-writing-and-working/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>35% Off &#8220;Modern JavaScript: Develop and Design&#8221; at Peachpit.com</title><link>http://www.larryullman.com/2012/03/29/35-off-modern-javascript-develop-and-design-at-peachpit-com/</link> <comments>http://www.larryullman.com/2012/03/29/35-off-modern-javascript-develop-and-design-at-peachpit-com/#comments</comments> <pubDate>Thu, 29 Mar 2012 15:18:49 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[book]]></category> <category><![CDATA[jsdd]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3162</guid> <description><![CDATA[I&#8217;m not sure for how long this will be good, but Peachpit Press just sent out a coupon code for 35% of my &#8220;&#8221;. The code is MODERNJS. Here&#8217;s the direct link to the book at Peachpit&#8217;s site: http://www.peachpit.com/store/product.aspx?isbn=0321812522&#38;WT.mc_id=2012_Mar_28_PP_PBM_ModernJavaScript.]]></description> <content:encoded><![CDATA[<p>I&#8217;m not sure for how long this will be good, but <a
href="http://www.peachpit.com">Peachpit Press</a> just sent out a coupon code for 35% of my &#8220;<a
href="http://www.larryullman.com/books/modern-javascript-develop-and-design/">Modern JavaScript: Develop and Design</a>&#8220;. The code is MODERNJS. Here&#8217;s the direct link to the book at Peachpit&#8217;s site: <a
href="http://e.pearson.info/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGNJzac7pfEF0yzam9uzc6gze4tws9o1CeSOcGUHzaPRVXtpKX%3DSRDTWCAW&amp;_ei_=Ema9CtfOgebgIFCmMQD2kWzdk75weai79Q7-a-HNmHC7D0blL7FAk0Xm1C5ZvWRjqGRW1JR-koe78I8I3ftIC3NDY8hl9dCXp08ysIwySLgy9PXkZyHCCM.">http://www.peachpit.com/store/product.aspx?isbn=0321812522&amp;WT.mc_id=2012_Mar_28_PP_PBM_ModernJavaScript</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/03/29/35-off-modern-javascript-develop-and-design-at-peachpit-com/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>What is Larry Thinking? #52 =&gt; Twitter and More!</title><link>http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/</link> <comments>http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#comments</comments> <pubDate>Mon, 12 Mar 2012 17:13:55 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Mac OS X]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[99designs]]></category> <category><![CDATA[book]]></category> <category><![CDATA[books]]></category> <category><![CDATA[ecom]]></category> <category><![CDATA[jsdd]]></category> <category><![CDATA[newsletter]]></category> <category><![CDATA[paypal]]></category> <category><![CDATA[phpvqp3]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3151</guid> <description><![CDATA[In this edition… On the Web =&#62; Follow Me on Twitter! On the Web =&#62; Facebook and MySQL On the Web =&#62; 99Designs Contest for My Logo and Business Card On the Blog =&#62; Autographed Copies of “Modern JavaScript: Develop and Design” Now Available On the Blog =&#62; Using PayPal’s WebSite Payments Pro with “Effortless [...]]]></description> <content:encoded><![CDATA[<p>In this edition…</p><ul><li><a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#web1">On the Web =&gt; Follow Me on Twitter!</a></li><li><a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#web2">On the Web =&gt; Facebook and MySQL</a></li><li><a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#web3">On the Web =&gt; 99Designs Contest for My Logo and Business Card</a></li><li><a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#blog1">On the Blog =&gt; Autographed Copies of “Modern JavaScript: Develop and Design” Now Available</a></li><li><a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#blog2">On the Blog =&gt; Using PayPal’s WebSite Payments Pro with “Effortless E-Commerce with PHP and MySQL”</a></li><li><a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#qa">Q&amp;A =&gt; Does It Make Sense To Use a Code Generator?</a></li><li><a
href="http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/#news">Larry Ullman&#8217;s Book News =&gt; “Modern JavaScript: Develop and Design” and “PHP 5 Advanced: Visual QuickPro Guide” (3rd Edition)</a></li></ul><p><span
id="more-3151"></span></p><h2 id="web1">On the Web =&gt; Follow Me on Twitter!</h2><p>Sometimes it’s tough being such a pioneer, but, yes, I am now officially on <a
href="http://twitter.com">Twitter</a>. Only about 500 million people and organizations beat me to the punch.</p><p>I’ve obviously been aware of Twitter for years now, but have avoided all forms of “social media”, despite the fact that many readers, and even my <a
href="http://www.peachpit.com">publisher</a>, have kept suggesting that I create an account. Well, I finally accepted that “I don’t wanna” isn’t really a good reason for <em>not</em> having a Twitter account. And, I reminded myself that I could use Twitter the way I want, that it doesn’t have to be a stereotypical (and inane) series of “I am eating a sandwich.” tweets.</p><p>So I’m now officially <a
href="https://twitter.com/#!/LarryUllman">@LarryUllman</a> (clever handle, no?), although I have yet to actually tweet. Rest assured that I will start tweeting within a day or two of this newsletter going out. My thanks in advance to everyone for following me, and to those that gently nudged me in this direction.</p><h2 id="web2">On the Web =&gt; Facebook and MySQL</h2><p>Some time ago, I came across an article titled <a
href="http://gigaom.com/cloud/facebook-trapped-in-mysql-fate-worse-than-death/">“Facebook trapped in ’MySQL fate worse than death’”</a>. It’s a purposely overdramatic title, to be sure, but the article does a good job of discussing the problems that a very popular site such as Facebook has in scaling its database backend. The article also introduces some possible solutions to that problem. You may also find this to be an interesting read, although I would caution not to take away from the article that you shouldn’t be using MySQL. Facebook is probably the most active site online, and any one of us would be lucky to create a site that’s one-hundredth as popular (and therefore, technically demanding).</p><h2 id="web3">On the Web =&gt; 99Designs Contest for My Logo and Business Card</h2><p>On Friday, I created a <a
href="http://99designs.com/logo-design/contests/logo-business-card-larry-ullman-126632" class="broken_link">logo and business card design contest</a> at <a
href="http://99designs.com/">99designs</a>. If you’re not familiar with 99designs, it’s a <a
href="http://en.wikipedia.org/wiki/Crowdsourcing">croudsourcing</a> site that’s getting a lot of press these days. At the site, you create a “contest”, indicating what you want and how much you’re going to pay. For example, you may offer $200 for a business card or $150 for a t-shirt (all prices in USD). That price is set in stone, and is what the final winner will get. Designers then submit entries. The great thing is that you can see the entries as they come in and provide feedback. Designers can then submit new designs, based upon that feedback; not just on their designs, but on the others, too. My contest is restricted to 99design users, but you can see other examples <a
href="http://99designs.com/logo-design">here</a>. After the qualifying round (four days, in my case), you can select the finalists and move towards the final round (three days). Then select a winner who will be paid the designated amount.</p><p>With this system, the more you’re willing to pay, the more submissions you’ll get. I decided upon (with help from the 99designs “create a contest” wizard), a total of $644 for a logo and business card. As of this writing, three days in, I’ve had 118 entries from 35 designers. On the first day, most of the entries were amateurish: the kind of thing I could have created in Photoshop myself. On the second day, better designs came in. Then I <em>guaranteed</em> the contest, which means I’m saying that I’ll definitely pay for one of the designs. Once I did that, the number of entries ballooned from around 30 to 118.</p><p>A year or so ago, I spoke with a local company about designing a logo and business card. I believe the estimate they gave me was around $6,000, which included hours of research (at $180/hour or so). To be clear, having a good logo and business card really isn’t important to me, but I’d like one that I’m not embarrassed about. Six thousand dollars for something I don’t feel that strongly about is completely impossible, let alone not something I can afford. But the 99designs contest will give me a logo and a business card that looks nice, without breaking the bank.</p><p>To be fair, there are some that don’t like the idea of crowdsourcing, as all but one of the designers will get paid nothing for their work. This really doesn’t bother me, and not just because I’m a buyer and not a seller here. First of all, no vendor has to participate (i.e., if you don’t like the risk of not getting paid, don’t do it). Second, if you’re just starting out, crowdsourcing provides access to a slew of jobs and clients, which you wouldn’t otherwise have. Third, and most importantly, I would see crowdsourcing as an extremely valuable learning tool for vendors. By participating in these contests, or by just watching them, you can really learn a lot about the design process and about what customers want. In short, this is free and easy access to valuable experience.</p><p>Well, since I wrote this yesterday, a lot more entries have come in. The current count is 189 designs from 62 designers. I’ll be sure to share the winning design when all is said and done.</p><h2 id="blog1">On the Blog =&gt; Autographed Copies of “Modern JavaScript: Develop and Design” Now Available</h2><p>In response to several reader requests, I can now directly sell autographed copies of Modern JavaScript: Develop and Design. I only have the original, printed book in English available. I cannot sell you an ebook or a translated version. To cover my own costs (i.e., I have to buy copies of the book to sell to you), the base price is $40 (USD), plus shipping. This is about $6 more than if you were to buy the book at <a
href="http://amzn.to/wsdmkq">Amazon</a>, but the book you buy will be autographed and inscribed however you want. For international recipients, this will undoubtedly be the fastest way to get a copy of the book.</p><p>In order to get this option up as quickly as possible, I just set up a simple PayPal system. Head <a
href="http://www.larryullman.com/2012/02/27/autographed-copies-of-modern-javascript-develop-and-design-now-available/">here</a> to start that process. The shipping cost within the United States is $5.00 for priority mail, which gets it to you within a couple of business days. The shipping cost for international recipients is $17.00. This is also priority, and means the book should arrive within about a week, more or less. (Shipping rates have really gone up lately, and it’s a heavy book because it’s full color.) I’ll ship out books within two business days from receipt of payment. Note that for the time being, you can only order a single copy of this one book at a time. For multiple copies or to buy other books, please contact me directly.</p><p>If you have any questions or comments, let me know. Thanks!</p><h2 id="blog2">On the Blog =&gt; Using PayPal’s WebSite Payments Pro with “Effortless E-Commerce with PHP and MySQL”</h2><p>In Part 3 of my <a
href="http://www.larryullman.com/books/effortless-e-commerce-with-php-and-mysql/">“Effortless E-Commerce with PHP and MySQL”</a> book, I use <a
href="http://www.authorize.net/">Authorize.net</a> to process payments for a site that sells physical goods. Authorize.net accepts credit cards and can be directly integrated into your site, so that the customer never leaves (unlike, for example, PayPal’s Website Payments Standard, used in Part 2 of the book, which goes through PayPal’s site). The code in the book was written in a very modular style, with the intent that you can use the components you need, and swap others in and out. A long time ago, a reader specifically wanted to know how you would use PayPal’s Website Payments Pro instead of Authorize.net, and so I finally explained how to do that <a
href="http://www.larryullman.com/2012/03/07/using-paypals-website-payments-pro-with-effortless-e-commerce-with-php-and-mysql/">in a blog post</a>.</p><h2 id="qa">Q&amp;A =&gt; Does It Make Sense To Use a Code Generator?</h2><p>Tim had recently sent me this question, stating</p><blockquote><p>At times I feel overwhelmed with all the logic, syntax and complex structure of some scripts. Does it make sense to use a code generator to do the “heavy lifting” and then go into the code and “massage” it to suit your needs?</p></blockquote><p>In many situations, it absolutely makes sense to use a code generator. In fact, one of the reasons I like the <a
href="http://www.yiiframework.com">Yii framework</a> is that it generates a lot of the basic code for you. A code generator, in case you’re not familiar with the concept, is a tool that will generate the physical file, and the code itself, for you. You would then edit the generated code to be more specific for the goal. Of course, a code generator is a program, perhaps even written in another language. The complexity of the generator itself can vary, resulting in code that’s more or less specific.</p><p>With this in mind, you’ll need to balance the amount of work required to create the code generator vs. how much time you actually save using one. With PHP in particular, which isn’t that complex, using a good text editor or IDE, which will perform autocompletion for you, may be sufficient. Or, for that matter, just using a template in your text editor or IDE, can suffice. For example, if your application has the ability to create templates, it might create a PHP file template, with the opening and closing tags, the inclusion of a configuration file, a header, and a footer, and many comments. You might then use your application&#8217;s autocomplete or bundling tools to quickly drop in code for function definitions or database queries. Taking the time to customize and maximize the use of your text editor or IDE may be more efficient for something as simple as many PHP scripts.</p><h2 id="news">Larry Ullman’s Book News =&gt; “Modern JavaScript: Develop and Design” and “PHP 5 Advanced: Visual QuickPro Guide” (3rd Edition)</h2><p>So the JavaScript book is done and available at a store near you. Assuming, of course, that a book store still exists near you (my local Barnes and Noble is constantly taking out bookshelves to sell more games and toys; troubling as a writer). Many people have started receiving their copies already.</p><p>I should mention that the book is in full color (my first). This also means the book is heavier, and explains its higher price. The book has a clean, open design in a single-column format, not the two-column format of my Visual QuickStart/Pro Guides.</p><p>Some articles supporting the book will be going online soon, and I’ll post those links as I have them.</p><p>I’m currently in the process of revamping my Web site, but this month I also start the third edition of my “PHP 5 Advanced: Visual QuickPro Guide”, which will come out this summer. I’m planning on expanding my coverage of OOP and related topics like design patterns. I’ll also remove some of the deadwood and create new chapters. If you have any thoughts or suggestions, I would love to hear them. Thanks!</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/03/12/what-is-larry-thinking-52-twitter/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Autographed Copies of &#8220;Modern JavaScript: Develop and Design&#8221; Now Available</title><link>http://www.larryullman.com/2012/02/27/autographed-copies-of-modern-javascript-develop-and-design-now-available/</link> <comments>http://www.larryullman.com/2012/02/27/autographed-copies-of-modern-javascript-develop-and-design-now-available/#comments</comments> <pubDate>Mon, 27 Feb 2012 15:24:05 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[book]]></category> <category><![CDATA[buy]]></category> <category><![CDATA[jsdd]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3110</guid> <description><![CDATA[As I had previously suggested, it is my intention to start selling autographed copies of my books directly. Doing so won&#8217;t really be a money maker for me (in case you&#8217;re curious), but it&#8217;s something readers have asked for and I try to oblige. Besides, doing some of my own book e-commerce will be necessary once [...]]]></description> <content:encoded><![CDATA[<p>As I had previously suggested, it is my intention to start selling autographed copies of my books directly. Doing so won&#8217;t really be a money maker for me (in case you&#8217;re curious), but it&#8217;s something readers have asked for and I try to oblige. Besides, doing some of my own book e-commerce will be necessary once I begin to self-publish).</p><p>As of today, I can being directly selling <em>Modern JavaScript: Develop and Design</em>. I only have the original, printed book in English available. I cannot sell you an ebook or a translated version. To cover my own costs (i.e., I have to buy copies of the book to sell to you), the base price is <strong>$40</strong> (USD), plus shipping. This is about $6 more than if you were to buy the book at <a
href="http://amzn.to/wsdmkq">Amazon</a>, but the book you buy will be autographed and inscribed however you want. For international recipients, this will undoubtedly be the fastest way to get a copy of the book.</p><p>In order to get this option up as quickly as possible, I just set up a simple PayPal system. Click the button below to start that process. The shipping cost within the United States is <strong>$5.00</strong> for priority mail, which gets it to you within a couple of business days. The shipping cost for international recipients is <strong>$17.00</strong>. This is also priority, and means the book should arrive within about a week, more or less. I&#8217;ll ship out books within two business days from receipt of payment. Note that for the time being, you can only order a single copy of this one book at a time. For multiple copies or to buy other books, please <a
href="http://www.larryullman.com/contact/">contact</a> me directly.</p><p>Finally, if you&#8217;d like me to write something specific in the book, click the &#8220;Add&#8221; link next to &#8220;Special inscription request&#8221; within the &#8220;Shipping address&#8221; information at PayPal&#8217;s site.</p><p>I&#8217;m just starting to ship books myself via PayPal, so there are undoubtedly things I still have to figure out. If you have any questions or comments, let me know through the <a
href="http://www.larryullman.com/contact/">contact</a> page. Thanks!</p><form
action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input
type="hidden" name="cmd" value="_s-xclick"/> <input
type="hidden" name="hosted_button_id" value="MQ8V3DL4FE3RU"/> <input
type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"/> <img
alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"/><br
/></form> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/02/27/autographed-copies-of-modern-javascript-develop-and-design-now-available/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>&#8220;Modern JavaScript: Develop and Design&#8221; Exists!</title><link>http://www.larryullman.com/2012/02/22/modern-javascript-develop-and-design-exists/</link> <comments>http://www.larryullman.com/2012/02/22/modern-javascript-develop-and-design-exists/#comments</comments> <pubDate>Wed, 22 Feb 2012 15:25:43 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[book]]></category> <category><![CDATA[jsdd]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3087</guid> <description><![CDATA[I am very, very happy to say that I received my printed copies of Modern JavaScript: Develop and Design on Monday evening (February 20, 2012). It&#8217;s safe to say that the book actually exists, after many, many delays, and should be available to you soon. My sincerest thanks to everyone for their interest in the book and for [...]]]></description> <content:encoded><![CDATA[<p>I am very, very happy to say that I received my printed copies of <em>Modern JavaScript: Develop and Design</em> on Monday evening (February 20, 2012). It&#8217;s safe to say that the book actually exists, after many, many delays, and should be available to you soon. My sincerest thanks to everyone for their interest in the book and for their patience.</p><p>The official Web site for the book is <a
href="http://www.larryullman.com/books/modern-javascript-develop-and-design/">http://www.larryullman.com/books/modern-javascript-develop-and-design/</a>. You can view the book&#8217;s <a
href="http://www.larryullman.com/books/modern-javascript-develop-and-design/table-of-contents/">Table of Contents</a> there, too. And I&#8217;ve created a <a
href="http://www.larryullman.com/forums/index.php?/forum/33-modern-javascript-develop-and-design/">support forum</a> for the book, naturally.</p><p>Over the next couple of weeks, some articles and videos I did in support of the book will be made available, and I&#8217;ll link those here as that happens.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/02/22/modern-javascript-develop-and-design-exists/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>What is Larry Thinking? #51 =&gt; Books!</title><link>http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/</link> <comments>http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#comments</comments> <pubDate>Mon, 20 Feb 2012 15:25:56 +0000</pubDate> <dc:creator>Larry</dc:creator> <category><![CDATA[JavaScript]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[book]]></category> <category><![CDATA[books]]></category> <category><![CDATA[jsdd]]></category> <category><![CDATA[phpvqp3]]></category><guid
isPermaLink="false">http://www.larryullman.com/?p=3063</guid> <description><![CDATA[In this edition… About This Newsletter What Are You Thinking? =&#62; PHP 5 Advanced: Visual QuickPro Guide (3rd Edition) On the Web =&#62; President’s Day Discount at Peachpit.com On the Blog =&#62; Locale-aware Date and Time Formatting in PHP 5.3 Q&#38;A =&#62; What are some good general programming books? What is Larry Thinking =&#62; Your [...]]]></description> <content:encoded><![CDATA[<p>In this edition…</p><ul><li><a
href="http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#about">About This Newsletter</a></li><li><a
href="http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#you">What Are You Thinking? =&gt; PHP 5 Advanced: Visual QuickPro Guide (3rd Edition)</a></li><li><a
href="http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#web">On the Web =&gt; President’s Day Discount at Peachpit.com</a></li><li><a
href="http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#blog">On the Blog =&gt; Locale-aware Date and Time Formatting in PHP 5.3</a></li><li><a
href="http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#qa">Q&amp;A =&gt; What are some good general programming books?</a></li><li><a
href="http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#thinking">What is Larry Thinking =&gt; Your Knowledge Portfolio</a></li><li><a
href="http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/#news">Larry Ullman&#8217;s Book News =&gt; “Modern JavaScript: Develop and Design” Coming Soon!</a></li></ul><p><span
id="more-3063"></span></p><h2 id="about">About This Newsletter</h2><p>Through happenstance and a delay in finishing it, this newsletter actually has somewhat of a theme to it. Although that’s not a requirement for me, when I am able to theme a newsletter, it does make me happy for some reason. As the newsletter heading says, the theme is BOOKS! As you might imagine, it’s a subject that’s near and dear to my heart. But first, a caveat…</p><p>Although the goal is always to present information to you that I think you’ll benefit from or generally find interesting, this newsletter is a tad more commercial than I normally allow. In other words, if you buy some of the books mentioned in this newsletter, I might make a dollar or two (literally). Of course, there’s no pressure at all on you to buy any book discussed herein. I am sincerely trying to present those you may benefit from. And keep in mind you can also try getting any book that you might be interested in from your local library (for free!). With that caveat aside, let’s go to it.</p><p>As always, questions, comments, and all feedback are much appreciated. And thanks for your interest in what I have to say and do!</p><h2 id="you">What Are You Thinking? =&gt; PHP 5 Advanced: Visual QuickPro Guide (3rd Edition)</h2><p>Next month, I’m going to start working on the third edition of my “<a
href="http://www.larryullman.com/books/php-5-advanced-visual-quickpro-guide-2nd-edition/">PHP 5 Advanced: Visual QuickPro Guide</a>”. The PHP 5 Advanced book is somewhat different than my other books in that it discusses a number of individual topics, in a mostly non-linear order. The assumption the book makes is that the reader is already comfortable with PHP and MySQL, perhaps after having read my “<a
href="http://www.larryullman.com/books/php-and-mysql-for-dynamic-web-sites-visual-quickpro-guide-4th-edition/">PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide</a>” book, and is looking to further her or his skills or learn about specific, tangential concepts. The second edition of the book discusses a lot of OOP (about 150 pages or so), plus: security, advanced database topics, networking, PHP and the server, PHP’s command-line interface, XML, and more.</p><p>Right now, for the third edition, I’m tentatively planning on:</p><ul><li>Expanding the coverage of OOP</li><li>Discussing design patterns</li><li>Demonstrating unit testing</li><li>Walking through some good debugging tools, such as <a
href="http://www.xdebug.org/">Xdebug</a></li><li>Introducing the Zend Framework</li></ul><p>Other topics that I’m considering are: caching, MongoDB, CVS, Smarty, and doing a new example chapter (presumably using OOP). I also expect that I’ll drop a few chapters whose content is now covered in my other books.</p><p>My question, then, is: <em>What would you like to see</em>? Even if you don’t think you’re particularly interested in the book, what do you think is important? What hasn’t been well covered elsewhere (by anyone)? What hasn’t been well covered elsewhere by me?</p><p>Any and all ideas, suggestions, and feedback are very much welcome and appreciated!</p><h2 id="web">On the Web =&gt; President’s Day Discount at Peachpit.com</h2><p>Josee pointed out in <a
href="http://www.larryullman.com/forums/">my forums</a> that <a
href="http://www.peachpit.com">Peachpit Press</a>, the publisher of most of my books, is having a big President’s Day sale on their Web site (for those of you around the world, President’s Day is a rather trivial holiday we celebrate in the United States in February, ostensibly to honor our presidents). Peachpit is offering 40% off of any two eBooks or videos or 50% off any three. The coupon code is <strong>PRESIDENT</strong>. This is also advertised clearly on the front page of Peachpit’s site and ends on February 21. If you’ve been considering some titles, or are thinking about learning something new, this may be the right time.</p><p>As an example, looking at <a
href="http://www.peachpit.com/authors/bio.aspx?a=2a14d669-06f6-48cf-a5b8-907169808b9f">my books</a> (because, you know, it’s all about me), the list price for the eBook of “Modern JavaScript: Develop and Design” is $43.99 (all prices in USD). Although the book doesn’t formally come out until February 22nd, it can be pre-ordered. With the 40% discount, that comes down to $26.39. With the 50% discount, that comes down to $22.00. By comparison, the <a
href="http://amzn.to/wsdmkq">printed book at Amazon</a> is currently selling at $30.99. I will also point out that for international readers, purchasing an eBook will be the fastest way to get a copy, by many months or more (although only in English).</p><p>A couple of quick notes: First, I really don’t know much of anything about Peachpit’s site and only found out about this promotion when Josee pointed it out to me. I cannot answer any questions about Peachpit’s site, the e-commerce system there, the types of payments accepted, the policies, and so forth. Second, obviously I get a couple of dollars when you buy a book of mine (normally around $2 per book, depending upon the book) and I do receive an extra $1 more or less when you purchase it at Amazon through the above link. Just want to be transparent about that.</p><h2 id="blog">On the Blog =&gt; Locale-aware Date and Time Formatting in PHP 5.3</h2><p>In the third edition of my “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide” book, titled “<a
href="http://www.larryullman.com/books/php-6-and-mysql-5-for-dynamic-web-sites-visual-quickpro-guide-3rd-edition/">PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide</a>”, I went out on a limb and used a beta version of PHP 6 when writing the book. PHP 6 was about half-way done at the time, and I didn’t want to complete the book, only to have it be outdated immediately thereafter (using PHP 6 wasn’t, by the way, an attempt to trick the reader into buying the book, as some cynical people have suggested). Well, <a
href="http://www.larryullman.com/2010/05/25/the-death-of-php-6the-future-of-php-6/">PHP 6 ended up dying due to many complications</a> and I had the proverbial egg on my face (what Paul rightfully called my “<a
href="http://en.wikipedia.org/wiki/Dewey_Defeats_Truman">Dewey Defeats Truman</a>” moment). In truth, only about 5% of the book or so required PHP 6, so it wasn’t a devastating mistake, but I certainly felt foolish.</p><p>One of the things I wanted to cover in PHP 6 was locale-aware date and time formatting, as part of the goal of PHP 6 was to recognize the more global Web environment. Even though PHP 6 was shelved, the key components have since been integrated into PHP 5.2, 5.3, and the forthcoming 5.4. Locale-aware date and time formatting was demonstrated in the book using the PHP <strong>date_format_locale()</strong> function. That function went belly-up, and PHP 5.3 now has the <a
href="http://us2.php.net/manual/en/class.intldateformatter.php">IntlDateFormatter</a> class instead. The documentation for the class is poor, but I <a
href="http://www.larryullman.com/2012/02/07/locale-aware-date-and-time-formatting-in-php-5-3/">posted on my blog</a> what I figured out.</p><h2 id="qa">Q&amp;A =&gt; What are some good general programming books?</h2><p>Some time back, Richard had sent me an email, saying that it seems like Web developers aren’t quite as up to speed on mainstream programming practices and paradigms. He was hoping for some book recommendations to help improve his own programming skills.</p><p>I would agree that because the most common Web-related languages, primarily PHP and JavaScript, are so approachable, they’re easy languages for non-programmers to use. Most people who learn C or Java, do so in a formal environment, obtaining all the fundamental programming theories at the same time. Conversely, many people using PHP, for example, may have no formal programming training, having only learned the language through a well-written book (ahem).</p><p>In any case, one should never stop learning, and I sent the following book recommendations back to Richard:</p><ul><li><a
href="http://amzn.to/wZS7AT">&#8220;The Pragmatic Programmer&#8221; by Andrew Hunt and David Thomas</a></li><li><a
href="http://amzn.to/zfeDUL">&#8220;The Practice of Programming&#8221; by Brian W. Kernighan and Rob Pike</a></li><li><a
href="http://amzn.to/xpEPDE">&#8220;The Productive Programmer&#8221; by Neal Ford</a></li><li><a
href="http://amzn.to/wLl7vd">&#8220;Code Complete&#8221; by Steve McConnell</a></li></ul><p>To be clear, I haven’t read all these myself, but they’re all on my short list. In fact, I just started reading “The Pragmatic Programmer” recently (more on that next). But these are the books that I normally come across when I’m looking for books on improving general programming skills. (Also, I’ll get like $1 if you by one of those books through one of those links, just to be completely honest.)</p><h2 id="thinking">What is Larry Thinking? =&gt; Your Knowledge Portfolio</h2><p>As part of my <a
href="http://www.larryullman.com/2012/01/03/my-january-2012-non-resolutions-list/">January-February non-resolutions list</a>, which quickly became my late-February non-resolutions list, I’m catching up on some reading, both work-related and personal. In terms of work, I’ve finally started reading <a
href="http://amzn.to/wZS7AT">&#8220;The Pragmatic Programmer&#8221; by Andrew Hunt and David Thomas</a>. I’m not far into it yet, but I am enjoying it. It’s too soon to say what I’ve learned, but I have had some of my own ideas validated, which is worth something, too.</p><p>In the very first chapter, there’s a section titled “Your Knowledge Portfolio”, which presents a great perspective on knowledge and learning. In every job, and even more so in IT, what you know is pretty much your value as a worker. This section of “The Pragmatic Programmer” starts off by pointing out that knowledge (and experience) is an <em>expiring asset</em>, meaning it becomes less valuable over time. For example, I used to know how to use HTML frames (not iframes, but classic frames), which isn’t so useful anymore. So “The Pragmatic Programmer” presents an argument for treating your knowledge asset like an investment portfolio. It’s an interesting and novel idea.</p><p>This means, for example, that you need to “invest regularly” in your knowledge portfolio and diversify the types of knowledge you acquire. Some should be “high-risk, high-reward”—information that may not pay off but, if it does, will pay off big—and some acquired knowledge should be more conservative. And you should review and rebalance your knowledge portfolio regularly.</p><p>The book recommends some specific ways to acquire new knowledge, such as:</p><ul><li>Learn new languages</li><li>Read technical books (ahem)</li><li>Read nontechnical books</li><li>Participate in local user groups</li></ul><p>It’s just a very well reasoned, interesting approach to the subject. I certainly see the value of knowledge and continuing to learn new things, but I had never equated this to an investment nor put such an analytic spin on the idea.</p><p>This section of the book also has a sidebar (on page 17 of the printed edition) on asking people for help online. It’s a topic that’s solidly on my radar, as I’m usually the one being asked for help (although I do ask others for help, too), and I could not have done a better job of explaining how to most appropriately and effectively ask for help. You can read this snippet through <a
href="http://books.google.com/books?id=5wBQEp6ruIAC&amp;lpg=PA17&amp;ots=n4hyhq9RpW&amp;dq=pragmatic%20programmer%20care%20guru&amp;pg=PA17#v=onepage&amp;q&amp;f=false">Google books</a>.</p><p>So I’m clearly enjoying the book so far and am happy to be finally reading it. No doubt I’ll share more thoughts on it, and some of the other books I’m finally reading, in future newsletters.</p><h2 id="news">Larry Ullman’s Book News =&gt; “Modern JavaScript: Develop and Design” Coming Soon!</h2><p>I am very, very happy to say that my latest book, “Modern JavaScript: Develop and Design”, is at the printer and is slated for a late February release (in the US, although <a
href="http://amzn.to/wsdmkq">Amazon</a> now has it as March 3rd). Because of the increased page count (624 pages), the price of the book was raised $5.00, to $54.99 (MSRP). However, it seems that Amazon only raised its price like 50 cents. Amazon is currently selling it at $31.00 (US).</p><p>I’ve also completed the supporting videos for the book, which will be made available through <a
href="http://www.peachpit.com">the publisher’s Web site</a> and in some electronic versions of the book. And I’ve written three supporting articles, that will be published at Peachpit.com.</p><p>For the first time ever, I plan on selling copies of select books myself. The books will, of course, be signed (inscribed however you want). For the “Modern JavaScript: Develop and Design” book, I will be able to offer it at $40 (US), plus shipping. This is more than the Amazon price, but I have more overhead (well, different overhead) and fewer employees than Amazon! Plus, Amazon has that whole “economies of scale” thing working for it. I’ll get the e-commerce system setup in the next couple of weeks for purchasing the book through me. If you have any questions or comments, let me know. Along with the eBook version, mentioned earlier, buying the book directly from me will be the fastest way for international recipients to get a copy, by far. I’ll need to receive my copies of the book before I can estimate the shipping costs.</p> ]]></content:encoded> <wfw:commentRss>http://www.larryullman.com/2012/02/20/what-is-larry-thinking-51-books/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> </channel> </rss>
<!-- Served from: www.larryullman.com @ 2012-05-21 14:34:35 by W3 Total Cache -->
