Domain: oreilly.com
Stories and comments across the archive that link to oreilly.com.
Stories · 651
-
CSS: The Missing Manual
Michael J. Ross writes "Ever since Cascading Style Sheets (CSS) first appeared on the Web scene in the late 1990s, a plethora of books have been written and published that purport to explain how CSS works, and how to make it work for you. So why would any publisher decide that what the technical world needs is yet another CSS book? Perhaps because they have taken a close look at the bulk of those available titles, and found them to be wanting — filled with overly theoretical explanations and sample code that is far too focused on some pet domain of the author. Such books may be adequate for the veteran Web developer, who has the time and inclination to separate the wheat from the chaff. But developers new to CSS need much more approachable material, with clear examples. Perhaps that is the thinking behind CSS: The Missing Manual." Read the rest of Michael's review. CSS: The Missing Manual author David Sawyer McFarland pages 494 publisher O'Reilly Media rating 7 reviewer Michael J. Ross ISBN 0596526873 summary An accessible guide to using CSS with HTML.
Written by David Sawyer McFarland, CSS: The Missing Manual is published by O'Reilly Media, as part of their Pogue Press series, under the ISBN 0596526873. It first came out in August of 2006. The publisher maintains a Web page for the book, where visitors can find a link to register their copy of the book (does anyone do that?), a page for submitting errata (none yet, as of this writing), a form for posting a review on the O'Reilly site (again, be the first!), and a sample chapter (Chapter 1: Rethinking HTML for CSS) as a PDF file. There are also links for purchasing the book in the U.S. or the UK, and for reading the online version, as a part of O'Reilly's Safari service.
The book's 494 pages are organized into 14 chapters and three appendices, grouped into five parts. In addition, there is an index, as well as a terse but meaty introduction, which even includes a summary of HTML. The humor for which the Missing Manual books are known, begins early, in introduction, though in this case probably not intentionally: Page 9 claims that the book "is divided into four parts," and then lists the five parts. Before commenting upon those five-ish four parts, it should be noted that the table of contents runs seven pages, listing the book's parts, chapters, sections, and subsections. Future editions of the book would benefit from an overview table of contents, similar to those used in an increasing number of technical books, to good effect.
The 14 chapters cover most if not all of the essentials: writing HTML for CSS; creating styles and style sheets; determining what to style; using inheritance; using cascading; formatting text; setting margins, padding, and borders; styling graphics; styling links and navigation bars; styling tables and forms; creating float-based layouts; positioning page elements; creating print stylesheets; and writing maintainable CSS code. The three appendices include a CSS property reference, a discussion of CSS use in Dreamweaver version 8, and a listing of CSS resources to supplement the book.
On the positive side of the ledger, the author does a commendable job of clearly explaining all of the essential topics that the typical developer would need to understand in order to begin developing a robust Web site based on HTML and CSS, or reworking an existing site that is in desperate need of an overhaul. The clear explanations and bite-sized examples demonstrate that David Sawyer McFarland is not only an experienced Web developer, but likely has spent considerable time explaining to others how to do the same — as a writer, trainer, and instructor. This book is not his first, for he has previously written Dreamweaver: The Missing Manual.
One valuable aspect of the book under review, is that McFarland discusses how to overcome the most commonly encountered browser problems, in which Web pages employing CSS are not being formatted as one would expect and as specified in the CSS standards, by misbehaving browsers (that means you, "Internet Exploder"). Moreover, the book is also one of the first to document the significantly enhanced, long overdue, and welcomed CSS support in version 7 of the most commonly used Web browser (yes, we're still looking at you, "Browser by Bill").
The book is one in a series of many so-called Missing Manuals, whose tagline is "The books that should have been in the box," and whose Web site characterizes them as "Warm, witty, and jargon-free, [with] enough clarity for the novice, and enough depth and detail for the power user." In many respects, McFarland's latest contribution matches that description. In addition to the straightforward and yet comprehensive discussions of each topic, the author imbues his writing with a bit of humor, without overdoing it, or trying too hard, as is sometimes seen in other books covering subjects that admittedly can be quite dry.
On the negative side of the ledger, someone — or, more likely, some committee — somewhere along the decision chain, stipulated that almost every page of the book should be formatted so that the outside 1.5 inches, which is the easiest for a reader to see, should be consumed by a mostly empty and useless gutter, the bulk of which is filled with a light gray bar. This pushes the text, which slightly more than 4.5 inches wide, further in, toward the book's binding, and thus more difficult to read. This is true even though O'Reilly has wisely chosen to use RepKover, a flexible lay-flat binding. This exasperating style of layout is not characteristic of O'Reilly's books, which are generally much easier to read, with more sensible margins and often larger font.
One of the first principles taught to those learning Web design, is to avoid using white text on a black background. Such Web pages usually try to appear cool and edgy, but instead often comes off as immature in the eyes of an Internet veteran, and sinister to the Internet newbie. It doesn't work on Web sites, and it doesn't work in Web books. Sadly, O'Reilly chose to use white-on-dark-gray for many of the book's sidebars, making them difficult to read, especially as the sidebar text font size appears to be a bit smaller than that of the regular text.
In a nutshell, the content of this book is excellent, while the presentation of that content leaves much to be desired — ironic for a book focusing on CSS, whose primary purpose is to modularize and simplify presentation, neatly separating it from content. Ranking the content and presentation on a scale of 1 to 10, I would give them 9 and 5, respectively. Yet on balance, just as is true for most Web pages, the content is more important than its layout and other aesthetic considerations. CSS: The Missing Manual is a well-written, lighthearted, up-to-date, and easily accessible guide to modern CSS and how to use it in the real world.
You can purchase CSS: The Missing Manual from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
CSS: The Missing Manual
Michael J. Ross writes "Ever since Cascading Style Sheets (CSS) first appeared on the Web scene in the late 1990s, a plethora of books have been written and published that purport to explain how CSS works, and how to make it work for you. So why would any publisher decide that what the technical world needs is yet another CSS book? Perhaps because they have taken a close look at the bulk of those available titles, and found them to be wanting — filled with overly theoretical explanations and sample code that is far too focused on some pet domain of the author. Such books may be adequate for the veteran Web developer, who has the time and inclination to separate the wheat from the chaff. But developers new to CSS need much more approachable material, with clear examples. Perhaps that is the thinking behind CSS: The Missing Manual." Read the rest of Michael's review. CSS: The Missing Manual author David Sawyer McFarland pages 494 publisher O'Reilly Media rating 7 reviewer Michael J. Ross ISBN 0596526873 summary An accessible guide to using CSS with HTML.
Written by David Sawyer McFarland, CSS: The Missing Manual is published by O'Reilly Media, as part of their Pogue Press series, under the ISBN 0596526873. It first came out in August of 2006. The publisher maintains a Web page for the book, where visitors can find a link to register their copy of the book (does anyone do that?), a page for submitting errata (none yet, as of this writing), a form for posting a review on the O'Reilly site (again, be the first!), and a sample chapter (Chapter 1: Rethinking HTML for CSS) as a PDF file. There are also links for purchasing the book in the U.S. or the UK, and for reading the online version, as a part of O'Reilly's Safari service.
The book's 494 pages are organized into 14 chapters and three appendices, grouped into five parts. In addition, there is an index, as well as a terse but meaty introduction, which even includes a summary of HTML. The humor for which the Missing Manual books are known, begins early, in introduction, though in this case probably not intentionally: Page 9 claims that the book "is divided into four parts," and then lists the five parts. Before commenting upon those five-ish four parts, it should be noted that the table of contents runs seven pages, listing the book's parts, chapters, sections, and subsections. Future editions of the book would benefit from an overview table of contents, similar to those used in an increasing number of technical books, to good effect.
The 14 chapters cover most if not all of the essentials: writing HTML for CSS; creating styles and style sheets; determining what to style; using inheritance; using cascading; formatting text; setting margins, padding, and borders; styling graphics; styling links and navigation bars; styling tables and forms; creating float-based layouts; positioning page elements; creating print stylesheets; and writing maintainable CSS code. The three appendices include a CSS property reference, a discussion of CSS use in Dreamweaver version 8, and a listing of CSS resources to supplement the book.
On the positive side of the ledger, the author does a commendable job of clearly explaining all of the essential topics that the typical developer would need to understand in order to begin developing a robust Web site based on HTML and CSS, or reworking an existing site that is in desperate need of an overhaul. The clear explanations and bite-sized examples demonstrate that David Sawyer McFarland is not only an experienced Web developer, but likely has spent considerable time explaining to others how to do the same — as a writer, trainer, and instructor. This book is not his first, for he has previously written Dreamweaver: The Missing Manual.
One valuable aspect of the book under review, is that McFarland discusses how to overcome the most commonly encountered browser problems, in which Web pages employing CSS are not being formatted as one would expect and as specified in the CSS standards, by misbehaving browsers (that means you, "Internet Exploder"). Moreover, the book is also one of the first to document the significantly enhanced, long overdue, and welcomed CSS support in version 7 of the most commonly used Web browser (yes, we're still looking at you, "Browser by Bill").
The book is one in a series of many so-called Missing Manuals, whose tagline is "The books that should have been in the box," and whose Web site characterizes them as "Warm, witty, and jargon-free, [with] enough clarity for the novice, and enough depth and detail for the power user." In many respects, McFarland's latest contribution matches that description. In addition to the straightforward and yet comprehensive discussions of each topic, the author imbues his writing with a bit of humor, without overdoing it, or trying too hard, as is sometimes seen in other books covering subjects that admittedly can be quite dry.
On the negative side of the ledger, someone — or, more likely, some committee — somewhere along the decision chain, stipulated that almost every page of the book should be formatted so that the outside 1.5 inches, which is the easiest for a reader to see, should be consumed by a mostly empty and useless gutter, the bulk of which is filled with a light gray bar. This pushes the text, which slightly more than 4.5 inches wide, further in, toward the book's binding, and thus more difficult to read. This is true even though O'Reilly has wisely chosen to use RepKover, a flexible lay-flat binding. This exasperating style of layout is not characteristic of O'Reilly's books, which are generally much easier to read, with more sensible margins and often larger font.
One of the first principles taught to those learning Web design, is to avoid using white text on a black background. Such Web pages usually try to appear cool and edgy, but instead often comes off as immature in the eyes of an Internet veteran, and sinister to the Internet newbie. It doesn't work on Web sites, and it doesn't work in Web books. Sadly, O'Reilly chose to use white-on-dark-gray for many of the book's sidebars, making them difficult to read, especially as the sidebar text font size appears to be a bit smaller than that of the regular text.
In a nutshell, the content of this book is excellent, while the presentation of that content leaves much to be desired — ironic for a book focusing on CSS, whose primary purpose is to modularize and simplify presentation, neatly separating it from content. Ranking the content and presentation on a scale of 1 to 10, I would give them 9 and 5, respectively. Yet on balance, just as is true for most Web pages, the content is more important than its layout and other aesthetic considerations. CSS: The Missing Manual is a well-written, lighthearted, up-to-date, and easily accessible guide to modern CSS and how to use it in the real world.
You can purchase CSS: The Missing Manual from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
SQL Pocket Guide, Second Edition
Graeme Williams writes "So many dimensions are folded into this compact book that it took me more than a few moments to see what I was looking at. In the space of 184 pages, SQL Pocket Guide, Second Edition documents, explains, illustrates and compares the most common SQL statements from Oracle (10g), DB2 (8.2), SQL Server (2005), MySQL (5.0) and PostgreSQL (8.1), with occasional notes on previous versions, and pointers to more material on the author's web site. The book bills itself as "A Guide to SQL Usage" and it has an ample amount of explanatory material in addition to syntax and examples." Read the rest of Graeme's review. SQL Pocket Guide, Second Edition author Jonathan Gennick pages viii + 184 publisher O'Reilly Media rating 10 reviewer Graeme Williams ISBN 0-596-52688-1 summary A clear and compact overview of SQL for five different databases
The second edition of SQL Pocket Guide has been updated for the latest versions of the four databases covered in the first edition, and PostgreSQL has been added. There are also new sections on datatypes and creating tables and indexes. O'Reilly has recently announced that all of their pocket guides and references will be available as PDFs. This review is based on the paper book.
In addition to the most common SQL statements, SQL Pocket Guide, Second Edition also describes many useful functions, including datatype conversions, date/time, math, trig and string functions, and handling nulls. The table of contents for the book provides an excellent idea of what is included. One note about the table of contents: sometimes differences in syntax between different databases are covered inline, and sometimes each database is covered in a separate subsection. The table of contents makes the two types of coverage clear, since a subsection for a particular database is indicated by the database name in parentheses, such as "Numeric Conversions (Oracle)".
Rather than give formal syntax specifications, Gennick gives examples for each statement and function that he explains. The neat thing is that all the examples run against a simple schema and data which you can download from the book's web page. And yes, the data comes in five flavors to match the five databases covered by the book. You shouldn't underestimate how much this buys you in maintaining the book's high information density. It means that the SQL examples can be presented, and make sense with, little or no lead in.
Gennick also includes some pointers to the material on his web site. If you regularly lose bar bets on the details of recursive queries, or you need more explanation than the book provides, this will be very useful.
SQL Pocket Guide is organized alphabetically by topic, such as "Selecting Data", "Subqueries" or "Tables, Creating". Each topic is divided into a number of sections, such as SELECT, FROM and WHERE and again into subsections, such as specifying a table alias in the FROM clause. I like the size of the book (4 1/4 in. by 7 in.). The fact that the pages are pretty small, however, means that two facing pages might only contain a few subsections without any indication of the section they belong to. This can make it hard to keep track of context while flipping through pages. It's needlessly hard to distinguish between topic, section and subsection headings because they're all in the same font, and only a point or two different in size. There ought to be some simple way to indicate the difference.
I don't mean to suggest that the book is impenetrable. The table of contents includes both topic and section headings, and it's easy to skim to find what you're looking for. The topic is given at the bottom of every right-hand page. It would be great if the section was given at the bottom of every left-hand page, which is presently wasted by repeating the book title.
SQL Pocket Guide is small and clear. If you're looking for a book that is small, clear and complete, I'm sorry, that book doesn't exist. I'm guessing that you can't even get clear and complete. As a comparison, I took a look at an Oracle 9i reference. The whole book is over 1200 pages – the reference section, the section that is comparable in style and content to SQL Pocket Guide, is over 350 pages. The syntax diagram for the SELECT statement is terrifying just on its own.
From this syntax diagram, I discovered that Oracle has a "flashback" feature, which under certain circumstances allows you to look at the database as it was at a time in the recent past: SELECT * from EMPLOYEES AS OF (some time in the past) The problem is that the chapter on flashback queries doesn't discuss this particular syntax – here, you're on your own. As you might expect, a 1200 page book isn't an ideal learning tool, but it's not a perfect reference either. On the other hand, SQL Pocket Guide doesn't cover flashback queries at all.
SQL Pocket Guide doesn't contain every single thing anyone will ever need to know about any of the five covered databases. Different people will find different gaps in what's included. The book doesn't include creating views, which I would have found useful. Also, I recently found myself with an SQL Server table so gnarly that I used two nested unpivot statements to unwind it, but unpivot, which is new in SQL Server 2005, isn't included in the book either. The book deserves its rating, however, because it's nearly perfect for its size.
In giving up completeness, Gennick hasn't just produced a book with fewer pages, he's produced a book that works either for learning or reference. Reading the book cover to cover is a rapid and effective way to get up to speed on a particular database. This is true if you are vaguely familiar with SQL and need specific details, or if you're intimately familiar with one database but moving to another. Unless or until you've committed the details of each SQL statement to memory, this book will be the best fifteen dollars you'll spend.
You can purchase SQL Pocket Guide, Second Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
SQL Pocket Guide, Second Edition
Graeme Williams writes "So many dimensions are folded into this compact book that it took me more than a few moments to see what I was looking at. In the space of 184 pages, SQL Pocket Guide, Second Edition documents, explains, illustrates and compares the most common SQL statements from Oracle (10g), DB2 (8.2), SQL Server (2005), MySQL (5.0) and PostgreSQL (8.1), with occasional notes on previous versions, and pointers to more material on the author's web site. The book bills itself as "A Guide to SQL Usage" and it has an ample amount of explanatory material in addition to syntax and examples." Read the rest of Graeme's review. SQL Pocket Guide, Second Edition author Jonathan Gennick pages viii + 184 publisher O'Reilly Media rating 10 reviewer Graeme Williams ISBN 0-596-52688-1 summary A clear and compact overview of SQL for five different databases
The second edition of SQL Pocket Guide has been updated for the latest versions of the four databases covered in the first edition, and PostgreSQL has been added. There are also new sections on datatypes and creating tables and indexes. O'Reilly has recently announced that all of their pocket guides and references will be available as PDFs. This review is based on the paper book.
In addition to the most common SQL statements, SQL Pocket Guide, Second Edition also describes many useful functions, including datatype conversions, date/time, math, trig and string functions, and handling nulls. The table of contents for the book provides an excellent idea of what is included. One note about the table of contents: sometimes differences in syntax between different databases are covered inline, and sometimes each database is covered in a separate subsection. The table of contents makes the two types of coverage clear, since a subsection for a particular database is indicated by the database name in parentheses, such as "Numeric Conversions (Oracle)".
Rather than give formal syntax specifications, Gennick gives examples for each statement and function that he explains. The neat thing is that all the examples run against a simple schema and data which you can download from the book's web page. And yes, the data comes in five flavors to match the five databases covered by the book. You shouldn't underestimate how much this buys you in maintaining the book's high information density. It means that the SQL examples can be presented, and make sense with, little or no lead in.
Gennick also includes some pointers to the material on his web site. If you regularly lose bar bets on the details of recursive queries, or you need more explanation than the book provides, this will be very useful.
SQL Pocket Guide is organized alphabetically by topic, such as "Selecting Data", "Subqueries" or "Tables, Creating". Each topic is divided into a number of sections, such as SELECT, FROM and WHERE and again into subsections, such as specifying a table alias in the FROM clause. I like the size of the book (4 1/4 in. by 7 in.). The fact that the pages are pretty small, however, means that two facing pages might only contain a few subsections without any indication of the section they belong to. This can make it hard to keep track of context while flipping through pages. It's needlessly hard to distinguish between topic, section and subsection headings because they're all in the same font, and only a point or two different in size. There ought to be some simple way to indicate the difference.
I don't mean to suggest that the book is impenetrable. The table of contents includes both topic and section headings, and it's easy to skim to find what you're looking for. The topic is given at the bottom of every right-hand page. It would be great if the section was given at the bottom of every left-hand page, which is presently wasted by repeating the book title.
SQL Pocket Guide is small and clear. If you're looking for a book that is small, clear and complete, I'm sorry, that book doesn't exist. I'm guessing that you can't even get clear and complete. As a comparison, I took a look at an Oracle 9i reference. The whole book is over 1200 pages – the reference section, the section that is comparable in style and content to SQL Pocket Guide, is over 350 pages. The syntax diagram for the SELECT statement is terrifying just on its own.
From this syntax diagram, I discovered that Oracle has a "flashback" feature, which under certain circumstances allows you to look at the database as it was at a time in the recent past: SELECT * from EMPLOYEES AS OF (some time in the past) The problem is that the chapter on flashback queries doesn't discuss this particular syntax – here, you're on your own. As you might expect, a 1200 page book isn't an ideal learning tool, but it's not a perfect reference either. On the other hand, SQL Pocket Guide doesn't cover flashback queries at all.
SQL Pocket Guide doesn't contain every single thing anyone will ever need to know about any of the five covered databases. Different people will find different gaps in what's included. The book doesn't include creating views, which I would have found useful. Also, I recently found myself with an SQL Server table so gnarly that I used two nested unpivot statements to unwind it, but unpivot, which is new in SQL Server 2005, isn't included in the book either. The book deserves its rating, however, because it's nearly perfect for its size.
In giving up completeness, Gennick hasn't just produced a book with fewer pages, he's produced a book that works either for learning or reference. Reading the book cover to cover is a rapid and effective way to get up to speed on a particular database. This is true if you are vaguely familiar with SQL and need specific details, or if you're intimately familiar with one database but moving to another. Unless or until you've committed the details of each SQL statement to memory, this book will be the best fifteen dollars you'll spend.
You can purchase SQL Pocket Guide, Second Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Building Scalable Web Sites
briandon writes "It's not a step-by-step guide (and doesn't claim to be one), but Building Scalable Web Sites is the closest thing available to a nuts-and-bolts look at managing the technical aspects of doing a Web-based startup. There's lots of code inside, but the book isn't built around a single, extremely contrived, case study like an online wine store. Instead, most of the chapters follow a general pattern: a topic (like bottlenecks in your application and platform, scaling, or monitoring) is addressed and some rules of thumb that describe the way that the author feels things should be done are set forth and explained, with lots of very specific hints and factoids mixed in along the way. Tools for other languages (in most cases, Perl) are mentioned in passing, nearly all of the code snippets are in PHP. MySQL 4.1 is the basis for most of the database-centered material." Read the rest of Brian's review. Building Scalable Web Sites : Building, Scaling, and Optimizing the Next Generation of Web Applications author Cal Henderson pages 330 publisher O'Reilly Media, Inc. rating 9/10 reviewer Brian Donovan ISBN 0596102356 summary If you've been kicking around the idea of doing a Web startup, then you should definitely give this book a read.
Henderson's resume, which can be found on his personal website, indicates that he joined Ludicorp about a year before they shut down GNE, their Web-based roleplaying game, to focus on Flickr (which had originally begun as an ofshoot of the game) and it's his role as web development lead at Ludicorp that led to the inclusion of the "The Flickr Way" sub-subtitle that runs diagonally across the upper right corner of the book's front cover.
The five-page-long first chapter sets the stage for the rest of the book with section headings that are all questions: "What is a Web application?", "How do you build Web applications?", "What is architecture?", and "How do I get started?".
Chapter two, "Web Application Architecture", begins with Henderson drawing an analogy between a web app and a type of multi-tiered dessert known as a trifle - the sponge cake at the bottom of the dish is the database, the next layer up, jell-o, is the business logic, and so on. The black and white image in the text is identical to the color image included in a slide from an eight-hour workshop that the author gave in San Francisco titled "How We Built Flickr". Having read the book and some reviews of his workshops and looked at the list of talks on Henderson's site (some with Powerpoint decks for download), it seems likely that a lot of the ideas expressed in the book were developed over an extended period of time through repeated presentations.
Next up are the considerations around development environments, beginning with a 3-point list of guidelines for building small-scale web apps up into big ones: use source control, have a one-step build process (literally, if possible, a single button), and track bugs (as well as non-bug items like features and support requests). Readers get to feast their eyes on a cropped screenshot of Flickr's build control panel (two buttons, "perform staging" and "perform deployment", to match the last two steps in the release sequence in an HTML form). For small teams, the author is in favor of allowing multiple developers to trigger releases and he suggests several ways of trying to keep that workable. In version control, Subversion gets the nod and, though no bugtracking tool is singled out as the best, FogBugz garners the highest praise ("extremely effective") and has the shortest list of "cons". The author never comes out and says what the Flickr / Flickr-Yahoo team uses in either area, however.
Chapter four is the most readable introduction to internationalization, localization, and Unicode that I've seen up to this point. MySQL's currently incomplete implementation of UTF-8, sarcastically referred to by some as "UTF-7½" (Google for it), is mentioned in enough detail that a reader can decide whether or not it's likely to be an issue for their app. The book as a whole is packed with little nuggets of information like that - things you might not have otherwise been even peripherally aware of until they bit you.
Input filtering and strategies for avoiding building cross-site-scripting and SQL injection vulnerabilities into your app are addressed in a chapter on data integrity and security that shows the same attention to detail as the rest of the book. The section on UTF-8 filtering, for example, features a three-way benchmark of UTF-8 validation techniques (using regular expressions, iconv, and ord()) and the merits of each approach are considered.
The coverage of handling emails programmatically in chapter six is also quite good. Henderson does the basics and then delves into a number of possible pitfalls in considerable detail. The salient aspects of the TNEF (media type application/ms-tnef) format, used by MS Outlook for attachments and metadata, for instance, are explained and pointers are given to open source TNEF parser implementations. I also got a lot out of the section on dealing with email from wireless devices like mobile phones, titled "Wireless Carriers Hate You" (there's that dry British wit again).
The second half of the book (chapters seven through eleven) focuses more on scalability. It's also where you'll find the most material on using MySQL, including but not limited to query profiling and optimization, a discussion of the merits of denormalizing once you begin to reach a certain scale, and a comparison of the different MySQL backends. There's an entire chapter devoted to finding and dealing with bottlenecks - how to determine whether your app is CPU-bound, I/O-bound, or context-switching-bound and what to do about it. The chapter on scaling begins by debunking the "scaling myth" (but he actually tackles several misconceptions at once - namely that scalability is synonymous with speed, that scalability is a byproduct of having written your app in Java, etc.) before getting into vertical vs. horizontal scaling (buying more powerful and expensive servers vs. adding more cheap cheap servers), load balancing, and more. Monitoring (both of web stats and your application itself) and APIs (RSS/RDF/Atom feeds, mobile content delivery formats like WAP and XHTML mobile, and REST/XML-RPC, and SOAP Web services) both get chapters of their own.
Henderson's sense of humor is evident throughout the book, but not in the annoying overly cutesey way that made me want to toss "Extreme Programming Installed" into the circular filing drawer. In the section on software interface design (where he means the interfaces between the layers of the trifle), for example, there's a "Web Application Scale of Stupidity" that places "sanity" in the center and OGF (one giant function) and OOP at the extremes. The process of separating web app logic from presentation is broken down into 3 steps: separating logic code from markup, splitting the markup into per-page files, and moving to a templating system. He closes out the chapter with a breakdown of the hosting, hardware, and networking issues involved in serving up web apps.
Technically, I think that Building Scalable Web Sites is 100%. There were just a few niggling flaws. Two dates given (both on page 155), 1990 for the creation of libxml and 1995 for the design of XML-RPC, are incorrect and I spotted a handful of grammatical mistakes (probably proportionately fewer than in this review) that I've already submitted, along with the date mistakes, as errata through the form linked from the O'Reilly catalog page for the book.
Additionally, though the cover does say "The Flickr Way", you won't find many sentences that begin "At Flickr, we [...]". Aside from the "Rolling Your Own" section in chapter seven describing some custom middleware and a protocol that they whipped up for moving files around within their system, there aren't a lot of explicit details about the way that Flickr operates in the book. You'll actually get more insider info from Tim O'Reilly's "Database War Stories" entry regarding Flickr, which is based on Henderson's answers to questions posed by O'Reilly, than from this book.
If you'd like to get a feel for Henderson's style, chapter five ("Data Integrity and Security") is available as a PDF on the O'Reilly catalog page for the book and Henderson has also put some articles online (all PDFs, not much overlap with the material in BSWS) at his website.
You can purchase Building Scalable Web Sites : Building, Scaling, and Optimizing the Next Generation of Web Applications from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
PHP Hacks
Michael J. Ross writes "Given the current popularity of the Web development language PHP, it makes sense that newcomers to the language have a large number of introductory and reference volumes from which to choose. But for the more advanced PHP programmer, there are far fewer titles that explain how to make the most of the language, by applying it to solve relatively substantial problems. One such book is PHP Hacks: Tips & Tools for Creating Dynamic Websites, by Jack D. Herrington. Read the rest of Michael's review. PHP Hacks author Jack D. Herrington pages 468 publisher O'Reilly Media rating 8 reviewer Michael J. Ross ISBN 0596101392 summary Practical techniques and source code for improving PHP-based Web sites and applications.
The book was published by O'Reilly Media in December of 2005. Despite its title, PHP Hacks: Tips & Tools for Creating Dynamic Websites is clearly intended to show how PHP's capabilities can be extended beyond its most common usage for creating dynamic and database-driven Web pages, and can be employed in such areas as graphics, reporting, Web site testing, code generation, and even fun purposes (for those few programmers who find the former topics less than entertaining). The author, assisted by six contributors listed in the Credits section, manages to pack an impressive number of general programming ideas and PHP-specific topics within this title's 468 pages. The material is grouped into 10 chapters, each of which contains a generous number of "hacks," each in its own section.
As with most if not all of the other titles published by O'Reilly, this book has a Web page that offers an overview of the book, its table of contents, all of the book's code (in both Zip and tar file format), and a list of confirmed and unconfirmed errata. In addition, the site hosts five sample hacks (in PDF format): accessing iPhoto pictures, generating Excel spreadsheets, avoiding the "double submit" problem, reading RSS feeds on your PSP, and creating custom Google Maps. Perusing these hacks would give the prospective buyer a clear sense as to the style of the book's other 95 hacks, as well as the (low) level of PHP expertise needed to understand them.
The book begins with a preface that describes the organization, conventions, and icons chosen for the book. Also, it covers the legality of the code samples, lists contact information, and mentions O'Reilly's Safari online book service, which contains this title among many other PHP resources. What is perhaps most unique about this book's preface is that the author identifies over half a dozen weaknesses commonly seen in PHP applications, and explains how his book addresses those problems. In addition, he makes explicit how some of the hacks can be used for jazzing up one's Web site or Web-based application.
The first chapter discusses how to install PHP on Windows, Mac OS X, and Linux, and then verify that the installation was done properly. Herrington then briefly explains how to install MySQL and perform some basic database management. The chapter concludes with coverage of installing the PEAR library on your local machine and on your Web host's server (which is incorrectly identified as your "ISP machine," apparently assuming that most developers choose their Internet service providers for hosting their sites, when in fact the opposite is true). Since the typical reader of a non-beginning book such as this no doubt has one or more introductory and/or reference PHP books at hand, it would seem superfluous to waste time and space explaining how to install these components. But few pages are taken up by the material.
The next chapter is devoted to hacks that help to jazz up the design of one's Web sites, including how to create a skinnable interface, build a breadcrumb trail, create HTML boxes, add tabs to your interface, and other valuable techniques. Subsequent chapters offer hacks in the areas of dynamic HTML (DHTML), graphics and digital pictures, databases and XML, application and e-commerce design, patterns and PHP object orientation, testing and documentation generation, and building alternative user interfaces. The 10th and final chapter covers some "fun stuff," such as creating dynamic playlists, developing a media upload/download center, and even putting Wikipedia on a Sony PlayStation Portable.
Rather than try to explain in detail all of the many topics covered in the book, I instead encourage the interested reader to visit the publisher's Web page, and scan through the table of contents provided, to get a better idea as to how much of the book would be of interest to the individual. Also, the five sample hacks listed on the site, would be well worth examining and trying out. Overall, the topics chosen reflect favorably upon the judgment of the lead author and the other contributors to the book. The typical PHP veteran would likely be interested in most of the applications covered, and would probably learn some new tricks, especially in the areas of patterns and code testing, regardless of their level of experience.
Like all books, this one is not perfect. As with the first printing of most technical books; particularly those chock-full of source code; the book contains a fair number of errata, likely even greater in number than those reported and listed on the publisher's Web site, as mentioned earlier. Consequently, any reader who chooses to test the sample code and he or she would be encouraged to do so; should keep one browser window or editor buffer open and devoted to those errata, so as to minimize the time spent trying to figure out why some sample code is not working as advertised.
Some readers posting in forums have complained that the sample code has evidently not been fully tested on all platforms, nor in all Web browsers. Since few if any reviewers would have the time, resources, or inclination to verify these claims, it should suffice to simply bear in mind that the script output and other behavior detailed in the book might not exactly match those experienced during one's own usage of the code.
The fact that there were several cooks in the kitchen brewing up this particular book, is obvious from the way that the code formatting is not consistent throughout the book, as well as the variety of problem-solving styles. Fortunately, neither weakness is of much consequence, and the latter might even be considered a "feature," as it allows the reader to see how a number of veteran PHP developers approach solving a problem.
Most technical works written by a team of authors, end up as excessive "doorstops" that are often frustrating to read as a result of the wildly inconsistent writing and coding styles, to say nothing of the material often being out of date as a result of the long production time needed by the publisher. The opposite case can be even worse, when a publisher releases a book that was clearly thrown together as quickly as possible to capitalize upon a hot new trend in technology. Thankfully, PHP Hacks keeps the style differences to a minimum, and benefits from having a lead author responsible for the book as a whole.
Some programming purists may take issue with the use of the term "hack" used as a synonym for a small PHP application or the use of such for solving a problem, since the majority of the PHP scripts in the book do not involve any programming or problem-solving that would be considered notably clever or elegant. Yet the misuse of the term seems to be spreading, and is not limited to this particular book ; another example of marketing overpowering stability of language. In the preface of PHP Hacks, the author explains that he uses the term in the positive sense of creative participation, to help reclaim it from its popular usage in place of the more traditional term "cracking," i.e., breaking into systems.
Yet aside from these complaints, PHP Hacks is a worthy title that offers explanations and source code for many valuable site-enhancing applications, testing and code generation techniques, and critical e-commerce safeguards. I recommend this book to any PHP developer who would like to add to their Web sites' capabilities, as well as their knowledge of what PHP can do.
Michael J. Ross is a freelance writer, computer consultant, and the editor of the free newsletter of PristinePlanet.com."
You can purchase PHP Hacks: Tips & Tools for Creating Dynamic Websites from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Nerds Switching from Apple to Ubuntu?
Mindpicnic writes "The recent switch of two lifelong Mac nerds to Ubuntu hasn't escaped Tim O'Reilly's radar. He cites Jason Kottke: 'If I were Apple, I'd be worried about this. Two lifelong Mac fans are switching away from Macs to PCs running Ubuntu Linux: first it was Mark Pilgrim and now Cory Doctorow. Nerds are a small demographic, but they can also be the canary in the coal mine with stuff like this.'" -
The Art of SQL
Graeme Williams writes "One difference between SQL and a conventional procedural programming language is that for SQL there's a bigger gap between what the code says and what the code does. The Art of SQL is the opposite of a cookbook – or rather it's about cooking rather than recipes. It's not a reference manual, although there's plenty to refer back to. It's an intermediate level book which assumes you know how to read and write SQL, and analyzes what SQL does and how it does it." Read on for Graeme's review. The Art of SQL author Stéphane Faroult with Peter Robson pages xvi + 349 publisher O'Reilly Media rating 9 reviewer Graeme Williams ISBN 0-596-00894-5 summary An excellent way to improve your approach to SQL
I guess it's normal for an intermediate text to present a number of serious examples, the idea being that the code from an example can be applied to roughly similar problems with roughly similar solutions. I think Faroult's goal is both more abstract and more ambitious. He wants to expand your ability to navigate among and analyze alternative SQL statements with more confidence and over a larger range. This isn't so much a book about SQL as it is about thinking about SQL.
There's almost no chance that the SQL examples in the book will be directly applied to a real problem. The examples are relevant at one remove: What does thinking about this example tell me about thinking about my current problem? So the book doesn't come with downloadable samples. There's no point.
The first few chapters of the book lay a foundation for the rest. As each brick in this foundation is placed, it sometimes feels as though it's placed firmly on your head. Think about indexes ... whack! Think about join conditions ... whack! These chapters have very few examples – the goal is to force you to think through queries from first principles. It's more effective (and less painful) than it sounds.
These introductory chapters cover how a query is constructed and executed, including how a query optimizer uses the information which is available to it. Faroult discusses the costs and benefits of indexes, and the interaction of physical layout with indexes, grouping, row ordering and partitioning. He also explains the difference between a purely relational query and one with non-relational parts, and how such a query can be analyzed in layers. Chapter 4 is available on the book's web page. It will give you a good idea of the style of the book, but not of the level of SQL discussed – the longest example in the chapter is just 15 lines.
Chapter 6 presents and analyzes nine SQL patterns, from small result sets taken from a few tables, to large result sets taken from many tables. The chapter falls roughly in the middle of the book, and feels like its heart. Prior chapters have built up to this one, and subsequent chapters are elaborations on particular topics. The theme of the book, to the extent that it has one, is that details matter. Different SQL statements can be used to produce the same result, but their performance will be different depending on details of the data and database. A change to the database structure, such as adding an index, might improve performance in one set of circumstances, but make it worse in another. The case analysis in this chapter will make you more sensitive to details in query design and execution.
The authors almost never mention particular database products. Their justification is that any absolute statement would be invalidated by the next release, or even a different hardware configuration, and anyway, that's not the business they're in. But sometimes this can go too far. The phrase "A clever optimizer ... will be able to" is too hypothetical by half. Is this an existing hypothetical query optimizer, or a vision of a future optimizer? Or the optimizer of one hypothetical database product and not of another? I suspect that Faroult knows and is simply being coy. It's just unhelpful not to tell us what existing databases will do, even if depends on the release or the hardware.
Faroult does this because he's not much interested in telling you what actually happens when a particular SQL statement is executed by a particular database. If the authors wanted a cute title for the book, I'm surprised they passed over The Zen of SQL Maintenance. When you look at an SQL statement, Faroult wants you to see what other SQL statements would do under other circumstances. He literally wants you to see the possibilities.
The second half of the book continues the analysis of chapter 6 into special cases, such as OLAP and large volumes of data, monitoring and resolving performance issues, and debugging problematic SQL.
Chapter 7 discusses tree-structured data, like an employee table with a column for the employee's manager. Faroult likes his own solution best, but presents an alternative approach by Joe Celko clearly enough for you to explore that as well.
Chapter 8 includes a series of examples of SQL and PHP. For anyone like me who spends more time in various programming languages than in SQL, this chapter is a small gem. It nicely illuminates the care needed in deciding what happens in code and what happens in SQL.
Chapter 9 addresses locking and concurrency, as it applies to both physical and logical parallelism. Transactions are included, but the discussion is just one part of a 20-page chapter and seems thin.
The Art of SQL is very clearly written. Whether it is "easy" will depend on how comfortable you are with SQL. This book is targeted at (page xi) "developers with significant (one year or, preferably, more) experience of development with an SQL database", their managers and software architects. I have months of experience spread over a decade or more, so I'm nominally outside the target audience. I found the SQL examples and discussion clear once I had a chance to let them sink in. If you're working with SQL regularly, they'll be perfectly clear.
The graphs let down the otherwise high quality of the book. For example, Figure 5-3 shows a rate (higher is better) but the legend says "Relative cost" (higher is worse). Figures 9-1 through 9-3 on facing pages 228 and 229 show response time histograms for three different query rates but don't show what the rates are. The x-axis of Figure 10-1 seems to be calendar time, but it's decorated with a stop watch icon. And as a representative of rapidly aging boomers with rapidly deteriorating eyesight, could I beg book designers not to put figure legends in a smaller font than the text of the book? Diagrams should be simple and clear, not something to puzzle over.
This is a book to conjure with, but it's not a book for everyone. Some people may find it too abstract, with too much discussion of too few examples. If you're completely new to SQL, the book will be hard going. If you have very many years of experience with SQL, it's just possible that you won't find anything new in the book, although I expect you'll find a lot to think about. For anyone in between, The Art of SQL is a excellent way to improve the way you attack problems in database and query design.
You can purchase The Art of SQL from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Pirates, Web 2.0, and Hundred Dollar Laptop
A few quick updates on some recent Slashdot stories in Slashback tonight. We have some additional information on the ever-interesting hundred-dollar laptop, the ongoing flap over the trademarking of 'Web 2.0' for conferences, and the shutdown of the Pirate Bay site. Read on for details.Update on the One Laptop per Child Project. dominique_cimafranca writes "Ethan Zuckerman gives a report on his visit to the headquarters of the One Laptop per Child project. Some details on practical design considerations such as the hinge, the rabbit ears, and why the hand crank was ultimately left out (apparently, Kofi Annan broke the crank on a prototype). Several pictures, and a look at the motherboard of the OLPC laptop."
TOR Calls Out Torvalds, Stallman on Web 2.0. theodp writes "In an unusual defense of partner CMP's trademarking of Web 2.0, Tim O'Reilly points a finger at Linus Torvalds and Richard Stallman in his rebuttal posts. TOR also says the blogger who posted the O'Reilly-approved cease-and-desist letter from CMP 'owes us an apology for the way he responded' (he got one)."
Fallout from The Pirate Bay Raid. Tyler Too writes "The Swedish national police website has been taken offline by a denial of service attack which started Thursday night. That's not the only fallout from the raid on The Pirate Bay: there's a demonstration planned in Stockholm on Saturday."
U.S. Government Ordered The Pirate Bay Shutdown? mkro writes "According to the Swedish government sponsored tv channel SVT, U.S. government officials -- after being approached by the MPAA -- requested the Swedish justice department to take down The Pirate Bay. According to the story, the Swedish justice department asked police and prosecution to act, but when they explained the laws are too vague, they turned directly to the state attorney and the chief of the national police force."
-
Apple Defeats RIAA and France In Same Day
gnat writes "The subheading of the CNN article says it all: 'Four largest record companies defeated in behind-the-scenes battle to charge different prices for songs; downloads still 99 cents'. This comes the same day as France backed down on the posturing over demanding iPod interoperability." From the France article: "Apple, which did not return repeated phone calls, and other DRM holders doing business in France, are likely elated. While the law must still be voted on, the alterations in the legislation signify willingness by some in the French government to honor the rights of companies that don't wish to share their technology with competitors. Senate debate on the bill begins Thursday." -
Slashback: Real-ID, PriceRitePhoto, RIM
Slashback tonight brings some corrections, clarifications, and updates to previous Slashdot stories, including a possible iBill framejob, the first steps towards defying the Real ID act, Peter Quinn continues his support for Open Source, Judge flunks lawsuit against spammers, WinXP on a Mac, round 2, Juniper drops message board suit, Vint Cerf answers questions on TLDs, PriceRitePhoto gets relisted, and RIM goes on the offensive for patent reform -- Read on for details.iBill stolen info a framejob? An anonymous reader writes "The database of stolen credit card information recently discussed on Slashdot appears not to have come from iBill after all. From the article: 'Secure Science's Lance James backed away from his conclusion that iBill, which processes most of its transactions on behalf of adult services, was the source of the leak. He says pornography transaction databases may be considered especially desirable to spammers, and that a criminal may have deliberately mislabeled a database taken from another source.'"
First steps towards defying the Real ID act. An anonymous reader writes "With House Bill 1582, The New Hampshire House of Representatives has taken the first steps towards defying the Federal Government on the infamous Real ID act, which last year passed 100-0. This bill does not express disagreement with the Real ID act, it prohibits the state DMV from amending licensing procedures altogether, and it passed 270-84. Several impassioned testimonies were given at the House, and even those against the bill expressed displeasure with the Real ID act. It now moves on to the 24-member state Senate. The afternoon's proceedings can be viewed or listened to via the NH General Court website under the afternoon of March 8th."
Peter Quinn continues his support of Open Source. Stony Stevenson writes "Computerworld Australia reports that former Massachusetts state government CIO, Peter Quinn is fronting the battle for OpenSource. He believes the cost of government is not sustainable in its present form and any technology leader who is not supporting and implementing open standards should resign and get out of the business. From the article: 'Even though the personal toll from state government experience was huge, Quinn said he would not be silenced. "I will remain very vocal and prominent regarding open standards, open source, especially Open Document Format and all aspects of accessibility for the disabled community," he said.'"
Judge flunks lawsuit against spammers. Hawkeye writes "A federal court in California has just created a huge legal loophole for companies who hire sleazy spammers. Kennedy-Western, an unaccredited university (aka diploma mill) has been absolved for outsourcing its email advertising to 'proxy-abusing, header-forging, hash-busting spammers,' according to the story at Spam Kings. The court ruled that Kennedy-Western didn't violate the CAN-SPAM Act because the plaintiff, a small California ISP named Hypertouch, 'failed to provide any evidence that KWU had actual knowledge or consciously avoided knowledge of a current or future violation of the CAN-SPAM Act by anyone who sent the e-mails at issue.' Perhaps not surprisingly, KWU enlisted as an expert witness Jason Rines, an email marketer who once worked with the notorious Sanford Wallace and who has been listed on the Spamhaus Block List."
WinXP on a Mac, round 2. fan777 writes "Slashdot recently posted a story regarding blurry Flickr photos on what may be the first WinXP installation on a Mac. To those who claimed heavy photochopping, narf2006 has finally released a blurry video (Complete with Mirror || Torrent)."
Juniper drops message board suit. It seems that Juniper Networks has finally come to their senses and dropped the suit against several unidentified LightReading message board users. From the article: "What is still unknown is whether or not Juniper ever uncovered the identities of "Does 1-10." The company's complaint cited several messages that got the company riled up, and most those messages allege that Juniper is bribing lawyers and spying on its employees."
Vint Cerf answers TLD questions. netzer writes "CircleID is running responses they have received from Vint Cerf on the questions submitted to him from the community with regards to top level domains."
PriceRitePhoto gets relisted. Thomas Hawk has an interesting blog entry in which he details how PriceRitePhoto, the online retailer who gained so much recent infamy, has been relisted on Yahoo! shopping after only a three month penance. From the article: "What was interesting to me at the time when the PriceRitePhoto story was going on was that PriceRitePhoto had supposedly been delisted a year earlier from comparison shopping site PriceGrabber. What I never could get is how after being delisted on PriceGrabber that PriceRitePhoto ended back on there a year later to try and rip me off. Of course that first delisting didn't get the visibility that mine did, but not to worry, not only is PriceRitePhoto back in business at Yahoo! Shopping, they are back in business on PriceGrabber as well. This after being delisted there at least twice that I know of."
RIM goes on the offensive for patent reform. flanman writes to tell us it seems that RIM has decided to continue the patent reform fight even after giving up their recent court battle. RIM is running full page ads in a number of US newspapers urging lawmakers to change the way patents are issues and managed. RIM also has more details on the Blackberry site.
-
Olympic Medalist was Spyware King
Remy writes "Seems that Australian gold medal mogulist Dale Begg-Smith is also a spyware entrepreneur. According to a report at Spam Kings, Begg-Smith has supported himself in style as president of a company responsible for generating 20,000,000 pop-ups per day, thanks to drive-by installs of spyware. I know the concept of Olympians being amateurs is outdated, but shouldn't they be barred from competition for this sort of thing?" -
Essential PHP Security
Michael J. Ross writes "Given the remarkable popularity of PHP for developing dynamic Web sites, as well as the ever-increasing need for security on those same sites, one would think that there would be great demand for — and comparable supply of — books that explain how to create secure sites using PHP. However, such is not the case, and even the most extensive general purpose PHP books may only devote a single chapter to this critical topic, if that much. Essential PHP Security, written by PHP expert Chris Shiflett, aims to fill the gap." Read the rest of Michael's review. Essential PHP Security author Chris Shiflett pages 109 publisher O'Reilly Media rating 7 reviewer Michael J. Ross ISBN 059600656X summary A concise introduction to PHP security principles and practices.
O'Reilly has a Web page for the book, where they offer a sample chapter (Chapter 4: Sessions and Cookies), in PDF format, as well as the book's table of contents, index, errata, and links to the online version of the book, in O'Reilly's Safari service. As of the writing of this review, the confirmed errata is reassuringly sparse, and the unconfirmed errata is nonexistent, which speaks well of the author keeping on top of reader feedback — a worthy quality not shared by all technical writers. The author also has his own Web site dedicated to the book, where he has posted a table of contents, brief reader reviews, and two free chapters in PDF format: Chapters 2 (Forms and URLs) and 4.
In the book's forward, Andi Gutmans briefly explains how increasing Internet usage has resulted in a corresponding increase in security risks, for individuals and businesses operating online. He also notes that most of the security problems related to PHP-based applications, are not the result of weaknesses in the language itself, but rather in the way that developers have used the language in creating those applications. The intent of the book is to bring together the guidelines and lessons learned for writing secure PHP code, into a single volume. He concludes by noting that most of the principles presented in the book apply equally well to other Web development languages.
The bulk of the book's material is organized into seven chapters, focusing on the following topics: forms and URLs, databases and SQL, sessions and cookies, includes, files and commands, authentication and authorization, and shared hosting. These are preceded by an introduction, which oddly is labeled as a chapter. The true chapters are succeeded by three appendices, which cover the topics of configuration directives, functions, and cryptography. A short index rounds out the volume.
In the introduction, Shiflett presents the security-related PHP features, principles, and best practices that he uses as a foundation throughout the rest of the book, when focusing on the specific PHP topics covered by all of the subsequent chapters. The two features of PHP discussed are: register globals, of which most experienced PHP developers know the dangers, and PHP's error reporting capabilities. The four principles espoused by the author for writing secure PHP systems are: safeguard redundancy, minimum privileges, clarity through simplicity, and minimizing data exposure. The heart of the book appears to be his four recommended practices: tempering usability with security, tracking input and output data, filtering all input, and escaping or encoding output to preserve its meaning.
The seven topic chapters that follow the introduction provide fairly terse coverage of how those principles and practices are put to use, when designing and implementing forms, URLs, SQL commands, sessions, cookies, etc. Each subtopic within them is discussed briefly, and illustrated with code snippets.
If anyone is well-suited to writing such a work, it is Chris Shiflett, a well-known authority on PHP security, a respected contributor to the PHP community, founder and spokesman of the PHP Security Consortium, and founder and President of Brain Bulb, a PHP consulting firm.
In light of the author's expertise, one would presume that he would make every effort to write the definitive volume on PHP security — covering every conceivable topic, including: execution of system commands, verification of user IDs and authorization, e-mail spamming via Web forms, (the related topic of) exclusion of bots, and remote procedure calls. However, Essential PHP Security does not discuss those critical matters specifically. Moreover, the topics chosen are discussed in a rather cursory manner. The code samples throughout the book are generally quite minimal, with little to no explanation as to how they work. In addition, many of the techniques presented are but variations on the theme of "filter user input." These weaknesses may be why the book clocks in at only 109 pages. In fact, the seven core chapters comprise only 71 pages, leaving the reader to wonder how PHP security could possibly be adequately plumbed by such a short treatment.
On the other hand, there is something to be said for terse writing, as wizened fans of Kernighan and Richie's C language classic can attest. In agreement would be any developer who has purchased one of the many 700+ page technical tomes that turn out to be padded with excessive margins, poorly-tested code, and pointless appendices lifted from the respective products' documentation. Perhaps Shiflett intended his book to be more a primer on PHP security, rather than a comprehensive coverage — and hence the title of the book. As such, it would primarily be of value to PHP developers unfamiliar with basic security pitfalls and defenses. Regardless, any PHP developer would be wise to begin with this book as a first step towards PHP security mastery, but even wiser if they were to follow it up with more substantial works, as well as keeping current by reading security-focused Web sites and other current publications.
Michael J. Ross is a freelance writer, computer consultant, and the editor of PristinePlanet.com's free newsletter."
You can purchase Essential PHP Security from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Makers
James Alguire writes "Anyone who's tinkered with LEGOs, Lincoln Logs, or an Erector Set knows the thrill of turning ideas into something tangible. Even if all you've ever done is assemble IKEA furniture, you've felt the satisfaction of turning a collection of parts into a functional object with your own two hands. Makers: All Kinds of People Making Amazing Things In Garages, Basements, and Backyards by Bob Parks, and published by O'Reilly, celebrates the basic human desire to create, to nail together two things that have never been nailed together before and see what it does. While I have worked in construction, built computers from scratch and done my share of soldering, I still felt a sense of wonder after reading about the 76 projects outlined in this book." Read the rest of James's review. Makers: All Kinds of People Making Amazing Things In Their Backyard, Basement or Garage author Bob Parks pages 184 publisher O'Reilly rating 8/10 reviewer James Alguire ISBN 0-596-10188-0 summary
Makers profiles 91 people from around the planet, from high school students to dedicated scientists who have cobbled together a remarkable array of home built devices. Some are answers specific needs, like Zach Radding's automated parts dispenser powered by a personal computer; or to further scientific discovery, like Dan Bowen and Mike Coffey's low cost high-altitude weather balloon and tracking package. Some, like Bathsheba Grossman's sculptures, printed from digital CAD files to metal, and Owen White's computer controlled laser cutter, bridge art and science. Others, including Tom Chudleigh's spherical wooden treehouses, or Matty Sallin's alarm clock, that wakes the sleeper by cooking bacon, merely fulfill some puckish desire. All the projects reveal the ingenuity, skill, foolishness, risk and passion humans are capable of in pursuit of their dreams.
Each profile identifies the "Maker", their profession, geographic location, the cost of the project being profiled, the amount of time the project took to complete and a web site where more information about the project can be found, followed by a description of the project, the process of creation, the technology used, the reasons for doing it, including pithy comments from the makers themselves. Bob Parks' writing is fresh and crisp and each vignette provides insight into how to think a little sideways about technology.
The concept for Makers grew out of the success of O'reilly's quarterly do-it-yourself (DIY) magazine, Make: Technology on Your Time. The publication provides recipes for modding, tweaking or reworking personal technology, and profiles of DIY people and their clever contraptions.
The book provides an interesting mix of cool gadgets to consider; from Douglas Repetto's motorized table that emulates the movements of a baby horse, and Kelly Dobson's voice activated blenders, that respond to their own language, to several "don't try this at home" devices like Richard Flanagan's jet engine powered go-kart (up to 60 miles per hour), Matthew Stiger's washtub Tesla coil (it shoots 7-foot sparks), or Richard Hull's homemade nuclear fusor (that's right your neighbor could be experimenting with nuclear fusion in his garage). I was surprised by the number of projects that were constructed from recycled components, many scrounged from devices on hand, purchased cheaply on eBay, or dug out of dumpsters.
Two of my favorites from the book are a machine that solves Rubik's Cubes (in about 10-minutes) built entirely from LEGOs by J.P. Brown, and probably the most poignant profile in the book, Sathya Jeganathan, a physician in India, improvised baby warmers, built using standard light bulbs for about $100 replacing expensive modern warmers costing $4000 that are difficult to maintain. Using the improvised warmers has cut infant mortality in Sathya's hospital by 50%.
Makers: All Kinds of People Making Amazing Things In Garages, Basements, and Backyards is a compact hardcover book that would be at home on any geek's coffee table. The profiles are brief but thought provoking, and the whole effect provides a new view into the serious and whimsical aspects of technology. After reading this book you will definitely look at old appliances and electronics with a different eye. Personally, I would like to have seen more step-by-step photos for many of the projects, but the included images and diagrams are high quality and give you a good impression of the gadgets. I also had problems with the text in the maker summaries, at the top of each profile. It was printed in a smaller typeface than may be comfortable for some and the light blue ink was difficult to read in some lighting situations. One of the best features is the URL listed in each profile where the reader can get even more information about the projects. If you like to tinker with technology then definitely check this book out. and if you can't get enough go to the Make Magazine's online site for even more do-it-yourself techno-hacking.
You can purchase Makers: All Kinds of People Making Amazing Things In Their Backyard, Basement or Garage from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Makers
James Alguire writes "Anyone who's tinkered with LEGOs, Lincoln Logs, or an Erector Set knows the thrill of turning ideas into something tangible. Even if all you've ever done is assemble IKEA furniture, you've felt the satisfaction of turning a collection of parts into a functional object with your own two hands. Makers: All Kinds of People Making Amazing Things In Garages, Basements, and Backyards by Bob Parks, and published by O'Reilly, celebrates the basic human desire to create, to nail together two things that have never been nailed together before and see what it does. While I have worked in construction, built computers from scratch and done my share of soldering, I still felt a sense of wonder after reading about the 76 projects outlined in this book." Read the rest of James's review. Makers: All Kinds of People Making Amazing Things In Their Backyard, Basement or Garage author Bob Parks pages 184 publisher O'Reilly rating 8/10 reviewer James Alguire ISBN 0-596-10188-0 summary
Makers profiles 91 people from around the planet, from high school students to dedicated scientists who have cobbled together a remarkable array of home built devices. Some are answers specific needs, like Zach Radding's automated parts dispenser powered by a personal computer; or to further scientific discovery, like Dan Bowen and Mike Coffey's low cost high-altitude weather balloon and tracking package. Some, like Bathsheba Grossman's sculptures, printed from digital CAD files to metal, and Owen White's computer controlled laser cutter, bridge art and science. Others, including Tom Chudleigh's spherical wooden treehouses, or Matty Sallin's alarm clock, that wakes the sleeper by cooking bacon, merely fulfill some puckish desire. All the projects reveal the ingenuity, skill, foolishness, risk and passion humans are capable of in pursuit of their dreams.
Each profile identifies the "Maker", their profession, geographic location, the cost of the project being profiled, the amount of time the project took to complete and a web site where more information about the project can be found, followed by a description of the project, the process of creation, the technology used, the reasons for doing it, including pithy comments from the makers themselves. Bob Parks' writing is fresh and crisp and each vignette provides insight into how to think a little sideways about technology.
The concept for Makers grew out of the success of O'reilly's quarterly do-it-yourself (DIY) magazine, Make: Technology on Your Time. The publication provides recipes for modding, tweaking or reworking personal technology, and profiles of DIY people and their clever contraptions.
The book provides an interesting mix of cool gadgets to consider; from Douglas Repetto's motorized table that emulates the movements of a baby horse, and Kelly Dobson's voice activated blenders, that respond to their own language, to several "don't try this at home" devices like Richard Flanagan's jet engine powered go-kart (up to 60 miles per hour), Matthew Stiger's washtub Tesla coil (it shoots 7-foot sparks), or Richard Hull's homemade nuclear fusor (that's right your neighbor could be experimenting with nuclear fusion in his garage). I was surprised by the number of projects that were constructed from recycled components, many scrounged from devices on hand, purchased cheaply on eBay, or dug out of dumpsters.
Two of my favorites from the book are a machine that solves Rubik's Cubes (in about 10-minutes) built entirely from LEGOs by J.P. Brown, and probably the most poignant profile in the book, Sathya Jeganathan, a physician in India, improvised baby warmers, built using standard light bulbs for about $100 replacing expensive modern warmers costing $4000 that are difficult to maintain. Using the improvised warmers has cut infant mortality in Sathya's hospital by 50%.
Makers: All Kinds of People Making Amazing Things In Garages, Basements, and Backyards is a compact hardcover book that would be at home on any geek's coffee table. The profiles are brief but thought provoking, and the whole effect provides a new view into the serious and whimsical aspects of technology. After reading this book you will definitely look at old appliances and electronics with a different eye. Personally, I would like to have seen more step-by-step photos for many of the projects, but the included images and diagrams are high quality and give you a good impression of the gadgets. I also had problems with the text in the maker summaries, at the top of each profile. It was printed in a smaller typeface than may be comfortable for some and the light blue ink was difficult to read in some lighting situations. One of the best features is the URL listed in each profile where the reader can get even more information about the projects. If you like to tinker with technology then definitely check this book out. and if you can't get enough go to the Make Magazine's online site for even more do-it-yourself techno-hacking.
You can purchase Makers: All Kinds of People Making Amazing Things In Their Backyard, Basement or Garage from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Laser Etching a Laptop
ptorrone writes "I didn't really plan using a $20,000 laser cutter on my 17" PowerBook to etch a 19th-century engraving of a tarsier, a nocturnal mammal related to the lemur (also the vi book cover), but it seemed like it had to done. The results are stunning..." -
Open Sources 2.0
dpilgrim writes "O'Reilly has just released a successor volume to 1999's "Open Sources", entitled "Open Sources 2.0". The table of contents reveals contributions from a number of open source luminaries, including Mozilla's Mitchell Baker, Samba's Jeremy Allison, and Sleepycat's Michael Olson. There's also an essay co-authored by Slashdot's own Jeff Bates. The sample chapter is the introduction, and includes an entertaining riff on the parallels between the open source community and the Burning Man community. This volume is edited by two of the original three editors, Chris DiBona (former Slashdot editor) and Mark Stone, together with Danese Cooper. You might want to compare this with the original "Open Sources", whose entire text can be found online." -
Open Sources 2.0
dpilgrim writes "O'Reilly has just released a successor volume to 1999's "Open Sources", entitled "Open Sources 2.0". The table of contents reveals contributions from a number of open source luminaries, including Mozilla's Mitchell Baker, Samba's Jeremy Allison, and Sleepycat's Michael Olson. There's also an essay co-authored by Slashdot's own Jeff Bates. The sample chapter is the introduction, and includes an entertaining riff on the parallels between the open source community and the Burning Man community. This volume is edited by two of the original three editors, Chris DiBona (former Slashdot editor) and Mark Stone, together with Danese Cooper. You might want to compare this with the original "Open Sources", whose entire text can be found online." -
Open Sources 2.0
dpilgrim writes "O'Reilly has just released a successor volume to 1999's "Open Sources", entitled "Open Sources 2.0". The table of contents reveals contributions from a number of open source luminaries, including Mozilla's Mitchell Baker, Samba's Jeremy Allison, and Sleepycat's Michael Olson. There's also an essay co-authored by Slashdot's own Jeff Bates. The sample chapter is the introduction, and includes an entertaining riff on the parallels between the open source community and the Burning Man community. This volume is edited by two of the original three editors, Chris DiBona (former Slashdot editor) and Mark Stone, together with Danese Cooper. You might want to compare this with the original "Open Sources", whose entire text can be found online." -
Andy Tanenbaum Releases Minix 3
Guillaume Pierre writes "Andy Tanenbaum announced the availability of the next version of the Minix operating system. "MINIX 3 is a new open-source operating system designed to be highly reliable and secure. This new OS is extremely small, with the part that runs in kernel mode under 4000 lines of executable code. The parts that run in user mode are divided into small modules, well insulated from one another. For example, each device driver runs as a separate user-mode process so a bug in a driver (by far the biggest source of bugs in any operating system), cannot bring down the entire OS. In fact, most of the time when a driver crashes it is automatically replaced without requiring any user intervention, without requiring rebooting, and without affecting running programs. These features, the tiny amount of kernel code, and other aspects greatly enhance system reliability."In case anyone wonders: yes, he still thinks that micro-kernels are more reliable than monolithic kernels ;-) Disclaimer: I am the chief architect of Globule, the experimental content-distribution network used to host www.minix3.org." -
HBO Attacking BitTorrent
DIY News writes "HBO is actively poisoning the BitTorrent downloads of the new show Rome. In addition to an older tactic of offering bogus downloads that never complete, HBO is now obstructing the downloads offered by other people. HBO runs peers that tell the tracker they have all the chunks of the show, but then send garbage data when a downloader requests a chunk. While the bogus peers can be detected, it will take much longer to download shows." -
Learning GNU Emacs, 3rd Edition
barryhawkins writes "It's safe to assume that people who are thinking of learning GNU Emacs or improving their Emacs skills are motivated. These people probably know their way around a command prompt, and likely know that Lisp is more than just a speech impediment. They need a book that offers expert advice without wasting time or insulting the intelligence of the reader: Learning GNU Emacs, 3rd Edition is that book." Read on for the rest of Hawkins' review. Learning GNU Emacs, 3rd Edition author Debra Cameron, James Elliott, Marc Loy, Eric Raymond & Bill Rosenblatt pages 534 publisher O'Reilly Publishing rating 9 reviewer Barry Hawkins ISBN 0596006489 summary An intelligent, graded treatment of the landscape of useful Emacs skills and how to internalize themFor a programmer, it is reasonable to question whether or not a word processor or graphical IDE is the right tool to edit a simple script or properties file. IDEs like Eclipse have become universals hammers, and to some of their users, any file containing text looks like a nail. Specific tasks are rarely handled well by universal tools, and text editing is no exception. Dave Thomas and Andy Hunt, authors of The Pragmatic Programmer and founders of the Pragmatic Bookshelf series, recommend that programmers adopt a text editor as an essential utility in their collection of appropriately-suited tools. The tried-and-true text editor is enjoying a renaissance of sorts, and one of the most extensible and customizable applications among text editors is the venerable GNU Emacs.
Tutorials and documentation for Emacs are abundant, but they often prove time-consuming and ineffective for actually learning Emacs. The printed version of the official GNU Emacs manual reads more like an application programming interface (API) document than an instructional guide. This book is a refreshing break from the documentation many have come to expect. Imagine having a group of leading experts on Emacs at your disposal to teach you how to use it in a conversational, consultative style. That is what has been bundled into this book.
The extensibility of Emacs is considered both a key strength and a confusing weakness of the application. The Emacs community has created all sorts of additional capabilities for Emacs, ranging from the impressive to the absurd. The authors have done well to judiciously select which Emacs capabilities to cover. For example, while Emacs does have the capability to function as an email client, other applications have long superseded its ability. The authors have chosen not to cover this topic, and instead devote the available space to learning Emacs' core functionality -- powerful, efficient text editing.
This edition of the book uses the space gained by the removal of esoteric topics to flesh out areas of more common interest. Peripheral areas of Emacs, such as compatibility modes for programming languages (other than Java and Perl), have been left for the user to research after gaining a solid foundation on Emacs as editor and work environment. Integration with the major version control systems has been expanded to include Subversion alongside the age-old standards CVS, RCS, and SCCS. Coverage of support for Java and Perl has also improved, as well as sections for editing HTML and XML. Users wanting to tap into the power of Lisp programming for Emacs should find the coverage satisfying as well.
The pace of the material is comfortable, and the order in which topics are introduced allows the user to progress smoothly through the book. Users with some experience can skip past the first three chapters, but would be advised to read through them, particularly those who are self-taught (which applies to most Emacs users). Given the amount of time the average user spends in Emacs, picking up one or two time-saving shortcuts would be well worth an investment of a few hours. Instructions are given in a way that reflects the fact that there are multiple ways to achieve the same outcome; the authors do not attempt to foist "the only way" to accomplish something upon the reader. Some readers will find that bothersome, desiring instead a simple, straightforward heuristic for performing a task. However, the typical users of Emacs tend to be people who embrace the fact that the world is not a simple, straightforward abstraction. The book reflects the authors' awareness of this nuance.
Perhaps the most distinguishing feature of this book is the chapter devoted to the use of Emacs on different platforms. Unix, Windows and Mac OS X users receive equal acknowledgment. The precautions and insights regarding subtle differences in Emacs when used on particular platforms can reduce users' frustration when getting started.
The mnemonic devices and conventions used in the book allow users to commit useful keyboard commands to memory. The memorization is further solidified by the exercises sprinkled appropriately through each chapter. Readers do not go for very many pages before it is time to be at the keyboard again, harnessing the power of muscle memory to reinforce the material presented. Those who spend any time at a shell prompt or in console applications will find that their new mastery of Emacs keyboard shortcuts translates into increased proficiency with command-line operations as well.
You can purchase Learning GNU Emacs, 3rd Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
-
Learning GNU Emacs, 3rd Edition
barryhawkins writes "It's safe to assume that people who are thinking of learning GNU Emacs or improving their Emacs skills are motivated. These people probably know their way around a command prompt, and likely know that Lisp is more than just a speech impediment. They need a book that offers expert advice without wasting time or insulting the intelligence of the reader: Learning GNU Emacs, 3rd Edition is that book." Read on for the rest of Hawkins' review. Learning GNU Emacs, 3rd Edition author Debra Cameron, James Elliott, Marc Loy, Eric Raymond & Bill Rosenblatt pages 534 publisher O'Reilly Publishing rating 9 reviewer Barry Hawkins ISBN 0596006489 summary An intelligent, graded treatment of the landscape of useful Emacs skills and how to internalize themFor a programmer, it is reasonable to question whether or not a word processor or graphical IDE is the right tool to edit a simple script or properties file. IDEs like Eclipse have become universals hammers, and to some of their users, any file containing text looks like a nail. Specific tasks are rarely handled well by universal tools, and text editing is no exception. Dave Thomas and Andy Hunt, authors of The Pragmatic Programmer and founders of the Pragmatic Bookshelf series, recommend that programmers adopt a text editor as an essential utility in their collection of appropriately-suited tools. The tried-and-true text editor is enjoying a renaissance of sorts, and one of the most extensible and customizable applications among text editors is the venerable GNU Emacs.
Tutorials and documentation for Emacs are abundant, but they often prove time-consuming and ineffective for actually learning Emacs. The printed version of the official GNU Emacs manual reads more like an application programming interface (API) document than an instructional guide. This book is a refreshing break from the documentation many have come to expect. Imagine having a group of leading experts on Emacs at your disposal to teach you how to use it in a conversational, consultative style. That is what has been bundled into this book.
The extensibility of Emacs is considered both a key strength and a confusing weakness of the application. The Emacs community has created all sorts of additional capabilities for Emacs, ranging from the impressive to the absurd. The authors have done well to judiciously select which Emacs capabilities to cover. For example, while Emacs does have the capability to function as an email client, other applications have long superseded its ability. The authors have chosen not to cover this topic, and instead devote the available space to learning Emacs' core functionality -- powerful, efficient text editing.
This edition of the book uses the space gained by the removal of esoteric topics to flesh out areas of more common interest. Peripheral areas of Emacs, such as compatibility modes for programming languages (other than Java and Perl), have been left for the user to research after gaining a solid foundation on Emacs as editor and work environment. Integration with the major version control systems has been expanded to include Subversion alongside the age-old standards CVS, RCS, and SCCS. Coverage of support for Java and Perl has also improved, as well as sections for editing HTML and XML. Users wanting to tap into the power of Lisp programming for Emacs should find the coverage satisfying as well.
The pace of the material is comfortable, and the order in which topics are introduced allows the user to progress smoothly through the book. Users with some experience can skip past the first three chapters, but would be advised to read through them, particularly those who are self-taught (which applies to most Emacs users). Given the amount of time the average user spends in Emacs, picking up one or two time-saving shortcuts would be well worth an investment of a few hours. Instructions are given in a way that reflects the fact that there are multiple ways to achieve the same outcome; the authors do not attempt to foist "the only way" to accomplish something upon the reader. Some readers will find that bothersome, desiring instead a simple, straightforward heuristic for performing a task. However, the typical users of Emacs tend to be people who embrace the fact that the world is not a simple, straightforward abstraction. The book reflects the authors' awareness of this nuance.
Perhaps the most distinguishing feature of this book is the chapter devoted to the use of Emacs on different platforms. Unix, Windows and Mac OS X users receive equal acknowledgment. The precautions and insights regarding subtle differences in Emacs when used on particular platforms can reduce users' frustration when getting started.
The mnemonic devices and conventions used in the book allow users to commit useful keyboard commands to memory. The memorization is further solidified by the exercises sprinkled appropriately through each chapter. Readers do not go for very many pages before it is time to be at the keyboard again, harnessing the power of muscle memory to reinforce the material presented. Those who spend any time at a shell prompt or in console applications will find that their new mastery of Emacs keyboard shortcuts translates into increased proficiency with command-line operations as well.
You can purchase Learning GNU Emacs, 3rd Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
-
Space Saving Technologies for the Home?
An anonymous reader asks: "My wife & I are moving from an 1800 square foot apartment to a 900 square foot apartment this weekend. In order to keep our one size extravagance, a 6' x 6' table, we need to make some compromises. What can I do to solve this problem? What other great space-saving solutions with technology are there?" "The first compromise we've made is books. All of my O'Reilly books, and any other book that we can access on Safari is being given away or sold. I've also gotten rid of my outdated tech manuals, except for the VMS books, and historically significant UNIX books.
I've also disposed of all my desktops. My wife is keeping hers, but all I really need is a portable laptop stand which can mount an LCD screen, and my PowerBook.
Now comes the Living Room -- our entertainment center takes up way too much space. 400 DVDs, 100 videos, and countless CDs. We're going to rip all of the CDs, for sure. We're also going to get rid of our television and replace it with a wall-mounted LCD.
This leaves an important question: Digital Media Centers. I've seen a lot of half-there DIY digital media centers involving MythTV or Windows Media Center Edition. I just haven't seen the right solution. The right solution to me needs to allow me to easily rip and encode (though I'd be happy just ripping, because I don't want to sacrifice quality for space. I have 10 400GB hard drives laying in my office waiting for a use)." -
Perl Best Practices
honestpuck (Tony Williams) writes "I have to admit that I can bristle at books that try to preach, so Perl Best Practices was on a hiding to nothing when I came to review it. I also have to admit to being torn about the author -- after all, he is one of those poor fools who insist on living in cold, unenlightened Melbourne, while I live in vastly superior Sydney. On the other hand, how can I dislike a man who manages to place a quote that involves my favourite character, Lady Bracknell. from my favourite comic play, 'The Importance of Being Earnest,' in the first few pages of his book?" Read on for Williams' review. Perl Best Practices author Damian Conway pages 492 publisher O'Reilly Media rating 8 reviewer Tony Williams ISBN 0596001738 summary Methods of coding to improve your Perl software
Many years ago I read a marvelous article that explained why so may early editors and word processors supported the keyboard commands of WordStar. When it's first born, a baby duck can be easily convinced that almost anything is its mother. The small bird imprints, and it takes a lot to shift its focus. "Baby Duck Syndrome" affects programmers in a number of ways, not just their choice of editor, and Conway is walking right into the middle and arguing with your imprinting on almost every page. A brave man; fortunately he has the street cred to make you at least listen.
So I carefully placed my bias and bigotry in the bottom drawer and prepared myself. I discovered a well-written, informed and engaging book that covers a number of methods (hey, 256 rules, come on Derrick, 2 ^ 8 rules can't be a coincidence!) for improving your Perl software when working in a team. That means all of us when you remember an adage a guru once told me: "Every piece of computer software, no matter how small, involves at least a team of two -- me, and me six months from now when I have to fix it." Conway puts it differently "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
The first chapter outlines the why and where of the book. The why is to improve your code with three goals; robustness, efficiency and maintainability. The chapter finishes with a short exhortation to us to "rehabit." Don't like the word much but I applaud the aim.
Conway is far from timid. He jumps right in to the deep end of the wars, with formatting the appearance of your code. I thought the chapter was brilliantly written until he told me I shouldn't "cuddle else statements," at which point I realized what an ill-informed idiot he was. Oh, hang on. Hey, that almost makes sense. OK, that's a cogent argument for your point of view, Conway. I also have to admit that earlier you did say that your rules for this bit weren't gospel, that if you wanted a variation that was OK, just have a standard and make sure you can support it with a code prettier. Perhaps not a total idiot after all.
After successfully negotiating those shark infested waters, Conway -- obviously a man who knows no fear -- wades into naming conventions. Once again he gives coherent arguments, pointed examples and counterexamples. It all makes sense.
The book's page at O'Reilly has an example chapter and a good description, but no table of contents so here's a quick list of the headings:- Best Practices
- Code Layout
- Naming Conventions
- Values and Expressions
- Variables
- Control Structures
- Documentation
- Built-in Functions
- Subroutines
- I/O
- References
- Regular Expressions
- Error Handling
- Command-Line Processing
- Objects
- Class Hierarchies
- Modules
- Testing and Debugging
- Miscellanea
The book is also well-written and well-edited. The order of topics covered is a sensible one, and the book is appropriately structured. It reads and feels as if you are being given the wisdom from many a hard-won battle coding and maintaining Perl code.
My one complaint is that I found it dry: you are reading through pages of argument and examples without much relief. Perhaps this book might be best digested in a number of chunks, making the effort to use the ideas from each chunk for a while before moving on to the next.
Every so often I read a book from O'Reilly that makes me fear that they are slipping, then along comes a book like Perl Best Practices, and I'm reminded that when it comes to Perl, O'Reilly authors wrote the book. Once you've rushed through Larry's book and learnt the finer points with Schwartz and Phoenix's 'Learning' titles, you may well find that this is the perfect volume to complete your Perl education. If you believe your Perl education is complete, then buy this volume and I'm sure you'll find a lesson or two for yourself.
This book is not really aimed at the occasional Perl programmer (though many of us would probably benefit from its wisdom), but at the person who is professionally programming in Perl and wants to produce better quality, more easily maintained code. For this person Perl Best Practices is a 9/10. For the rest of us, the 'rehabiting' process might be a little too arduous; personally, I'm going to pick a few of the chapters and work on those for a while, maybe naming conventions and variables. For me I'll give it an 8.
You can purchase Perl Best Practices from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Slashback: Start, Trash, Explain
Slashback tonight with more on the Microsoft start page project vis-a-vis Google's similar one, a wee $40 million slap on the wrist for Amazon over shopping-cart patent infrigement, new animals for the CodeZoo, and a strong denial that WikiPedia has announced a more stringent editorial policy. Details on these stories and more, below.
What's done is done, and in a certain order. MSN.com general manager Hadi Partovi writes:"A few days ago I read your Slashdot post about start.com.
Thanks for the note!
Thank you for the promotion :-). Meanwhile, I wanted to make sure you know that the work we've been doing on the start.com project actually predates the Google personalized page. I manage a tiny incubation team that has been building start.com since November, and it was first live on the Web in February, 3 months before Google released their personalized page. Of course we are missing some capabilities that Google has, and vice versa. It's a tight competition. But I'm emailing you because our team takes a lot of pride in its innovation. You may point out at a lot of place where Microsoft is following competitors, but if you track the functionality and UI changes that the companies have made over the past 6 months, this has clearly been a place where Google has been following Microsoft's lead.
(Our main engineer on the project has written a bit more about this to respond to your post.)
Anyway, I'm not sending this to be defensive. Heck, I have a lot of work to do to bring an innovation culture to the MSN organization and in many areas we have our work cut out for us. But I guess I want my small incubation team to get credit for being the leading innovators on this one small product :-)"
Always clean out the trashcan. dotpavan writes "The Register and Cnet have this report about Kai-Fu Lee not cleaning his recycle bin at his previous workplace and now MS has stumbled upon some interesting document, which shows that Google anticipated the MS move, and had planned top put him on a leave of absence or have him as a consultant to thwart any attempt of MS getting him back."
Amazon Settles Patent Suit For $40M theodp writes "In today's SEC filing, Amazon.com disclosed it will pay $40 million to settle an e-commerce patent infringement lawsuit that was reported earlier on Slashdot. The terms of the settlement also provide for dismissal of all claims and counterclaims and grant Amazon a nonexclusive license to Soverain's patent portfolio."
29+36 more = 65 vector drawing apps. Anonymous Coward writes "There were many useful comments made for 29 Vector Drawing Programs. After incorporating most of them, the revised column has 65 Vector Drawing Programs."
And each after its own kind. chromatic writes "As seen on the O'Reilly Radar and announced at OSCON 2005, CodeZoo now lists Python and Ruby components. CodeZoo is a human-edited directory of useful, well-maintained, and redistributable software components in various languages. (Slashdot previously covered CodeZoo's launch.)"
The chair recognizes Mr. Wales for a point of clarification. brajesh writes "There has been news on Slashdot and others about Wikipedia announcing tighter editorial control. It seems that everyone jumped the gun. Jimmy Wales, a founder of Wikipedia, has clarified his stance on the idea of freezing stable content on Wikipedia. Apparently, [Jimbo writes] 'I spoke in English, and this was translated to German. Then the German was translated back to English, and then translated again into the Slashdot story.' Also, 'There was no "announcement." We are constantly reviewing our policies and looking for ways to improve, but we have not "announced" anything. We don't even really work that way ... if you know how Wikipedia works, it's through a long process of community discussion and consensus building, not through a process of top-down announcements.' This has also been covered on Ars Technica."
Google Earth not a security risk after all. mister_tim writes "In a follow-up to yesterday's story about ANSTO's request that Google censor images of Australia's only nuclear reactor, the Australian government has now come out and said that Google Earth poses no security risk. Australia's Attorney General has come to the view, also noted by many /. readers, that the Google images have been available for several years from other sources and add nothing to the existing publicly available data. Chalk this one up as a victory for common sense." -
Slashback: Start, Trash, Explain
Slashback tonight with more on the Microsoft start page project vis-a-vis Google's similar one, a wee $40 million slap on the wrist for Amazon over shopping-cart patent infrigement, new animals for the CodeZoo, and a strong denial that WikiPedia has announced a more stringent editorial policy. Details on these stories and more, below.
What's done is done, and in a certain order. MSN.com general manager Hadi Partovi writes:"A few days ago I read your Slashdot post about start.com.
Thanks for the note!
Thank you for the promotion :-). Meanwhile, I wanted to make sure you know that the work we've been doing on the start.com project actually predates the Google personalized page. I manage a tiny incubation team that has been building start.com since November, and it was first live on the Web in February, 3 months before Google released their personalized page. Of course we are missing some capabilities that Google has, and vice versa. It's a tight competition. But I'm emailing you because our team takes a lot of pride in its innovation. You may point out at a lot of place where Microsoft is following competitors, but if you track the functionality and UI changes that the companies have made over the past 6 months, this has clearly been a place where Google has been following Microsoft's lead.
(Our main engineer on the project has written a bit more about this to respond to your post.)
Anyway, I'm not sending this to be defensive. Heck, I have a lot of work to do to bring an innovation culture to the MSN organization and in many areas we have our work cut out for us. But I guess I want my small incubation team to get credit for being the leading innovators on this one small product :-)"
Always clean out the trashcan. dotpavan writes "The Register and Cnet have this report about Kai-Fu Lee not cleaning his recycle bin at his previous workplace and now MS has stumbled upon some interesting document, which shows that Google anticipated the MS move, and had planned top put him on a leave of absence or have him as a consultant to thwart any attempt of MS getting him back."
Amazon Settles Patent Suit For $40M theodp writes "In today's SEC filing, Amazon.com disclosed it will pay $40 million to settle an e-commerce patent infringement lawsuit that was reported earlier on Slashdot. The terms of the settlement also provide for dismissal of all claims and counterclaims and grant Amazon a nonexclusive license to Soverain's patent portfolio."
29+36 more = 65 vector drawing apps. Anonymous Coward writes "There were many useful comments made for 29 Vector Drawing Programs. After incorporating most of them, the revised column has 65 Vector Drawing Programs."
And each after its own kind. chromatic writes "As seen on the O'Reilly Radar and announced at OSCON 2005, CodeZoo now lists Python and Ruby components. CodeZoo is a human-edited directory of useful, well-maintained, and redistributable software components in various languages. (Slashdot previously covered CodeZoo's launch.)"
The chair recognizes Mr. Wales for a point of clarification. brajesh writes "There has been news on Slashdot and others about Wikipedia announcing tighter editorial control. It seems that everyone jumped the gun. Jimmy Wales, a founder of Wikipedia, has clarified his stance on the idea of freezing stable content on Wikipedia. Apparently, [Jimbo writes] 'I spoke in English, and this was translated to German. Then the German was translated back to English, and then translated again into the Slashdot story.' Also, 'There was no "announcement." We are constantly reviewing our policies and looking for ways to improve, but we have not "announced" anything. We don't even really work that way ... if you know how Wikipedia works, it's through a long process of community discussion and consensus building, not through a process of top-down announcements.' This has also been covered on Ars Technica."
Google Earth not a security risk after all. mister_tim writes "In a follow-up to yesterday's story about ANSTO's request that Google censor images of Australia's only nuclear reactor, the Australian government has now come out and said that Google Earth poses no security risk. Australia's Attorney General has come to the view, also noted by many /. readers, that the Google images have been available for several years from other sources and add nothing to the existing publicly available data. Chalk this one up as a victory for common sense." -
Don't Click on the Blue E
honestpuck writes "With an increasing number of people disenchanted with the flaws, bugs and security holes in the world's most popular web browser (still) switching to the current open source champion, Firefox, it would seem timely to release a volume titled Don't Click on the Blue E. The number of books on Firefox is increasing by leaps and bounds - so far I've read three, fortunately all have their place. Don't Click on the Blue E is O'Reilly's latest entry into the market. It is targeted at the absolute beginner. I found it to have the usual O'Reilly quality: well-written, well-edited and well-designed." Read on for the rest of Williams' review. Don't Click on the Blue E author Scott Granneman pages 254 publisher O'Reilly rating 7 reviewer Tony Williams ISBN 0596009399 summary Good guide to Firefox for beginners with some minor flawsThat said, it is not without flaws. I hate most of the first chapter and see it as a waste of space. 35 pages mainly of history (some of the Net, and some of browsers) is almost self-indulgent. Certainly almost all buyers would not miss the information if it was reduced to two or three pages in the introduction or first chapter. There is some useful reasoning to justify the shift from Internet Explorer to Firefox at the end, but the rest needs a good going over with the red pencil.
I also found that for a book titled Don't Click on the Blue E, there was not enough information of the "in IE you did it this way, and in Firefox you do it this way" type. The book is a good entry-level guide to Firefox but I would have hoped for more guidance for people switching from IE to Firefox.
I'm getting a little ahead of myself. First, it has to be said that O'Reilly have done away with their usual cover and given us a bright orange cover with a graphic of a fox about to bite a familiar icon composed of a blue 'e.' I like it, this is definitely an O'Reilly book targeted outside their usual technically savvy market and deserves a different cover style.
The book feels light, despite the 250 pages, and is split into only five chapters and two appendices. As you can imagine, each chapter is a huge chunk of information, but the light writing style combined with a look that is heavy on illustrations and sidebars make it an easy read. Once again, this is a departure from O'Reilly's usual style but well suited to the likely reader. I also thought that they had used a lower grade paper than usual, probably to keep the retail cost down. As this is not a reference book to be kept for years, I didn't see this as a flaw.
I've already mentioned the first chapter; the second is devoted to installing and configuring Firefox. This is full of useful information and good illustrations to explain how to set up the browser in detail. The third chapter is how to use and manage it, covering topics such as the toolbars, the search box and adding engines, the menus, tabbed browsing and pop up blocking. The fourth deals with the add ons - plugins, themes and extensions. The final chapter is a bit of a grab bag. Titled "Advanced Firefox," it covers such topics as Live Bookmarks and searching in pages. Each chapter has a well-researched and useful "Where to Learn More" section pointing to web sites with tools and information.
This is probably not a book for the average Slashdot reader. You may like to buy a copy so you can lend it to Uncle Bob or Aunt Susan after you spend another wasted afternoon cleaning the viruses and spyware out of their PC, but I doubt you'll want a copy for yourself. Taken as a whole this is a well-written, thorough book for the absolute beginner with one or two minor flaws. Despite the book's flaws I still find myself recommending it. If you would like a better look yourself, O'Reilly have their usual page of contents and two excerpts from the book.
I would recommend this book over Firefox and Thunderbird Garage for more serious readers. Garage has an occasional quirky tone that might annoy some -- for others it might be a benefit to learning. It also has a little more detail in some areas. Of course if you want a book that covers both applications, then Garage is the only book I've found. Don't Click on the Blue e is a good volume for a beginner who doesn't need the coverage of both Firefox and Thunderbird of the "Garage" book and would like a little more detail.
You can purchase Don't Click on the Blue e from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
O'Reilly Builds a MythTV Box
enrico_suave writes "While the Broadcast Flag battle continues, it's still legal to put together your own HDTV PC HTPC/PVR. O'Reilly has posted part 1 in a series of articles describing the ins and outs of Building a MythTV Box" From the article: "For now, the good news is that it is still legal to put together your own home-theater PC. Parts are now cheap enough that it is no longer ridiculous to build a PC specifically to handle TV for you, much like the VCR in Douglas Adams's Dirk Gently's Holistic Detective Agency..." -
Open Source GIS Conference Wrapup
Wugger writes "The open source GIS community has been around for a long time, but has only been meeting regularly for the past three years. The most recent conference wrapped up on the weekend in Minneapolis. An excellent summary article and blog postings are available from Directions Magazine. Other attendees have also posted blogs and observations. The conference was attended by 300 people this year (up from 200 the previous year) and all the major open source GIS hackers were in attendance. In addition, some proprietary corporate players showed up to check out the scene: Autodesk, ERMapper, and ESRI, the Microsoft of the GIS industry." -
Test Driving Linux
Michael J. Ross writes "As Windows users hear more about Linux, they may be intrigued to give it a try, if only to learn what the buzz is about. But a major hurdle, possibly the most daunting, is how to obtain and install Linux on their PCs without disrupting their Windows installation. To the average PC user (not a techie), the required steps are intimidating; to a computer newbie, they appear impossible. But with the introduction of Linux in the form of 'live CDs,' trying out Linux is as easy as popping a CD into one's computer and rebooting. The entire operating system is stored on the CD, thus avoiding having to install it on the hard drive. Test Driving Linux: From Windows to Linux in 60 Seconds , by David Brickner, includes a live CD and explains how to use it." Read on for the rest of Ross's review. Test Driving Linux: From Windows to Linux in 60 Seconds author David Brickner pages 341 publisher O'Reilly Media rating 8 reviewer Michael J. Ross ISBN 059600754X summary A guide for trying Linux on a bootable CD included with the bookThis title is another in the growing list of books published by O'Reilly Media, whose user group representative kindly gave me a copy of the book to review. The book comprises 341 pages, and has plenty of screenshots, an appendix of solutions, and a Linux CD secured in an envelope within the back cover.
The particular Linux distribution ("distro") provided on the book's CD is Move, which is based upon Mandriva Linux, which was formerly known as Mandrake. While most Linux aficionados have their favorite distro, and can argue vehemently in favor of one against all others, there is widespread agreement in the Linux community that Mandrake established itself as a solid choice years ago.
Brickner begins this manuscript with an enthusiastic first chapter in which he introduces the computer neophyte to Linux, using cars and test driving as analogies. He briefly mentions how Linux got started, how it fits into GNU/Linux, and what the terms "free software" and "open source" mean. He then describes how to get started with Move by booting off of the CD -- assuming that one's computer has the minimum system requirements (detailed in the book's preface). Non-confident readers will likely appreciate the author's reassuring explanation that Move will not affect their computer's current setup. The chapter continues with an explanation of the KDE desktop, its "kicker" panel, the look and feel of a typical KDE application, window control, desktop background customization, KDE programs that replace Windows applications, and finally how to log out properly.
The next nine chapters of the book cover major application areas, and how to perform common tasks using the corresponding KDE applications of those areas: Web surfing (using Konqueror or Mozilla), file management (Konqueror again), music and videos, games, communication (e-mail and instant messaging), digital image editing (using the GIMP), desktop customization (using the KDE Control Center), office suite (OpenOffice.org), and money management. The final three chapters explore the Linux command line (Konsole), popular programs that are not included on the CD, and advice to those users who decide to switch over to Linux long-term.
In all of the chapters devoted to the major KDE applications, Brickner does a competent job of explaining the basics to the beginner, including handy summaries for more proficient users (such as keyboard shortcuts), and plenty of screenshots that help the reader to verify that they are running the correct application under discussion, and that they are looking in the right places within the application windows. However, all of the figures are in black and white, which makes distinguishing text extremely difficult in those cases where adjacent colors, that are typically well contrasting, merge into shades of dark gray. In addition, I spotted one erratum, on page 84, in which the first letter of "Booting advice for Move" is in a strangely different font, for no apparent reason. This is not representative of the book as a whole, which is well-made, neatly laid out, and uses a flexible layout-flat binding.
Brickner helpfully warns the user of potential pitfalls, such as showstopper dialog boxes being hidden by other Windows. He should be commended for advising the user to set their browser identification to alternatives other than Internet Explorer, if only to encourage Web site owners to not limit the browsers that will work with their sites. One minor error in the browser chapter is, when referring to the Gecko rendering engine used by Mozilla, the author incorrectly identifies it as "gecko," though that may have been an error on the part of the publisher.
For those users who enjoy trying out Linux enough to consider abandoning Windows completely, the final chapter of the book will be most welcome. Brickner identifies which distros are capable of resizing an NTFS-formatted partition; this determines whether or not a user can install that distro on a hard drive already containing Windows, and thus have a dual-boot system. He also distinguishes between those distros that are Windows-like, in that the Linux characteristics are hidden as much as possible, versus those which make no such effort. One potential weakness in his discussion, is that he mentions the ability or inability of particular editions of various distros to authenticate against Windows servers, and yet he does not explain to the reader what that means. On the other hand, any reader who does not understand the idea, probably does not need to.
Overall, I found this book to be worthy of recommendation to anyone who would like to learn more about how to use a robust Linux distro on a live CD. The coverage of topics appears complete, at least for those tasks that the typical computer user needs to perform on a daily basis. There are few errors in the text, and the author has done an admirable job of warning the reader as to potential problems, as well as noting when certain features will not work when running off of the CD, and why. These explanations go a long way to assuaging the reader, who might otherwise become frustrated and conclude that either Move is not operating properly, or that they are doing something wrong. The publisher's choice to use only black and white images, no doubt has the advantage of keeping the book's cost reasonable (a list price of U.S. $24.95), but it has the disadvantages of reducing the utility of those illustrations -- especially when discussing color customization -- in addition to the aforesaid problem of adjacent grayscale regions merging into dark blobs that are difficult to distinguish from one another.
Test Driving Linux is clearly of value in better introducing the public to the power and promise of Linux. It is undoubtedly one of the most user-friendly tools that could assist Linux advocates in spreading the word, and encouraging computer users to break away from operating systems that are expensive, buggy, and non-secure. As Brickner notes in his preface, when people unfamiliar with Linux give it a test drive, by simply booting off of the CD provided with the book, they just might want to stay with Linux long-term.
Michael J. Ross is a freelance writer, computer consultant, and the editor of PristinePlanet.com's free newsletter. You can purchase Test Driving Linux: From Windows to Linux in 60 Seconds from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Test Driving Linux
Michael J. Ross writes "As Windows users hear more about Linux, they may be intrigued to give it a try, if only to learn what the buzz is about. But a major hurdle, possibly the most daunting, is how to obtain and install Linux on their PCs without disrupting their Windows installation. To the average PC user (not a techie), the required steps are intimidating; to a computer newbie, they appear impossible. But with the introduction of Linux in the form of 'live CDs,' trying out Linux is as easy as popping a CD into one's computer and rebooting. The entire operating system is stored on the CD, thus avoiding having to install it on the hard drive. Test Driving Linux: From Windows to Linux in 60 Seconds , by David Brickner, includes a live CD and explains how to use it." Read on for the rest of Ross's review. Test Driving Linux: From Windows to Linux in 60 Seconds author David Brickner pages 341 publisher O'Reilly Media rating 8 reviewer Michael J. Ross ISBN 059600754X summary A guide for trying Linux on a bootable CD included with the bookThis title is another in the growing list of books published by O'Reilly Media, whose user group representative kindly gave me a copy of the book to review. The book comprises 341 pages, and has plenty of screenshots, an appendix of solutions, and a Linux CD secured in an envelope within the back cover.
The particular Linux distribution ("distro") provided on the book's CD is Move, which is based upon Mandriva Linux, which was formerly known as Mandrake. While most Linux aficionados have their favorite distro, and can argue vehemently in favor of one against all others, there is widespread agreement in the Linux community that Mandrake established itself as a solid choice years ago.
Brickner begins this manuscript with an enthusiastic first chapter in which he introduces the computer neophyte to Linux, using cars and test driving as analogies. He briefly mentions how Linux got started, how it fits into GNU/Linux, and what the terms "free software" and "open source" mean. He then describes how to get started with Move by booting off of the CD -- assuming that one's computer has the minimum system requirements (detailed in the book's preface). Non-confident readers will likely appreciate the author's reassuring explanation that Move will not affect their computer's current setup. The chapter continues with an explanation of the KDE desktop, its "kicker" panel, the look and feel of a typical KDE application, window control, desktop background customization, KDE programs that replace Windows applications, and finally how to log out properly.
The next nine chapters of the book cover major application areas, and how to perform common tasks using the corresponding KDE applications of those areas: Web surfing (using Konqueror or Mozilla), file management (Konqueror again), music and videos, games, communication (e-mail and instant messaging), digital image editing (using the GIMP), desktop customization (using the KDE Control Center), office suite (OpenOffice.org), and money management. The final three chapters explore the Linux command line (Konsole), popular programs that are not included on the CD, and advice to those users who decide to switch over to Linux long-term.
In all of the chapters devoted to the major KDE applications, Brickner does a competent job of explaining the basics to the beginner, including handy summaries for more proficient users (such as keyboard shortcuts), and plenty of screenshots that help the reader to verify that they are running the correct application under discussion, and that they are looking in the right places within the application windows. However, all of the figures are in black and white, which makes distinguishing text extremely difficult in those cases where adjacent colors, that are typically well contrasting, merge into shades of dark gray. In addition, I spotted one erratum, on page 84, in which the first letter of "Booting advice for Move" is in a strangely different font, for no apparent reason. This is not representative of the book as a whole, which is well-made, neatly laid out, and uses a flexible layout-flat binding.
Brickner helpfully warns the user of potential pitfalls, such as showstopper dialog boxes being hidden by other Windows. He should be commended for advising the user to set their browser identification to alternatives other than Internet Explorer, if only to encourage Web site owners to not limit the browsers that will work with their sites. One minor error in the browser chapter is, when referring to the Gecko rendering engine used by Mozilla, the author incorrectly identifies it as "gecko," though that may have been an error on the part of the publisher.
For those users who enjoy trying out Linux enough to consider abandoning Windows completely, the final chapter of the book will be most welcome. Brickner identifies which distros are capable of resizing an NTFS-formatted partition; this determines whether or not a user can install that distro on a hard drive already containing Windows, and thus have a dual-boot system. He also distinguishes between those distros that are Windows-like, in that the Linux characteristics are hidden as much as possible, versus those which make no such effort. One potential weakness in his discussion, is that he mentions the ability or inability of particular editions of various distros to authenticate against Windows servers, and yet he does not explain to the reader what that means. On the other hand, any reader who does not understand the idea, probably does not need to.
Overall, I found this book to be worthy of recommendation to anyone who would like to learn more about how to use a robust Linux distro on a live CD. The coverage of topics appears complete, at least for those tasks that the typical computer user needs to perform on a daily basis. There are few errors in the text, and the author has done an admirable job of warning the reader as to potential problems, as well as noting when certain features will not work when running off of the CD, and why. These explanations go a long way to assuaging the reader, who might otherwise become frustrated and conclude that either Move is not operating properly, or that they are doing something wrong. The publisher's choice to use only black and white images, no doubt has the advantage of keeping the book's cost reasonable (a list price of U.S. $24.95), but it has the disadvantages of reducing the utility of those illustrations -- especially when discussing color customization -- in addition to the aforesaid problem of adjacent grayscale regions merging into dark blobs that are difficult to distinguish from one another.
Test Driving Linux is clearly of value in better introducing the public to the power and promise of Linux. It is undoubtedly one of the most user-friendly tools that could assist Linux advocates in spreading the word, and encouraging computer users to break away from operating systems that are expensive, buggy, and non-secure. As Brickner notes in his preface, when people unfamiliar with Linux give it a test drive, by simply booting off of the CD provided with the book, they just might want to stay with Linux long-term.
Michael J. Ross is a freelance writer, computer consultant, and the editor of PristinePlanet.com's free newsletter. You can purchase Test Driving Linux: From Windows to Linux in 60 Seconds from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
iTunes 4.9 To Support Podcasting
WaRrK writes "O'Reilly Radar are reporting that in a demo at D: All Things Digital Conference, Steve Jobs showed off iTunes 4.9, which has support for iPodder like functionality. Although, he was "slightly" dismissive of the phenomena, describing it as "Wayne's World for radio". Also, whilst currently only supporting free content, they are not ruling out paid for podcasting in the future. iTunes 4.9 should be available within 60 days." Yeah, Steve's kinda right on this - podcasting is neat & all, but the breathy overstatement of how it will change our lives is a wee bit overdone. -
AOL Placed on Spam Blacklist
Hacker-X writes "According to this item over at Spam Kings, AOL has had a large swath of its IP addresses added to the Mail Abuse Prevention Systems (MAPS) Real-time Blackhole List (RBL). The RBL is used by many corporations and large ISPs to filter spam. MAPS evidently started blocking the AOL mail servers less than 24 hours after filing a complaint with AOL's abuse desk. The block was initiated in response to spam emanating from AOL mail servers." -
Bioinformatics in the Post-Genomic Era
nazarijo (Jose Nazario) writes "As a biochemist by training, Jeff Augen's Bioinformatics in the Post-Genomic Era was very interesting to me. Though I left the field some years ago, I was using the bioinformatics tools that are covered in the book daily and still look in from time to time. Naturally I was curious to see a larger perspective, as well as any progressions, that have occurred in the past few years. Augen's book gave me part of the larger picture, but it could have done more." Read on for the rest of Nazario's review. Bioinformatics in the Post-Genomic Era author Jeff Augen pages 388 publisher Addison-Wesley Longman rating 7 reviewer Jose Nazario ISBN 0321173864 summary Genome, Transcriptome, Proteome, and Information-Based MedicineBioinformatics is the science of biological information, namely sequences and metadata about organisms and sequences. What's interesting about this field to many people, both in the sciences and outside of it, is the large volume of data that gets analyzed and the results that emerge on a daily basis. Obviously interesting for the medical advances and the rapidly growing business in the life sciences, there's a complex field that has developed in the past ten years or so. And following the sequencing of the human genome, new challenges have arisen for everyone involved. Augen's Bioinformatics provides a good introduction to this new field of research for students in the sciences, and anyone with a decent undergraduate education in modern biology. I think that this accessibility of the material is one of the book's biggest winning points.
After an introduction to the book and the subject area of bioinformatics (chapters 1 and 2), Augen begins at the level of the structure of a gene (chapter 3). Here, anyone with an undergraduate level understanding of genetics or molecular biology can begin using the book and bridging the gap to the new areas of modern bioinformatics. Augen then describes how basic sequence analysis is performed at the DNA sequence level (in chapter 4). The material in Bioinformatics covers some of the higher-level methods for sequence analysis, including hidden Markov models, neural networks, and pattern discovery, and introduces some of the common algorithms found to do this analysis.
Chapter 5 then covers transcription, the process of going from DNA to mRNA. Beginning with the biology behind this activity (the ribosome and the larger "transcriptome"), Bioinformatics then describes how you would perform transcriptional analysis. Here, Augen shows how you go from a wet lab to a computational lab and describes what classes of experiments you perform to gather data and then what kinds of analysis you perform on it. This chapter introduces some of the more common clustering techniques for data aggregation and understanding.
The next step in the DNA -> RNA -> protein chain is found in chapter 6, which covers the translation process. Coupled to chapter 7, which describes protein structure prediction and searching, these two chapters bridge the next gap between laboratory data and computational analysis. Protein folding and structure analysis was one of my pet areas of study as a graduate student, and Augen's text does a decent summarization of the field to date. The resources listed and techniques described are definitely on par with the common practices in the field.
Finally, Bioinformatics gets into the next major area of bioinformatics, medical databases. Augen's bridge from genetics to medical science is complete, and he discusses how medical professionals utilize databases and can begin to predict disease, for example, based on data mining. The final chapter, "New Themes in Bioinformatics," covers exactly that, but also what Augen refers to as "workflow computing," or basically going about being a bioinformatics scientist. One of my favorite emerging areas in bioinformatics, metabolic pathway elucidation, is also covered briefly.
I've shared this book with a few friends who are all studying computer science or practicing computer scientists. I did so because Augen's material does a good job of explaining my background and introducing them to some of the analysis forms I introduce into my own work. It does a good job of that, and gets them quite excited. Bioinformatics really bridges a number of fascinating areas of computer sciences, including data mining and high performance algorithms. Augen's Bioinformatics is a good introduction to the field for them, and really anyone who has studied a couple of biology courses in college.
Where the book falls short, however, can be grouped into two main areas. The first is the failure of Augen's presentation of the algorithms. While the methods used to describe computational algorithms in Bioinformatics is common for non-computer scientists, it's completely unusable for computer scientists who are used to a specific algorithm presentation style that looks more like pseudocode than rambling text. The ambiguities this presents for a technical reader are unfortunate, especially if anyone studying bioinformatics is supposed to be computer science literate. The book itself assumes a life science literacy, so this isn't an unreasonable expectation of the reader.
The second area that consistently falls short in the book is in the utility of the information given. While I am significantly happier with the quality and depth of material presented in Augen's book than in the O'Reilly bioinformatics series, where the book fails to deliver is in showing the reader how to actually use the data they gather. After all, the book shows various sequence analysis algorithms and discusses tools available to do this work, but it only devotes a few pages (out of over 370 in total) to a workflow that can be used. Also, the book fails to point the reader at very worthwhile web resources sometimes, including meta sites like the SDSC Biology Workbench site, and just says "some Perl scripts" for local data analysis. As such, you'll have to go a few extra miles on your own to make use of the data sources.
I guess a third complaint of the book for me is that Augen has ignored or omitted significant bodies of research that fit squarely into the scope of the book. For example, Ken Dill's research into protein folding models, as well as Martin Karplus' work on the subject, receives no mention, nor does the topic of Bayesian network analysis when Augen discusses time series data analysis. These aren't new, they've been around for many years and influenced most of the field, and their absence is noted. The book's spotty coverage in some places, like these, is noticeable.
Bioinformatics does a few things well, but overall reads too much like a biology textbook to be useful to the average computer scientist. More emphasis on the practice of bioinformatics and data analysis would have made this book stronger and complemented the substantive background material well. Finally, using an approach more similar to the computer science approach would have been a tremendous benefit, since the material really is computer science in part. That said, I think this is probably the best introduction to this exciting area of science that I have yet seen.
You can purchase Bioinformatics in the Post-Genomic Era from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Firefox Hacks
honestpuck (Tony Williams) writes "If there is an application I run more often than my Web browser, particularly since I also use it as my email client, then I don't know what it might be. As a Firefox convert, that made the arrival of Firefox Hacks from O'Reilly a wonderful surprise." Read on for the rest of Williams' review. Firefox Hacks author Nigel McFarlane pages 368 publisher O'Reilly rating 7 reviewer Tony Williams ISBN 0596009283 summary A good, fairly technical examination of FirefoxThe first of several books on the topic of Firefox hacking (two more are due from other publishers in the coming months) Firefox Hacks sets the bar quite high. The author, Nigel McFarlane, has already written a number of other books and articles on similar topics and knows his subject well. He has also enlisted the help of a number of other cognoscenti to cover the more distant corners covered in the book.
A Web browser is a much more complex piece of software than you may realize on first examination, and Firefox -- with the core Gecko engine surrounded by a large wrapper written in XUL and JavaScript -- provides a fertile ground for any number of changes and enhancements. Firefox Hacks does a good job of mapping out the boundaries of this space.
Over the course of the now-traditional 100 hacks found in the same series' other members, this book covers hacking with, on, and to almost all aspects of Firefox and the 'net. The book is broken up into nine chapters, most worth reading by almost everyone -- even the first, "Firefox Basics," taught me a couple of tricks for getting the best out of a slow (and expensive) GPRS connection. The others are "Security," "Installation," "Web Surfing Enhancements," "Power Tools for Web Developers," "Power XML for Web Pages," "Hack the Chrome Ugly," "Hack the Chrome Cleanly," and "Work More Closely With Firefox." I have to say I felt the chapter on Power XML (with 17 of the 100 hacks) was far too general on Web technologies and a little out of place; easily half the hacks in that chapter could have been dropped without any real loss to a reader's understanding of Firefox. I would have preferred more on the browser itself. No insult intended to Seth Dillingham, who wrote four of the hacks I'd throw out -- they are well written and do show how best to deal with Web technologies inside Firefox. I just felt that the space would have been better devoted to more "core" topics.
The first four chapters will be useful to everyone, covering mainly the use of Firefox. From that point, the hacks become increasingly complex as they cover Web development, then modifying the interface, before covering such arcana as creating extensions and custom builds.
I am hard pressed to think of a corner of Firefox not at least touched, though it must be said that the later hacks only touch on the topics covered without really providing a lot of depth. If you get to the last two chapters in the book, performing and expanding on the hacks, you will probably need a great deal more information and assistance to branch out on your own. McFarlane, however, points out the possibilities and gets you started. I didn't feel this was a flaw, just that a line had been drawn, as it must unless the book was going to be three times the size and price.
The book is fairly well written. The quality of writing and editing fall into that middle ground of "fairly good" that one expects from the average O'Reilly book, though not the "excellent" they can sometimes hit. The structure and flow are excellent, making the book readable in large chunks -- enough sticks that when you are back in front of the computer using Firefox you can remember a few things. (Or, sometimes, I remembered that a hint existed and was able to easily find and use the information.)
For a closer look there is a decent page at O'Reilly with links to six example hacks, the table of contents (listing all 100 hacks) and the index.
To conclude, I'm not sure I could recommend this book to everyone; it spends a little too much time a fair way along the technology curve for those who aren't ready for some programming, though for anyone who wants to get their hands dirty and perform some hardcore hacking on their favourite browser, then this is an above-average volume. For someone who is happy as "just a user," this book may be too much: wait and see what else emerges into the Firefox book market -- including O'Reilly's other offering, the soon-to-be-released Don't Click on the Blue E, which they describe as giving "non-technical users a convenient roadmap for switching to a better web browser--Firefox."
Also watch soon for a review of Prentice Hall's Firefox & Thunderbird Garage. You can purchase Firefox 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. -
Return of the Mac
Ben Gutierrez writes "Paul Graham has posted a new essay on the Return of the Mac which begins with: 'All the best hackers I know are gradually switching to Macs.' Tim O'Reilly said some similar things in Watching Alpha Geeks . From the article: "My friend Robert said his whole research group at MIT recently bought themselves Powerbooks. These guys are not the graphic designers and grandmas who were buying Macs at Apple's low point in the mid 1990s. They're about as hardcore OS hackers as you can get." -
'Make' Premier Issue
prostoalex writes "The premier issue of Make magazine arrived in a thick envelope in my mailbox a few days ago. The magazine has been previousl publicized on Slashdot. Edited (in chief) by Mark Frauenfelder from BoingBoing and published by John Battelle and O'Reilly, this is an attempt for a quarterly publication for hackers, tinkerers, do-it-yourself type of guys and people interested in technology (not necessarily computers)." Read on for Alex's review; this sounds like the best parts of 1970s-era Popular Mechanics. Make author Published by John Battelle and O'Reilly Media pages 192 publisher www.makezine.com rating 10 reviewer Alex Moskalyuk ISBN 0596009224 summary A quarterly magazine on DIY technologyBut enough with the links. On the front page the magazine features 181 pages for DIY technology, promising stories on aerial photography, backyard monorails, XM radio hacks, iPod tricks, DIY magnetic card reader and blogging made simple. Make is roughly half the size of a normal full-page magazine (like PC Mag or InfoWorld) and generally feels like a paperback book more than a magazine. The paper is also not the glossy print you'd see in normal magazines, it says on page 8 that they used New Leaf Paper, made 100% from post-consumer waste. Make generally uses normal-type font, which should be readable by anyone, except for some pages where they switch to really large fonts.
The magazine is broken down into several logical categories. It starts with editors' welcome letters and short features of some DIY projects people have done on their own (this guy's backyard monorail stands out). The Maker pages in this premiere issue contain an interview with Neil Gershenfeld from MIT, an article on heirloom technology, possibility of building an open-source car and an expose of Bay Area Dorkbot group.
The Projects category (starting at p. 49) is where the real fun starts. The projects take up majority of the pages, and it makes sense - looks like the authors put their best into providing excruciating details, pieces of advice and general information, so that anyone can follow their work. The projects are well-illustrated, some contain necessary diagrams and cartoon-like explanations of what needs to be done to assemble the proper devices, the step-by-step pages contain both pictures and text. Each project is sub-divided into several parts - Set up (list of everything needed before you start), Make it (the actual step-by-step instructions and discussion of the projects), Use it (reasons for tinkering with the project in the first place). The setup list is also provided on Make Web site, like here's the list of components for magnetic stripe reader.
The projects for the issue include adding a disposable camera to the kite for aerial photography, a $14 video camera stabilizer, 5-in-1 network cable (the combination of RJ45 and DB9 inputs) and the magnetic stripe reader.
The major projects are followed by the projects consuming less time and efforts. This is mainly for people who would rather spend more money at the spot, buy some cool accessory to complement their electronic device, and do minimal engineering on their own, as far as I understand. The categories include Home Entertainment, Mobile, Cars, Online, Computers and some additional projects that did not fit anywhere above. The table of contents contains the complete list of projects.
It looks like the magazine that is needed in the market. At some point playing with technology became synonymous with running to the nearest mall and getting the latest electronic gadget, and even RadioShack nowadays mostly looks like a flashy storefront for selling cell service plans and new PDAs. Make is the magazine for people who like to look under the hood, who like to work on do-it-yourself projects and who feel great accomplishment when a project is over, even though its practical usability might be questioned. Of course, the amount of projects in the magazine is a bit overwhelming, but my guess is they figure you'll find some extremely interesting and some are just not interesting at all.
Since I grew up in the Soviet Union, Make magazine reminds me of Young Technician (when technician meant someone involved with technology), a Russian must-subscribe boy magazine that would pull the latest science and technology news together, and also dedicate large portion of its pages to readers' projects. Of course, nowadays, in the age of Hack A Day, Lifehacker and numerous HOW-TOs such magazine might not exactly have the exclusive coverage of the DIY projects. Google might turn out more results, but for some of the projects it also looks like the authors were either pioneers or authorities in their field since googling for DIY aerial photography provides just Make article and a bunch of links to it.
Make is a quarterly publication, so $35 subscription fee covers only 4 issues per year. A bit expensive, but if you plan to enrich yourself and spend free time more productively, I think Make has lots of content to entice the reader and keep him busy for 3 months. First impression might not mean a whole lot, but Make was one of few magazines that I enjoyed reading from page 1 to page 192.
-
'Make' Premier Issue
prostoalex writes "The premier issue of Make magazine arrived in a thick envelope in my mailbox a few days ago. The magazine has been previousl publicized on Slashdot. Edited (in chief) by Mark Frauenfelder from BoingBoing and published by John Battelle and O'Reilly, this is an attempt for a quarterly publication for hackers, tinkerers, do-it-yourself type of guys and people interested in technology (not necessarily computers)." Read on for Alex's review; this sounds like the best parts of 1970s-era Popular Mechanics. Make author Published by John Battelle and O'Reilly Media pages 192 publisher www.makezine.com rating 10 reviewer Alex Moskalyuk ISBN 0596009224 summary A quarterly magazine on DIY technologyBut enough with the links. On the front page the magazine features 181 pages for DIY technology, promising stories on aerial photography, backyard monorails, XM radio hacks, iPod tricks, DIY magnetic card reader and blogging made simple. Make is roughly half the size of a normal full-page magazine (like PC Mag or InfoWorld) and generally feels like a paperback book more than a magazine. The paper is also not the glossy print you'd see in normal magazines, it says on page 8 that they used New Leaf Paper, made 100% from post-consumer waste. Make generally uses normal-type font, which should be readable by anyone, except for some pages where they switch to really large fonts.
The magazine is broken down into several logical categories. It starts with editors' welcome letters and short features of some DIY projects people have done on their own (this guy's backyard monorail stands out). The Maker pages in this premiere issue contain an interview with Neil Gershenfeld from MIT, an article on heirloom technology, possibility of building an open-source car and an expose of Bay Area Dorkbot group.
The Projects category (starting at p. 49) is where the real fun starts. The projects take up majority of the pages, and it makes sense - looks like the authors put their best into providing excruciating details, pieces of advice and general information, so that anyone can follow their work. The projects are well-illustrated, some contain necessary diagrams and cartoon-like explanations of what needs to be done to assemble the proper devices, the step-by-step pages contain both pictures and text. Each project is sub-divided into several parts - Set up (list of everything needed before you start), Make it (the actual step-by-step instructions and discussion of the projects), Use it (reasons for tinkering with the project in the first place). The setup list is also provided on Make Web site, like here's the list of components for magnetic stripe reader.
The projects for the issue include adding a disposable camera to the kite for aerial photography, a $14 video camera stabilizer, 5-in-1 network cable (the combination of RJ45 and DB9 inputs) and the magnetic stripe reader.
The major projects are followed by the projects consuming less time and efforts. This is mainly for people who would rather spend more money at the spot, buy some cool accessory to complement their electronic device, and do minimal engineering on their own, as far as I understand. The categories include Home Entertainment, Mobile, Cars, Online, Computers and some additional projects that did not fit anywhere above. The table of contents contains the complete list of projects.
It looks like the magazine that is needed in the market. At some point playing with technology became synonymous with running to the nearest mall and getting the latest electronic gadget, and even RadioShack nowadays mostly looks like a flashy storefront for selling cell service plans and new PDAs. Make is the magazine for people who like to look under the hood, who like to work on do-it-yourself projects and who feel great accomplishment when a project is over, even though its practical usability might be questioned. Of course, the amount of projects in the magazine is a bit overwhelming, but my guess is they figure you'll find some extremely interesting and some are just not interesting at all.
Since I grew up in the Soviet Union, Make magazine reminds me of Young Technician (when technician meant someone involved with technology), a Russian must-subscribe boy magazine that would pull the latest science and technology news together, and also dedicate large portion of its pages to readers' projects. Of course, nowadays, in the age of Hack A Day, Lifehacker and numerous HOW-TOs such magazine might not exactly have the exclusive coverage of the DIY projects. Google might turn out more results, but for some of the projects it also looks like the authors were either pioneers or authorities in their field since googling for DIY aerial photography provides just Make article and a bunch of links to it.
Make is a quarterly publication, so $35 subscription fee covers only 4 issues per year. A bit expensive, but if you plan to enrich yourself and spend free time more productively, I think Make has lots of content to entice the reader and keep him busy for 3 months. First impression might not mean a whole lot, but Make was one of few magazines that I enjoyed reading from page 1 to page 192.
-
Beginning AppleScript
norburym writes "AppleScript: The Missing Manual by Adam Goldstein is part of the Missing Manual series of beginner/intermediate books published by Pogue Press/O'Reilly and Associates. This series focuses on computer products that have been released without adequate printed manuals (Mac OS X, iLife '04, Google, iPod and iTunes, Windows XP, Windows 2K, among others). I would venture that this also applies to most major software releases, which should keep Mr. Pogue, O'Reilly and their contributing authors busy for quite some time. Their newest release, AppleScript: The Missing Manual, is a welcome addition to their catalog of smart, funny and user-friendly books." Read on for the rest of Norbury-Glaser's review. AppleScript: The Missing Manual author Adam Goldstein pages 304 publisher Pogue Press/O'Reilly & Associates rating 8 reviewer Mary Norbury-Glaser ISBN 0596008503 summary AppleScript for the Beginning/Intermediate UserAppleScript mimics the syntax of English. As such, its grammar by intent should be easy for English speakers to grasp, which results in an intuitive and simple to use scripting language. However, this doesn't undermine its role as a very powerful tool for automation.
There are very few books on AppleScript, and certainly not many current volumes outside of Matt Neuburg's excellent AppleScript: The Definitive Guide (O'Reilly) for the intermediate-to-advanced scripter, and Hanaan Rosenthal's reference-type manual, Applescript: A Comprehensive Guide to Scripting and Automation on Mac OS X (Friends of Ed). But Neuburg's book is intended for the intermediate to advanced reader while Rosenthal's book is a bit extensive to be called a primer. Hence, there are few worthy contributions for the beginner. Goldstein's Missing Manual fills this gap with coverage of the current Mac OS 10.3 (Panther) release of AppleScript, including multimedia support, GUI scripting and AppleScript Studio. While the book is intended for the beginner and intermediate user, power-hounds will also find many tricks, tips and hidden tools.
The book is divided into four parts: "AppleScript Overview," "Everyday Scripting Tasks," "Power-User Features," and "Appendixes." Part One begins with the usual suspects: where to find the AppleScript folder in Mac OS X, and how to enable the script menu (and how to take advantage of the surprising number of useful scripts you'll find there). In just a few pages, Goldstein hands the reader a collection of valuable scripts that were hiding in OS X Panther all along (I particularly like the "ransom note" script). Chapter 2 introduces the Script Editor application and provides a comprehensive description of Script Editor properties, tools and preferences. After setting up the work environment and introducing the AppleScript tools to the reader, Goldstein begins hands-on scripting in Chapter 3: displaying dialog boxes, commands, commanding other programs, using tell statements and how to find and use the command dictionaries specific to the Finder and other scriptable applications. This author avoids the pitfall of overwhelming the reader with too much information, too many new concepts, and too many abstruse examples.
Part Two is the core of the book, and covers "Everyday Scripting Tasks." The seven chapters in this section run the gamut of increasing difficulty: manipulating text, controlling files, creating lists, organizing and editing graphics, playing sound and video, internet and network scripting, and organizing information in databases. The author quickly takes the reader through a series of simple scripts designed to illustrate AppleScript syntax. Chapter 4 covers variables, strings, dialog boxes, scripting applications and running scripts from text. Goldstein scripts TextEdit, the built-in Mac OS X word processor, by adding code to automatically add new text to a document, adding formatting and adding a word count. He then adapts this exercise to scripting Microsoft Word, which contains far more robust AppleScript support. The contrast is a good example of the range of AppleScript support between applications; some programs aren't AppleScriptable at all, while others offer varying degrees of support.
Chapter 5 includes a primer on file paths as an introduction to folder and file scripting (displaying and opening folders; moving, backing up, deleting and saving files). There are quite a few exercises here that train the reader in using the dictionary and becoming more adept with the AppleScript syntax.
Creating and manipulating lists is the subject of Chapter 6. It covers lists: nested lists, list commands and various ways of displaying lists. Goldstein creates a UNIX top-like/Activity Monitor AppleScript to display a simple list of running programs. This exercise leads into list processing and batch renaming which is the type of automation AppleScript excels at. Other list examples include joining, merging, inputting, and getting lists from other programs (TextEdit and MS Word are again the apps of choice). Lists are ubiquitous, and we spend an enormous amount of time organizing and sorting through them. Goldstein shows the reader how well AppleScript is suited to the task of manipulating lists quickly and efficiently.
The author moves on to another core application of AppleScript in Chapter 7: organizing and editing graphics. Graphics applications are highly scriptable, and Goldstein illustrates this with tutorials using iPhoto and Photoshop: creating new iPhoto albums, showing slideshows, color-correcting images automatically, filtering images, getting image dimensions and creating droplets. One of the most practical uses of AppleScript in this category is batch conversion of images from one format to another using Image Events. (You don't have to be a graphics professional to see how often anyone with a digital camera would make use of this script.)
Scripting sound and video apps is discussed in Chapter 8: manipulating tracks, converting song files, making your Mac speak to you and listen to you, showing full-screen QuickTime movies, rotating movies and embedding movies within scripts. For those with DVD-drive equipped Mac, Goldstein also unveils the AppleScript menu within the DVD Player app. For so many people who rely in iTunes to catalog their extensive music collection, there are very good scripts here for streamlining playing tracks, creating song ratings and performing song file conversions. The best video tip is using AppleScript to enable full-screen video within QuickTime Player, a feature normally available only if you upgrade to the Pro version.
Chapter 9, "Internet and Network Scripting," is chock-full of fun and useful scripts for Internet Connect, Safari, Address Book, Mail, iChat and Keychain. Goldstein shows the reader how to automate dial up an ISP, show Airport signal-strength fluctuations, view Web page source code, run AppleScripts from a Web page using Safari Services, use AppleScripts right in the Safari address bar, save scripts in the favorites bar, find contacts in Address Book, check for new and unread messages in Mail, create iChat controls, download and upload files, and recall passwords. The Power Users' Clinic aside is particularly interesting as it deals with using AppleScript to interact with Web Services using call soap or call xmlrpc. Goldstein provides resources and references for pursuing this advanced topic.
The final chapter in Part Two involves database scripting, including creating simple AppleScript databases and scripting FileMaker Pro databases using AppleScript to enter and sort data. Goldstein includes a nice FAQ on FileMaker's built-in ScriptMaker option.
Once the reader whips through the example scripts in Parts One and Two, it's time to get down and geeky. Part Three, titled "Power-User Features", is the section of the book for geeks and wanna-be geeks. Goldstein shoves enough advanced techniques in five chapters to make these alone worth the price of the book. Chapter 11 introduces folder actions to the AppleScript repertoire of advanced features. The reader learns how to enable folder actions, attach built-in folder actions to specific folders, view and edit these built-in folder actions and run his or her own actions. Folder actions always bring to mind Sal Soghoian's (AppleScript Product Manager and Evangelist) lectures on AppleScript and some tricks to play on unsuspecting co-workers with folder actions. For example, a clueless user double-clicks a folder to open it and it opens and immediately closes ... If you're an IT manager, sometimes you just need to break up the monotony once in a while!
Dictionaries are revisited in Chapter 12 and the author addresses the unfortunate situation when an app doesn't have a dictionary, or has such a limited dictionary that it's effectively useless. Goldstein explains how to control these programs with Mac OS X's GUI Scripting feature, System Events (to automate the clicking of buttons or typing of keys instead of using commands) and Apple's UIElementInspector to discover an object's hierarchy (a download available from http://www.apple.com/applescript/uiscripting).
My favorite chapter in this section is Chapter 13, "Mixing AppleScript and Unix." Goldstein gives a quick terminal lesson followed by a neat trick to display the Expose button ("the blob"). Other helpful actions: use do shell script to run Unix programs straight from AppleScript, run shell scripts with admin privileges, run AppleScripts from Unix thus saving time by bypassing the Script Editor and schedule commands (use an AppleScript to run cron every day, use iCal to schedule scripts). Even users who normally shy away from the terminal will want to try some of these.
Chapter 14 is titled "Testing and Debugging Scripts," and offers some advice and tools to handle errors that show up when you compile a script. Goldstein offers a handy table of common compiler errors and likely causes, error handling tricks (using a display dialog command and the log command) and tips on avoiding typical scripting errors like infinite loops, coercions and nonexistent items.
The author closes this chapter with a brief introduction to Xcode: how to download it, install it and use it to debug your scripts. Xcode is a much more powerful tool than Script Editor and therefore has better features and options for debugging. The reader should probably choose to revisit this section after the chapter that follows, on AppleScript Studio, where Xcode is handled with a bit more depth.
The final chapter in the book is "AppleScript Studio," where Goldstein creates a simple "SpeakToMe" project that contains a dialog box for typing in text, a pop-menu menu with Mac OS X system voices and a button labeled "Speak." This chapter is a very brief nod to AppleScript Studio (Xcode and Interface Builder) but gives the reader a taste for what application building with control over the GUI is all about. This is enough to pique the reader's interest and provides enough hands-on experience to engender confidence in using these tools.
Part Four contains the Appendix A through C: "AppleScript Support in Common Programs" (a very useful set of tables of applications, their level of AppleScript support, price and where to get them), "Moving from Hypercard to AppleScript" (options and advice for converting Hypercard stacks to AppleScript and major syntax differences between HyperTalk and AppleScript), and "Where to Go from Here" (AppleScript sources: Web sites, discussion lists and books).
The Missing Manual series uses a nice layout style with a "soft" look; the pages have black tabs on light gray margins that identify the chapter topic and dark gray sidebars. Screenshots are enhanced with a shadow effect that raise the graphic off the page in a visually appealing manner. The notes, tips and boxed asides (Gem In The Rough, Workaround Workshop, Power Users' Clinic, etc.) are relevant, concise and often contain an element of humor; they don't detract at all from the flow of reading the main text. Each chapter has a gentle reminder that example scripts can be found on the Examples CD disk image that can be downloaded from the Missing Manual web site (http://www.missingmanual.com). References to definitions, tips, hints and other topics are indicated with a page number, not the usual "somewhere in the depths of chapter x". The Web site for the Missing Manual series (http://www.missingmanual.com) contains a link to "Missing CD-ROMs" where readers can download free and shareware applications described in the book series. For this particular book, the author has made a disk image available containing all the sample scripts used in the text examples. Errata can be found at O'Reilly's site (http://www.oreilly.com/catalog/applescripttmm/ind ex.html).
This book is eminently satisfying on many levels: the writing style is conversational and humorous (I would imagine this is a pre-requisite for writing for David Pogue), the style of this book series is consistently pleasant to read and the level of technical difficulty satisfies the range of readers from beginner through power-user. The "valuable information:price" ratio is, hands-down, in the buyer's favor.
A final note about Adam Goldstein, the author of Applescript: The Missing Manual: he is the teenage founder of GoldfishSoft (http://www.goldfishsoft.com), a Mac OS X games and utilities software company (my 7 year-old son loves AlgeKalk and FrakKalk, geek that he is). By "teenage," I mean Adam Golstein is 17-ish. He began contributing to this Pogue/O'Reilly series several years ago by writing a few sections of Mac OS X Panther Edition: The Missing Manual (FileVault, journaling and Disk Restore). I suspect we'll be hearing a lot more from Mr. Goldstein, and I'm looking forward to it.
Mary Norbury-Glaser is an IT Director at a University of Colorado Health Sciences affiliate center in Denver. Working in a multi-platform academic environment dominated by Windows boxes, she sometimes feels like the Mac Maytag Lady. You can purchase Applescript: The Missing Manual from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
A Compact Guide To F/OSS Licensing
barryhawkins writes "When sharing with others that I was reviewing an O'Reilly book through their User Group & Professional Association Program, the first question was always the same: 'What book are you reviewing?' After saying the title was Understanding Open Source & Free Software Licensing, responses ranged from 'What's that?' to 'Well, you won't have any trouble sleeping!' One might think that this list of people included relatives and coworkers who were not attuned to the open source community and its issues. On the contrary, the responses came from those within my circle of acquaintances, which includes software developers, system administrators, and even an intellectual property lawyer. Licensing is not exactly the sort of topic where people slide forward in their seats and ask to be told more. Such is the appeal of software licensing; however, the importance of understanding licensing, particularly within the context of open source development, cannot be overstated." Read on for Hawkins' review. Understanding Open Source & Free Software Licensing author Andrew M. St. Laurent pages 208 publisher O'Reilly rating 8 reviewer Barry Hawkins ISBN 0596005814 summary A worthwhile introduction to open source licensingThose familiar with the O'Reilly product offerings have no doubt seen or purchased one or more their Pocket Reference series. These are not comprehensive references, but rather convenient guides for a specific topic to provide the sort of information one is not likely to have committed to memory, particularly as the trend of having cross-disciplined technologists continues. This book could be considered the analog of such pocket guides for open source and free software licensing. Open source licenses and their legal interpretation, though, easily warrant a "pocket reference" that is a full-sized book of nearly 200 pages.
Frankly, reading through a software license and maintaining a reasonable level of comprehension is a rather tough job. The author manages to make the task far more bearable and fruitful at the same time; a difficult balance to strike. The pace of the annotation works well to break up the various licenses (twelve in total) into bite-sized chunks. Chapters 2 and 3, which address the Apache/BSD/MIT family of licenses and the GPL/LGPL/MPL family of licenses respectively, each end with a section titled "Application and Philosophy" that serves as a sort of reward for making it through the license and establishes a touchstone to summarize and provide meaningful context for what has been covered.
The annotations of the different licenses are a great introduction, but the book should not be considered a complete reference for open source licensing issues. The book seems to affirm this at points where the author indicates that particular topics fall outside the book's scope, even to the point of recommending experienced legal counsel for certain issues. It also has a wonderful collection of footnotes and reference to other resources to allow the reader to flesh out topics of interest beyond the focus of this work.
One subtlety of the book that should not be missed is how the history of the open source movement is woven throughout the book to provide the context in which these licenses came into being and were modified to accommodate the vibrant, emerging world of open development models. The book's last two chapters bring that context to the foreground, fully developing the consequence of the licenses in daily development activity. It is far too easy to view these licenses and as mere legal documents that exist in and of themselves; the author reminds us that these licenses are the manifestations of a spirit of selfless contribution and work toward social good made possible by the considerable sacrifice of quite gifted individuals. For those passionate about the open source and free software movements, the section of chapter 7 titled "Models of Open Source and Free Software Development" is a poignant and stirring encapsulation of the first years of the GNU and Linux projects and the work that brought them into being. The cliché rings true; we do indeed "stand on the shoulders of giants."
The number of editorial errors involving misspelled and/or missing words seemed relatively high; this is a trend that seems to have developed in technical books in recent years, to a point that the technical community has come to accept it as some sort of side effect of the rapid pace with which books must be produced in order to keep pace with the rate of change. Given that this is an issue present in other works as well as this one, it should not particularly count as a mark against the work, but rather serve to underscore an issue publishers should consider improving.
Understanding Open Source & Free Software Licensing strikes a balance between completeness of subject matter coverage and manageability of size. Given the amount of attention the average open source user or developer has given to licensing, reading this book would be a considerable improvement. This book is recommended for a couple of audiences. First, it serves as a great foundation for developers either active in or contemplating participation in open source development. Searching most any open source mailing list for the term "license" can usually turn up some of its hottest flame wars. If most developers had this introductory level of understanding about the main open source licenses, hundreds of message threads arguing about licensing could be avoided.
A second audience for this book is the project manager and/or CTO in most corporate IT shops. Most corporate projects are making use of numerous open source libraries and frameworks. This is particularly true with J2EE, but also with .Net as a number of .Net counterparts to popular J2EE resources arise, e.g. NAnt, NUnit, etc. This book can dispel unnecessary apprehension regarding the use of these libraries that often arises from fear, uncertainty, and doubt (FUD) propagated in much of the mainstream technology media. It can also equip managers to make informed decisions about team members' potential contributions to open source projects and the potential legal implications.
You can purchase Understanding Open Source & Free Software Licensing from bn.com. (You might also be interested in Peter Wayner's review of Lawrence Rosen's book on the same topic, Open Source Licensing .) Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
A Compact Guide To F/OSS Licensing
barryhawkins writes "When sharing with others that I was reviewing an O'Reilly book through their User Group & Professional Association Program, the first question was always the same: 'What book are you reviewing?' After saying the title was Understanding Open Source & Free Software Licensing, responses ranged from 'What's that?' to 'Well, you won't have any trouble sleeping!' One might think that this list of people included relatives and coworkers who were not attuned to the open source community and its issues. On the contrary, the responses came from those within my circle of acquaintances, which includes software developers, system administrators, and even an intellectual property lawyer. Licensing is not exactly the sort of topic where people slide forward in their seats and ask to be told more. Such is the appeal of software licensing; however, the importance of understanding licensing, particularly within the context of open source development, cannot be overstated." Read on for Hawkins' review. Understanding Open Source & Free Software Licensing author Andrew M. St. Laurent pages 208 publisher O'Reilly rating 8 reviewer Barry Hawkins ISBN 0596005814 summary A worthwhile introduction to open source licensingThose familiar with the O'Reilly product offerings have no doubt seen or purchased one or more their Pocket Reference series. These are not comprehensive references, but rather convenient guides for a specific topic to provide the sort of information one is not likely to have committed to memory, particularly as the trend of having cross-disciplined technologists continues. This book could be considered the analog of such pocket guides for open source and free software licensing. Open source licenses and their legal interpretation, though, easily warrant a "pocket reference" that is a full-sized book of nearly 200 pages.
Frankly, reading through a software license and maintaining a reasonable level of comprehension is a rather tough job. The author manages to make the task far more bearable and fruitful at the same time; a difficult balance to strike. The pace of the annotation works well to break up the various licenses (twelve in total) into bite-sized chunks. Chapters 2 and 3, which address the Apache/BSD/MIT family of licenses and the GPL/LGPL/MPL family of licenses respectively, each end with a section titled "Application and Philosophy" that serves as a sort of reward for making it through the license and establishes a touchstone to summarize and provide meaningful context for what has been covered.
The annotations of the different licenses are a great introduction, but the book should not be considered a complete reference for open source licensing issues. The book seems to affirm this at points where the author indicates that particular topics fall outside the book's scope, even to the point of recommending experienced legal counsel for certain issues. It also has a wonderful collection of footnotes and reference to other resources to allow the reader to flesh out topics of interest beyond the focus of this work.
One subtlety of the book that should not be missed is how the history of the open source movement is woven throughout the book to provide the context in which these licenses came into being and were modified to accommodate the vibrant, emerging world of open development models. The book's last two chapters bring that context to the foreground, fully developing the consequence of the licenses in daily development activity. It is far too easy to view these licenses and as mere legal documents that exist in and of themselves; the author reminds us that these licenses are the manifestations of a spirit of selfless contribution and work toward social good made possible by the considerable sacrifice of quite gifted individuals. For those passionate about the open source and free software movements, the section of chapter 7 titled "Models of Open Source and Free Software Development" is a poignant and stirring encapsulation of the first years of the GNU and Linux projects and the work that brought them into being. The cliché rings true; we do indeed "stand on the shoulders of giants."
The number of editorial errors involving misspelled and/or missing words seemed relatively high; this is a trend that seems to have developed in technical books in recent years, to a point that the technical community has come to accept it as some sort of side effect of the rapid pace with which books must be produced in order to keep pace with the rate of change. Given that this is an issue present in other works as well as this one, it should not particularly count as a mark against the work, but rather serve to underscore an issue publishers should consider improving.
Understanding Open Source & Free Software Licensing strikes a balance between completeness of subject matter coverage and manageability of size. Given the amount of attention the average open source user or developer has given to licensing, reading this book would be a considerable improvement. This book is recommended for a couple of audiences. First, it serves as a great foundation for developers either active in or contemplating participation in open source development. Searching most any open source mailing list for the term "license" can usually turn up some of its hottest flame wars. If most developers had this introductory level of understanding about the main open source licenses, hundreds of message threads arguing about licensing could be avoided.
A second audience for this book is the project manager and/or CTO in most corporate IT shops. Most corporate projects are making use of numerous open source libraries and frameworks. This is particularly true with J2EE, but also with .Net as a number of .Net counterparts to popular J2EE resources arise, e.g. NAnt, NUnit, etc. This book can dispel unnecessary apprehension regarding the use of these libraries that often arises from fear, uncertainty, and doubt (FUD) propagated in much of the mainstream technology media. It can also equip managers to make informed decisions about team members' potential contributions to open source projects and the potential legal implications.
You can purchase Understanding Open Source & Free Software Licensing from bn.com. (You might also be interested in Peter Wayner's review of Lawrence Rosen's book on the same topic, Open Source Licensing .) Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
A Compact Guide To F/OSS Licensing
barryhawkins writes "When sharing with others that I was reviewing an O'Reilly book through their User Group & Professional Association Program, the first question was always the same: 'What book are you reviewing?' After saying the title was Understanding Open Source & Free Software Licensing, responses ranged from 'What's that?' to 'Well, you won't have any trouble sleeping!' One might think that this list of people included relatives and coworkers who were not attuned to the open source community and its issues. On the contrary, the responses came from those within my circle of acquaintances, which includes software developers, system administrators, and even an intellectual property lawyer. Licensing is not exactly the sort of topic where people slide forward in their seats and ask to be told more. Such is the appeal of software licensing; however, the importance of understanding licensing, particularly within the context of open source development, cannot be overstated." Read on for Hawkins' review. Understanding Open Source & Free Software Licensing author Andrew M. St. Laurent pages 208 publisher O'Reilly rating 8 reviewer Barry Hawkins ISBN 0596005814 summary A worthwhile introduction to open source licensingThose familiar with the O'Reilly product offerings have no doubt seen or purchased one or more their Pocket Reference series. These are not comprehensive references, but rather convenient guides for a specific topic to provide the sort of information one is not likely to have committed to memory, particularly as the trend of having cross-disciplined technologists continues. This book could be considered the analog of such pocket guides for open source and free software licensing. Open source licenses and their legal interpretation, though, easily warrant a "pocket reference" that is a full-sized book of nearly 200 pages.
Frankly, reading through a software license and maintaining a reasonable level of comprehension is a rather tough job. The author manages to make the task far more bearable and fruitful at the same time; a difficult balance to strike. The pace of the annotation works well to break up the various licenses (twelve in total) into bite-sized chunks. Chapters 2 and 3, which address the Apache/BSD/MIT family of licenses and the GPL/LGPL/MPL family of licenses respectively, each end with a section titled "Application and Philosophy" that serves as a sort of reward for making it through the license and establishes a touchstone to summarize and provide meaningful context for what has been covered.
The annotations of the different licenses are a great introduction, but the book should not be considered a complete reference for open source licensing issues. The book seems to affirm this at points where the author indicates that particular topics fall outside the book's scope, even to the point of recommending experienced legal counsel for certain issues. It also has a wonderful collection of footnotes and reference to other resources to allow the reader to flesh out topics of interest beyond the focus of this work.
One subtlety of the book that should not be missed is how the history of the open source movement is woven throughout the book to provide the context in which these licenses came into being and were modified to accommodate the vibrant, emerging world of open development models. The book's last two chapters bring that context to the foreground, fully developing the consequence of the licenses in daily development activity. It is far too easy to view these licenses and as mere legal documents that exist in and of themselves; the author reminds us that these licenses are the manifestations of a spirit of selfless contribution and work toward social good made possible by the considerable sacrifice of quite gifted individuals. For those passionate about the open source and free software movements, the section of chapter 7 titled "Models of Open Source and Free Software Development" is a poignant and stirring encapsulation of the first years of the GNU and Linux projects and the work that brought them into being. The cliché rings true; we do indeed "stand on the shoulders of giants."
The number of editorial errors involving misspelled and/or missing words seemed relatively high; this is a trend that seems to have developed in technical books in recent years, to a point that the technical community has come to accept it as some sort of side effect of the rapid pace with which books must be produced in order to keep pace with the rate of change. Given that this is an issue present in other works as well as this one, it should not particularly count as a mark against the work, but rather serve to underscore an issue publishers should consider improving.
Understanding Open Source & Free Software Licensing strikes a balance between completeness of subject matter coverage and manageability of size. Given the amount of attention the average open source user or developer has given to licensing, reading this book would be a considerable improvement. This book is recommended for a couple of audiences. First, it serves as a great foundation for developers either active in or contemplating participation in open source development. Searching most any open source mailing list for the term "license" can usually turn up some of its hottest flame wars. If most developers had this introductory level of understanding about the main open source licenses, hundreds of message threads arguing about licensing could be avoided.
A second audience for this book is the project manager and/or CTO in most corporate IT shops. Most corporate projects are making use of numerous open source libraries and frameworks. This is particularly true with J2EE, but also with .Net as a number of .Net counterparts to popular J2EE resources arise, e.g. NAnt, NUnit, etc. This book can dispel unnecessary apprehension regarding the use of these libraries that often arises from fear, uncertainty, and doubt (FUD) propagated in much of the mainstream technology media. It can also equip managers to make informed decisions about team members' potential contributions to open source projects and the potential legal implications.
You can purchase Understanding Open Source & Free Software Licensing from bn.com. (You might also be interested in Peter Wayner's review of Lawrence Rosen's book on the same topic, Open Source Licensing .) Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Firefox In Print
hoovernj writes "It seems that O'Reilly is ready to release two books about Firefox in March. The first is Firefox Hacks, which will be targeted at Firefox power users. And the second is Don't Click on the Blue E!, which will be targeted at less-savvy users transitioning from Internet Explorer. Could this be the end of lazy IE-only scripted webpages? (thanks to mozillaZine for the original pointer)." And reader ledmirage writes "Wired Magazine's February issue on Firefox: 'It's fast, secure, open source - and super popular. The hot new browser called Firefox is rocking the software world. (Watch your back, Bill Gates.)'." -
Firefox In Print
hoovernj writes "It seems that O'Reilly is ready to release two books about Firefox in March. The first is Firefox Hacks, which will be targeted at Firefox power users. And the second is Don't Click on the Blue E!, which will be targeted at less-savvy users transitioning from Internet Explorer. Could this be the end of lazy IE-only scripted webpages? (thanks to mozillaZine for the original pointer)." And reader ledmirage writes "Wired Magazine's February issue on Firefox: 'It's fast, secure, open source - and super popular. The hot new browser called Firefox is rocking the software world. (Watch your back, Bill Gates.)'." -
Who Doesn't Use Source Control?
VegeBrain asks: "I was reading the description for for a new book, Pragmatic Version Control using CVS and was shocked to read that 'Half of all project teams in the U.S. don't use any version control at all...' Is this true? If so, why? I can't imagine being without one so I'm wondering why anybody would avoid using one, especially now when so many are available for free. Am I missing something here and there really are reasons to not use a VCS?" -
Make Magazine Subscription Now Available
Jac_no_k writes "O'Reilly's Make magazine is now taking subscription orders. They have an offer for one bonus 'mook' by using the offer code 'M5ZXML'. Their description: 'MAKE is a new hybrid magazine/book ("mook") published quarterly by O'Reilly. MAKE brings the do-it-yourself mindset to all the technology in your life. MAKE is loaded with exciting projects that help you make the most of your technology at home and away from home. It follows in line with the Hacks books and Hardware Hacking Projects, but it takes a highly visual and personal approach.'" If the quality of the magazine is the same as their technical books, this should be a worthwhile subscription. -
Interview With Mac Co-Creator Andy Hertzfeld
jeblucas writes "MacDevCenter interviews Andy Hertzfeld: formerly of Radius, Eazel, General Magic, and most famously, Apple. He discusses his recent book, Revolution in the Valley as well as sharing some anecdotes about his time at Apple developing the Macintosh personal computer. Check out this notebook page from the first cut of the memory layout. The book was reviewed here earlier." -
Do Unsubscribe Links Stop Spam?
Kaiten writes "Brian McWilliams of Spam Kings fame has just published a fascinating spammer exposé over at Salon. Using a pseudonym, he was hired to send junk email on behalf of a spam operation that has been burying people (me included) with spam for fake Rolex watches. The article details how the spammers handle the 200,000-plus unsubscribe requests they get each month. Seems that LOTS of geeks actually cross their fingers and click those remove links. And, surprise, surprise, the spammers usually ignore the unsubscribe requests." -
Three Books On The iPod
honestpuck (Tony Williams) writes "With Apple's iPods sitting under many Christmas trees come the morning of December 25th, the question arises as to what might sit well next to it. I'm suggesting one of these three books might be just the ticket." Read on for Williams' reviews of three iPod books. (See each) author (See each) pages (See each) publisher (See each) rating (See each) reviewer honestpuck ISBN (See each) summary Three different books on the iPod. The iPod Fan Book iPod Fan Book author Yasukuni Notumi pages 90 publisher O'Reilly Media rating 6 ISBN 0 596 00776 0The first impression you get of O'Reillys iPod Fan Book is of the packaging. A small volume (about the same height as the iPod and twice the width) it comes with a half-height wrap that has the title and author on the front and the bar code, price and a short contents on the back. Take this off and you have a full-size cover with all the simple elegance of the white iPod itself. The front features the wheel of a 4G iPod and the back has just the Apple logo and "iPod" in Apple's distinctive typeface below it. Remove this second cover and you have a book with a simple design of grey with a white border, the back is blank and the front has the title and the subtitle "Go everywhere with iPod" in small type.
This concentration on design flows through the rest of the book. It is visually stunning; at the same time, effort has been made to make the design useful. The pages are visually tabbed to make it easy to navigate the seven chapters. Each chapter is tabbed in a different color reflected through use of that color within the chapter. Full color pictures and screen dumps add to the legibility and usability of the book.
This book is also full of useful information for the newcomer to the iPod. A small amount is covered in the documentation you get with the iPod, but a great deal is not. Apart from a useful chapter on accessories, the book focuses on methods of getting the best from an iPod and how to organise your music.
To sum up this book: it is a little more style than substance and falls short of being the ideal book for all newcomers to the iPod (and even less for experienced users). On the other hand, the style makes the information that is provided readily accessible for all. I'd say this is the perfect companion to an iPod for a teen-age girl and if my 12-year-old daughter was getting the mini she has been hinting for, a copy of this would be included. (I expect that anyone who spent more than ten minutes deciding on the colour of their mini would probably love the elegance and style of this thin volume.) The price of $14.95 retail makes it a great impulse buy or stocking stuffer.
Hacking iPod + iTunes and iPod & iTunes HacksThe other two volumes I looked at might seem like two peas in a pod. Scott Knaster's Hacking iPod + iTunes and Hadley Stern's iPod & iTunes Hacks certainly have a similarity in their titles and have almost identical cover prices of a fraction less than $25. The content of about half of each of these volumes covers the same territory, too. There are, however, differences in both the style and content between them. So, how to decide?
Hacking iPod + iTunes author Scott Knaster pages 259 publisher Wiley Publishing rating 8 ISBN 0764569845For one thing, it seems that Knaster concentrates more on iTunes than the iPod, while Stern seems a closer balance between the two but once again this is only a slight difference.
Both volumes are clearly, and both cover a range of information for users all the way from a relative newcomer (someone who has read the supplied documentation and played around with their iPod and iTunes for a few days) to users who want to push the envelope by installing Linux, hacking iTunes with AppleScript, or finding cheap ways to stream music, to name just a few of the more adventurous topics covered.
The first real difference between the two volumes I found was that Stern has a few more hardware hacks, including some of the surreal sort of hack that often makes these books so much fun -- who would have thought of making your own iPod case out of cardboard, for example? Stern's book is also much more a Macintosh user's book: fully twenty of the one hundred hacks, for example, are devoted to AppleScript. (Not that Knaster ignores AppleScript - he has a chapter almost entirely devoted to it.) Knaster goes into more detail about such "hacks" as podcasting, RSS feeds, email and the iTunes Music Store.
iPod & iTunes Hacks author Hadley Stern pages 417 publisher O'Reilly Media rating 8 ISBN 0596007787The books also differ in their layout and style. Stern, like all of O'Reilly's "Hacks" book authors, has a slightly dry, informative style with a large number of references to other hacks in the book in the instructions. Knaster's style is a little more tongue-in-cheek, with far fewer references to other parts of the book. Somehow Knaster's style appealed to me a little more, though he seems at times to take a little longer to give you all the information you needed.
Stern's examples are also a little more self-contained, while Knaster tends to give you a start, point you in the right direction and tell you where to go to get all that you needed. The two different ways they approach running Linux on the iPod is typical: Stern uses the uClinux kernel and gives you detailed instructions on how to get that into your iPod using dd, while Knaster uses the Linux on iPod project and gives less detailed instructions. Stern also tells you about Podzilla and a small pointer on developing applications for the iPod while Knaster just leaves you with Linux installed.
Deciding between these two volumes comes down to personal taste, and happily both authors provide samples for you online. For Knaster's book you can go to the Wiley site for Hacking iPod + iTunes , where you can get a table of contents, the index and the first chapter. You can also visit Knaster's site for Hacking iPod + iTunes , where he has a blog on the iPod and pointers to more hacks from the book and some other cool and useful stuff.
For Stern's book you can go to O'Reilly's page for iPod & iTunes Hacks for the usual table of contents and index. It also has a link to a page with ten example hacks, there is also an article on O'Reilly's "Digital Media" website with a further five example hacks.
I'm not going to attempt to decide between these two volumes for you. If you think either might be useful, then have a look at the examples and decide which style suits you best.
You can purchase iPod Fan Book , iPod & iTunes Hacks and Hacking iPod + iTunes from bn.com. Slashdot welcomes readers' book reviews. To see your own review here, carefully read the book review guidelines, then visit the submission page.