O'Reilly to Distribute Microsoft Press Titles and Launch New Ebook Initiatives
Seattle, WA—September 24, 2009 — O'Reilly Media, Inc. and Microsoft Corp. today announced a joint arrangement to support and expand Microsoft Press from production through distribution, co-publishing and content development, marketing and management. Through this strategic relationship, on November 30, O'Reilly will become the distributor of Microsoft Press titles in North America with a global roll out in a phased approach. Both O'Reilly and Microsoft will develop Microsoft Press titles. O'Reilly, publisher of the iconic "animal books" for developers, has been at the forefront of online publishing and is the host and founder of several conferences for developers including the popular Tools of Change for Publishing Conference.
This collaboration takes advantage of O'Reilly's groundbreaking digital publishing innovations and social media know-how to increase Microsoft Press' reach and develop its content for multiple, multimedia channels. Microsoft Press books have helped millions of people understand and use Microsoft technologies. By bringing that content to digital and mobile devices and platforms worldwide, millions more will have access to that same great content.
"The publishing industry is rapidly evolving, embracing the new and interesting ways that people are consuming information, and using personal technology. By working together with O'Reilly Media, Microsoft authors will have greater opportunity for exposure, and readers will have more access to author content," said Walid Abu-Hadba, corporate vice president, Developer and Platform Evangelism, Microsoft Corp. "This is an opportunity to give our customers a broader and more robust portfolio that is more responsive to their needs."
Microsoft will continue to produce training content and will optimize efficiencies through O'Reilly's expertise in global manufacturing, distribution, sales, and marketing. This will fuel market potential for Microsoft Press and greater responsiveness to new opportunities while allowing customers to continue buying books through current online and retail channels. Microsoft continues to keep customers apprised of current books about Microsoft technologies on www.microsoft.com.
"There are more than 40 million people walking around the world with a mobile phone or digital device which essentially gives them a bookstore in their pocket. That's an enormous opportunity for publishers today," said Tim O'Reilly, founder and CEO of O'Reilly and an influential leader in the Open Source and Web 2.0 communities who has over one million Twitter followers. "We are no longer a print publisher that happens to sell digital books too. We're a digital publisher that also sells print books. All publishing is now digital publishing, and all writing is writing for the web. Books must behave like the web they're now a part of."
"We will apply the lessons we've learned and the knowledge we've gained about digital publishing," added O'Reilly. "And we will remain true to our own values. All the derivative content from each Microsoft Press title--whether it's an ebook, app, webcast or an interactive video--will be issued DRM-free, because that's what we believe in doing."
Partnering with O'Reilly provides the following key benefits:
- Marketplace agility. O'Reilly's digital publishing innovations and multiple media channels will deliver Microsoft Press content to users and readers when and where they want to consume it--whether it's in a book, on their computer, or on their mobile phone.
- Increased visibility. Access to O'Reilly's social media tools, webcast program, and online portals and websites will expand the reach of Microsoft Press' titles and content worldwide.
- New opportunities for authors. O'Reilly's Author Portal will give Microsoft Press authors immediate access to an array of marketing and social media tools to help them promote their books and themselves as experts in their fields.
"O'Reilly is doing this because we believe in the future of Microsoft Press," said Laura Baldwin, COO and CFO of O'Reilly Media. "We're thrilled to collaborate with Microsoft and we're excited about working with Microsoft Press. We've built an infrastructure that maximizes the value of technical content through both digital and print publishing, and we're delighted to extend that value to Microsoft."
About Microsoft
Founded in 1975, Microsoft (Nasdaq "MSFT") is the worldwide leader in software, services and solutions that help people and businesses realize their full potential.
About O'Reilly
O'Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O'Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying "faint signals" from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.
# # #
O'Reilly is a registered trademark of O'Reilly Media, Inc. All other trademarks are property of their respective owners.
Thursday, September 24, 2009
O'Reilly Media and Microsoft Announce Plans to Expand Microsoft Press
I just got this press release from Sara Peyton, one of my contacts at O'Reilly, this morning via email. Thought I should pass it along. Read it and let me know if you have any feelings or opinions on the topic:
Wednesday, September 23, 2009
PC Technician Street Smarts, Updated for the 2009 Exam: A Real World Guide to CompTIA A+ Skills
Author: James Pyles
Format: Paperback, 480 pages
Publisher: Sybex; 2nd edition (October 5, 2009)
ISBN-10: 0470486511
ISBN-13: 978-0470486511
This is one book someone else is going to have to review. I can't, since I wrote it. I'm really excited because this is the first book I've written that's gone into a 2nd edition. To give you some background, I was originally approached a few years back by Sybex to write a "lab manual" of sorts, for a new series they were launching called "Street Smarts". The book was required to map to CompTIA's A+ Certification test domains. The format of the Sybex "Street Smarts" series is focused on the defining and executing of specific tasks as related to the exam objectives and actual technician practices. It's billed as a "year in the life" of a computer technician. What I really liked about writing the book is that the tasks didn't have to be slavishly chained to exam domains. This let me create tasks that technicians actually face in the real world, rather than just in the pages of a textbook.
To provide and document real world exercises, I foraged through my own records of jobs I did as a freelance hardware and desktop support tech. I worked for the IT department of a small, local city for a number of months, and kept all of my trouble tickets. As it turns out, those tickets became my primary source material and, as far as I was concerned as a writer, they were made of gold. The original Street Smarts book provides tutorials for jobs I've never seen in another, similar book. That was and still is the unique value in the series and in my book.
While my days of doing desktop support are behind me, I like to keep my hand in, and leveraged my more recent (informal) experiences to insert updated content for the 2nd edition. I also belong to a number of technical forums and user groups, and was allowed to mine the wisdom of many other students, teachers, and techs in the service of the new book. I think you'll like the result, which is completely updated for Vista and Windows Server 2007 (the latest Windows OSes tested on the exam), as well as other recent changes and updates in the world of computing.
The key in deciding if this book is for you, has to do with your level of experience. The book assumes that the reader has little or no practical experience actually working on computer and printer hardware, or with operating systems and application software, as a support and repair technician. If you've been working as a support tech for 6 months to a year, chances are, you already have the skill sets my book teaches.
On the other hand, if you are looking to the A+ certification as a way to open doors for you into IT, have a little or a lot of "book learning", but not very much in the way of hands and tools experience, The PC Technician Street Smarts book is for you. The first edition did really well in the formal and informal reviews (the latter being folks on discussion groups and readers who have emailed me), and I anticipate the current edition will be just as successful.
The second edition of PC Technician Street Smarts will be out in just a few weeks, but you can "pre-order" it now at Amazon.com.
If you have any stories (hopefully positive) to tell about your experiences with the first edition, comment back here on the blog and let me know. If you are one of the first to buy my new book next month, please review it at Amazon, and let me know what you think of it here.
Not to sit on my laurels, but I've got a couple of other book prospects waiting in the wings, even as I write this. I'll let you know more about that when I can.
Cheers.
Format: Paperback, 480 pages
Publisher: Sybex; 2nd edition (October 5, 2009)
ISBN-10: 0470486511
ISBN-13: 978-0470486511
This is one book someone else is going to have to review. I can't, since I wrote it. I'm really excited because this is the first book I've written that's gone into a 2nd edition. To give you some background, I was originally approached a few years back by Sybex to write a "lab manual" of sorts, for a new series they were launching called "Street Smarts". The book was required to map to CompTIA's A+ Certification test domains. The format of the Sybex "Street Smarts" series is focused on the defining and executing of specific tasks as related to the exam objectives and actual technician practices. It's billed as a "year in the life" of a computer technician. What I really liked about writing the book is that the tasks didn't have to be slavishly chained to exam domains. This let me create tasks that technicians actually face in the real world, rather than just in the pages of a textbook.
To provide and document real world exercises, I foraged through my own records of jobs I did as a freelance hardware and desktop support tech. I worked for the IT department of a small, local city for a number of months, and kept all of my trouble tickets. As it turns out, those tickets became my primary source material and, as far as I was concerned as a writer, they were made of gold. The original Street Smarts book provides tutorials for jobs I've never seen in another, similar book. That was and still is the unique value in the series and in my book.
While my days of doing desktop support are behind me, I like to keep my hand in, and leveraged my more recent (informal) experiences to insert updated content for the 2nd edition. I also belong to a number of technical forums and user groups, and was allowed to mine the wisdom of many other students, teachers, and techs in the service of the new book. I think you'll like the result, which is completely updated for Vista and Windows Server 2007 (the latest Windows OSes tested on the exam), as well as other recent changes and updates in the world of computing.
The key in deciding if this book is for you, has to do with your level of experience. The book assumes that the reader has little or no practical experience actually working on computer and printer hardware, or with operating systems and application software, as a support and repair technician. If you've been working as a support tech for 6 months to a year, chances are, you already have the skill sets my book teaches.
On the other hand, if you are looking to the A+ certification as a way to open doors for you into IT, have a little or a lot of "book learning", but not very much in the way of hands and tools experience, The PC Technician Street Smarts book is for you. The first edition did really well in the formal and informal reviews (the latter being folks on discussion groups and readers who have emailed me), and I anticipate the current edition will be just as successful.
The second edition of PC Technician Street Smarts will be out in just a few weeks, but you can "pre-order" it now at Amazon.com.
If you have any stories (hopefully positive) to tell about your experiences with the first edition, comment back here on the blog and let me know. If you are one of the first to buy my new book next month, please review it at Amazon, and let me know what you think of it here.
Not to sit on my laurels, but I've got a couple of other book prospects waiting in the wings, even as I write this. I'll let you know more about that when I can.
Cheers.
Wednesday, September 16, 2009
The CSS Anthology: 101 Essential Tips, Tricks & Hacks
Author: Rachel Andrew
Paperback: 400 pages
Publisher: SitePoint; 3rd edition (July 28, 2009)
ISBN-10: 0980576806
ISBN-13: 978-0980576801
I previously reviewed the 2nd edition of this book, so I was interested in what was changed and/or added in its current incarnation. Of course, the release of Firefox 3 and IE 8 are enough to warrant an updating of "tips and tricks" relative to CSS and web design, but was there more? The back cover blurb didn't indicate such, but I looked further.
The Preface seemed a likely place to start. There is no What has changed in this book section. The What's Covered in this Book? portion is a detailed summary of the TOC, but doesn't mention how chapters here compare to those in the prior edition. The Who Should Read this Book? piece is as you might expect: aimed at people who need to use CSS, such as designers and developers, and who don't need a lot of hand holding. Sorry if that sounds "snarky", but this book has always been about getting up to speed fast and dispensing with high level explanations and theory.
Chapter 1 is actually a quick tutorial on CSS, if you need a bit of a refresher. That shouldn't really include the main audience for this book, but there will be people who buy Andrew's text who might benefit. Chapter 2 also tends towards "the basics" as the title indicates: Text Styling and Other Basics. Fortunately, this chapter is also the start of the "anthology" content of the book, offering information formatted as Question, Solution, and Discussion. The Discussion part of each "tip" is certainly the largest, containing information on any specifics, curve-balls, and gotchas that may be contained in the particular technique involved.
Chapters are organized into functions such as Navigation, Tabular Data, Forms and User Interfaces, and so on, so if you have an area of interest or need, just shoot right to the relevant chapter, and then find the required task. Chapter 6 is the "Forms" chapter, but is really only half the story. Yes, it covers the browser end of forms, but of course, they won't really work unless you have the server side configured as well (think PHP, for instance). In that sense, the chapter and the book operate as one piece in the larger puzzle of web design and development. It's also a reference by design, so don't imagine that it's the first book you'll need to learn CSS.
I was mainly interested in Chapter 7: Cross-browser Techniques, since that's the primary reason for issuing another edition of this book. Designing websites for different platforms requires the designer to think in very broad terms, depending on the designer's audience. You have to address the most widely used browsers (unless you're serving a niche market), plus consider both PC/Mac, and mobile device platforms, if you care about that sort of thing. A common newbie designer mistake, is to create a site and test it on only one browser (and only one version of that browser), and only one OS. I've created what I thought of as a beautiful site when viewed in Firefox on Linux, but that turned out to be a "problem child" when I looked at it in IE 7 on XP. Andrew includes a nice little table on page 220, outlining the various browser and OS platforms to consider, including Safari, Chrome, and Konqueror, so a lot of thought has been given to this matter.
Chapter 7 is the "testing" chapter, instructing the reader on the options for being able to view their creations on Windows, Linux, and Mac (Linux live CDs, dual booting options, and so on). We are all some kind of "user". I tend to be a Linux user, but my wife exclusively uses Windows, and my daughter tends towards Mac. Developers have preferences as well, but letting those preferences dictate how you design and test can be a critical mistake, especially if you're doing this for money, and your company wants your product to work equally well for all customers.
I've read bad reviews on the previous edition of this book but, in my opinion, it was the reviewers who made the mistake. Their basic assumption was that they could learn CSS, more or less from scratch, by reading Andrew's text. This is not the intent of this book. If you know little or nothing about web design in general, and CSS in particular, acquire those skill sets first. This book is intended to help the reader solve specific problems, relative to the latest OS, browser, and hardware platforms, not to be a general introduction to the topic.
SitePoint offers a couple of forums to support the book, which is great, since I sometimes have questions about content that I can't get answered any other way. I did find the pop-ups on the forums rather annoying, though. Nice that you want to market your books, SitePoint, but if I'm on your site, I'm already aware of them and interested. Don't kill the "magic" by being too commercial.
If previous reviews of a book are good (as is the case with this book), then usually (unless the publisher or author decided to completely throw a monkey wrench into the machine) subsequent editions will maintain the quality. Fortunately for SitePoint and Andrew, the 3rd edition is up to snuff. If you fit the audience profile, and need to update your CSS skills for the most current browsers and so forth, The CSS Anthology: 101 Essential Tips, Tricks & Hacks should be on your wish list.
Paperback: 400 pages
Publisher: SitePoint; 3rd edition (July 28, 2009)
ISBN-10: 0980576806
ISBN-13: 978-0980576801
I previously reviewed the 2nd edition of this book, so I was interested in what was changed and/or added in its current incarnation. Of course, the release of Firefox 3 and IE 8 are enough to warrant an updating of "tips and tricks" relative to CSS and web design, but was there more? The back cover blurb didn't indicate such, but I looked further.
The Preface seemed a likely place to start. There is no What has changed in this book section. The What's Covered in this Book? portion is a detailed summary of the TOC, but doesn't mention how chapters here compare to those in the prior edition. The Who Should Read this Book? piece is as you might expect: aimed at people who need to use CSS, such as designers and developers, and who don't need a lot of hand holding. Sorry if that sounds "snarky", but this book has always been about getting up to speed fast and dispensing with high level explanations and theory.
Chapter 1 is actually a quick tutorial on CSS, if you need a bit of a refresher. That shouldn't really include the main audience for this book, but there will be people who buy Andrew's text who might benefit. Chapter 2 also tends towards "the basics" as the title indicates: Text Styling and Other Basics. Fortunately, this chapter is also the start of the "anthology" content of the book, offering information formatted as Question, Solution, and Discussion. The Discussion part of each "tip" is certainly the largest, containing information on any specifics, curve-balls, and gotchas that may be contained in the particular technique involved.
Chapters are organized into functions such as Navigation, Tabular Data, Forms and User Interfaces, and so on, so if you have an area of interest or need, just shoot right to the relevant chapter, and then find the required task. Chapter 6 is the "Forms" chapter, but is really only half the story. Yes, it covers the browser end of forms, but of course, they won't really work unless you have the server side configured as well (think PHP, for instance). In that sense, the chapter and the book operate as one piece in the larger puzzle of web design and development. It's also a reference by design, so don't imagine that it's the first book you'll need to learn CSS.
I was mainly interested in Chapter 7: Cross-browser Techniques, since that's the primary reason for issuing another edition of this book. Designing websites for different platforms requires the designer to think in very broad terms, depending on the designer's audience. You have to address the most widely used browsers (unless you're serving a niche market), plus consider both PC/Mac, and mobile device platforms, if you care about that sort of thing. A common newbie designer mistake, is to create a site and test it on only one browser (and only one version of that browser), and only one OS. I've created what I thought of as a beautiful site when viewed in Firefox on Linux, but that turned out to be a "problem child" when I looked at it in IE 7 on XP. Andrew includes a nice little table on page 220, outlining the various browser and OS platforms to consider, including Safari, Chrome, and Konqueror, so a lot of thought has been given to this matter.
Chapter 7 is the "testing" chapter, instructing the reader on the options for being able to view their creations on Windows, Linux, and Mac (Linux live CDs, dual booting options, and so on). We are all some kind of "user". I tend to be a Linux user, but my wife exclusively uses Windows, and my daughter tends towards Mac. Developers have preferences as well, but letting those preferences dictate how you design and test can be a critical mistake, especially if you're doing this for money, and your company wants your product to work equally well for all customers.
I've read bad reviews on the previous edition of this book but, in my opinion, it was the reviewers who made the mistake. Their basic assumption was that they could learn CSS, more or less from scratch, by reading Andrew's text. This is not the intent of this book. If you know little or nothing about web design in general, and CSS in particular, acquire those skill sets first. This book is intended to help the reader solve specific problems, relative to the latest OS, browser, and hardware platforms, not to be a general introduction to the topic.
SitePoint offers a couple of forums to support the book, which is great, since I sometimes have questions about content that I can't get answered any other way. I did find the pop-ups on the forums rather annoying, though. Nice that you want to market your books, SitePoint, but if I'm on your site, I'm already aware of them and interested. Don't kill the "magic" by being too commercial.
If previous reviews of a book are good (as is the case with this book), then usually (unless the publisher or author decided to completely throw a monkey wrench into the machine) subsequent editions will maintain the quality. Fortunately for SitePoint and Andrew, the 3rd edition is up to snuff. If you fit the audience profile, and need to update your CSS skills for the most current browsers and so forth, The CSS Anthology: 101 Essential Tips, Tricks & Hacks should be on your wish list.
Wednesday, September 9, 2009
Learning PHP, MySQL, and JavaScript: A Step-by-Step Guide to Creating Dynamic Websites
Author: Robin Nixon
Format: Paperback, 526 pages
Publisher: O'Reilly Media, Inc.; 1st edition (July 22, 2009)
ISBN-10: 0596157134
ISBN-13: 978-0596157135
Unless you've been hiding in a cave for the past ten years or so, you know that it takes more than a bit of HTML slight-of-hand to make a modern, dynamic website. The (so-called) Web 2.0 is constructed of a mix of technologies, creatively applied to allow the interactivity we have become accustomed to when surfing the web. Just looking at the front and back covers of Robin Nixon's book, he (and O'Reilly) promises to teach the reader all of the technologies (though I see no mention of CSS) required to bring your Web 2.0 creation to life, and send it out on the Internet. The best bit of news is that, according to the back cover blurb, "No previous programming experience is required." Really? We'll see.
Frankly, programming isn't all that easy. If you've never programmed before, you learn your first programming language and all of the principles of programming in general, all at the same time. This can be an enormous chore, compared to knowing basic programming skills and adding another language to your bag of tricks. Certainly learning PHP, JavaScript, and MySQL seems a daunting task for the coding newbie. There are entire books written on each of these technologies, just for the beginner. It seems that Nixon has quite a job cut out for him.
I checked, and the Preface does say in the Audience section, that this book is suitable, not only for webmasters and graphic designers, but also for high school and college students, graduates, and the "self-taught" (the latter would be me, so I guess this is a good fit). The next section does announce the Assumptions This Book Makes, so it's not all gravy. HTML is the only concrete assumption (and again, I'm surprised no mention of CSS is included, since it is largely required for web page formatting). While prior exposure to PHP, MySQL, and JavaScript isn't required per se, such exposure will allow the reader to progress through the book at a faster pace. That makes sense, but I'll hold the author and publisher accountable to their stated intent, that I (or anyone) won't need such exposure to benefit from this book.
One thing I liked (and I'm still not out of the Preface), is that the book references other books the reader should move on to, once they've completed Nixon's work. Dynamic HTML: The Definitive Reference (also by O'Reilly) is included which is another surprise, since the reader is assumed to at least be familiar with basic HTML, if not a "master" in this area. The other books are all O'Reilly publications (what else?), targeting PHP, MySQL, and JavaScript. No surprises here.
The first chapter is all high level concept regarding the nature of HTTP, and the various technologies headlining the book. Apache in specific, and open source in general also are included. Nixon seems to be setting the stage here for further learning to take place. The chapter is short, and ends modestly with a few simple questions for chapter review. The answers to these, and all the questions posed in subsequent chapters, can be found in Appendix A. This is a "good/bad" thing. It's good in that, if the reader gets stuck, he or she can pop back to the appendix, or just check to see if the answers they gave are correct. It's a "bad" thing in that, sometimes people get stuck quickly and, rather than trying to figure out the solution, will cut to the chase and head for the answer section. Generating effort to find an answer is how most people, especially me, learn. That said, it's better to provide confirmation, rather than have the student never know for sure.
To set up a website, you need a server. In this case, the server needs to be capable of providing basic web services, database services, and PHP. Enter LAMP (or WAMP if you're a Windows person). Setting up a basic LAMP (Linux, Apache, MySQL, PHP) or XAMPP server is ridiculously easy, as the apachefriends.org site illustrates. The book uses other resources, such as easyphp.org, if you need to set up WAMP on Windows. MAMP is also available for Mac OS X people, so no one is left out of the loop based on OS of choice. So far, there's a significant amount of hand holding going on. What happens when the reader has to get their hands dirty with an actual programming language, such as PHP?
Hello world. Yes, this time-honored method of beginning to teach a programming language is introduced on page 34. The book's companion website hosts all the sample code used in the book. Just go to lpmj.net and then click on "Examples" to download the zip file. The site's table of contents also lets you select a chapter and section, to view sample code, if you don't want to refer to the downloaded files. Nixon faces the challenge of teaching both basic programming skills and PHP reasonably well. A programmer at my "day job" recently created the analogy of an array being like a series of shoe boxes. Page 40 compares arrays to a series of matchboxes, which is more or less the same thing. I mention this to draw out the teaching style used here. Learning a language is one thing, but you won't learn it well unless you understand why things work as they do. Besides, the goal isn't just to learn programming, but to learn it in the service of creating a "dynamic website".
There are five chapters that immerse the reader in PHP, before switching gears and moving to MySQL. Again, LAMP/WAMP/MAMP/XAMPP provides a handy "safety net" for the reader in managing everything and keeping it all in one container, but there's still a lot to learn. The last PHP chapter is a nice set up for the introductory MySQL chapter. Just when you think you're making some progress with PHP, you're sent back to "kindergarten" and the basics of relational databases (and as an aside, if the idea of databases is just too intimidating for you, check out The Manga Guide to Databases, which I also reviewed).
The next MySQL chapter puts what you've learned about PHP together with MySQL, so don't think you can forget chapters 3 through 7 at this point. It's not a straight shot from MySQL to JavaScript, which actually makes sense. Topics such as creating forms. and PHP templates are launched at you before you even breathe the word "JavaScript". After successfully (hopefully) tackling PHP, JavaScript becomes the second programming language the reader learns. PHP is a server-side language, and JavaScript works on the client-side, but the basic principles learned in the first, will handily serve the reader in learning the second. Variables and Arrays are still Variables and Arrays conceptually. The difference then becomes one of how each is expressed and managed in different languages.
JavaScript and PHP collide in Chapter 17 and Ajax enters one chapter later. Chapter 20 declares, "Bringing It All Together", but while reading this review may not have taken you much time, getting to this point in Nixon's book could take weeks or even months. This all depends on your dedication, available time, and how quickly you've managed to learn everything in the previous chapters. There will probably be some readers who become discouraged long before this point in the book, which is why regular use and persistence is required here.
Assuming you make it all the way through, and actually learn everything that's being taught, you'll be able to put together a relatively modest, interactive website, just using this book. No, you're not an expert, but you should be feeling a sense of accomplishment by now. The "Robin's Nest" website example used looks pretty vanilla flavored. I guess you'll still need to go out and pick up CSS to add some spice.
In addition to the end of chapter questions being answered in Appendix A, Appendix B lists various online resources to consult, but that's all...it's just a set of lists of URL, but fun to explore. Appendix C and D cover MySQL FULLTEXT Stopwords and MySQL Functions respectively. My guess is that, you'll probably have started consulting external resources on dynamic website construction long before you finished this book which again, makes sense, though the book is quite self contained.
O'Reilly books tend to cater to readers who are already at least somewhat experienced, so it was nice to read and review a book that truly caters to the beginner. I would have preferred more end-of-chapter material, to test the reader's newly acquired skill sets, and I definitely would have included CSS as an assumed technology. It's not necessary for Nixon to teach CSS in any form, but style sheets are just too tightly integrated into, not only web site formatting, but in many cases, functionality, to just be ignored. That said, Learning PHP, MySQL, and JavaScript is a worthy effort on both Nixon's and O'Reilly's part, to introduce the programming and database neophyte into the world of dynamic website design.
Format: Paperback, 526 pages
Publisher: O'Reilly Media, Inc.; 1st edition (July 22, 2009)
ISBN-10: 0596157134
ISBN-13: 978-0596157135
Unless you've been hiding in a cave for the past ten years or so, you know that it takes more than a bit of HTML slight-of-hand to make a modern, dynamic website. The (so-called) Web 2.0 is constructed of a mix of technologies, creatively applied to allow the interactivity we have become accustomed to when surfing the web. Just looking at the front and back covers of Robin Nixon's book, he (and O'Reilly) promises to teach the reader all of the technologies (though I see no mention of CSS) required to bring your Web 2.0 creation to life, and send it out on the Internet. The best bit of news is that, according to the back cover blurb, "No previous programming experience is required." Really? We'll see.
Frankly, programming isn't all that easy. If you've never programmed before, you learn your first programming language and all of the principles of programming in general, all at the same time. This can be an enormous chore, compared to knowing basic programming skills and adding another language to your bag of tricks. Certainly learning PHP, JavaScript, and MySQL seems a daunting task for the coding newbie. There are entire books written on each of these technologies, just for the beginner. It seems that Nixon has quite a job cut out for him.
I checked, and the Preface does say in the Audience section, that this book is suitable, not only for webmasters and graphic designers, but also for high school and college students, graduates, and the "self-taught" (the latter would be me, so I guess this is a good fit). The next section does announce the Assumptions This Book Makes, so it's not all gravy. HTML is the only concrete assumption (and again, I'm surprised no mention of CSS is included, since it is largely required for web page formatting). While prior exposure to PHP, MySQL, and JavaScript isn't required per se, such exposure will allow the reader to progress through the book at a faster pace. That makes sense, but I'll hold the author and publisher accountable to their stated intent, that I (or anyone) won't need such exposure to benefit from this book.
One thing I liked (and I'm still not out of the Preface), is that the book references other books the reader should move on to, once they've completed Nixon's work. Dynamic HTML: The Definitive Reference (also by O'Reilly) is included which is another surprise, since the reader is assumed to at least be familiar with basic HTML, if not a "master" in this area. The other books are all O'Reilly publications (what else?), targeting PHP, MySQL, and JavaScript. No surprises here.
The first chapter is all high level concept regarding the nature of HTTP, and the various technologies headlining the book. Apache in specific, and open source in general also are included. Nixon seems to be setting the stage here for further learning to take place. The chapter is short, and ends modestly with a few simple questions for chapter review. The answers to these, and all the questions posed in subsequent chapters, can be found in Appendix A. This is a "good/bad" thing. It's good in that, if the reader gets stuck, he or she can pop back to the appendix, or just check to see if the answers they gave are correct. It's a "bad" thing in that, sometimes people get stuck quickly and, rather than trying to figure out the solution, will cut to the chase and head for the answer section. Generating effort to find an answer is how most people, especially me, learn. That said, it's better to provide confirmation, rather than have the student never know for sure.
To set up a website, you need a server. In this case, the server needs to be capable of providing basic web services, database services, and PHP. Enter LAMP (or WAMP if you're a Windows person). Setting up a basic LAMP (Linux, Apache, MySQL, PHP) or XAMPP server is ridiculously easy, as the apachefriends.org site illustrates. The book uses other resources, such as easyphp.org, if you need to set up WAMP on Windows. MAMP is also available for Mac OS X people, so no one is left out of the loop based on OS of choice. So far, there's a significant amount of hand holding going on. What happens when the reader has to get their hands dirty with an actual programming language, such as PHP?
Hello world. Yes, this time-honored method of beginning to teach a programming language is introduced on page 34. The book's companion website hosts all the sample code used in the book. Just go to lpmj.net and then click on "Examples" to download the zip file. The site's table of contents also lets you select a chapter and section, to view sample code, if you don't want to refer to the downloaded files. Nixon faces the challenge of teaching both basic programming skills and PHP reasonably well. A programmer at my "day job" recently created the analogy of an array being like a series of shoe boxes. Page 40 compares arrays to a series of matchboxes, which is more or less the same thing. I mention this to draw out the teaching style used here. Learning a language is one thing, but you won't learn it well unless you understand why things work as they do. Besides, the goal isn't just to learn programming, but to learn it in the service of creating a "dynamic website".
There are five chapters that immerse the reader in PHP, before switching gears and moving to MySQL. Again, LAMP/WAMP/MAMP/XAMPP provides a handy "safety net" for the reader in managing everything and keeping it all in one container, but there's still a lot to learn. The last PHP chapter is a nice set up for the introductory MySQL chapter. Just when you think you're making some progress with PHP, you're sent back to "kindergarten" and the basics of relational databases (and as an aside, if the idea of databases is just too intimidating for you, check out The Manga Guide to Databases, which I also reviewed).
The next MySQL chapter puts what you've learned about PHP together with MySQL, so don't think you can forget chapters 3 through 7 at this point. It's not a straight shot from MySQL to JavaScript, which actually makes sense. Topics such as creating forms. and PHP templates are launched at you before you even breathe the word "JavaScript". After successfully (hopefully) tackling PHP, JavaScript becomes the second programming language the reader learns. PHP is a server-side language, and JavaScript works on the client-side, but the basic principles learned in the first, will handily serve the reader in learning the second. Variables and Arrays are still Variables and Arrays conceptually. The difference then becomes one of how each is expressed and managed in different languages.
JavaScript and PHP collide in Chapter 17 and Ajax enters one chapter later. Chapter 20 declares, "Bringing It All Together", but while reading this review may not have taken you much time, getting to this point in Nixon's book could take weeks or even months. This all depends on your dedication, available time, and how quickly you've managed to learn everything in the previous chapters. There will probably be some readers who become discouraged long before this point in the book, which is why regular use and persistence is required here.
Assuming you make it all the way through, and actually learn everything that's being taught, you'll be able to put together a relatively modest, interactive website, just using this book. No, you're not an expert, but you should be feeling a sense of accomplishment by now. The "Robin's Nest" website example used looks pretty vanilla flavored. I guess you'll still need to go out and pick up CSS to add some spice.
In addition to the end of chapter questions being answered in Appendix A, Appendix B lists various online resources to consult, but that's all...it's just a set of lists of URL, but fun to explore. Appendix C and D cover MySQL FULLTEXT Stopwords and MySQL Functions respectively. My guess is that, you'll probably have started consulting external resources on dynamic website construction long before you finished this book which again, makes sense, though the book is quite self contained.
O'Reilly books tend to cater to readers who are already at least somewhat experienced, so it was nice to read and review a book that truly caters to the beginner. I would have preferred more end-of-chapter material, to test the reader's newly acquired skill sets, and I definitely would have included CSS as an assumed technology. It's not necessary for Nixon to teach CSS in any form, but style sheets are just too tightly integrated into, not only web site formatting, but in many cases, functionality, to just be ignored. That said, Learning PHP, MySQL, and JavaScript is a worthy effort on both Nixon's and O'Reilly's part, to introduce the programming and database neophyte into the world of dynamic website design.
Labels:
book review,
dynamic,
javascript,
MySQL,
PHP,
web 2.0
Subscribe to:
Posts (Atom)