What is Larry Thinking? #51 => Books!

February 20, 2012

In this edition…

About This Newsletter

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…

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.

As always, questions, comments, and all feedback are much appreciated. And thanks for your interest in what I have to say and do!

What Are You Thinking? => PHP 5 Advanced: Visual QuickPro Guide (3rd Edition)

Next month, I’m going to start working on the third edition of my “PHP 5 Advanced: Visual QuickPro Guide”. 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 “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide” 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.

Right now, for the third edition, I’m tentatively planning on:

  • Expanding the coverage of OOP
  • Discussing design patterns
  • Demonstrating unit testing
  • Walking through some good debugging tools, such as Xdebug
  • Introducing the Zend Framework

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.

My question, then, is: What would you like to see? 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?

Any and all ideas, suggestions, and feedback are very much welcome and appreciated!

On the Web => President’s Day Discount at Peachpit.com

Josee pointed out in my forums that Peachpit Press, 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 PRESIDENT. 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.

As an example, looking at my books (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 printed book at Amazon 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).

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.

On the Blog => Locale-aware Date and Time Formatting in PHP 5.3

In the third edition of my “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide” book, titled “PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide”, 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, PHP 6 ended up dying due to many complications and I had the proverbial egg on my face (what Paul rightfully called my “Dewey Defeats Truman” 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.

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 date_format_locale() function. That function went belly-up, and PHP 5.3 now has the IntlDateFormatter class instead. The documentation for the class is poor, but I posted on my blog what I figured out.

Q&A => What are some good general programming books?

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.

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).

In any case, one should never stop learning, and I sent the following book recommendations back to Richard:

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.)

What is Larry Thinking? => Your Knowledge Portfolio

As part of my January-February non-resolutions list, 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 “The Pragmatic Programmer” by Andrew Hunt and David Thomas. 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.

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 expiring asset, 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.

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.

The book recommends some specific ways to acquire new knowledge, such as:

  • Learn new languages
  • Read technical books (ahem)
  • Read nontechnical books
  • Participate in local user groups

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.

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 Google books.

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.

Larry Ullman’s Book News => “Modern JavaScript: Develop and Design” Coming Soon!

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 Amazon 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).

I’ve also completed the supporting videos for the book, which will be made available through the publisher’s Web site and in some electronic versions of the book. And I’ve written three supporting articles, that will be published at Peachpit.com.

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.