Domain: oreilly.com
Stories and comments across the archive that link to oreilly.com.
Stories · 651
-
Mac OS X in a Nutshell
honestpuck writes "It must be difficult when writing a book for 'power users' to decide what exactly needs to be put in and what can be safely left out. This volume does the job quite well, covering the simple stuff quickly and early while devoting a great deal of its 750 pages to topics of more interest to serious users of Apple's new(ish) operating system. It also declares its audience early, the preface devotes a page to explaining the target audience and states it is 'aimed at folks with a more technical bent than the average user--the power user.'" Read on to see what Honestpuck thinks of O'Reilly's OS X in a Nutshell. Mac OS X In A Nutshell author Jason McIntosh, Chuck Toporek & Chris Stone pages 768 publisher O'Reilly rating 8 - Almost excellent reviewer Tony Williams ISBN 0596003706 summary An Excellent book on OS X for 'power users' that will remain useful.
The Gist The book is quite well structured, and organized into into 5 parts. The first is a quick overview of the Macintosh GUI. The second part, "System Configuration," is mainly devoted to getting the system running well (covering preferences, networking, the file system and Java). The third section, "System and Network Administration," is a good guide to several lower-level tasks, including an excellent chapter on directory services and NetInfo. The fourth is about development, including Apple's IDE "Project Builder" and CVS. The final part covers the Unix underpinnings of OS X and X Windows. This includes a Unix command reference of over 200 pages.
The Good The book is also well written, with light, easily understood prose and some good screen dumps, tables and diagrams to make some of the more complex points easily understood. I appreciate the detailed contents section, good quality index and black chapter tabs at the side of each page for finding the information I need.Everything seems to be covered, though you may sometimes find yourself needing to go elsewhere for more depth, but this is really only to expected in a book that is trying more for breadth across an entire operating system than depth in one particular area.
Despite having used and developed on a Mac for over 15 years and OS X since the late beta stage I still found myself discovering something new and useful every few pages in the book.
The Bad The section of the book I appreciated least was the Unix Command Reference. 200 pages, most of which are adequately covered by the online man pages or a quick 'command --help'. Not that it isn't useful having this information on paper, and not that this section isn't more complete than the man pages and less error-ridden. It's just that my favourite operating system has a large number of commands that are hard to find by name alone. Online, I tend to rely on apropos to find what I need. Back when you paid a large amount of money for a Unix license they came with hard copy manuals that included a permuted word index of the same top slug that apropos searches, which made them infinitely more useful. O'Reilly could improve the heck out of this book by giving us the same thing for what I felt was otherwise an almost totally wasted 200 pages (though I admit that the combination of the chapter on NetInfo and the command references for nicl and niutil etc. actually have me now understanding and using NetInfo well.)Once again O'Reilly have provided a web page for the book that is mostly marketing material -- though in this case the Errata page is useful. At the bottom of the page they have a number of links to "Related O'Reilly Articles" but have only listed three by the authors of the book, leaving out, for example, X11 and Open Office on Mac OS X by Wei-Meng Lee and Configuring sendmail On Jaguar by James Duncan Davidson to name two MacDevCenter articles I've found incredibly helpful.
ConclusionThis book is not quite in the "must buy" category. If you do want a book to help you with the more technical aspects of OS X or to help you move to OS X from Unix or Windows hacking then this one is worth a serious look. It certainly better covers the technical aspects than OS X Bible and others of that style (such as the Missing Manual or Robin Williams' Little Mac OS X Book.) The only other volume that really compares is OS X Unleashed and it has way too much coverage of the simple stuff and the various applications, is not as well structured and has a wordier, less terse and technical style. It's also more expensive and twice the size and weight.
You can purchase Mac OS X in a Nutshell from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Alan Kay Interview: Computing Past and Future
-
Programming Web Services with Perl
ggoebel writes "Programming Web Services with Perl is principally a book on implementing solutions using XML-RPC and SOAP in Perl. It also covers complementary and alternative standards such as WSDL, UDDI, and REST in some detail. And on the periphery, it finishes with a whirlwind tour of developing message routing, alternative data encoding within XML, security, transactions, workflow, internationalization, service discovery, extension, and management techniques and specifications." Read on for ggoebel's full review. Programming Web Services with Perl author Randy J. Ray, Pavel Kulchenko pages 496 publisher O'Reilly (December 2002) rating 9 of 10 reviewer ggoebel ISBN 0596002068 summary practical balanced guide to XML::RPC and SOAP::LiteThe book assumes the reader will have the knowledge of an intermediate level Perl programmer. I.e., the reader is assumed to have a working knowledge of references, data structures, and object-oriented Perl. On the other hand no previous knowledge of XML, XML-RPC, SOAP or XML related technologies is required.
It should also be mentioned that both of the authors Randy J. Ray and Pavel Kulchenko are also the principle developers of the most popular XML-RPC and SOAP Perl modules: XML::RPC and SOAP::Lite respectively. That said, the book is not a soap box for the authors to tout the merits of their tools.
Rather, it is a practical book which starts with grounding fundamentals. Readers should walk away with a core understanding of XML-RPC and SOAP and not just a particular tool set for working with them. The authors examine the alternative XML-RPC and SOAP tools, illustrate how they are used, and give practical and even handed reasons why their modules should be preferred. Which comes down to issues of features, active development, support, and the amount of work required to code to a particular interface. They then settle down to a comfortable and thorough guide to XML::RPC and SOAP::Lite.
The topics and issues are illustrated throughout using real world web services. For example creating an XML-RPC client for O'Reilly's Meerkat news wire, or a SOAP client to covert use.perl.org's journal stream to RSS. Code is presented to the reader filtered down to highlight each particular issue as it is discussed. This is nice in that it avoids listing slight variations of the same code multiple times, but on the down side it can also leave the reader flipping back and forth to reassemble an example in their head. Full code for each example is provided in the appendices. And all of the example code may be downloaded from O'Reilly.
All-in-all, the book is a thorough practical introduction to working with XML-RPC, SOAP and related technologies. When I started reading the book, I was a bit disappointed to see that it only covered XML-RPC and SOAP related services. When I finished, I was impressed with how very much information they'd managed to pack into so few pages.
And yet, I was left wishing there'd been a more through coverage of interoperability issues between other SOAP implementations and things like custom de-serializers. To be honest interoperability and de-serialization are mentioned, and the authors do an excellent job of referring the reader on to sources for continued reading on most other topics.
The book does an admirable job balancing content, length, and information density. Not to mention an excellent job delivering the information that will still be relevant years and not just weeks from the date published. Most of the topics I'd wished to see covered in more depth are those that are still developing and consequently most likely to become quickly dated. In short a well balanced practical guide to applying XML-RPC and SOAP to solve problems.
You can purchase Programming Web Services with Perl from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
REST vs. SOAP In Amazon Web Services
tadghin writes "I was recently talking with Jeff Barr, creator of syndic8 and now Amazon's chief web services evangelist. He let drop an interesting tidbit. Amazon has both SOAP and REST interfaces to their web services, and 85% of their usage is of the REST interface." Read on for some more thoughts and information on REST and Web services, including information about a free Web services seminar on April 22nd. " Despite all of the corporate hype over the SOAP stack, this is pretty compelling evidence that developers like the simpler REST approach. (I'm sure there are applications where SOAP is better, but I've always liked technologies that have low barriers to entry and grassroots adoption, and simple XML over HTTP approach seems to have that winning combination.)Amazon's web services have attracted a thriving community, people are making real money building alternate interfaces to Amazon and collecting Associates commissions on the resulting sales, and there are even tool developers who have come up with the creative business model of agreeing with their users to have some percentage of the transactions use the tool developer's Associates id rather than the site owner's. Cool.
Amazon is holding a free all day web services workshop on April 22 at the O'Reilly Emerging Technologies Conference. The event is open to people not registered at the conference (though space is limited to 50 people).
P.S. Slashdot really ought to have web services as a topic area! Despite being over-hyped, this is a really important area, and there's a lot cooking. Amazon's web services"
-
REST vs. SOAP In Amazon Web Services
tadghin writes "I was recently talking with Jeff Barr, creator of syndic8 and now Amazon's chief web services evangelist. He let drop an interesting tidbit. Amazon has both SOAP and REST interfaces to their web services, and 85% of their usage is of the REST interface." Read on for some more thoughts and information on REST and Web services, including information about a free Web services seminar on April 22nd. " Despite all of the corporate hype over the SOAP stack, this is pretty compelling evidence that developers like the simpler REST approach. (I'm sure there are applications where SOAP is better, but I've always liked technologies that have low barriers to entry and grassroots adoption, and simple XML over HTTP approach seems to have that winning combination.)Amazon's web services have attracted a thriving community, people are making real money building alternate interfaces to Amazon and collecting Associates commissions on the resulting sales, and there are even tool developers who have come up with the creative business model of agreeing with their users to have some percentage of the transactions use the tool developer's Associates id rather than the site owner's. Cool.
Amazon is holding a free all day web services workshop on April 22 at the O'Reilly Emerging Technologies Conference. The event is open to people not registered at the conference (though space is limited to 50 people).
P.S. Slashdot really ought to have web services as a topic area! Despite being over-hyped, this is a really important area, and there's a lot cooking. Amazon's web services"
-
O'Reilly Pushing Founder's Copyright System
alansz writes "The O'Reilly and Associates Open Books Project has been around for a while, and I've just received a letter from Tim about the next step" Read on if you are interested in the creative commons, and how O'Reilly authors are being asked to take part. Alansz continues, "ORA authors are being encouraged to allow ORA to self-limit their copyright to the Founders' Copyright (14 years with one 14-year extension possible), and to allow ORA to distribute their out-of-print (or post-Founder's Copyright) books to the public using the Creative Commons Attribution license (you can freely copy and distribute the work and derivatives, as long as you attribute the work to the author and ORA). Author agreement is required in order for ORA to transfer rights to Creative Commons.The letter included a handy FAQ about author options (allow assignment to Creative Commons, stick with the usual maximum copyright deal, or have three months to try to find another publisher when the book goes out-of-print and allow assignment to CC if you don't). The letter also notes that different editions of books count as different works, so your latest edition can still be selling commercially and earlier editions can be released as open books.
(For my out-of-print ORA book, I'm going to allow them to assign the rights to CC and make it freely available. It's great to see a publisher thinking about copyright this way, but it's no more than I'd expect from the good folks at ORA.)"
-
Linux Server Hacks
Wee writes "Linux Server Hacks is not a book which will teach you system administration. In fact, if you aren't already familiar with how to set up and run Linux, this book will likely confuse you. It is also not a book which will teach you how to break into Linux servers. The word 'hack' in this case is not a pejorative. What LSH will do is show you how to fully tweak that Linux box you already run. It will show you new (and possibly better) ways to do the things you already do. The book will probably not make you a better admin, but it will almost certainly save you some time or give you at least one 'Why didn't I ever think of that?' head-scratcher." Read on for the rest of Wee's review. Linux Server Hacks author Rob Flickenger pages 221 (including index) publisher O'Reilly rating Very Good reviewer Wee ISBN 0596004613 summary 100 tips and tools useful for those who work with Linux servers (and workstations).
About the book LSH is not just about the Linux operating system, per se. Despite the title, it spends more time covering applications which can run on Linux than it does the Linux operating system itself. It is composed of 100 "hacks" all grouped together into like areas, such as "Monitoring" and "Networking". The style sort of reminded me of O'Reilly's Cookbook series, and I find it to be an easy format to read. Indeed, if the book was larger, it could have easily been called "The Linux Server Cookbook."After a somewhat cheesy forward by ESR and a recognizably standard O'Reilly preface, LSH starts out the hacking with a section called "Server Basics," and it's here that most of the Linux-specific tips are. You get to learn how to pass args to LILO, stroll through /proc, tweak the Linux kernel, play with hdparm and so forth. This chapter left me thinking that this was all stuff every admin should know, and not much of it was new to me (if you've used Linux for more than a couple years you probably won't find much here that you haven't at least heard about before). If you are new to Linux however, then this chapter will be valuable even if you stop reading the book right at chapter two.
If the book had to be divided into two parts, the first chapter would be titled "Part 1: Linux the OS." The balance of the book would then be called "Part 2: Linux Applications." Subsequent chapters each tackle one area of services or applications that run on Linux, such as CVS or rsync or ssh, and it's very easy to find something interesting purely by looking through the table of contents. The book's grouping of hacks into like topics helps, I think, because you can easily pick out what you want to see more of without having to wade through that which you don't find terribly interesting. For example, if you only deal with your personal Linux workstation, then you can easily disregard the "Information Servers" chapter without missing other valuable content. I personally found the "Networking" and "Monitoring" chapters to be the most useful. The "Backups" chapter was interesting, the "Scripting" chapter not so much. Each chapter starts with a summary of what's to come, so if the table of contents isn't enough to find the good bits, then just reading those summaries can give you an idea of whether you'll find anything useful to you.
The book includes a fairly complete index, but I didn't use it very much. I found the table of contents, with its list of each hack's title, to be useful enough. I suspect that when I pick the book up a couple months from now looking for something I had read about I'll get more use out of the index.
What's to likeAs I mentioned above, the book is very easy to read. Flickenger has a "conversational" writing style I found easy to parse. If you hang out with Linux geeks very much, you'll recognize his way of communicating and easily assimilate what he has to say. His advice is sound, his skill level high (the same can be said for the other contributors as well). The book's layout and organization made it easy to find specifics and will ensure that it gets used as a reference later on.
You might be wondering about the code samples in this book: there are a lot of them. I didn't check, but I think each hack had at least one CLI listing or bit of example code. This made the book much more valuable than if it simply told you want to do; "seeing" the hack in action helped tremendously. In fact, I'd have felt disappointed if Flickenger hadn't included as many examples as he did. Most of the code is Perl, with some shell mixed in. The example code is well written and properly placed, so if you don't know Perl or shell you'll still be able to make use of the hack.
Each hack can stand on its own. This makes the book easy to read, and ensures its place as a reference. I didn't read the book sequentially at first, but I went through the whole thing regardless. Some hacks refer to other hacks, and I found myself reading the book as if it was hypertext, as is mentioned in the preface. Again, this also means less time spent reading that which you already know (or find boring) and more time spent thinking about something more useful.
The book is distribution-agnostic. I couldn't find anything that would upset a Debian user or would flummox a Mandrake fan. While this might have more to do with the bulk of the hacks being on the application level, I found the lack of an axe to grind refreshing nonetheless.
The book doesn't assume l33t-ness nor coddle the reader. It assumes you know your stuff and are a professional, and in doing so finds its voice rather well. This gave me a sense of admiration for the author and allowed me to absorb the knowledge being imparted with ease.
Although not specifically about the book, O'Reilly has set up a website devoted to their "Hacks" series of books. Users can send in their own hacks, which helps flesh out the content in the print edition.
What could be betterESR's forward, titled "How to Become a Hacker," was just silly. The forward added nothing to the book, and I find the whole "zen of hacking" schtick tiresome after only a short while. Yes, "hack" is a cool word, but one which easily suffers from overuse: it suffers a lot in ESR's forward. The forward also contains a plug for ESR's book, which I thought was somewhat tacky.
LILO is referred to in several places, but there is not a single mention of GRUB. Where the boot loader was being discussed, an "If you use GRUB, you'd want to do it this way..." aside would have been welcome.
The "Information Servers" chapter is very large, but only deals with BIND 9, Apache and MySQL. If you don't work with any of these three, then fully one quarter of the book will be useless to you. I would have really liked to see mail servers (especially Postfix and Qmail) mentioned, and including tweaks for an ftp daemon would have made the book that much more valuable. I would have also liked to see sshd covered; the book contains only ssh client hacks. Finally, a hack or three about PostgreSQL would have been nice.
The "Scripting" chapter could have been replaced with a "Security" chapter. There are only 4 scripting hacks, and they aren't all that useful. Although the book has a security-conscious mindset running throughout it, I felt the lack of a section devoted specifically to security was a glaring omission. In fact, I almost didn't buy the book when I noticed that the table of contents didn't list a security chapter. It was only after reading a hack or two that I could see security was going to be mentioned.
Another area I expected to see was one with hacks involving package management. A whole chapter dealing with this topic would have certainly been welcome to users of Red Hat, SuSE, et al. I suspect that such a chapter might have broken an unwritten editorial rule about remaining distribution neutral, however. And Debian users would have found anything beyond an apt-get one-liner superfluous, so I can forgive the "omission."
Although the title of the book is "Linux Server Hacks," someone using Linux as a workstation would also find the book helpful. For example, Flickenger includes two hacks on burning CDs, a hack on displaying the load average in the title bar of an xterm window, and so on. I got the impression that the server-centric focus wandered into desktop land quite a bit. Because of this, I thought that some hacks involving window managers should have been included. I've tweaked vnc to run blackbox on more than one occasion and expected to see things like that mentioned. This is a niggling complaint, however.
I found myself wishing the book was longer. At US$24.95 the price was right, but I would have rather paid US$34.95 for 150 total hacks.
Finally, the book looked somewhat rushed. There were more than a couple formatting errors (typeset characters visible, etc) sprinkled throughout, and all the code examples were unindented; it was as if all the tabs were stripped out by the printer. While the lack of indenting might confuse those who don't know Perl or shell, the only "real" consequence of this is that the lack of tabs in the makefile examples on pages 27 and 28 prevent them from working.
SummaryBased on this review, it might seem that the bad outweighs the good where Linux Server hacks is concerned. I don't think this is the case, and I would caution anyone against taking that view (rather, I'd have them glance through the book at the bookstore before deciding not to buy it). I think it should be noted that given the usually high quality of O'Reilly titles, it's far easier to spot what could be better than what is likeable. Like the old saying goes, nobody notices a clean kitchen unless it isn't.
None of the "bad" things would keep me from recommending this book, and I found Linux Server Hacks to be a very useful -- both as a future reference and as "thumb through while waiting for the train" sort of read. There's not much in it which is "new", and most of the hacks would border on common sense for the seasoned sysadmin (although I'd be willing to be that even the most grizzled admin would find something new or interesting). Indeed, nearly all the information in the book can probably be found on the web somewhere. It is nice, however, to have everything collected in one place and organized into specific groups. Linux Server Hacks would make a good addition to the bookshelf of anyone, regardless of their skill level, who finds themself administering a Linux machine, be it a server or workstation.
Table of contents- How to Become a Hacker
- Preface
- Server Basics
- Revision Control
- Backups
- Networking
- Monitoring
- SSH
- Scripting
- Information Servers
You can purchase Linux Server Hacks from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Google Hacks
honestpuck writes "It has been quite a while since I have come across a book I'd label 'essential.' The last for non-programming computer users was Robin Williams' The Mac Is Not A Typewriter which I bought for a number of new Macintosh users." Now, though, honestpuck has found another book which he says is required reading for modern computer users -- read on for his review of O'Reilly's Google Hacks. Google Hacks: 100 Industrial-Strength Tips and Tools author Tara Calishain and Rael Dornfest pages 318 publisher O'Reilly rating Excellent reviewer Tony Williams ISBN 0596004478 summary Excellent compendium of tips and tricks for everyone on using Google and its API
The book in brief Google Hacks by Tara Calishain and Rael Dornfest and published by O'Reilly will appeal to an even wider audience, I can imagine buying this for friends who haven't cottoned on to 'net searching at all and friends who complain "Google returns too many sites." People who are afraid to code shouldn't be put off by the "Hacks" in the title: O'Reilly have obviously taken a wider meaning of "hack" than just a neat piece of code. This book is a marvelous compendium of tips and tricks for Google, ranging from simple ways of getting the search results you want, through using Google's newer services such as phone books and image search, all the way to advanced ways of using scrapers and the Google API.The book demonstrates 100 hacks, of which close to half are useful for everyone -- newbie, programmer and non-programmer alike. The first 35 hacks, in chapters one and two, will educate you about the intricacies of getting the best out of searching both Google's main web catalog and the newer 'Special Services and Collections.' This is the part of the book that should be essential reading for Google users -- in the two days I've had this book these have proved invaluable. The rest are for those who are either looking for extremely advanced search tips, increasing their web site's Google page rank, or programming an application to use the Google data -- all topics well covered in this volume.
What's Good In This BookTo start, it is well written, well laid out with a good contents section, good index, and some appropriate introductory material before getting down to the first hack. Each of the hacks are numbered and a single hack will often cross-reference other hacks that add information relevant to it. The hacks in each chapter nicely add on each other in both complexity and function.
The hacks themselves seem to cover every area of Google that you might want. They range from the downright frivolous (there is a chapter "Google Pranks and Games") to serious ways of improving your search results and excellent examples of good ways to use the Google API.
Most of the code fragments are in Perl, and among the hacks are ways of getting the job done without over extensive use of extra modules such as XML Parsers and SOAP::Lite (including a hack that uses regular expressions to parse the XML).
What's Bad In This BookIt's hard to find anything bad to say, apart from some frustration that a couple of the hacks that interested me used ASP or VB rather than a more portable language.
Oh, another minor quibble, the allied web site O'Reilly Hacks Series has been slow and has none of the code in the book or any of the URLs mentioned listed anywhere -- it seems more geared towards marketing the books than helping the readers.
(DISCLAIMER: I use Rael Dornfest's Blosxom blog software and have contributed a plugin for his software.)
You can purchase Google Hacks from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Mac OS X Innovators Contest
lisam writes "Have you created a Mac OS X application, plug-in, or some other type of innovative software that you believe is top in its class? Then check out the Mac OS X Innovators contest. Prizes include a ADC Premier Membership, WWDC pass, pass to the O'Reilly Mac OS X Conference, etc, etc. You can enter more than once, but the deadline is March 28, 2003." -
Welcome to the Safari Jungle
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid of stuff when moving time comes and you find yourself packing up the same Pascal book for an eighth time. Granted, the book provides a level of self-accomplishment and it's always great to have your best books out in direct sight of anyone who may come over to your home or office. You know the type; the ones who are observant and notice the books that you want the world to know that you've read, as if you were to say, 'Been there, done that.' You can't tell me that you don't put some of them up intentionally. ;-)" Russell is taken with O'Reilly's floating-rental system called Safari; read on for his review of the system. (various) author (various) pages (various) publisher O'Reilly and other participating publishers rating 9 reviewer Robby Russell ISBN (various) summary Technical book rental is here, and you may find the convenience a compelling enough factor to give up the paper versions of the available titles.O'Reilly has come up with an interesting solution to your lack of physical shelf space: a virtual bookshelf. Safari Bookshelf is a great resource for all things technical. They recently went over 1,000 titles available online, 24/7. Several publishers have joined forces with O'Reilly to provide so many titles. Que, Alpha, Sams, Microsoft Press (and O'Reilly itself) are a few of the big-name publishers that are part of Safari. Currently, 75% of all O'Reilly books are available through Safari. (With plans for adding 10+ books per month, the selection is growing rapidly, too.)
Safari subscriptions can be had in 10-, 20- or 30-slot varieties, depending on how much you care to read (and spend). Prices end up close to $1.50 per slot each month, with slight discounts if you buy annually rather than by the month. (A $9.99/month 5-slot shelf is available too, if you just want to test the waters.)
Recently, I had the privilege of giving Safari a test-run thanks to the generous offer made to user groups.
The website's navigation was fairly easy to grasp, and I was able to start searching for books as soon as I logged into the system. O'Reilly's made browsing pleasant, by listing the main categories and allowing you to branch down into subcategories to find the book you may or may not be looking for.
I was given a 10-book shelf to start my trial of Safari. This account would typically go at $14.99/month (or $159.99/year). The bookshelf is great. You can add a book to your bookshelf and you keep it there for 30 days, after which you can remove the book and replace it with a different one. So, you can have 10 books in your "shelf" at any given time, and switch no more than 10 books a month under this account level. That is 120 books a year for roughly $1.33/book. That's impressive.
It just so happened that I was currently working on migrating from Sendmail to Postfix recently and wanted to read up more on Postfix to see if there was more I could do to keep my server running happily. I typed in "postfix" in the search, and voila! 109 books were found with that word in the title or description. The search results allowed me to View by Book and/or View by Section (which I found really helpful by showing me a section of the book that contained the word "postfix"). I scanned a few more books in greater depth, looking at the Table of Contents of various books and even looking at the books' chapter previews. A lot of text to look at before I even decide on checking out a book. Being in a bookstore wouldn't have been this good: you can't search through a bookstore for a specific keyword in all texts and get back these kinds of results.
After reviewing a small handful of books, I felt comfortable with my decision and checked out the appropriately-titled book by Sams, "Postfix" by Richard Blum and added it to my bookshelf. The book will be on my bookshelf for the next 30 days. Immediately, I went over to My Bookshelf and found myself looking through the same text you would find in the paper version of this book (but in the font face and size that I set in my browser preferences). It lets me print a page, send the page as an email to someone, etc. I was reading about open relays, and added a bookmark to the page which shows up on the "My Safari" personal page listing all the books I have currently checked out. That page also shows recent searches, newly available books, public notes, etc. With a few clicks, I can go from my computer desktop to page 152 of The Perl Cookbook which is quicker than me looking through my library of paper books and finding my place.
I have since added six more books and visit My Safari page roughly 5+ times throughout my day to read more on various topics. All this content available anytime I need it, and I still have spaces left in my bookshelf. They do offer 5-slot Safari Bookshelf for those who don't need 10 books a month, which is probably where I would fall. The great thing is that this is very affordable. (After calculating the costs of all the books I had bought in the past year, I could have paid for and viewed roughly 232 books plus the 8 technical books I bought last year.)
On the downside, colleagues who come by my home or office won't see my new copy of MySQL Cookbook because it is online rather than on my shelf showing another O'Reilly animal. I might have to print out the covers and tape them to my old school books to deal with that for the time being, but I am sure that Safari Bookshelf is how I plan to spend money on technical documentation from now on.
If it were a Tom Robbins book however, I couldn't see myself sitting in a cozy chair reading it on a laptop; this idea only makes sense to me for technical information because I am sitting at my computer anyways -- and where else would I need technical documentation?
If this idea intrigues you, visit O'Reilly's Safari Bookshelf page. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Welcome to the Safari Jungle
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid of stuff when moving time comes and you find yourself packing up the same Pascal book for an eighth time. Granted, the book provides a level of self-accomplishment and it's always great to have your best books out in direct sight of anyone who may come over to your home or office. You know the type; the ones who are observant and notice the books that you want the world to know that you've read, as if you were to say, 'Been there, done that.' You can't tell me that you don't put some of them up intentionally. ;-)" Russell is taken with O'Reilly's floating-rental system called Safari; read on for his review of the system. (various) author (various) pages (various) publisher O'Reilly and other participating publishers rating 9 reviewer Robby Russell ISBN (various) summary Technical book rental is here, and you may find the convenience a compelling enough factor to give up the paper versions of the available titles.O'Reilly has come up with an interesting solution to your lack of physical shelf space: a virtual bookshelf. Safari Bookshelf is a great resource for all things technical. They recently went over 1,000 titles available online, 24/7. Several publishers have joined forces with O'Reilly to provide so many titles. Que, Alpha, Sams, Microsoft Press (and O'Reilly itself) are a few of the big-name publishers that are part of Safari. Currently, 75% of all O'Reilly books are available through Safari. (With plans for adding 10+ books per month, the selection is growing rapidly, too.)
Safari subscriptions can be had in 10-, 20- or 30-slot varieties, depending on how much you care to read (and spend). Prices end up close to $1.50 per slot each month, with slight discounts if you buy annually rather than by the month. (A $9.99/month 5-slot shelf is available too, if you just want to test the waters.)
Recently, I had the privilege of giving Safari a test-run thanks to the generous offer made to user groups.
The website's navigation was fairly easy to grasp, and I was able to start searching for books as soon as I logged into the system. O'Reilly's made browsing pleasant, by listing the main categories and allowing you to branch down into subcategories to find the book you may or may not be looking for.
I was given a 10-book shelf to start my trial of Safari. This account would typically go at $14.99/month (or $159.99/year). The bookshelf is great. You can add a book to your bookshelf and you keep it there for 30 days, after which you can remove the book and replace it with a different one. So, you can have 10 books in your "shelf" at any given time, and switch no more than 10 books a month under this account level. That is 120 books a year for roughly $1.33/book. That's impressive.
It just so happened that I was currently working on migrating from Sendmail to Postfix recently and wanted to read up more on Postfix to see if there was more I could do to keep my server running happily. I typed in "postfix" in the search, and voila! 109 books were found with that word in the title or description. The search results allowed me to View by Book and/or View by Section (which I found really helpful by showing me a section of the book that contained the word "postfix"). I scanned a few more books in greater depth, looking at the Table of Contents of various books and even looking at the books' chapter previews. A lot of text to look at before I even decide on checking out a book. Being in a bookstore wouldn't have been this good: you can't search through a bookstore for a specific keyword in all texts and get back these kinds of results.
After reviewing a small handful of books, I felt comfortable with my decision and checked out the appropriately-titled book by Sams, "Postfix" by Richard Blum and added it to my bookshelf. The book will be on my bookshelf for the next 30 days. Immediately, I went over to My Bookshelf and found myself looking through the same text you would find in the paper version of this book (but in the font face and size that I set in my browser preferences). It lets me print a page, send the page as an email to someone, etc. I was reading about open relays, and added a bookmark to the page which shows up on the "My Safari" personal page listing all the books I have currently checked out. That page also shows recent searches, newly available books, public notes, etc. With a few clicks, I can go from my computer desktop to page 152 of The Perl Cookbook which is quicker than me looking through my library of paper books and finding my place.
I have since added six more books and visit My Safari page roughly 5+ times throughout my day to read more on various topics. All this content available anytime I need it, and I still have spaces left in my bookshelf. They do offer 5-slot Safari Bookshelf for those who don't need 10 books a month, which is probably where I would fall. The great thing is that this is very affordable. (After calculating the costs of all the books I had bought in the past year, I could have paid for and viewed roughly 232 books plus the 8 technical books I bought last year.)
On the downside, colleagues who come by my home or office won't see my new copy of MySQL Cookbook because it is online rather than on my shelf showing another O'Reilly animal. I might have to print out the covers and tape them to my old school books to deal with that for the time being, but I am sure that Safari Bookshelf is how I plan to spend money on technical documentation from now on.
If it were a Tom Robbins book however, I couldn't see myself sitting in a cozy chair reading it on a laptop; this idea only makes sense to me for technical information because I am sitting at my computer anyways -- and where else would I need technical documentation?
If this idea intrigues you, visit O'Reilly's Safari Bookshelf page. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Welcome to the Safari Jungle
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid of stuff when moving time comes and you find yourself packing up the same Pascal book for an eighth time. Granted, the book provides a level of self-accomplishment and it's always great to have your best books out in direct sight of anyone who may come over to your home or office. You know the type; the ones who are observant and notice the books that you want the world to know that you've read, as if you were to say, 'Been there, done that.' You can't tell me that you don't put some of them up intentionally. ;-)" Russell is taken with O'Reilly's floating-rental system called Safari; read on for his review of the system. (various) author (various) pages (various) publisher O'Reilly and other participating publishers rating 9 reviewer Robby Russell ISBN (various) summary Technical book rental is here, and you may find the convenience a compelling enough factor to give up the paper versions of the available titles.O'Reilly has come up with an interesting solution to your lack of physical shelf space: a virtual bookshelf. Safari Bookshelf is a great resource for all things technical. They recently went over 1,000 titles available online, 24/7. Several publishers have joined forces with O'Reilly to provide so many titles. Que, Alpha, Sams, Microsoft Press (and O'Reilly itself) are a few of the big-name publishers that are part of Safari. Currently, 75% of all O'Reilly books are available through Safari. (With plans for adding 10+ books per month, the selection is growing rapidly, too.)
Safari subscriptions can be had in 10-, 20- or 30-slot varieties, depending on how much you care to read (and spend). Prices end up close to $1.50 per slot each month, with slight discounts if you buy annually rather than by the month. (A $9.99/month 5-slot shelf is available too, if you just want to test the waters.)
Recently, I had the privilege of giving Safari a test-run thanks to the generous offer made to user groups.
The website's navigation was fairly easy to grasp, and I was able to start searching for books as soon as I logged into the system. O'Reilly's made browsing pleasant, by listing the main categories and allowing you to branch down into subcategories to find the book you may or may not be looking for.
I was given a 10-book shelf to start my trial of Safari. This account would typically go at $14.99/month (or $159.99/year). The bookshelf is great. You can add a book to your bookshelf and you keep it there for 30 days, after which you can remove the book and replace it with a different one. So, you can have 10 books in your "shelf" at any given time, and switch no more than 10 books a month under this account level. That is 120 books a year for roughly $1.33/book. That's impressive.
It just so happened that I was currently working on migrating from Sendmail to Postfix recently and wanted to read up more on Postfix to see if there was more I could do to keep my server running happily. I typed in "postfix" in the search, and voila! 109 books were found with that word in the title or description. The search results allowed me to View by Book and/or View by Section (which I found really helpful by showing me a section of the book that contained the word "postfix"). I scanned a few more books in greater depth, looking at the Table of Contents of various books and even looking at the books' chapter previews. A lot of text to look at before I even decide on checking out a book. Being in a bookstore wouldn't have been this good: you can't search through a bookstore for a specific keyword in all texts and get back these kinds of results.
After reviewing a small handful of books, I felt comfortable with my decision and checked out the appropriately-titled book by Sams, "Postfix" by Richard Blum and added it to my bookshelf. The book will be on my bookshelf for the next 30 days. Immediately, I went over to My Bookshelf and found myself looking through the same text you would find in the paper version of this book (but in the font face and size that I set in my browser preferences). It lets me print a page, send the page as an email to someone, etc. I was reading about open relays, and added a bookmark to the page which shows up on the "My Safari" personal page listing all the books I have currently checked out. That page also shows recent searches, newly available books, public notes, etc. With a few clicks, I can go from my computer desktop to page 152 of The Perl Cookbook which is quicker than me looking through my library of paper books and finding my place.
I have since added six more books and visit My Safari page roughly 5+ times throughout my day to read more on various topics. All this content available anytime I need it, and I still have spaces left in my bookshelf. They do offer 5-slot Safari Bookshelf for those who don't need 10 books a month, which is probably where I would fall. The great thing is that this is very affordable. (After calculating the costs of all the books I had bought in the past year, I could have paid for and viewed roughly 232 books plus the 8 technical books I bought last year.)
On the downside, colleagues who come by my home or office won't see my new copy of MySQL Cookbook because it is online rather than on my shelf showing another O'Reilly animal. I might have to print out the covers and tape them to my old school books to deal with that for the time being, but I am sure that Safari Bookshelf is how I plan to spend money on technical documentation from now on.
If it were a Tom Robbins book however, I couldn't see myself sitting in a cozy chair reading it on a laptop; this idea only makes sense to me for technical information because I am sitting at my computer anyways -- and where else would I need technical documentation?
If this idea intrigues you, visit O'Reilly's Safari Bookshelf page. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Welcome to the Safari Jungle
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid of stuff when moving time comes and you find yourself packing up the same Pascal book for an eighth time. Granted, the book provides a level of self-accomplishment and it's always great to have your best books out in direct sight of anyone who may come over to your home or office. You know the type; the ones who are observant and notice the books that you want the world to know that you've read, as if you were to say, 'Been there, done that.' You can't tell me that you don't put some of them up intentionally. ;-)" Russell is taken with O'Reilly's floating-rental system called Safari; read on for his review of the system. (various) author (various) pages (various) publisher O'Reilly and other participating publishers rating 9 reviewer Robby Russell ISBN (various) summary Technical book rental is here, and you may find the convenience a compelling enough factor to give up the paper versions of the available titles.O'Reilly has come up with an interesting solution to your lack of physical shelf space: a virtual bookshelf. Safari Bookshelf is a great resource for all things technical. They recently went over 1,000 titles available online, 24/7. Several publishers have joined forces with O'Reilly to provide so many titles. Que, Alpha, Sams, Microsoft Press (and O'Reilly itself) are a few of the big-name publishers that are part of Safari. Currently, 75% of all O'Reilly books are available through Safari. (With plans for adding 10+ books per month, the selection is growing rapidly, too.)
Safari subscriptions can be had in 10-, 20- or 30-slot varieties, depending on how much you care to read (and spend). Prices end up close to $1.50 per slot each month, with slight discounts if you buy annually rather than by the month. (A $9.99/month 5-slot shelf is available too, if you just want to test the waters.)
Recently, I had the privilege of giving Safari a test-run thanks to the generous offer made to user groups.
The website's navigation was fairly easy to grasp, and I was able to start searching for books as soon as I logged into the system. O'Reilly's made browsing pleasant, by listing the main categories and allowing you to branch down into subcategories to find the book you may or may not be looking for.
I was given a 10-book shelf to start my trial of Safari. This account would typically go at $14.99/month (or $159.99/year). The bookshelf is great. You can add a book to your bookshelf and you keep it there for 30 days, after which you can remove the book and replace it with a different one. So, you can have 10 books in your "shelf" at any given time, and switch no more than 10 books a month under this account level. That is 120 books a year for roughly $1.33/book. That's impressive.
It just so happened that I was currently working on migrating from Sendmail to Postfix recently and wanted to read up more on Postfix to see if there was more I could do to keep my server running happily. I typed in "postfix" in the search, and voila! 109 books were found with that word in the title or description. The search results allowed me to View by Book and/or View by Section (which I found really helpful by showing me a section of the book that contained the word "postfix"). I scanned a few more books in greater depth, looking at the Table of Contents of various books and even looking at the books' chapter previews. A lot of text to look at before I even decide on checking out a book. Being in a bookstore wouldn't have been this good: you can't search through a bookstore for a specific keyword in all texts and get back these kinds of results.
After reviewing a small handful of books, I felt comfortable with my decision and checked out the appropriately-titled book by Sams, "Postfix" by Richard Blum and added it to my bookshelf. The book will be on my bookshelf for the next 30 days. Immediately, I went over to My Bookshelf and found myself looking through the same text you would find in the paper version of this book (but in the font face and size that I set in my browser preferences). It lets me print a page, send the page as an email to someone, etc. I was reading about open relays, and added a bookmark to the page which shows up on the "My Safari" personal page listing all the books I have currently checked out. That page also shows recent searches, newly available books, public notes, etc. With a few clicks, I can go from my computer desktop to page 152 of The Perl Cookbook which is quicker than me looking through my library of paper books and finding my place.
I have since added six more books and visit My Safari page roughly 5+ times throughout my day to read more on various topics. All this content available anytime I need it, and I still have spaces left in my bookshelf. They do offer 5-slot Safari Bookshelf for those who don't need 10 books a month, which is probably where I would fall. The great thing is that this is very affordable. (After calculating the costs of all the books I had bought in the past year, I could have paid for and viewed roughly 232 books plus the 8 technical books I bought last year.)
On the downside, colleagues who come by my home or office won't see my new copy of MySQL Cookbook because it is online rather than on my shelf showing another O'Reilly animal. I might have to print out the covers and tape them to my old school books to deal with that for the time being, but I am sure that Safari Bookshelf is how I plan to spend money on technical documentation from now on.
If it were a Tom Robbins book however, I couldn't see myself sitting in a cozy chair reading it on a laptop; this idea only makes sense to me for technical information because I am sitting at my computer anyways -- and where else would I need technical documentation?
If this idea intrigues you, visit O'Reilly's Safari Bookshelf page. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Welcome to the Safari Jungle
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid of stuff when moving time comes and you find yourself packing up the same Pascal book for an eighth time. Granted, the book provides a level of self-accomplishment and it's always great to have your best books out in direct sight of anyone who may come over to your home or office. You know the type; the ones who are observant and notice the books that you want the world to know that you've read, as if you were to say, 'Been there, done that.' You can't tell me that you don't put some of them up intentionally. ;-)" Russell is taken with O'Reilly's floating-rental system called Safari; read on for his review of the system. (various) author (various) pages (various) publisher O'Reilly and other participating publishers rating 9 reviewer Robby Russell ISBN (various) summary Technical book rental is here, and you may find the convenience a compelling enough factor to give up the paper versions of the available titles.O'Reilly has come up with an interesting solution to your lack of physical shelf space: a virtual bookshelf. Safari Bookshelf is a great resource for all things technical. They recently went over 1,000 titles available online, 24/7. Several publishers have joined forces with O'Reilly to provide so many titles. Que, Alpha, Sams, Microsoft Press (and O'Reilly itself) are a few of the big-name publishers that are part of Safari. Currently, 75% of all O'Reilly books are available through Safari. (With plans for adding 10+ books per month, the selection is growing rapidly, too.)
Safari subscriptions can be had in 10-, 20- or 30-slot varieties, depending on how much you care to read (and spend). Prices end up close to $1.50 per slot each month, with slight discounts if you buy annually rather than by the month. (A $9.99/month 5-slot shelf is available too, if you just want to test the waters.)
Recently, I had the privilege of giving Safari a test-run thanks to the generous offer made to user groups.
The website's navigation was fairly easy to grasp, and I was able to start searching for books as soon as I logged into the system. O'Reilly's made browsing pleasant, by listing the main categories and allowing you to branch down into subcategories to find the book you may or may not be looking for.
I was given a 10-book shelf to start my trial of Safari. This account would typically go at $14.99/month (or $159.99/year). The bookshelf is great. You can add a book to your bookshelf and you keep it there for 30 days, after which you can remove the book and replace it with a different one. So, you can have 10 books in your "shelf" at any given time, and switch no more than 10 books a month under this account level. That is 120 books a year for roughly $1.33/book. That's impressive.
It just so happened that I was currently working on migrating from Sendmail to Postfix recently and wanted to read up more on Postfix to see if there was more I could do to keep my server running happily. I typed in "postfix" in the search, and voila! 109 books were found with that word in the title or description. The search results allowed me to View by Book and/or View by Section (which I found really helpful by showing me a section of the book that contained the word "postfix"). I scanned a few more books in greater depth, looking at the Table of Contents of various books and even looking at the books' chapter previews. A lot of text to look at before I even decide on checking out a book. Being in a bookstore wouldn't have been this good: you can't search through a bookstore for a specific keyword in all texts and get back these kinds of results.
After reviewing a small handful of books, I felt comfortable with my decision and checked out the appropriately-titled book by Sams, "Postfix" by Richard Blum and added it to my bookshelf. The book will be on my bookshelf for the next 30 days. Immediately, I went over to My Bookshelf and found myself looking through the same text you would find in the paper version of this book (but in the font face and size that I set in my browser preferences). It lets me print a page, send the page as an email to someone, etc. I was reading about open relays, and added a bookmark to the page which shows up on the "My Safari" personal page listing all the books I have currently checked out. That page also shows recent searches, newly available books, public notes, etc. With a few clicks, I can go from my computer desktop to page 152 of The Perl Cookbook which is quicker than me looking through my library of paper books and finding my place.
I have since added six more books and visit My Safari page roughly 5+ times throughout my day to read more on various topics. All this content available anytime I need it, and I still have spaces left in my bookshelf. They do offer 5-slot Safari Bookshelf for those who don't need 10 books a month, which is probably where I would fall. The great thing is that this is very affordable. (After calculating the costs of all the books I had bought in the past year, I could have paid for and viewed roughly 232 books plus the 8 technical books I bought last year.)
On the downside, colleagues who come by my home or office won't see my new copy of MySQL Cookbook because it is online rather than on my shelf showing another O'Reilly animal. I might have to print out the covers and tape them to my old school books to deal with that for the time being, but I am sure that Safari Bookshelf is how I plan to spend money on technical documentation from now on.
If it were a Tom Robbins book however, I couldn't see myself sitting in a cozy chair reading it on a laptop; this idea only makes sense to me for technical information because I am sitting at my computer anyways -- and where else would I need technical documentation?
If this idea intrigues you, visit O'Reilly's Safari Bookshelf page. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Welcome to the Safari Jungle
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid of stuff when moving time comes and you find yourself packing up the same Pascal book for an eighth time. Granted, the book provides a level of self-accomplishment and it's always great to have your best books out in direct sight of anyone who may come over to your home or office. You know the type; the ones who are observant and notice the books that you want the world to know that you've read, as if you were to say, 'Been there, done that.' You can't tell me that you don't put some of them up intentionally. ;-)" Russell is taken with O'Reilly's floating-rental system called Safari; read on for his review of the system. (various) author (various) pages (various) publisher O'Reilly and other participating publishers rating 9 reviewer Robby Russell ISBN (various) summary Technical book rental is here, and you may find the convenience a compelling enough factor to give up the paper versions of the available titles.O'Reilly has come up with an interesting solution to your lack of physical shelf space: a virtual bookshelf. Safari Bookshelf is a great resource for all things technical. They recently went over 1,000 titles available online, 24/7. Several publishers have joined forces with O'Reilly to provide so many titles. Que, Alpha, Sams, Microsoft Press (and O'Reilly itself) are a few of the big-name publishers that are part of Safari. Currently, 75% of all O'Reilly books are available through Safari. (With plans for adding 10+ books per month, the selection is growing rapidly, too.)
Safari subscriptions can be had in 10-, 20- or 30-slot varieties, depending on how much you care to read (and spend). Prices end up close to $1.50 per slot each month, with slight discounts if you buy annually rather than by the month. (A $9.99/month 5-slot shelf is available too, if you just want to test the waters.)
Recently, I had the privilege of giving Safari a test-run thanks to the generous offer made to user groups.
The website's navigation was fairly easy to grasp, and I was able to start searching for books as soon as I logged into the system. O'Reilly's made browsing pleasant, by listing the main categories and allowing you to branch down into subcategories to find the book you may or may not be looking for.
I was given a 10-book shelf to start my trial of Safari. This account would typically go at $14.99/month (or $159.99/year). The bookshelf is great. You can add a book to your bookshelf and you keep it there for 30 days, after which you can remove the book and replace it with a different one. So, you can have 10 books in your "shelf" at any given time, and switch no more than 10 books a month under this account level. That is 120 books a year for roughly $1.33/book. That's impressive.
It just so happened that I was currently working on migrating from Sendmail to Postfix recently and wanted to read up more on Postfix to see if there was more I could do to keep my server running happily. I typed in "postfix" in the search, and voila! 109 books were found with that word in the title or description. The search results allowed me to View by Book and/or View by Section (which I found really helpful by showing me a section of the book that contained the word "postfix"). I scanned a few more books in greater depth, looking at the Table of Contents of various books and even looking at the books' chapter previews. A lot of text to look at before I even decide on checking out a book. Being in a bookstore wouldn't have been this good: you can't search through a bookstore for a specific keyword in all texts and get back these kinds of results.
After reviewing a small handful of books, I felt comfortable with my decision and checked out the appropriately-titled book by Sams, "Postfix" by Richard Blum and added it to my bookshelf. The book will be on my bookshelf for the next 30 days. Immediately, I went over to My Bookshelf and found myself looking through the same text you would find in the paper version of this book (but in the font face and size that I set in my browser preferences). It lets me print a page, send the page as an email to someone, etc. I was reading about open relays, and added a bookmark to the page which shows up on the "My Safari" personal page listing all the books I have currently checked out. That page also shows recent searches, newly available books, public notes, etc. With a few clicks, I can go from my computer desktop to page 152 of The Perl Cookbook which is quicker than me looking through my library of paper books and finding my place.
I have since added six more books and visit My Safari page roughly 5+ times throughout my day to read more on various topics. All this content available anytime I need it, and I still have spaces left in my bookshelf. They do offer 5-slot Safari Bookshelf for those who don't need 10 books a month, which is probably where I would fall. The great thing is that this is very affordable. (After calculating the costs of all the books I had bought in the past year, I could have paid for and viewed roughly 232 books plus the 8 technical books I bought last year.)
On the downside, colleagues who come by my home or office won't see my new copy of MySQL Cookbook because it is online rather than on my shelf showing another O'Reilly animal. I might have to print out the covers and tape them to my old school books to deal with that for the time being, but I am sure that Safari Bookshelf is how I plan to spend money on technical documentation from now on.
If it were a Tom Robbins book however, I couldn't see myself sitting in a cozy chair reading it on a laptop; this idea only makes sense to me for technical information because I am sitting at my computer anyways -- and where else would I need technical documentation?
If this idea intrigues you, visit O'Reilly's Safari Bookshelf page. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Managing RAID on Linux
rjnagle writes "The availability of HOW-TOs and newsgroups is supposed to make the sysadmin's job easier, right? Much as I am a proponent of the 'distributed learning model' for Linux, the endless searching for answers on the Web for setting up Linux RAID was getting to be a royal pain. Sure, there was a RAID how-to and an excellent newgroup, but some of the information is out of date, and the tricks suggested by people a year ago may be no longer needed today. Robert reviews the O'Reilly title Managing RAID on Linux below to see how it stacks up to HOWTOs, guesswork and anecdotal evidence. Managing RAID on Linux author Derek Vadala pages 245 publisher O'Reilly rating The best reviewer Robert Nagle (aka idiotprogrammer) ISBN 1565927303 summary This book brings RAID to the massesA person deciding to go with RAID faces a panoply of options and gotchas. Hardware or software? How many controllers? ATA or SCSI (or ataraid)? RAID 1 or RAID 5? Which file system or distribution? Kernel options? Mdadm or raidtools? /swap or /boot on raid? Hybrid? Left or right symmetric? One poster pointed out that putting two ATA drives on the same controller could impact performance. Yikes! Didn't I do that? Upon discovering that O'Reilly had just published its Managing RAID on Linux book, looking at sample chapter , I bought the book and let my blood pressure return to normal.
RAID is one of these subjects that is really not complex; it's just very hard to find all the information in one place. This is precisely the book to solve the problem. Author Derek Vadala, sysadmin and founder of Azurance.com, an open source/security consulting firm, has gathered a lot of information and even personal anecdotes to go through the decision making process when going over to RAID. He goes step-by-step through that process, educating us about hard drives, controllers, and bottlenecks along the way. This exhaustive book may be the first to bring RAID to the masses.
Although parts of the book (RAID types, file system types) may seem already familiar to experienced Linux users, it is helpful nonetheless to have everything in a nifty little book. A section of file systems provided not only a rundown of the merits and drawbacks of each one, but also a guide to their utilities. I learned for example what "file tails" for Reiser are, and why using them causes performance to degrade after reaching 85% capacity. The book compares raidtools with mdadm as well as lovely commands like nohup mdadm -monitor -mail=paranoidsysadmin@home.com (which, if you haven't guessed, causes the system to email you RAID status reports upon boot).
People who use software RAID may skip over the chapter on RAID utilities for the leading RAID controller cards. Still, there was one interesting tidbit: Why, the author asks, do makers of controller cards put all their BIOS utilities on DOS floppies which require us to find a DOS boot disk? Seriously, how many of us carry around DOS boot disks nowadays? The book made me aware for the first time of freedos, an open source solution that solves precisely that problem.
The Software RAID stuff was pretty thorough and clarified a lot of things. The book does an excellent job in helping to identify and eliminate bottlenecks and optimizing hard drive performance (using hdparm and various monitoring commands). The anecdotes and case studies definitely clarified which RAID solution is suited for which task.
I am less impressed by the book's sections on disaster recovery and troubleshooting. Although these subjects are brought up at several places in the software RAID chapter, the book could have discussed several failure scenarios or used a fault tree (such as the famous Fault Tree in Chapter 9 of the Samba book, a marvel for any tech writer to read). The book doesn't even discuss booting with software RAID until the last 10 page of the book and then gives it only a single paragraph (even though the author acknowledges it as "one of the most frequently asked questions on the linux-raid mailing list."). Call me old-fashioned, but isn't the ability to boot into your RAID system ... kinda important? As someone who just spent a significant amount of time troubleshooting RAID booting problems in Gentoo, I for one would have liked more insight into the grub/lilo thing. Also, in the next paragraph in the last chapter on page 228, the author casually mentions that "all /boot and / partitions must be on a RAID-1." Say what? Please pity the poor newbie who religiously follows the instructions in the book but fails to read until the end. I'm not sure what the author meant by this statement, but it required a much more substantial explanation and needed to go into a much earlier chapter.
These complaints don't detract very much from this excellent book, a true O'Reilly classic and a model of clarity and helpfulness. This book provides enough knowledge to avoid the dread and uncertainty that comes with trying to tackle Linux RAID. With a book like this, a sysadmin can sleep a little easier.
Recommended Readings:
- Reliable Linux , by Iaian Campbell, Wiley and Sons, Dec 2001, ISBN: 0471070408. Gives excellent information not only about RAID but on general Linux reliability issues.
- Software RAID in the Linux 2.4 Kernel by Daniel Robbins. (Part Two).
- Linux Journal Article on Software RAID by Joe Edwards, Audin Malmin and Ron Shaker. ( Part Two).
- "How to do a gentoo install on software RAID" by Chris Atwood. Gentoo User Forum.
Robert Nagle (aka Idiotprogrammer )is a Texas technical writer, trainer and Linux aficionado. You can purchase Managing RAID on Linux from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. - Reliable Linux , by Iaian Campbell, Wiley and Sons, Dec 2001, ISBN: 0471070408. Gives excellent information not only about RAID but on general Linux reliability issues.
-
Managing RAID on Linux
rjnagle writes "The availability of HOW-TOs and newsgroups is supposed to make the sysadmin's job easier, right? Much as I am a proponent of the 'distributed learning model' for Linux, the endless searching for answers on the Web for setting up Linux RAID was getting to be a royal pain. Sure, there was a RAID how-to and an excellent newgroup, but some of the information is out of date, and the tricks suggested by people a year ago may be no longer needed today. Robert reviews the O'Reilly title Managing RAID on Linux below to see how it stacks up to HOWTOs, guesswork and anecdotal evidence. Managing RAID on Linux author Derek Vadala pages 245 publisher O'Reilly rating The best reviewer Robert Nagle (aka idiotprogrammer) ISBN 1565927303 summary This book brings RAID to the massesA person deciding to go with RAID faces a panoply of options and gotchas. Hardware or software? How many controllers? ATA or SCSI (or ataraid)? RAID 1 or RAID 5? Which file system or distribution? Kernel options? Mdadm or raidtools? /swap or /boot on raid? Hybrid? Left or right symmetric? One poster pointed out that putting two ATA drives on the same controller could impact performance. Yikes! Didn't I do that? Upon discovering that O'Reilly had just published its Managing RAID on Linux book, looking at sample chapter , I bought the book and let my blood pressure return to normal.
RAID is one of these subjects that is really not complex; it's just very hard to find all the information in one place. This is precisely the book to solve the problem. Author Derek Vadala, sysadmin and founder of Azurance.com, an open source/security consulting firm, has gathered a lot of information and even personal anecdotes to go through the decision making process when going over to RAID. He goes step-by-step through that process, educating us about hard drives, controllers, and bottlenecks along the way. This exhaustive book may be the first to bring RAID to the masses.
Although parts of the book (RAID types, file system types) may seem already familiar to experienced Linux users, it is helpful nonetheless to have everything in a nifty little book. A section of file systems provided not only a rundown of the merits and drawbacks of each one, but also a guide to their utilities. I learned for example what "file tails" for Reiser are, and why using them causes performance to degrade after reaching 85% capacity. The book compares raidtools with mdadm as well as lovely commands like nohup mdadm -monitor -mail=paranoidsysadmin@home.com (which, if you haven't guessed, causes the system to email you RAID status reports upon boot).
People who use software RAID may skip over the chapter on RAID utilities for the leading RAID controller cards. Still, there was one interesting tidbit: Why, the author asks, do makers of controller cards put all their BIOS utilities on DOS floppies which require us to find a DOS boot disk? Seriously, how many of us carry around DOS boot disks nowadays? The book made me aware for the first time of freedos, an open source solution that solves precisely that problem.
The Software RAID stuff was pretty thorough and clarified a lot of things. The book does an excellent job in helping to identify and eliminate bottlenecks and optimizing hard drive performance (using hdparm and various monitoring commands). The anecdotes and case studies definitely clarified which RAID solution is suited for which task.
I am less impressed by the book's sections on disaster recovery and troubleshooting. Although these subjects are brought up at several places in the software RAID chapter, the book could have discussed several failure scenarios or used a fault tree (such as the famous Fault Tree in Chapter 9 of the Samba book, a marvel for any tech writer to read). The book doesn't even discuss booting with software RAID until the last 10 page of the book and then gives it only a single paragraph (even though the author acknowledges it as "one of the most frequently asked questions on the linux-raid mailing list."). Call me old-fashioned, but isn't the ability to boot into your RAID system ... kinda important? As someone who just spent a significant amount of time troubleshooting RAID booting problems in Gentoo, I for one would have liked more insight into the grub/lilo thing. Also, in the next paragraph in the last chapter on page 228, the author casually mentions that "all /boot and / partitions must be on a RAID-1." Say what? Please pity the poor newbie who religiously follows the instructions in the book but fails to read until the end. I'm not sure what the author meant by this statement, but it required a much more substantial explanation and needed to go into a much earlier chapter.
These complaints don't detract very much from this excellent book, a true O'Reilly classic and a model of clarity and helpfulness. This book provides enough knowledge to avoid the dread and uncertainty that comes with trying to tackle Linux RAID. With a book like this, a sysadmin can sleep a little easier.
Recommended Readings:
- Reliable Linux , by Iaian Campbell, Wiley and Sons, Dec 2001, ISBN: 0471070408. Gives excellent information not only about RAID but on general Linux reliability issues.
- Software RAID in the Linux 2.4 Kernel by Daniel Robbins. (Part Two).
- Linux Journal Article on Software RAID by Joe Edwards, Audin Malmin and Ron Shaker. ( Part Two).
- "How to do a gentoo install on software RAID" by Chris Atwood. Gentoo User Forum.
Robert Nagle (aka Idiotprogrammer )is a Texas technical writer, trainer and Linux aficionado. You can purchase Managing RAID on Linux from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. - Reliable Linux , by Iaian Campbell, Wiley and Sons, Dec 2001, ISBN: 0471070408. Gives excellent information not only about RAID but on general Linux reliability issues.
-
Managing RAID on Linux
rjnagle writes "The availability of HOW-TOs and newsgroups is supposed to make the sysadmin's job easier, right? Much as I am a proponent of the 'distributed learning model' for Linux, the endless searching for answers on the Web for setting up Linux RAID was getting to be a royal pain. Sure, there was a RAID how-to and an excellent newgroup, but some of the information is out of date, and the tricks suggested by people a year ago may be no longer needed today. Robert reviews the O'Reilly title Managing RAID on Linux below to see how it stacks up to HOWTOs, guesswork and anecdotal evidence. Managing RAID on Linux author Derek Vadala pages 245 publisher O'Reilly rating The best reviewer Robert Nagle (aka idiotprogrammer) ISBN 1565927303 summary This book brings RAID to the massesA person deciding to go with RAID faces a panoply of options and gotchas. Hardware or software? How many controllers? ATA or SCSI (or ataraid)? RAID 1 or RAID 5? Which file system or distribution? Kernel options? Mdadm or raidtools? /swap or /boot on raid? Hybrid? Left or right symmetric? One poster pointed out that putting two ATA drives on the same controller could impact performance. Yikes! Didn't I do that? Upon discovering that O'Reilly had just published its Managing RAID on Linux book, looking at sample chapter , I bought the book and let my blood pressure return to normal.
RAID is one of these subjects that is really not complex; it's just very hard to find all the information in one place. This is precisely the book to solve the problem. Author Derek Vadala, sysadmin and founder of Azurance.com, an open source/security consulting firm, has gathered a lot of information and even personal anecdotes to go through the decision making process when going over to RAID. He goes step-by-step through that process, educating us about hard drives, controllers, and bottlenecks along the way. This exhaustive book may be the first to bring RAID to the masses.
Although parts of the book (RAID types, file system types) may seem already familiar to experienced Linux users, it is helpful nonetheless to have everything in a nifty little book. A section of file systems provided not only a rundown of the merits and drawbacks of each one, but also a guide to their utilities. I learned for example what "file tails" for Reiser are, and why using them causes performance to degrade after reaching 85% capacity. The book compares raidtools with mdadm as well as lovely commands like nohup mdadm -monitor -mail=paranoidsysadmin@home.com (which, if you haven't guessed, causes the system to email you RAID status reports upon boot).
People who use software RAID may skip over the chapter on RAID utilities for the leading RAID controller cards. Still, there was one interesting tidbit: Why, the author asks, do makers of controller cards put all their BIOS utilities on DOS floppies which require us to find a DOS boot disk? Seriously, how many of us carry around DOS boot disks nowadays? The book made me aware for the first time of freedos, an open source solution that solves precisely that problem.
The Software RAID stuff was pretty thorough and clarified a lot of things. The book does an excellent job in helping to identify and eliminate bottlenecks and optimizing hard drive performance (using hdparm and various monitoring commands). The anecdotes and case studies definitely clarified which RAID solution is suited for which task.
I am less impressed by the book's sections on disaster recovery and troubleshooting. Although these subjects are brought up at several places in the software RAID chapter, the book could have discussed several failure scenarios or used a fault tree (such as the famous Fault Tree in Chapter 9 of the Samba book, a marvel for any tech writer to read). The book doesn't even discuss booting with software RAID until the last 10 page of the book and then gives it only a single paragraph (even though the author acknowledges it as "one of the most frequently asked questions on the linux-raid mailing list."). Call me old-fashioned, but isn't the ability to boot into your RAID system ... kinda important? As someone who just spent a significant amount of time troubleshooting RAID booting problems in Gentoo, I for one would have liked more insight into the grub/lilo thing. Also, in the next paragraph in the last chapter on page 228, the author casually mentions that "all /boot and / partitions must be on a RAID-1." Say what? Please pity the poor newbie who religiously follows the instructions in the book but fails to read until the end. I'm not sure what the author meant by this statement, but it required a much more substantial explanation and needed to go into a much earlier chapter.
These complaints don't detract very much from this excellent book, a true O'Reilly classic and a model of clarity and helpfulness. This book provides enough knowledge to avoid the dread and uncertainty that comes with trying to tackle Linux RAID. With a book like this, a sysadmin can sleep a little easier.
Recommended Readings:
- Reliable Linux , by Iaian Campbell, Wiley and Sons, Dec 2001, ISBN: 0471070408. Gives excellent information not only about RAID but on general Linux reliability issues.
- Software RAID in the Linux 2.4 Kernel by Daniel Robbins. (Part Two).
- Linux Journal Article on Software RAID by Joe Edwards, Audin Malmin and Ron Shaker. ( Part Two).
- "How to do a gentoo install on software RAID" by Chris Atwood. Gentoo User Forum.
Robert Nagle (aka Idiotprogrammer )is a Texas technical writer, trainer and Linux aficionado. You can purchase Managing RAID on Linux from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. - Reliable Linux , by Iaian Campbell, Wiley and Sons, Dec 2001, ISBN: 0471070408. Gives excellent information not only about RAID but on general Linux reliability issues.
-
Creating Your Own CA
-
Six Tips for Homemade "Dot Mac" Servers
lisam writes "Alan Graham has an article on O'Reilly's MacDevCenter offering tips for homemade dot mac servers. Tips include creating a central file server, how to set up a central repository for iTunes, sharing images, collaborating with WebDAV, etc." -
O'Reilly Open Source Convention Call for Papers
suzanne writes "The deadline cometh: if you have a hankering to participate in the 2003 O'Reilly Open Source Convention, get your proposal/s in by February 15. It's in Portland this year, and a little earlier than usual, July 7-11. (If you missed the fun last time, check out last year's coverage page, especially SuperSnail's photos of the event.)" -
25 Years of O'Reilly Books
wka writes "The year 2003 marks the 25th anniversary of publisher O'Reilly and Associates. O'Reilly has a site to mark the event. Readers can learn about the origin of the first animal covers in the time line, and read an anniversary message from Tim O'Reilly, stating his 'audacious' goal '[t]o change the world by capturing and transmitting the knowledge of innovators.'" -
25 Years of O'Reilly Books
wka writes "The year 2003 marks the 25th anniversary of publisher O'Reilly and Associates. O'Reilly has a site to mark the event. Readers can learn about the origin of the first animal covers in the time line, and read an anniversary message from Tim O'Reilly, stating his 'audacious' goal '[t]o change the world by capturing and transmitting the knowledge of innovators.'" -
25 Years of O'Reilly Books
wka writes "The year 2003 marks the 25th anniversary of publisher O'Reilly and Associates. O'Reilly has a site to mark the event. Readers can learn about the origin of the first animal covers in the time line, and read an anniversary message from Tim O'Reilly, stating his 'audacious' goal '[t]o change the world by capturing and transmitting the knowledge of innovators.'" -
25 Years of O'Reilly Books
wka writes "The year 2003 marks the 25th anniversary of publisher O'Reilly and Associates. O'Reilly has a site to mark the event. Readers can learn about the origin of the first animal covers in the time line, and read an anniversary message from Tim O'Reilly, stating his 'audacious' goal '[t]o change the world by capturing and transmitting the knowledge of innovators.'" -
Tim O'Reilly Says Piracy is Progressive Taxation
Idmat writes "In Tim's latest opus, he reflects on the lessons of his experience as a publisher: (1) Obscurity is a far greater threat to authors and creative artists than piracy, (2) Piracy is progressive taxation; (3) Customers want to do the right thing, if they can; (4)Shoplifting is a bigger threat than piracy; (5) File sharing networks don't threaten book, music, or film publishing. They threaten existing publishers; (6)"Free" is eventually replaced by a higher-quality paid service; and finally, courtesy of Larry Wall, (7)There's more than one way to do it. " -
Seeking Computer Science Fokelore?
Missing Bookmarks asks: "I accidentally deleted my bookmarks. I lost my 'Lore' folder, where I was collecting links to the classic folklore of the computer science subculture - things like Ken Thompson's Reflections on Trusting Trust, The Tanenbaum-Torvalds Debate, Dijkstra's Go To Statement Considered Harmful, and The Alice and Bob after-dinner speech. I don't need anything from The Jargon File (like The Story of Mel), because that stuff is obviously easy to find. I've listed all the things I could remember; please help me find the ones I've forgotten." -
Grand Tour: the Story of a Penguin and a Red Fedora
GaelDesign writes "The legendary Red Hat Road Tour 2002 is nearly at an end, and a good time was had by all. One of the most successful stops on the tour was the presentation at the O'Reilly and Associates headquarters in Sebastopol, California. Because the Red Hat RV's arrival was delayed due to traffic conditions, Tim O'Reilly gave a rousing speech beforehand that was well received by the audience. Read a detailed report of the event at The Idea Basket." -
Build Your Own Mac OS X Apache/mod_perl Server
Kathryn writes "An article by David Wheleer on O'Reilly's MacDev Center, Build Your Own Apache Server with mod_perl, covers issues to consider as you begin working with Apple's Apache install -- key information for any serious mod_perl-based Web development work on Mac OS X." -
Dynamic HTML The Definitive Reference (2nd edition)
TheThinMan writes "This is the completely updated second edition. Four years ago I made the first edition my constant companion and it has saved me, and any other web developer nearby, weeks of head-scratching since. Back then we had to tussle with Netscape Navigator 4 vs. Internet Explorer 4 while supporting the version 3 browsers. Though the browser war is over and all sides have vastly improved their products, DHTML has moved on. This edition brings home just how much has changed and just how much is new. Most importantly, it helps you to develop web interfaces that will be cross-platform from the outset." TheThinMan's thoughts on the book continue below. Dynamic HTML The Definitive Reference (2nd edition) author Danny Goodman pages 1400 publisher O'Reilly rating 10 reviewer TheThinMan ISBN 0596003161 summary The most complete reference work for HTML, DOM, CSS and Javascript, cross referenced for all the major browsers and standards.
What's in the book?The book is not an introduction to DHTML but it does have an 183-page section on Applying DHTML that covers not only the current state of the art but also gives clear guidance in making use of all the features. The guidance is of a good enough standard that a firm's Quality program could simply cite this book as the basis for the web development standards that a team adopts. Goodman makes it very clear that he is not going to discuss the DHTML that Navigator 4 introduced, the <layer> tag and JavaScript style rules, but points out that they are covered in the first edition should you really need to know.
The layout of the book is the same as the first edition, with the reference sections divided into HTML, DOM (Document Object Model), CSS (Cascading Style Sheet) and JavaScript. A new section for Events also makes an appearance. The reference sections on HTML and DOM have sub-sections that precede them on the shared attributes of all elements. These are particularly useful and I think should be committed to memory.
There is also a very curious Cross Reference section that has an HTML/XHTML attribute index and a DOM property, method and event handler index. It takes each HTML/XHTML attribute and shows which elements support it and then each DOM scriptable object property, method and event and which objects support it. I'll confess I've never had any call to use this section but I can see how it could come in handy -- and it hardly takes up much dead tree.
The upper limit of standards coverage is HTML 4.01, XHTML 1.1, CSS Level 2, DOM Level 2, and JavaScript (or ECMAScript) 1.5. The browsers considered are IE6 (Windows), IE 5.1 (Mac), Netscape Navigator 6 and 7 and Mozilla 1.0. Opera is also mentioned in the section on Applying DHTML in that it mostly follows the IE DOM. The timeline for any element can go back as far as HTML 3.2, Navigator 2 or IE 3.
As you would expect, there are some useful appendices: Color Names and RGB Values, which I expect to be using more now as sites are required to meet Accessibility guidelines; HTML Character Entities, for when you don't have a copy of Macromedia Dreamweaver or when your favourite HTML editor doesn't have a complete list; Keyboard Event Character Values, for your scripts when you want to catch all those key presses; Internet Explorer Commands, which along with the MSHTML.dll can allow the creation of a very neat content editor quite quickly and easily; and finally, an HTML/XHTML DTD Support cross-reference that may help catch validation errors as you move from an HTML 4.01 Transitional DTD to a full-on XHTML 1.0 Strict DTD.
What makes it worth having?The quality of Danny Goodman's writing is both technically accurate and easy to read. The clarity and lack of fluff is good, but there is no skimping on detail where such is needed to illuminate a point. Let's face it: web development is not as complex as most software engineering or systems development tasks, but it is a discipline with quite a wide base, reflected in the 1400 pages of this tome. I wouldn't trim any of it, however, and I expect that after about a year of use I will have referred to a good proportion of the contents. Take, for instance, Goodman's estimate that there are more than 15,000 unique instances of properties, methods, and event handlers supported by numerous document objects and you get an good impression of the size of the documentation required.
The book could be regarded as two books in one: There is the Applying DHTML book and the Reference book. The best things about the reference sections are the excellent descriptions, the clear little examples, and especially the quick summary of where you can expect these things to be supported. Referring to this book is the simplest way to avoid going down the proprietary browser extension cul de sac.
The Applying DHTML section is worth reading all the way through. It is great for getting yourself into the various technologies and seeing how they are meant to work. There are interesting points made on how each of the technologies are evolving. There's material contrasting the various DOM implementations and there are chapters on style sheets, positioning in CSS, making the content dynamic (of course, this is what DHTML is all about, after all) and scripting events.
There is a very useful cross-platform API for DHTML (which can be downloaded as a zip file along with the other examples from the book on O'Reilly's web site). I've used the version from the first edition quite a lot, and I've used the new version in my most recent work. It doesn't rely on browser version sniffing, but rather on object detection, which is explained with some examples, and can be easily extended to handle any DOM call you may wish to make. The API is especially useful for any CSS positioning tasks you may have. Goodman also goes over other strategies you can adopt to make your sites cross-platform, such as page branching, designing for a common denominator, and some other, neater, solutions.
There isn't anything on Accessibility other than a single paragraph drawing your attention to the Web Accessibility Initiative (WAI). DHTML and Accessibility could be considered inimical but that isn't the case and I'd perhaps have liked to see this elaborated on with some suggestions on how to achieve an Accessible site while still using DHTML. In practice, however, I've found it easy to meet the Priority 1 checkpoints (or A rating) set by the WAI even with a complete DHTML site so perhaps this is not really an issue.
I find this book really useful. I can't imagine any web developer doing without this book and managing to produce a good cross-platform solution, and I also can't imagine that developer needing any other texts on any of the technologies covered here. I certainly don't have any others on my desk today.
The O'Reilly web site has a complete Table of Contents available. You can purchase Dynamic HTML The Definitive Reference from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Dynamic HTML The Definitive Reference (2nd edition)
TheThinMan writes "This is the completely updated second edition. Four years ago I made the first edition my constant companion and it has saved me, and any other web developer nearby, weeks of head-scratching since. Back then we had to tussle with Netscape Navigator 4 vs. Internet Explorer 4 while supporting the version 3 browsers. Though the browser war is over and all sides have vastly improved their products, DHTML has moved on. This edition brings home just how much has changed and just how much is new. Most importantly, it helps you to develop web interfaces that will be cross-platform from the outset." TheThinMan's thoughts on the book continue below. Dynamic HTML The Definitive Reference (2nd edition) author Danny Goodman pages 1400 publisher O'Reilly rating 10 reviewer TheThinMan ISBN 0596003161 summary The most complete reference work for HTML, DOM, CSS and Javascript, cross referenced for all the major browsers and standards.
What's in the book?The book is not an introduction to DHTML but it does have an 183-page section on Applying DHTML that covers not only the current state of the art but also gives clear guidance in making use of all the features. The guidance is of a good enough standard that a firm's Quality program could simply cite this book as the basis for the web development standards that a team adopts. Goodman makes it very clear that he is not going to discuss the DHTML that Navigator 4 introduced, the <layer> tag and JavaScript style rules, but points out that they are covered in the first edition should you really need to know.
The layout of the book is the same as the first edition, with the reference sections divided into HTML, DOM (Document Object Model), CSS (Cascading Style Sheet) and JavaScript. A new section for Events also makes an appearance. The reference sections on HTML and DOM have sub-sections that precede them on the shared attributes of all elements. These are particularly useful and I think should be committed to memory.
There is also a very curious Cross Reference section that has an HTML/XHTML attribute index and a DOM property, method and event handler index. It takes each HTML/XHTML attribute and shows which elements support it and then each DOM scriptable object property, method and event and which objects support it. I'll confess I've never had any call to use this section but I can see how it could come in handy -- and it hardly takes up much dead tree.
The upper limit of standards coverage is HTML 4.01, XHTML 1.1, CSS Level 2, DOM Level 2, and JavaScript (or ECMAScript) 1.5. The browsers considered are IE6 (Windows), IE 5.1 (Mac), Netscape Navigator 6 and 7 and Mozilla 1.0. Opera is also mentioned in the section on Applying DHTML in that it mostly follows the IE DOM. The timeline for any element can go back as far as HTML 3.2, Navigator 2 or IE 3.
As you would expect, there are some useful appendices: Color Names and RGB Values, which I expect to be using more now as sites are required to meet Accessibility guidelines; HTML Character Entities, for when you don't have a copy of Macromedia Dreamweaver or when your favourite HTML editor doesn't have a complete list; Keyboard Event Character Values, for your scripts when you want to catch all those key presses; Internet Explorer Commands, which along with the MSHTML.dll can allow the creation of a very neat content editor quite quickly and easily; and finally, an HTML/XHTML DTD Support cross-reference that may help catch validation errors as you move from an HTML 4.01 Transitional DTD to a full-on XHTML 1.0 Strict DTD.
What makes it worth having?The quality of Danny Goodman's writing is both technically accurate and easy to read. The clarity and lack of fluff is good, but there is no skimping on detail where such is needed to illuminate a point. Let's face it: web development is not as complex as most software engineering or systems development tasks, but it is a discipline with quite a wide base, reflected in the 1400 pages of this tome. I wouldn't trim any of it, however, and I expect that after about a year of use I will have referred to a good proportion of the contents. Take, for instance, Goodman's estimate that there are more than 15,000 unique instances of properties, methods, and event handlers supported by numerous document objects and you get an good impression of the size of the documentation required.
The book could be regarded as two books in one: There is the Applying DHTML book and the Reference book. The best things about the reference sections are the excellent descriptions, the clear little examples, and especially the quick summary of where you can expect these things to be supported. Referring to this book is the simplest way to avoid going down the proprietary browser extension cul de sac.
The Applying DHTML section is worth reading all the way through. It is great for getting yourself into the various technologies and seeing how they are meant to work. There are interesting points made on how each of the technologies are evolving. There's material contrasting the various DOM implementations and there are chapters on style sheets, positioning in CSS, making the content dynamic (of course, this is what DHTML is all about, after all) and scripting events.
There is a very useful cross-platform API for DHTML (which can be downloaded as a zip file along with the other examples from the book on O'Reilly's web site). I've used the version from the first edition quite a lot, and I've used the new version in my most recent work. It doesn't rely on browser version sniffing, but rather on object detection, which is explained with some examples, and can be easily extended to handle any DOM call you may wish to make. The API is especially useful for any CSS positioning tasks you may have. Goodman also goes over other strategies you can adopt to make your sites cross-platform, such as page branching, designing for a common denominator, and some other, neater, solutions.
There isn't anything on Accessibility other than a single paragraph drawing your attention to the Web Accessibility Initiative (WAI). DHTML and Accessibility could be considered inimical but that isn't the case and I'd perhaps have liked to see this elaborated on with some suggestions on how to achieve an Accessible site while still using DHTML. In practice, however, I've found it easy to meet the Priority 1 checkpoints (or A rating) set by the WAI even with a complete DHTML site so perhaps this is not really an issue.
I find this book really useful. I can't imagine any web developer doing without this book and managing to produce a good cross-platform solution, and I also can't imagine that developer needing any other texts on any of the technologies covered here. I certainly don't have any others on my desk today.
The O'Reilly web site has a complete Table of Contents available. You can purchase Dynamic HTML The Definitive Reference from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Top Ten Mac OS X Tips for Unix Geeks
Lisa writes "There are big differences between Mac OS X and Unix machines. In this MacDevCenter article, Brian Jepson has assembled ten tips to help achieve a smooth transition from Unix to OS X." -
Embed Perl With Mason -- Read All About It
autarch writes "Embedding Perl in HTML with Mason, written by Ken Williams and me, is now available at booksellers of distinction. Mason is a Perl-based templating system and application framework. The book covers Mason from the basics on up to extending the Mason core with your own subclasses. For more details check out our web site and the O'Reilly site. The latter includes the TOC and a sample chapter." -
OS X Conference DRM Panel Video Available Online
gnat writes "Tucked away on the O'Reilly Mac OS X Conference presentations page are links to Quicktime video and mp3 audio recordings of the Digital Rights Management panel featuring Dan Gillmor of the San Jose Mercury News, Cory Doctorow of the EFF, and others. (My apologies for the sometimes shaky video--three Cokes for breakfast is the anti-steadicam)" -
O'Reilly Publishing Mac OS X for Unix Geeks
vi-rocks writes "A new O'Reilly book is due for release in October: Mac OS X for Unix Geeks. Brian Jepson and Ernest Rothman are the authors. Details about the book (including a sample chapter) are available on the website. Note the sash on the top right hand of the cover reads 'Switching to Mac OS X.' They say you can't judge a book by it cover -- HUMBUG!, I've already pre-ordered :)" The sample chapter information on NetInfo has helped me already. -
O'Reilly Publishing Mac OS X for Unix Geeks
vi-rocks writes "A new O'Reilly book is due for release in October: Mac OS X for Unix Geeks. Brian Jepson and Ernest Rothman are the authors. Details about the book (including a sample chapter) are available on the website. Note the sash on the top right hand of the cover reads 'Switching to Mac OS X.' They say you can't judge a book by it cover -- HUMBUG!, I've already pre-ordered :)" The sample chapter information on NetInfo has helped me already. -
O'Reilly Holds DRM Debate at Mac OS X Conference
suzanne writes "A panel discussion was just added to the O'Reilly Mac OS X Conference, moderated by Dan Gillmor. He and Cory Doctorow, J.D. Lasica, Victor Nemechek, and Tim O'Reilly debate the expansive, pro-customer stance on DRM built in to Mac OS X. (Oh, and in case you don't have enough toys to play with yet, the complete conference schedule is available via iCal, Apple's latest groovy app.)" -
O'Reilly Holds DRM Debate at Mac OS X Conference
suzanne writes "A panel discussion was just added to the O'Reilly Mac OS X Conference, moderated by Dan Gillmor. He and Cory Doctorow, J.D. Lasica, Victor Nemechek, and Tim O'Reilly debate the expansive, pro-customer stance on DRM built in to Mac OS X. (Oh, and in case you don't have enough toys to play with yet, the complete conference schedule is available via iCal, Apple's latest groovy app.)" -
Programming PHP
dooling writes "Continuing the tradition of well written O'Reilly 'Programming' books by those who know the language best, Programming PHP, co-written by the creator of PHP, Rasmus Lerdorf, provides a detailed overview of the popular PHP web-page scripting language. This book provides good programmers who have never used PHP enough information to do serious web development using PHP and serves as an excellent reference for web-page designers who dabble in PHP." Read on for the rest of his review. Programming PHP author Rasmus Lerdorf & Kevin Tatroe pages 507 publisher O'Reilly and Associates rating 7 reviewer dooling ISBN 1565926102 summary great PHP book for serious programmers, good reference While not as entertaining as Programming Perl, it isn't nearly as long either (and doesn't have to be). The book is written in a straightforward style and is very well organized. Appendices provide quick reference to all the PHP built-in functions and many PHP extensions. The most popular extensions, e.g., PEAR DB (database connectivity) and XML, have entire chapters devoted to them. Can't find a PHP extension for your favorite library? There's a chapter about writing your own PHP extensions, including writing C library wrappers.This book begins as most O'Reilly "Programming" books do: with a brief introductory chapter. In Programming PHP, this chapter is very short, so don't look to this book for a gentle introduction. On the other hand, this is the perfect book for you if you are just looking to learn a new scripting language. The following chapters go over syntax, data types, built-in functions, etc. These chapters are a little dry, but move quickly and effectively demonstrate the unique features of PHP (as compared to other scripting languages).
Of particular interest to programmers who are interested in expanding their horizons to developing dynamic web pages are the chapters on PHP web techniques, security, and application techniques. The web techniques chapter gives a quick overview of HTML and the GET and POST methods (and why you would want to use one or the other). It then covers a lot of useful tips and tricks that may be foreign to someone who has done little or no web development. Topics such as getting server information, form processing, sticky forms, file uploads, document expiration, and authentication are covered. It ends with an excellent discussion of maintaining state from page to page and visit to visit, covering cookies and PHP's (very cool) session support.
The security chapter covers standard things you want to keep in mind when creating dynamic HTML. No surprises here, but it is always good to be reminded. The application techniques chapter starts with a collection of best-practices, tips, and tricks to make your development process easier and better. It concludes with sections about error handling and performance tuning. As with the security chapter, there is nothing here a good programmer doesn't already know, but you can never hear it too many times.
I think this is a great book for programmers who want to start developing dynamic web sites with PHP. It gives a detailed overview of PHP, lots of valuable tips, and a good sense of PHP's strengths.
As someone who has written a lot of code, but only a little CGI, I really liked the chapters that discussed application development techniques specific to the web. Along those lines, not much time is spent on standard coding techniques, so if you want to use PHP but have never written any serious code, you may want to look elsewhere for an introduction. For the rest of you, just think, you may never have to use CGI.pm again.
The index seems adequate, although I must admit I did not use it much on the first read-through. The book is so well organized that, when reading it, you do not have to flip around much. Perhaps someone who has used this book as a reference can comment further on the quality of the index.
Contents are available on O'Reilly's page LinksSee Rasmus's page for links to where you can buy the book (maybe he gets a kickback for the link). Of course, you could always go to a local bookstore and purchase it.
You can purchase Programming PHP from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Programming PHP
dooling writes "Continuing the tradition of well written O'Reilly 'Programming' books by those who know the language best, Programming PHP, co-written by the creator of PHP, Rasmus Lerdorf, provides a detailed overview of the popular PHP web-page scripting language. This book provides good programmers who have never used PHP enough information to do serious web development using PHP and serves as an excellent reference for web-page designers who dabble in PHP." Read on for the rest of his review. Programming PHP author Rasmus Lerdorf & Kevin Tatroe pages 507 publisher O'Reilly and Associates rating 7 reviewer dooling ISBN 1565926102 summary great PHP book for serious programmers, good reference While not as entertaining as Programming Perl, it isn't nearly as long either (and doesn't have to be). The book is written in a straightforward style and is very well organized. Appendices provide quick reference to all the PHP built-in functions and many PHP extensions. The most popular extensions, e.g., PEAR DB (database connectivity) and XML, have entire chapters devoted to them. Can't find a PHP extension for your favorite library? There's a chapter about writing your own PHP extensions, including writing C library wrappers.This book begins as most O'Reilly "Programming" books do: with a brief introductory chapter. In Programming PHP, this chapter is very short, so don't look to this book for a gentle introduction. On the other hand, this is the perfect book for you if you are just looking to learn a new scripting language. The following chapters go over syntax, data types, built-in functions, etc. These chapters are a little dry, but move quickly and effectively demonstrate the unique features of PHP (as compared to other scripting languages).
Of particular interest to programmers who are interested in expanding their horizons to developing dynamic web pages are the chapters on PHP web techniques, security, and application techniques. The web techniques chapter gives a quick overview of HTML and the GET and POST methods (and why you would want to use one or the other). It then covers a lot of useful tips and tricks that may be foreign to someone who has done little or no web development. Topics such as getting server information, form processing, sticky forms, file uploads, document expiration, and authentication are covered. It ends with an excellent discussion of maintaining state from page to page and visit to visit, covering cookies and PHP's (very cool) session support.
The security chapter covers standard things you want to keep in mind when creating dynamic HTML. No surprises here, but it is always good to be reminded. The application techniques chapter starts with a collection of best-practices, tips, and tricks to make your development process easier and better. It concludes with sections about error handling and performance tuning. As with the security chapter, there is nothing here a good programmer doesn't already know, but you can never hear it too many times.
I think this is a great book for programmers who want to start developing dynamic web sites with PHP. It gives a detailed overview of PHP, lots of valuable tips, and a good sense of PHP's strengths.
As someone who has written a lot of code, but only a little CGI, I really liked the chapters that discussed application development techniques specific to the web. Along those lines, not much time is spent on standard coding techniques, so if you want to use PHP but have never written any serious code, you may want to look elsewhere for an introduction. For the rest of you, just think, you may never have to use CGI.pm again.
The index seems adequate, although I must admit I did not use it much on the first read-through. The book is so well organized that, when reading it, you do not have to flip around much. Perhaps someone who has used this book as a reference can comment further on the quality of the index.
Contents are available on O'Reilly's page LinksSee Rasmus's page for links to where you can buy the book (maybe he gets a kickback for the link). Of course, you could always go to a local bookstore and purchase it.
You can purchase Programming PHP from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Essential Blogging
Alexander Moskalyuk reviews below the new O'Reilly title Essential Blogging, which he points out is available not only for purchase through conventional purchase, but also with O'Reilly's Safari Online subscription, where it's available for a mere 1 point. Read on for his take on how useful Essential Blogging really is. Essential Blogging author Benjamin Trott, Mena G. Trott, Shelley Powers, J. Scott Johnson, Rael Dornfest, Cory Doctorow pages 264 publisher O'Reilly rating 3/10 reviewer Alexander Moskalyuk ISBN 0596003889 summary Introduction to running Weblogs on the Internet
Blog, Blog, Blog. Recent media infatuation with the blogging effect seems to be overwhelming. It seems that newspaper journalists have just discovered the ability to post and comment messages on the Internet, while most of the computer aficionados and heavy Internet users just shrug their shoulders when told about personal Web journals that link to other articles on the Web.Blogging Essentials is mostly a generic guide to setting up and running your own Weblog using the software available out there. It doesn't require as much technical knowledge and Unix experience as Running Weblogs with Slash, and doesn't have a nice preface by CmdrTaco, but for a person who is determined to keep a daily journal available on the Internet, it would provide helpful reading material.
What's reviewedBlogger, Radio Userland and MovableType are the primary products discussed in the book. Each of these packages has two chapters dedicated to it, one for beginners' introduction and one for description of advanced features. The main difference between these three products is in their hosting capabilities - Blogger wants you to keep the journal entries on its Web site and provides Web interface, Radio UserLand keeps the posts on its own server as well, while providing desktop interface, while MovableType assumes the user has a Web server on which to install the blogging software. Both Blogger and Radio UserLand allow for self-hosting, which is also covered in introductory chapters.
Another chapter is dedicated to server-based Blosxom, and in the review of desktop clients such blog utilities as BlogScript, BlogApp, BlogBuddy, W.Bloggar and Slug are covered.
What's good and what's badWhile the depth of covered material is surprisingly large for such a narrow topic, a lot of book pages are spent on displaying screenshots of the blogging software, and showing other people's blogs. The only thought that never left my mind while reading this book was "Who would buy it?" Why would you need 264 pages to explain you how to set up your own journal and run it? People who find satisfaction in running their own customized versions of online journals already know most of the material, and those who don't would probably opt in for easier Web-based interface like LiveJournal.
The book seems to be just a quick walk-through of the manuals, and if you consider that all of the reviewed products have pretty good help and FAQ sections, the need for such book decreases even more. I can hardly name anyone to whom I would recommend this book.
Table of contents can be viewed on publisher's Web site.
You can purchase Essential Blogging from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Perl and XML
prostoalex writes: "In the world of information technology, information, as the name suggests, is as important as technology itself. Erik T. Ray's and Jason McIntosh's Perl and XML is an attempt to take a look at perhaps the most popular languages for data processing. XML is an open-standard specification for documents, while Perl's natural powers lie in the area of data processing, and, as the name suggests, practical extracting and reporting." Prostalex has reviewed Perl & XML below; read on for his take on the book. Perl and XML author Erik T. Ray, Jason McIntosh pages 216 publisher O'Reilly rating 4/5 reviewer Alex Moskalyuk ISBN 059600205X summary Introduction to XML processing with PerlWith qualities like these, one might think that the marriage of Perl and XML would be total bliss, and the two languages would live happily ever after. In reality, however, the marriage has been far from perfect, and has produced an enormous number of kids: some uglier, some prettier, some simpler, some more sophisticated. Perl & XML is a good attempt to provide an overview of XML processing techniques existing nowadays in the Perl world.
The book does not even make an attempt to give you a brief introduction to Perl, and thus eliminates the weak point of trying to be another Camel book, as many publications in the field attempt to do. The logical assumption is that you know Perl and have heard something about XML. The first chapter of the book tells you why there are so many variations of Perl modules for XML processing, who is behind the well-known modules and why the interaction of Perl with XML has been rather disorganized. Indeed, a short visit to the XML section of CPAN brings up dozens of available modules, most of which characterized by some intimidating or non-descriptive names like SAX, Grove, YAWriter, etc.
The second chapter is titled "XML Recap"; the contents of the chapter, though, are good enough to be called "Concise but Informative Introduction to XML". Don't get your expectations too high -- O'Reilly has a whole bundle of books related just to learning XML, and thus a single chapter can barely touch the surface of what you might need to know, but it provides a good introduction to the world of markup, elements, namespaces, character encoding, processing instructions, schemas and transformations in XML.
Chapter 3 goes from theory to practice, and gives the reader an opportunity to try his first Perl script on XML data. The parsers covered in this chapter are XML::Parser, XML::LibXML, XML::XPath and XML::Writer. Document validation and well-formedness are also explained, and luckily enough this exact chapter is what O'Reilly Publishing decided to publish as a free chapter available on the Web. In this chapter, the authors make a distinction between stream-based and tree-based XML processing, and thus it doesn't come as a big surprise that the next four chapters are dedicated to examples of such processing.
Chapter 4, Event Streams, discusses the issues of processing XML document as a stream of data, where your application has to react to various input without really knowing where the end of the document is. XML::PYX and XML::Parser are covered in this chapter.
Chapter 5 shows examples of using SAX for XML processing with Perl, and also provides an overview of SAX history, which in a nutshell tells you that SAX has been designed for Java with its strong type checking and interface classes. It goes to explain that using it in Perl, which is known for its forgiving nature, thus requires a certain responsibility on the part of programmer. XML::Handler::YAWriter is also discussed in this chapter.
From stream processing, the authors take you to parsing XML trees. In this case, the document is assumed to be loaded into memory and Perl script can safely assume that the whole XML document has been loaded. XML::Simple, XML::SimpleObject, XML::TreeBuilder and XML::Grove are discussed in this chapter, with XML::Parser revisited.
DOM (Document Object Model) is another standard recommended by W3C and it is mostly concerned with how an XML document is stored in computer's memory. XML::DOM is discussed in this chapter with XML::LibXML revisited. The authors also provide a good overview of DOM standard.
The last three chapters deal with applications of Perl in XML data processing that go beyond stream and tree processing -- XPath and XSLT are explained with copious examples. Remember though, that both technologies have several-hundred-page books written about them, and thus several pages in a Perl and XML book can serve at best as good introduction. Chapter 9 deals with RSS and writing SOAP with Perl and XML, with XML::RSS and SOAP::Lite being explained. The last chapter deals with such issues as namespacing, subclassing and for Web designers provides a handy tutorial on converting your XML data into HTML via XSLT stylesheets.
The table of contents is posted on the publisher's Web site.
The first three chapters of the book are easy to read, since they provide a general overview of the data-processing world, history of XML with reference to appropriate events in the Perl community. However, data processing can hardly be called an exciting topic and thus bulk of the book is about routinely introducing particular modules, telling you what you can do with each, and then giving you an example of Perl code processing some XML document. The examples are apt and relate to some of data processing that some us had to do, i.e. shopping lists, address books, recipes, diaries of mad professors, etc.
The code examples are numerous, and if you get tired after looking at pages and pages of Perl lines, you better plan accordingly, as sometimes the subchapter consists of nothing more than an XML file and related Perl processing code with author's notes. For a 200-page book Perl and XML provides a great introduction into the area, provided you have good knowledge of Perl, using CPAN modules and just general knowledge about data processing. The book would probably have a more exact title if it had the word "Cookbook" in its name -- some might consider it a good reference. However, for those just getting acquainted with XML, another tutorial might be needed to get a full comprehension of XML's power.
You can purchase Perl & XML from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Perl and XML
prostoalex writes: "In the world of information technology, information, as the name suggests, is as important as technology itself. Erik T. Ray's and Jason McIntosh's Perl and XML is an attempt to take a look at perhaps the most popular languages for data processing. XML is an open-standard specification for documents, while Perl's natural powers lie in the area of data processing, and, as the name suggests, practical extracting and reporting." Prostalex has reviewed Perl & XML below; read on for his take on the book. Perl and XML author Erik T. Ray, Jason McIntosh pages 216 publisher O'Reilly rating 4/5 reviewer Alex Moskalyuk ISBN 059600205X summary Introduction to XML processing with PerlWith qualities like these, one might think that the marriage of Perl and XML would be total bliss, and the two languages would live happily ever after. In reality, however, the marriage has been far from perfect, and has produced an enormous number of kids: some uglier, some prettier, some simpler, some more sophisticated. Perl & XML is a good attempt to provide an overview of XML processing techniques existing nowadays in the Perl world.
The book does not even make an attempt to give you a brief introduction to Perl, and thus eliminates the weak point of trying to be another Camel book, as many publications in the field attempt to do. The logical assumption is that you know Perl and have heard something about XML. The first chapter of the book tells you why there are so many variations of Perl modules for XML processing, who is behind the well-known modules and why the interaction of Perl with XML has been rather disorganized. Indeed, a short visit to the XML section of CPAN brings up dozens of available modules, most of which characterized by some intimidating or non-descriptive names like SAX, Grove, YAWriter, etc.
The second chapter is titled "XML Recap"; the contents of the chapter, though, are good enough to be called "Concise but Informative Introduction to XML". Don't get your expectations too high -- O'Reilly has a whole bundle of books related just to learning XML, and thus a single chapter can barely touch the surface of what you might need to know, but it provides a good introduction to the world of markup, elements, namespaces, character encoding, processing instructions, schemas and transformations in XML.
Chapter 3 goes from theory to practice, and gives the reader an opportunity to try his first Perl script on XML data. The parsers covered in this chapter are XML::Parser, XML::LibXML, XML::XPath and XML::Writer. Document validation and well-formedness are also explained, and luckily enough this exact chapter is what O'Reilly Publishing decided to publish as a free chapter available on the Web. In this chapter, the authors make a distinction between stream-based and tree-based XML processing, and thus it doesn't come as a big surprise that the next four chapters are dedicated to examples of such processing.
Chapter 4, Event Streams, discusses the issues of processing XML document as a stream of data, where your application has to react to various input without really knowing where the end of the document is. XML::PYX and XML::Parser are covered in this chapter.
Chapter 5 shows examples of using SAX for XML processing with Perl, and also provides an overview of SAX history, which in a nutshell tells you that SAX has been designed for Java with its strong type checking and interface classes. It goes to explain that using it in Perl, which is known for its forgiving nature, thus requires a certain responsibility on the part of programmer. XML::Handler::YAWriter is also discussed in this chapter.
From stream processing, the authors take you to parsing XML trees. In this case, the document is assumed to be loaded into memory and Perl script can safely assume that the whole XML document has been loaded. XML::Simple, XML::SimpleObject, XML::TreeBuilder and XML::Grove are discussed in this chapter, with XML::Parser revisited.
DOM (Document Object Model) is another standard recommended by W3C and it is mostly concerned with how an XML document is stored in computer's memory. XML::DOM is discussed in this chapter with XML::LibXML revisited. The authors also provide a good overview of DOM standard.
The last three chapters deal with applications of Perl in XML data processing that go beyond stream and tree processing -- XPath and XSLT are explained with copious examples. Remember though, that both technologies have several-hundred-page books written about them, and thus several pages in a Perl and XML book can serve at best as good introduction. Chapter 9 deals with RSS and writing SOAP with Perl and XML, with XML::RSS and SOAP::Lite being explained. The last chapter deals with such issues as namespacing, subclassing and for Web designers provides a handy tutorial on converting your XML data into HTML via XSLT stylesheets.
The table of contents is posted on the publisher's Web site.
The first three chapters of the book are easy to read, since they provide a general overview of the data-processing world, history of XML with reference to appropriate events in the Perl community. However, data processing can hardly be called an exciting topic and thus bulk of the book is about routinely introducing particular modules, telling you what you can do with each, and then giving you an example of Perl code processing some XML document. The examples are apt and relate to some of data processing that some us had to do, i.e. shopping lists, address books, recipes, diaries of mad professors, etc.
The code examples are numerous, and if you get tired after looking at pages and pages of Perl lines, you better plan accordingly, as sometimes the subchapter consists of nothing more than an XML file and related Perl processing code with author's notes. For a 200-page book Perl and XML provides a great introduction into the area, provided you have good knowledge of Perl, using CPAN modules and just general knowledge about data processing. The book would probably have a more exact title if it had the word "Cookbook" in its name -- some might consider it a good reference. However, for those just getting acquainted with XML, another tutorial might be needed to get a full comprehension of XML's power.
You can purchase Perl & XML from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Perl and XML
prostoalex writes: "In the world of information technology, information, as the name suggests, is as important as technology itself. Erik T. Ray's and Jason McIntosh's Perl and XML is an attempt to take a look at perhaps the most popular languages for data processing. XML is an open-standard specification for documents, while Perl's natural powers lie in the area of data processing, and, as the name suggests, practical extracting and reporting." Prostalex has reviewed Perl & XML below; read on for his take on the book. Perl and XML author Erik T. Ray, Jason McIntosh pages 216 publisher O'Reilly rating 4/5 reviewer Alex Moskalyuk ISBN 059600205X summary Introduction to XML processing with PerlWith qualities like these, one might think that the marriage of Perl and XML would be total bliss, and the two languages would live happily ever after. In reality, however, the marriage has been far from perfect, and has produced an enormous number of kids: some uglier, some prettier, some simpler, some more sophisticated. Perl & XML is a good attempt to provide an overview of XML processing techniques existing nowadays in the Perl world.
The book does not even make an attempt to give you a brief introduction to Perl, and thus eliminates the weak point of trying to be another Camel book, as many publications in the field attempt to do. The logical assumption is that you know Perl and have heard something about XML. The first chapter of the book tells you why there are so many variations of Perl modules for XML processing, who is behind the well-known modules and why the interaction of Perl with XML has been rather disorganized. Indeed, a short visit to the XML section of CPAN brings up dozens of available modules, most of which characterized by some intimidating or non-descriptive names like SAX, Grove, YAWriter, etc.
The second chapter is titled "XML Recap"; the contents of the chapter, though, are good enough to be called "Concise but Informative Introduction to XML". Don't get your expectations too high -- O'Reilly has a whole bundle of books related just to learning XML, and thus a single chapter can barely touch the surface of what you might need to know, but it provides a good introduction to the world of markup, elements, namespaces, character encoding, processing instructions, schemas and transformations in XML.
Chapter 3 goes from theory to practice, and gives the reader an opportunity to try his first Perl script on XML data. The parsers covered in this chapter are XML::Parser, XML::LibXML, XML::XPath and XML::Writer. Document validation and well-formedness are also explained, and luckily enough this exact chapter is what O'Reilly Publishing decided to publish as a free chapter available on the Web. In this chapter, the authors make a distinction between stream-based and tree-based XML processing, and thus it doesn't come as a big surprise that the next four chapters are dedicated to examples of such processing.
Chapter 4, Event Streams, discusses the issues of processing XML document as a stream of data, where your application has to react to various input without really knowing where the end of the document is. XML::PYX and XML::Parser are covered in this chapter.
Chapter 5 shows examples of using SAX for XML processing with Perl, and also provides an overview of SAX history, which in a nutshell tells you that SAX has been designed for Java with its strong type checking and interface classes. It goes to explain that using it in Perl, which is known for its forgiving nature, thus requires a certain responsibility on the part of programmer. XML::Handler::YAWriter is also discussed in this chapter.
From stream processing, the authors take you to parsing XML trees. In this case, the document is assumed to be loaded into memory and Perl script can safely assume that the whole XML document has been loaded. XML::Simple, XML::SimpleObject, XML::TreeBuilder and XML::Grove are discussed in this chapter, with XML::Parser revisited.
DOM (Document Object Model) is another standard recommended by W3C and it is mostly concerned with how an XML document is stored in computer's memory. XML::DOM is discussed in this chapter with XML::LibXML revisited. The authors also provide a good overview of DOM standard.
The last three chapters deal with applications of Perl in XML data processing that go beyond stream and tree processing -- XPath and XSLT are explained with copious examples. Remember though, that both technologies have several-hundred-page books written about them, and thus several pages in a Perl and XML book can serve at best as good introduction. Chapter 9 deals with RSS and writing SOAP with Perl and XML, with XML::RSS and SOAP::Lite being explained. The last chapter deals with such issues as namespacing, subclassing and for Web designers provides a handy tutorial on converting your XML data into HTML via XSLT stylesheets.
The table of contents is posted on the publisher's Web site.
The first three chapters of the book are easy to read, since they provide a general overview of the data-processing world, history of XML with reference to appropriate events in the Perl community. However, data processing can hardly be called an exciting topic and thus bulk of the book is about routinely introducing particular modules, telling you what you can do with each, and then giving you an example of Perl code processing some XML document. The examples are apt and relate to some of data processing that some us had to do, i.e. shopping lists, address books, recipes, diaries of mad professors, etc.
The code examples are numerous, and if you get tired after looking at pages and pages of Perl lines, you better plan accordingly, as sometimes the subchapter consists of nothing more than an XML file and related Perl processing code with author's notes. For a 200-page book Perl and XML provides a great introduction into the area, provided you have good knowledge of Perl, using CPAN modules and just general knowledge about data processing. The book would probably have a more exact title if it had the word "Cookbook" in its name -- some might consider it a good reference. However, for those just getting acquainted with XML, another tutorial might be needed to get a full comprehension of XML's power.
You can purchase Perl & XML from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Perl & LWP
When direct database access to the information you need isn't available, but web pages with the right data are, you might pursue "screen-scraping" -- fetching a web page and scanning its text for the appropriate pieces of text in order to do further processing. LWP (Library for WWW access in Perl) is a collection of module to help you do this. mir writes: " Perl & LWP is a solid, no-nonsense book that will teach you how to do screen-scraping using Perl. It describes how to automatically retrieve and use information from the web. An introduction to LWP and related modules from simple to advanced uses and various ways to extract information from the returned HTML." Perl & LWP author Sean M. Burke pages 264 publisher O'Reilly and Associates rating 9 reviewer mir ISBN 0596001789 summary Excellent introduction to extracting and processing information from web sites.
The good: The book has a nice style and good coverage of the subject, includes introduction to all the modules used, reference material and includes good, well-developed examples. I really liked the way the authors describe the basic methodology to develop screen-scraping code, from analyzing an HTML page to extracting and displaying only what you are interested in.
The bad: Not much is bad, really. Some chapters are a little dry, though, and sometimes the reference material could be better separated from the rest of the text. The book covers only simple access to web sites; I would have liked to see an example where the application engages in more dialogue with the server. In addition, the appendixes are not really useful. More Info:If it had not been published by O'Reilly, Perl and LWP could have been titled Leveraging the Web: Object-Oriented techniques for information re-purposing, or Web Services, Generation 0. An even better title would have been Screen-scraping for fun and profit: one day we might all use Web Services and easily get the information we need from various providers using SOAP or REST, but in the meantime the common way to achieve this goal is just to write code to connect to a web server, retrieve a page and extract the information from the HTML. In short, "screen-scraping." This will teach you all about using Perl to get Web pages and extract their "substantifique moëlle" (the pith essence, the essentials) for your own usage. It showcases the power of Perl for that kind of job, from regular expressions to powerful CPAN modules.
At 200 pages, plus 40 pages of appendices and index, this one is part of that line of compact O'Reilly books which covers only a narrow topic in each volume but which covers those topics well. Just like Perl & XML , its target audience is Perl programmers who need to tackle a new domain. It gives them a toolbox and basic techniques that to provide a jump start and avoid many mistakes.
Perl & LWP starts from the basics: installing LWP, using LWP::Simple to retrieve a file from a URL, then goes on to a more complete description of the advanced LWP methods for dealing with forms and munging URLs. It continues with five chapters on how to process the HTML you get, using regular expressions, an HTML tokenizer and HTML::TreeBuilder, a powerful module that builds a tree from the HTML. It goes on with an explanation of how to allow your programs to access sites that require cookies, authentication or the use of a specific browser. The final chapter wraps it all up in a bigger example: a web-spider.
The book is well-written and to-the-point. It is structured in a way that mimics what a programmer new to the field would do: start from the docs for a module, play with it, write snippets of code that use the various functions of the module, then go on to coding real-life examples. I particularly liked the fact that the author often explains the whys, and not only the hows, of the various pieces of code he shows us.
It is interesting to note that going from regular expressions to ever more powerful modules is a path followed also by most Perl programmers, and even by the language itself: when Perl starts being applied to a new domain first there are no modules, then low-level ones start appearing, then, as the understanding of the problem grows, easier-to-use modules are written.
Finally I would like to thank the author for following his own advice by including interesting examples and above all for not including anything about retrieving stock-quotes.
Another recommended book on the subject is Network Programming with Perl by Lincoln D. Stein, which covers a wider subject but devotes 50 pages to this topic and is also very good.
Breakdown by chapter:- Introduction to Web Automation (15 pages): an overview of what this book will teach you, how to install Gisle Aas' LWP, some interesting words of caution about the brittleness of screen-scraping code, copyright issues and respect for the servers you are about to hammer, and finally a very simple example that shows the basic process of web automation.
-
Web Basics (16p): describes how to use LWP::Simple, an easy way to do some simple processing.
-
The LWP Class Model (17p): a slightly steeper read, closer to a reference than to a real introduction that lays out the ground work for the good stuff ahead.
-
URLs (10p): another reference chapter, this one will teach you all you can do with URLs using the URI module. Although the chapter is clear and complete it includes little explanation as to why you will need to process URLs and it is not even mentioned in the introduction roadmap.
-
Forms (28p): a complete and easy to read chapter. It includes a long description of HTML form fields that can be used as a reference, 2 fun examples (how to get the number of people living in any city in the US from the Census web site and how to check that your dream vanity plate is available in California) and how to use LWP to upload files to a server. It also describes the limits of the technique. I appreciated a very educative section showing how to go from a list of fields in a form to more and more useful code that queries that form.
-
Simple HTML processing with Regular Expressions (15p): how to extract info from an HTML page using regexps. The chapter starts with short sections about various useful regexp features, then presents excellent advice on troubleshooting them, the limits of the technique and a series of examples. An interesting chapter, but read on for more powerful ways to process HTML. On the down side, I found the discussion of the s and m regexp modifiers a little confusing.
-
HTML processing with Tokens (19p): using a real HTML parser is a better (safer) way to process HTML than regexps. This chapter uses HTML::TokeParser. It starts with a short, reference-type intro, then a detailed example. Another reference section describes the methods an alternate way of using the module, with short examples. This is the kind of reference I find the most useful, it is the simplest way to understand how to use a module.
-
Tokenizing walkthrough (13p) a long Example showing step-by-step how to write a program that extracts data from a web site, using HTML::TokeParser. The explanations are very good, showing _why_ the code is built this way and including alternatives (both good and bad ones). This chapter describes really well the method readers can use to build their code.
-
HTML processing with Trees (16p): even more powerful than an HTML tokenizer: HTML::TreeBuilder (written by the author of the book) builds a tree from the HTML. This chapter starts with a short reference section, then revisits 2 previous examples of extracting information from HTML using HTML::TreeBuilder.
-
Modifying HTML with Trees (17p): More on the power of HTML::TreeBuilder: a reference/howto on the modification functions of HTML::TreeBuilder, with snippets of code for each function I really like HTML::TreeBuilder BTW, it is simple yet powerful.
-
Cookies, Authentication and Advanced Requests (13p): Back to that LWP business... this chapter is simple and to-the-point: how to use cookies, authentication and referer to access even more web-sites. I just found that it lacked a description on how to code a complete session with cookies.
-
Spiders (20p): a long example describing how to build a link-checking spider. It uses most of the techniques previously described in the book, plus some additional ones to deal with redirection and robots.txt files.
-
Appendices
I think the Appendices are actually the weakest part of the book, most of them are not really useful, apart from the ASCII table (every computer book should have an ASCII table IMHO ;--).
- A. LWP modules (4p): the list and one line description of all modules in the LWP library, long and impressive! But not very useful,
- B. HTTP status (2p): available elsewhere but still pretty useful,
- C. Common MIME types (2p): lists both the usual extension and the MIME type,
- D. Language Tags (2p): the author is a linguist ;--)
- E. Common Content Encodings (2p): character set codes,
- F. ASCII Table (13p): a very complete table, includes the ascii/unicode code, the corresponding HTML entity, description and glyph,
- G. User's View of Object-Oriented Modules (11p): this is a very good idea. A lot of Perl programmers are not very familiar with OO, and in truth they don't need to be. They just need the basics of how to create an object in an existing class and call methods on it. I found the text too be sightly confusing though, in fact I believe it is a little too detailed and might confuse the reader.
- Index (8p): I did not think the index was great (code is listed with references to 5 seemingly random pieces of code, type=file, HTML input element is listed twice, with and without the comma...), but this is not the kind of book where the index is the primary way to access the information. The Table of Content is complete and the chapters are focused enough that I have never needed to use the index.
-
Perl & LWP
When direct database access to the information you need isn't available, but web pages with the right data are, you might pursue "screen-scraping" -- fetching a web page and scanning its text for the appropriate pieces of text in order to do further processing. LWP (Library for WWW access in Perl) is a collection of module to help you do this. mir writes: " Perl & LWP is a solid, no-nonsense book that will teach you how to do screen-scraping using Perl. It describes how to automatically retrieve and use information from the web. An introduction to LWP and related modules from simple to advanced uses and various ways to extract information from the returned HTML." Perl & LWP author Sean M. Burke pages 264 publisher O'Reilly and Associates rating 9 reviewer mir ISBN 0596001789 summary Excellent introduction to extracting and processing information from web sites.
The good: The book has a nice style and good coverage of the subject, includes introduction to all the modules used, reference material and includes good, well-developed examples. I really liked the way the authors describe the basic methodology to develop screen-scraping code, from analyzing an HTML page to extracting and displaying only what you are interested in.
The bad: Not much is bad, really. Some chapters are a little dry, though, and sometimes the reference material could be better separated from the rest of the text. The book covers only simple access to web sites; I would have liked to see an example where the application engages in more dialogue with the server. In addition, the appendixes are not really useful. More Info:If it had not been published by O'Reilly, Perl and LWP could have been titled Leveraging the Web: Object-Oriented techniques for information re-purposing, or Web Services, Generation 0. An even better title would have been Screen-scraping for fun and profit: one day we might all use Web Services and easily get the information we need from various providers using SOAP or REST, but in the meantime the common way to achieve this goal is just to write code to connect to a web server, retrieve a page and extract the information from the HTML. In short, "screen-scraping." This will teach you all about using Perl to get Web pages and extract their "substantifique moëlle" (the pith essence, the essentials) for your own usage. It showcases the power of Perl for that kind of job, from regular expressions to powerful CPAN modules.
At 200 pages, plus 40 pages of appendices and index, this one is part of that line of compact O'Reilly books which covers only a narrow topic in each volume but which covers those topics well. Just like Perl & XML , its target audience is Perl programmers who need to tackle a new domain. It gives them a toolbox and basic techniques that to provide a jump start and avoid many mistakes.
Perl & LWP starts from the basics: installing LWP, using LWP::Simple to retrieve a file from a URL, then goes on to a more complete description of the advanced LWP methods for dealing with forms and munging URLs. It continues with five chapters on how to process the HTML you get, using regular expressions, an HTML tokenizer and HTML::TreeBuilder, a powerful module that builds a tree from the HTML. It goes on with an explanation of how to allow your programs to access sites that require cookies, authentication or the use of a specific browser. The final chapter wraps it all up in a bigger example: a web-spider.
The book is well-written and to-the-point. It is structured in a way that mimics what a programmer new to the field would do: start from the docs for a module, play with it, write snippets of code that use the various functions of the module, then go on to coding real-life examples. I particularly liked the fact that the author often explains the whys, and not only the hows, of the various pieces of code he shows us.
It is interesting to note that going from regular expressions to ever more powerful modules is a path followed also by most Perl programmers, and even by the language itself: when Perl starts being applied to a new domain first there are no modules, then low-level ones start appearing, then, as the understanding of the problem grows, easier-to-use modules are written.
Finally I would like to thank the author for following his own advice by including interesting examples and above all for not including anything about retrieving stock-quotes.
Another recommended book on the subject is Network Programming with Perl by Lincoln D. Stein, which covers a wider subject but devotes 50 pages to this topic and is also very good.
Breakdown by chapter:- Introduction to Web Automation (15 pages): an overview of what this book will teach you, how to install Gisle Aas' LWP, some interesting words of caution about the brittleness of screen-scraping code, copyright issues and respect for the servers you are about to hammer, and finally a very simple example that shows the basic process of web automation.
-
Web Basics (16p): describes how to use LWP::Simple, an easy way to do some simple processing.
-
The LWP Class Model (17p): a slightly steeper read, closer to a reference than to a real introduction that lays out the ground work for the good stuff ahead.
-
URLs (10p): another reference chapter, this one will teach you all you can do with URLs using the URI module. Although the chapter is clear and complete it includes little explanation as to why you will need to process URLs and it is not even mentioned in the introduction roadmap.
-
Forms (28p): a complete and easy to read chapter. It includes a long description of HTML form fields that can be used as a reference, 2 fun examples (how to get the number of people living in any city in the US from the Census web site and how to check that your dream vanity plate is available in California) and how to use LWP to upload files to a server. It also describes the limits of the technique. I appreciated a very educative section showing how to go from a list of fields in a form to more and more useful code that queries that form.
-
Simple HTML processing with Regular Expressions (15p): how to extract info from an HTML page using regexps. The chapter starts with short sections about various useful regexp features, then presents excellent advice on troubleshooting them, the limits of the technique and a series of examples. An interesting chapter, but read on for more powerful ways to process HTML. On the down side, I found the discussion of the s and m regexp modifiers a little confusing.
-
HTML processing with Tokens (19p): using a real HTML parser is a better (safer) way to process HTML than regexps. This chapter uses HTML::TokeParser. It starts with a short, reference-type intro, then a detailed example. Another reference section describes the methods an alternate way of using the module, with short examples. This is the kind of reference I find the most useful, it is the simplest way to understand how to use a module.
-
Tokenizing walkthrough (13p) a long Example showing step-by-step how to write a program that extracts data from a web site, using HTML::TokeParser. The explanations are very good, showing _why_ the code is built this way and including alternatives (both good and bad ones). This chapter describes really well the method readers can use to build their code.
-
HTML processing with Trees (16p): even more powerful than an HTML tokenizer: HTML::TreeBuilder (written by the author of the book) builds a tree from the HTML. This chapter starts with a short reference section, then revisits 2 previous examples of extracting information from HTML using HTML::TreeBuilder.
-
Modifying HTML with Trees (17p): More on the power of HTML::TreeBuilder: a reference/howto on the modification functions of HTML::TreeBuilder, with snippets of code for each function I really like HTML::TreeBuilder BTW, it is simple yet powerful.
-
Cookies, Authentication and Advanced Requests (13p): Back to that LWP business... this chapter is simple and to-the-point: how to use cookies, authentication and referer to access even more web-sites. I just found that it lacked a description on how to code a complete session with cookies.
-
Spiders (20p): a long example describing how to build a link-checking spider. It uses most of the techniques previously described in the book, plus some additional ones to deal with redirection and robots.txt files.
-
Appendices
I think the Appendices are actually the weakest part of the book, most of them are not really useful, apart from the ASCII table (every computer book should have an ASCII table IMHO ;--).
- A. LWP modules (4p): the list and one line description of all modules in the LWP library, long and impressive! But not very useful,
- B. HTTP status (2p): available elsewhere but still pretty useful,
- C. Common MIME types (2p): lists both the usual extension and the MIME type,
- D. Language Tags (2p): the author is a linguist ;--)
- E. Common Content Encodings (2p): character set codes,
- F. ASCII Table (13p): a very complete table, includes the ascii/unicode code, the corresponding HTML entity, description and glyph,
- G. User's View of Object-Oriented Modules (11p): this is a very good idea. A lot of Perl programmers are not very familiar with OO, and in truth they don't need to be. They just need the basics of how to create an object in an existing class and call methods on it. I found the text too be sightly confusing though, in fact I believe it is a little too detailed and might confuse the reader.
- Index (8p): I did not think the index was great (code is listed with references to 5 seemingly random pieces of code, type=file, HTML input element is listed twice, with and without the comma...), but this is not the kind of book where the index is the primary way to access the information. The Table of Content is complete and the chapters are focused enough that I have never needed to use the index.
-
Hacker Survey
Lisa writes "A new entry in Tim O'Reilly's blog, titled "Creativity, Flow, and Joy in Programming" talks about a survey of IS developers with projects hosted by Sourceforge. The results were presented at O'Reilly's Open Source Convention last week. 60% said, 'With one more hour in the day, I would program.' 70% of the respondents volunteered that lack of sleep was the most significant cost of participation. Almost 50% of the respondents agreed that 'When we prepare a program, it's just like composing poetry or music." OSDN has a page with the survey results in PDF or HTML. Slashdot is a part of OSDN. -
JavaScript : The Definitive Guide, 4th Edition
briandonovan writes "A new edition? Given all of the changes in the web programming landscape since the 1998 publication of the previous edition, David Flanagan's JavaScript : The Definitive Guide (JS:TDG4), 4th Edition was overdue. Flanagan delivers a book that more than measures up to its predecessor - JS:TDG4 includes a substantial amount of new material and, as a whole, has been extensively updated. The crushing gain in browser market share by Microsoft's Internet Explorer offering, the maturation of the Netscape 6.x,7.x / Mozilla browser suite and its entry into the fray along with a slew of other Gecko-based browsers, promulgation of newer versions of the ECMAScript specification (accompanied by new implementations in JavaScript and JScript), and the publication of successive W3C DOM Recommendations are all reflected in this edition." JavaScript : The Definitive Guide, 4th Edition author David Flanagan pages 916 publisher O'Reilly rating 9 reviewer Brian Donovan ISBN 0596000480 summary The latest edition of JavaScript : The Definitive Guide brings the popular reference up to date with extensive coverage of W3C DOM Level 1 and 2 and a much-improved and expanded set of appendices.
The Book in a NutshellAlthough much of the core of the language, addressed in Part I, has changed relatively little since JS:TDG3, Flanagan has added coverage of new issues that have emerged in the past several years, like the discussion of ASCII, Latin-1, and 16-bit Unicode in the beginning of Chapter 2 (ECMA-262 Edition 1, the spec that defined ECMAScript, included Unicode support for il8n purposes, so ECMAScript compliance requires Unicode support), and pruned away quite a bit of material related to NS 4.x-proprietary features, like the explanation of import and export (previously found in Chapter 6), that are naturally of increasingly less interest to developers as that line of browsers recedes into history. Much of Part II, which considers client-side JavaScript and DOM in all its glory, is entirely new or has been completely re-written. Where the chapter on the Document Object model in the 3rd edition only covered the "Level 0" DOM (the objects, properties, and methods first exposed by the 4.0 browsers), JS:TDG4 tackles the Level 0 DOM and the W3C DOM Recommendations through level 1 Core and HTML and touches on some DOM Level 2 topics, including the Range and Traversal APIs. "Cascading Style Sheets and Dynamic HTML" and "Events and Event Handling" are two other chapters in the Client-Side JavaScript section that have really come into their own in this edition.
The large (more than 300 pages), but somewhat muddled "JavaScript Reference" in the 3rd edition (it had commingled the objects, properties, and methods included in the core of the JavaScript language with those of the Level 0 DOM) has been split into 4 discrete appendices ("Core JavaScript Reference", "Client-Side JavaScript Reference", "W3C DOM Reference", and "Class, Property, Method, and Event Handler Index") that, taken together, comprise more than 400 more pages of information. NS 4.x fans can take comfort from the fact that, while much NS 4.x-specific information has been culled from the body of the text, Netscape 4.x still shows up in some screen captures (along with Microsoft Internet Explorer and Netscape 6).
What was GreatException handling (using throw and try/catch/finally) is covered in greater detail. In Chapter 15, "Forms and Form Elements", JavaScript interactions with buttons, toggle buttons (checkbox and radio elements), text fields, hidden elements, and fieldset elements are addressed individually in new sections not present in the corresponding chapter in JS:TDG3 and the section on select and option elements goes into more detail than in the previous edition. Throughout the book, improvements have been made to figures and tables - like the addition of the "Supported by" column in Table 19-1 : "Event handlers and the HTML elements that support them", which now helpfully lists the elements for which the event handlers can be triggered after identifiers for the versions of Netscape and Internet Explorer in which the behavior is observed. Finally, the book as a whole is significantly more readable. The type used for the text of the code examples and tables was too "light" in the 3rd edition (at least in my copy), and I was glad to see that it's a bit heavier in the 4th.
What was Not so GreatI nearly came up empty-handed in my search for defects in this book, but noticed that, in tables 11-1 and 11-3, "Automatic data type conversions" and "Data type manipulation in JavaScript" respectively, information relating to the treatment of arrays and functions present in the corresponding tables in the 3rd edition has been removed. That's really my only gripe. Some might wish that Flanagan had included more compatibility information, but, realistically, the task of fully documenting the intricacies of what's supported by which browser (or, in the case of Win MSIE, which JScript dll is installed) could probably fill a separate book all of its own. Moreover, Chapter 20 ("Compatibility Techniques"), may be brief at only 11 pages, but it does a good job of tackling best practices in dealing with JavaScript and DOM cross-browser compatibility challenges.
To Buy or Not to BuyIf you're in the market for a good JavaScript (or JavaScript+DOM) book, then JavaScript : The Definitive Guide should undoubtedly be your first choice. Although my 3rd edition was so tattered from long use that I really had no choice but to upgrade, even owners of the 3rd edition who've managed to keep their copies in near-mint condition will probably still want to get their hands on the 4th edition if they haven't already done so - for the meatier and updated reference appendices if for no other reason.
Table of ContentsPreface
- Chapter 1. Introduction to JavaScript
Part I : Core JavaScript
- Chapter 2. Lexical Structure
- Chapter 3. Data Types and Values
- Chapter 4. Variables
- Chapter 5. Expressions and Operators
- Chapter 6. Statements
- Chapter 7. Functions
- Chapter 8. Objects
- Chapter 9. Arrays
- Chapter 10. Pattern Matching with Regular Expressions
- Chapter 11. Further Topics in JavaScript
Part II : Client-Side JavaScript
- Chapter 12. JavaScript in Web Browsers
- Chapter 13. Windows and Frames
- Chapter 14. The Document Object
- Chapter 15. Forms and Form Elements
- Chapter 16. Scripting Cookies
- Chapter 17. The Document Object Model
- Chapter 18. Cascading Style Sheets and Dynamic HTML
- Chapter 19. Events and Event Handling
- Chapter 20. Compatibility Techniques
- Chapter 21. JavaScript Security
- Chapter 22. Using Java with JavaScript
Part III : Core JavaScript Reference
Part IV : Client-Side JavaScript Reference
Part V : W3C DOM Reference
Part VI : Class, Property, Method, and Event Handler Index
Index
You can purchase JavaScript: The Definitive Guide from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
I'm Just Here for the Food
MattE writes: "Alton Brown, for those who aren't familiar, has a cooking show on the Food Network called Good Eats. His new book isn't so much a cookbook, in the current sense of a book that contains a heck of a lot of recipes. (It does, in fact, contain recipes, but it really isn't what the book is about.) See the Perl cookbook, for a translation of this idea to programming. It is a book about cooking that covers science and technique first; Recipes are only example code. He says he is a 'culinary cartographer.'" This sounds like a fun book -- for the rest of Matt's review, read on below. I'm Just Here for the Food author Alton Brown pages 287 pages publisher Stewart, Tabori & Chang rating 9/10 reviewer Matt Eberle ISBN 1-58479-083-0 summary This is a book about cooking, by a geek, for geeks. If you code and you cook, this is the book.Rather than giving precise directions about how many rights and how many lefts, Alton aims to give you the lay of the land. "Cooking is not defined by seasonings ... it is defined by the application of heat." That is why the first six chapters are devoted to a single heating method each: searing, grilling, roasting, frying, boiling, and braising. This first book doesn't cover baking, or other manufactured food. Another book, in a similar vein, by a chemist, Cookwise: The Hows and Whys of Successful Cooking , actually begins with baking.
As partial proof of the author's geekiness, I present an excerpt from the introduction to the grilling chapter:
I am typing on a Macintosh G4 Titanium Powerbook, which is roving through my MP3 collection like a digital whirling dervish. When I need to speak to someone, which isn't very often since the G4 is wirelessly connected to the Web through a device in the house, I do so on a Nokia cell phone capable of trading files with my Palm V, which I really should replace since it's so 1999.
He's got his own web site, complete with blog. Throughout the book, he describes approaches to cooking that have everything to do with good food and geekiness, and nothing to do with the manufacturer's instructions. Back to the grill, he's removed one of the plates on the side of his grill and fitted it with a piece of tailpipe. Then, when he's grilling, he sticks a hair dryer in the tailpipe and uses it to whip the coals into an inferno. Which might explain why he gets his oven mitts from the hardware store in the form of welding gloves. When talking about ovens, he describes how he builds an oven out of firebricks, and how he uses a large terra cotta pot to cook a chicken in his oven. It's all in the name of even heat distribution. He's also not above rewiring his electric skillet to provide a greater range of temperatures. You know you've read something good when the author includes a mini-disclaimer to the effect of "if you try this at home kids, I and the publisher are not responsible."
Alton encourages improvisation, suggesting you hold a refrigerator roulette party: everybody brings three ingredients and then everybody has to make something of it. Now there's a team building exercise for the daring. Basically, a recipe is like an open source app that nobody's willing to muck with -- you either eat it when somebody else has already prepared it, or you compile (I mean prepare) it yourself, but follow the directions exactly. This just ruins the whole point of making the source (or the recipe) available. Tinker with it, make it better, make it awful, hey, it's just food.
From Alton's Rules I Cook By: If the food is an existing hunk or hunks of something to be cooked, you can generally mess with seasonings, herbs, spices, and so on to your heart's content. The book is filled throughout with examples of Alton's own improvisations -- like the recipe he used to win a cheap chili competition he and some friends dreamed up while sitting around on somebody's porch. In this case, the ingredients were tomato paste, chili powder, cumin, and salt he had in his pantry, some cheap beef stew meat and some lamb stew meat from the supermarket, and the cheapest beer available from the local taqueria and the chips and salsa that came with it. Total cost: $7.74
The end of the book includes appendices with a Critter Map, which shows where different cuts of meat come from, and The Basic Culinary Toolbox, where he describes necessary tools, from heat resistant spatulas and all kinds of thermometers to what makes a good knife. Also included are a very brief selection of suppliers for various dry goods and a selection on cleanliness that has some tips on recognizing a good meat and produce department. The one weakness of the book may be its index. Again, since this isn't really a cookbook per se, it might not matter so much that all the chicken recipes in the book are not listed in the index under Chicken, or that his great recipe for microwave popcorn is listed under M, but not P. As for the popcorn recipe itself, here's a hint: popcorn, paper bag, and 2 staples.
If you are reading this I highly recommend I'm Just Here For the Food as well as the show Good Eats. This is the book on cooking I've been waiting for someone to write ever since I started cooking. It gives you the tools and the principles so that you can cook what you want and experiment with flavors and ingredients you like.
Appetite whetted? You can purchase I'm Just Here for the Food from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Perl for Web Site Management
PerlDiver writes: "Perl for Web Site Management by John Callender is for web professionals -- designers, editors, HTML jockeys -- who have never programmed before, but who now find themselves with the need to create their own site-management tools, automated web clients, and web-based applications. The title is an understatement; the book covers not just Perl programming but the bulk of what a novice needs to learn to function in a UNIX environment, from pwd and man to installing software packages from source tarballs. If you or anyone you know wants to cross the chasm from 'content' to 'code,' get this book." Read on for the rest of his review. Perl for Web Site Management author John Callender pages 528 publisher O'Reilly and Associates rating 8 reviewer perldiver ISBN 1565926471 summary Superb introduction to Perl for "accidental programmers"In his preface, Callender describes his own transition from a writer and editor to the kind of one-man-band that, back in the '90's, we called a "webmaster". He characterizes himself and others in the same boat as "accidental programmers", and justly praises Larry Wall for creating a programming language that enables such novice coders to do useful things right away. "Like natural languages, one of the ways in which Perl makes easy things easy is that it is designed to let you get by using only a small subset of the language. As Larry puts it, Perl lets you talk baby talk, and in Perl such baby talk is officially okay."
For non-programmers, this is a better Learning Perl than Learning Perl. The latter title, by Schwartz and Phoenix, is explicitly intended for established programmers seeking to add Perl to their existing tool belt of languages. Perl for Web Site Management is for the folks Apple used to call "the rest of us". Callender assumes no knowledge on the part of his reader beyond some familiarity with HTML and the web; this starting-from-zero approach makes the book maximally inclusive, while his ability to convey a lot in a small space brings the newbies a long way in the space of a couple chapters. He provides thorough redirection to the standard sources of Perl and Internet lore (the perl* man pages, the standard Perl programming texts, and others).
Virgin programmers, when they're through with Perl for Web Site Management, will find themselves able to make effective use of Perl programs to automate a plethora of tasks, including mass manipulation and modification of a site's files; server log analysis (using Perl's powerful regular expression facility); link checking (using the LWP module); and auto-generating an annotated site map from the <META> tags in the site's HTML files. The latter part of the book introduces server-side web application programming using CGI (examples include coding a site Guestbook and integrating with the SWISH-E site search facility), along with more advanced lore like the CPAN code archive, Perl's object-oriented features, storing user data in DBM databases, and publishing modules for reuse by others. Along the way, the book teaches a respectable amount about UNIX, as well; the main text, as well as the many informative sidebars, contain concise and clear explanations of necessities like stdin/stdout redirection; chmod and file permissions; shell filename globbing; tab completion in bash; network troubleshooting with traceroute; and much more.
Callender's writing style provides the right mix of hand-holding, humor, and clarity for the book's target audience. He simplifies without dumbing down, and he proves that he picked up a considerable amount of hacker culture on his own journey up the learning curve, which he shares with his pupils, citing sources from Neal Stephenson's In the Beginning Was the Command Line to Jon Udell's Practical Internet Groupware. He also does a good job of evangelizing the culture of sharing and open systems that created Perl, Apache, and the Internet as we know it, giving abundant proper credit to the authors and creators of all the tools and references to which he refers his readers. He concludes by listing, and providing jumping-off points for, the wide variety of logical "next steps" that go beyond the scope of the book: Python and other programming languages for the web, Apache configuration, mod_perl, system administration, and relational database integration.
As you may have guessed by now, I recommend this book highly, especially for anyone who finds him- or herself with responsibility for maintaining a web site but feeling a bit underequipped to do so. The book has a limitation (which is not the same as a shortcoming): it's a tutorial, not a reference work; though the index is quite serviceable, this isn't the book to turn to when you need to remember the order of the arguments to substr. This is a book to sit down and read through, once or multiple times, to help build a framework of knowledge and begin populating it with pearls of wisdom that can be put to immediate use.
Additional information about the book, including code for the examples given, is available on the web at the author's web site, O'Reilly's page for the book, and at the online bookseller site of your choice. Table of Contents:
Preface
1. Getting Your Tools in Order
Open Source Versus Proprietary Software
Evaluating a Hosting Provider
Web Hosting Alternatives
Getting Started with SSH/Telnet
Meet the Unix Shell
Network Troubleshooting
A Suitable Text Editor2. Getting Started with Perl
Finding Perl on Your System
Creating the "Hello, world!" Script
The Dot Slash Thing
Unix File Permissions
Running (and Debugging) the Script
Perl Documentation
Perl Variables
A Bit More About Quoting
"Hello, world!" as a CGI Script3. Running a Form-to-Email Gateway
Checking for CGI.pm
Creating the HTML Form
The <FORM> Tag's ACTION Attribute
The mail_form.cgi Script
Warnings via Perl's -w Switch
The Configuration Section
Invoking CGI.pm
foreach Loops
if Statements
Filehandles and Piped Output
die Statements
Outputting the Message
Testing the Script4. Power Editing with Perl
Being Careful
Renaming Files
Modifying HREF Attributes
Writing the Modified Files Back to Disk5. Parsing Text Files
The "Dirty Data" Problem
Required Features
Obtaining the Data
Parsing the Data
Outputting Sample Data
Making the Script Smarter
Parsing the Category File
Testing the Script Again6. Generating HTML
The Modified make_exhibit.plx Script
Changes to &parse_exhibitor
Adding Categories to the Company Listings
Creating Directories
Generating the HTML Pages
Generating the Top-level Page7. Regular Expressions Demystified
Delimiters
Trailing Modifiers
The Search Pattern
Taking It for a Spin
Thinking Like a Computer8. Parsing Web Access Logs
Log File Structure
Converting IP Addresses
The Log-Analysis Script
Different Log File Formats
Storing the Data
The "Visit" Data Structure9. Date Arithmetic
Date/Time Conversions
Using the Time::Local Module
Caching Date Conversions
Scoping via Anonymous Blocks
Using a BEGIN Block10. Generating a Web Access Report
The &new_visit and &add_to_visit Subroutines
Generating the Report
Showing the Details of Each Visit
Reporting the Most Popular Pages
Fancier Sorting
Mailing the Report
Using cron11. Link Checking
Maintaining Links
Finding Files with File::Find
Looking for Links
Extracting
Putting It All Together
Using CPAN
Checking Remote Links
A Proper Link Checker12. Running a CGI Guestbook
The Guestbook Script
Taint Mode
Guestbook Preliminaries
Untainting with Backreferences
File Locking
Guestbook File Permissions13. Running a CGI Search Tool
Downloading and Compiling SWISH-E
Indexing with SWISH-E
Running SWISH-E from the Command Line
Running SWISH-E via a CGI Script14. Using HTML Templates
Using Templates
Reading Fillings Back In
Rewriting an Entire Site15. Generating Links
The Docbase Concept
The CyberFair Site's Architecture
The Script's Data Structure
Using Data::Dumper
Creating Anonymous Hashes and Arrays
Automatically Generating Links
Inserting the Links16. Writing Perl Modules
A Simple Module Template
Installing the Module
The Cyberfair::Page Module17. Adding Pages via CGI Script
Why Add Pages with a CGI Script?
A Script for Creating HTML Documents
Controlling a Multistage CGI Script
Using Parameterized Links
Building a Form
Posting Pages from the CGI Script
Running External Commands with system and Backticks
Race Conditions
File Locking
Adding Link Checking18. Monitoring Search Engine Positioning
Installing WWW::Search
A Single-Search Results Tool
A Multisearch Results Tool
The map Function19. Keeping Track of Users
Stateless Transactions
Identifying Individual Users
Basic Authentication
Automating User Registration
Storing Data on the Server
The Register Script
The Verification Script20. Storing Data in DBM Files
Data Storage Options
The tie Function
A DBM Example Script
Blocking Versus Nonblocking Behavior
Storing Multilevel Data in DBM Files
An MLDBM-Using Registration Script
An MLDBM-Using Verification Script21. Where to Go Next
Unix System Administration
Programming
Apache Server Administration and mod_perl
Relational Databases
AdvocacyIndex
You can purchase Perl for Web Site Management from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.