Domain: oreilly.com
Stories and comments across the archive that link to oreilly.com.
Stories · 651
-
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. -
Defending Harsh Sentences for Spammers
BMcWilliams writes "Russell McGuire, one of the government lawyers who prosecuted spammer Jeremy Jaynes, has published an article justifying the tough sentence recommended by a Virginia jury. He writes, 'the defense attorney argued that greed cuts both ways and the victims got what they deserved because they were trying to get rich quick. Needless to say, this did not go over well with the jury.' Still, the eye-popping 9-year sentence has even some ardent anti-spammers wondering whether 'proportionality is becoming a completely forgotten concept.'" -
The Scoop on Bloggercon III
Trizor writes "Bloggercon III commenced today with the opening session ending in a singalong of 'This land is your land'. The sessions ranged from introductions on blogging to a comparison of bloggers and journalists. The developers at O'Reilly have provided notes, coverage, and commentary on the event." -
The Votemaster Is...Andrew Tanenbaum
A reader writes: " www.electoral-vote.com, a site of daily updated maps of the US electoral college based on a number of polls is probably a site that the policially inclined check daily. Well, it has been revealed that the person behind the site, AKA the votemaster, is none other than Andrew Tanenbaum, noted author of numerous CS books." He's also known for a little discussion with someone named Linus Torvalds. -
Learning PHP 5
John Suda writes "There are more new books being published about PHP than you can shake a joystick at. PHP (along with program friends - MySQL and Apache) has become very popular among developers and web designers, and for good reason. As a programming language, it is particularly suited to web development projects, while being relatively easy to write, use and learn. More importantly, it's open-source and free, cross-platform, and widely supported. David Sklar's Learning PHP5 is one of the latest volumes dealing with PHP. It describes itself as 'a Pain-Free Introduction to Building Interactive Web Sites,' and provides a gentle introduction to the latest version of PHP, which is version 5 and only recently available." Read on for Suda's review.This book is not particularly useful for those experienced already with PHP, nor for those wanting to upgrade their knowledge of PHP from versions 4 and earlier to the newest version. It's also probably not particularly useful for those power programmers who need and want a deep and comprehensive coverage of the topic. But it is a very well-written and designed introduction to PHP 5 for beginning programmers or those experienced PERL, ASP, or Cold Fusion programmers who want to learn a different language. There are many illustrations and code samples sprinkled throughout the book. Sklar, however, skims over some topics, concentrating instead on practical examples.
The publisher is O'Reilly Media, Inc. which seems to have an editor's policy of covering complex computer-related topics in a comprehensive manner by publishing a range of volumes covering different aspects of a topic or from different angles or for different audiences. O'Reilly also publishes volumes on moving to PHP 5 (Upgrading to PHP 5), detailed and technical PHP (Programming PHP), and a collection of solutions to common PHP programming problems (The PHP Cookbook).
Sklar is an experienced consultant in computer software development and technical training. He is the author of Essential PHP Tools and coauthor of the aforementioned The PHP Cookbook. He takes a deliberate and comprehensive approach to explaining PHP 5, not in great depth, but with the intent of providing enough information, concepts, detail, and scope to create a pleasant and useful read of a technical subject. The basic promise of PHP is in the relatively easy creation of more dynamic and interesting web sites which would include, for example, product catalogs, blogs, photo galleries, event calendars, forms, and more.
There are 13 chapters and 3 appendices. The early chapters provide an orientation to PHP, including its place in contemporary web development, its basic rules, and its syntax. They explain the basic background of PHP and how it interacts with the browser and web server. Later chapters introduce primary concepts like loops, arrays, and functions. The idea here is to facilitate learning the fundamentals of the grammar and vocabulary. Chapters 2 through 12 have short exercises at the end of each to allow the reader to practice writing PHP code and to test learning. (The answers are contained in Appendix C.) Experienced programmers and geeks may recoil at the inclusion of these exercises, but they are useful for beginners.
Chapter 6 provides a practical exercise - how to make and use a web form. The author shows how to access form variables, how to validate user-inputted data for security and efficiency reasons, and how to process forms using functions. Chapter 7 shows how PHP interacts with database programs, like SQL and Oracle, but focuses primarily on MySQL, and demonstrates how to organize data, connect to a server-based database, create tables, and enter and retrieve data.
The rest of the middle chapters cover the use and implementation of cookies and sessions, handling dates and time, and working with files. The practical exercise using dates and times is creating and displaying a monthly calendar. The final chapters provide brief but practical coverage of XML, debugging, and in Chapter 13, other PHP aspects. PHP is amazingly useful, flexible, and practical. One can deal with graphics, PDF documents, and other media like Flash and Shockwave. It also has mailing and file uploading functions, encryption capabilities, and (for more experienced coders) the ability to run shell commands. The upgraded PHP 5 has new capabilities, which now include object-oriented programming.
Appendix A covers installing and configuring PHP for Windows, Mac OS X, and Linux; Appendix B is a short primer on regular expressions and how to use them with PHP.
I found the book to be the most accessible introduction to PHP I have read. It provides the basic fundamentals, engages the reader in practical examples, reinforces learning with exercises, and provides an overall perspective on the scope of PHP programming.
You can purchase Learning PHP 5 from bn.com. (Code examples used in the book can be downloaded at the O'Reilly site for the book, linked above.) Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Learning PHP 5
John Suda writes "There are more new books being published about PHP than you can shake a joystick at. PHP (along with program friends - MySQL and Apache) has become very popular among developers and web designers, and for good reason. As a programming language, it is particularly suited to web development projects, while being relatively easy to write, use and learn. More importantly, it's open-source and free, cross-platform, and widely supported. David Sklar's Learning PHP5 is one of the latest volumes dealing with PHP. It describes itself as 'a Pain-Free Introduction to Building Interactive Web Sites,' and provides a gentle introduction to the latest version of PHP, which is version 5 and only recently available." Read on for Suda's review. Learning PHP 5 author David Sklar pages 432 publisher O'Reilly rating 9 reviewer John Suda ISBN 0596005601 summary An accessible introduction to the popular web scripting language PHPThis book is not particularly useful for those experienced already with PHP, nor for those wanting to upgrade their knowledge of PHP from versions 4 and earlier to the newest version. It's also probably not particularly useful for those power programmers who need and want a deep and comprehensive coverage of the topic. But it is a very well-written and designed introduction to PHP 5 for beginning programmers or those experienced PERL, ASP, or Cold Fusion programmers who want to learn a different language. There are many illustrations and code samples sprinkled throughout the book. Sklar, however, skims over some topics, concentrating instead on practical examples.
The publisher is O'Reilly Media, Inc. which seems to have an editor's policy of covering complex computer-related topics in a comprehensive manner by publishing a range of volumes covering different aspects of a topic or from different angles or for different audiences. O'Reilly also publishes volumes on moving to PHP 5 (Upgrading to PHP 5), detailed and technical PHP (Programming PHP), and a collection of solutions to common PHP programming problems (The PHP Cookbook).
Sklar is an experienced consultant in computer software development and technical training. He is the author of Essential PHP Tools and coauthor of the aforementioned The PHP Cookbook. He takes a deliberate and comprehensive approach to explaining PHP 5, not in great depth, but with the intent of providing enough information, concepts, detail, and scope to create a pleasant and useful read of a technical subject. The basic promise of PHP is in the relatively easy creation of more dynamic and interesting web sites which would include, for example, product catalogs, blogs, photo galleries, event calendars, forms, and more.
There are 13 chapters and 3 appendices. The early chapters provide an orientation to PHP, including its place in contemporary web development, its basic rules, and its syntax. They explain the basic background of PHP and how it interacts with the browser and web server. Later chapters introduce primary concepts like loops, arrays, and functions. The idea here is to facilitate learning the fundamentals of the grammar and vocabulary. Chapters 2 through 12 have short exercises at the end of each to allow the reader to practice writing PHP code and to test learning. (The answers are contained in Appendix C.) Experienced programmers and geeks may recoil at the inclusion of these exercises, but they are useful for beginners.
Chapter 6 provides a practical exercise - how to make and use a web form. The author shows how to access form variables, how to validate user-inputted data for security and efficiency reasons, and how to process forms using functions. Chapter 7 shows how PHP interacts with database programs, like SQL and Oracle, but focuses primarily on MySQL, and demonstrates how to organize data, connect to a server-based database, create tables, and enter and retrieve data.
The rest of the middle chapters cover the use and implementation of cookies and sessions, handling dates and time, and working with files. The practical exercise using dates and times is creating and displaying a monthly calendar. The final chapters provide brief but practical coverage of XML, debugging, and in Chapter 13, other PHP aspects. PHP is amazingly useful, flexible, and practical. One can deal with graphics, PDF documents, and other media like Flash and Shockwave. It also has mailing and file uploading functions, encryption capabilities, and (for more experienced coders) the ability to run shell commands. The upgraded PHP 5 has new capabilities, which now include object-oriented programming.
Appendix A covers installing and configuring PHP for Windows, Mac OS X, and Linux; Appendix B is a short primer on regular expressions and how to use them with PHP.
I found the book to be the most accessible introduction to PHP I have read. It provides the basic fundamentals, engages the reader in practical examples, reinforces learning with exercises, and provides an overall perspective on the scope of PHP programming.
You can purchase Learning PHP 5 from bn.com. (Code examples used in the book can be downloaded at the O'Reilly site for the book, linked above.) Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Mono: A Developer's Handbook
vertigo writes "I am reasonably proficient in C and C++ as well as the more common scripting languages, but i always felt the lack of a sweet spot between the hard and fast low-level programming languages and the loosely typed scripting languages. Lately, my interest in the Mono project has been growing. The C# language appears to offer just that sweet spot between power and productivity I've been looking for, and its class libraries like Gtk# seem to provide the programmer with a very clean and intuitive API." Read on for vertigo's review of Mono: A Developer's Handbook from O'Reilly. Mono: A Developer's Handbook author Edd Dumbill and Niel M. Bornstein pages 278 publisher O'Reilly Media, Inc. rating 8 reviewer vertigo ISBN 0596007922 summary An introduction to programming with MonoWhen learning a new language such as C#, or working with a new development environment such as Mono, it usually takes some time before you get up to speed in developing programs. Wading through the reference documentation and reading other people's source code often provides much-needed information on how to do certain things. Both, however, are very time consuming and tedious.
Enter Mono: A Developer's Notebook. This book provides a series of task-driven chapters which are thin on theory, but rich on practical content and example code. The featured code snippets are, in contrast to ones in books that teach theory and concepts, not solely designed to illustrate a specific theoretical aspect of programming. Each one is designed to perform a useful task that is essential in day-to-day application programming. What sets this book apart from the multitude of .NET books already available on the market? In order to answer this question it is neccesary to provide a short introduction on Mono.
Mono is essentially an open source cross-platform implementation of Microsoft's .NET development framework and implements the API's which are standardized by ECMA. It is, however, not an exact clone. Besides providing a (partially implemented) stack that provides compatibility with Microsoft's .NET API's, Mono adds a whole new API-stack of its own, consisting of open source technologies such as the Gtk+ toolkit and the Gecko HTML rendering engine. This makes it possible to develop cross-platform applications based on open source technology while (mostly) compiling from a single code-base. In contrast to most .NET books available on the market, which focus primarily on Microsoft's API's in the context of Visual Studio.NET, this book concentrates on the basic ECMA API's and Mono's own open source stack. A complete coverage of .NET and the Mono architecture is outside of this review's scope, so for more information you are advised to check the Mono Project's website.
Before we dive deeper into the content of the book, a short introduction on the Developer's Notebook series by O'Reilly may be useful. The books in this series are styled to resemble the kind of notebooks college students carry around during their classes in which to take notes or, more commonly, draw caricatures of their teachers. The 'notebook' theme persists throughout the look-and-feel of the book. The 278-page thick paperback has a glossy blue cover, complete with faux post-it note and coffee-stains. Inside, the pages are not clean white but lined like the pages found in math notebooks. In the margin, useful comments are scribbled in a font that resembles handwriting. At first I suspected that the 'busy' look would distract from the content, but in practice this was no problem, thanks to the thick black typewriter font in which the bulk of the text is printed.
The chapters in this book are referred to as labs. Each of them focuses on a specific set of tasks and/or features and is divided into several paragraphs. Most paragraphs consist of a number of standard sections following a rigid formula that help you understand a certain aspect of working with Mono. The most common sections are:
- How do I do that?: Often using a liberal amount of practical code, this section shows how to accomplish the task at hand, for example working with files.
- How it works: In this section, the code and concepts involved in the previous section are explained more in depth, step by step.
- What about...: Offers a short focus on more advanced topics or pitfalls.
- Where to learn more: If you are craving more information after reading the previous sections, you are often offered a helping hand on where to find more information, providing url's to relevant documentation such as MSDN and other websites.
The first chapter, Getting Mono Running, describes how to get Mono up and running on Linux, Windows or Mac OS X, and how to compile from source on other platforms. The installation instructions for Windows only describe how to install Mono and Gtk#. Integration of Gtk# only in an existing Visual Studio.Net installation falls outside of the scope of the book, but a recent blog entry offers some hints on how to accomplish this. Besides installation, the first chapter offers a short description of the individual tools that make up the mono development. After installation, you will want some kind of editor or IDE to work with. Both the MonoDevelop IDE and several other ways of integrating Mono into your existing environment as a Java or Windows developer are covered. Finally, the community is an important aspect of every open source project. Ways of interacting with the community as well as a guide on how to submit bugs and links to some working Mono/C# applications are part of this chapter.
The C# introduction in the second chapter, Getting Started with C#, is tailored towards people who have at least some proficiency in using an object-oriented language such as C++ or Java. Some differences between C#, Java and C++ are discussed, as well as the differences between value- and reference types, the basics of error handling, working with assemblies and more. Concepts such as classes, methods, inheritance and namespaces are assumed to be known territory. If you have no previous programming experience, Mono: A Developer's Notebook is only useful in combination with a book that teaches programming with C# such as The C# Programming Language by Anders Hejlsberg.
An important part of any modern language is its class libraries. The third chapter, Core .NET, provides an introduction to the standard Framework Library Classes, which describes essential everyday tasks that are part of every program, such as working with files, strings, searching for text patterns and handling collections of data. Besides those basic functions, the chapter also dives deeper into the internals of a compiled assembly, the handling of processes and easy multitasking using threads. Finally, the last paragraph explains how to use a .NET version of the JUnit Java Unit testing framework, Nunit, to test your code.
Developing Gtk-applications with Mono and C# is remarkably easy. Chapter 4, Gtk#, describes the basics of writing Gtk# applications. First, it's neccesary to remark that Gtk# might be a bit of a misnomer. Besides the raw Gtk+ toolkit functionality, Gtk# also includes most of the Gnome libraries like gconf, the gnome canvas, libglade and more. Chapter 4 describes functionality available in the Gtk namespace, the basic Gtk+ toolkit. Gtk+ is a constraints-based toolkit, which means that widgets are not positioned using absolute pixel coordinates but rather on basis of their logical relation to each other. This can be a bit confusing for novices, but this chapter provides a good introduction to the basic principles of writing layouts using Gtk#. The authors provide descriptions of essential operations that almost every application needs, such as creating menus and drawing pixmaps (or more advanced things like using the treeview widget and drag-and-drop), assisted by easy-to-read code snippets.
While chapter 4 introduces basic Gtk# functionality, chapter 5, Advanced Gtk#, delves deeper into more advanced features of the Gtk# library which also include functionality outside of the basic Gtk-namespace, such as the Gnome libraries. Working with Gnome button toolbars, the Glade user interface designer, storing your application settings in Gconf, setting up some preferences through the use of a wizard/druid, asynchronous operations and threading to increase responsiveness of your application while performing background tasks, rendering HTML in your application using the Gecko rendering engine and internationalisation and translation of applications are all described in this chapter.
The use of XML is tightly integrated throughout the Mono framework. It is, for example, the underlying format of the messages that web services use to communicate using the SOAP and XML-RPC protocols. The 6th chapter, Processing XML, describes the XML functionality available in Mono. It starts off by simple operations, reading and writing to an XML-file using relevant examples such as RSS and Dashboard clue-packets. It then proceeds to describe how to modify XML in memory, how to navigate and transform XML using Xpath and XSLT, how to constrain XML in several ways and how to serialize and deserialize objects into and from their XML representation. As in previous chapters, the information density is very high so it might take several reads to grok everything explained. The code examples and accompanying text however are very clear and concise.
The 7th chapter called Networking, Remoting, and Web Services describes the networking functionality available in Mono. The chapter starts off with ASP.NET. Mono's stand-alone XSP webserver and Apache integration with mod_mono are discussed, as well as the basics of writing a web application using ASP.NET's code-behind functionality which enables web applications to completely seperate presentation from the underlying code. Communication using plain tcp/ip, remoting using binary serialized objects and invoking remote procedures using XML-RPC as an alternative to SOAP are also described in this chapter. You might want to encrypt the data you send over the network, so a basic description of the Mono cryptographic API is provided. Finally, a short introduction to database handling using ADO.NET concludes chapter 7.
The 8th and last chapter titled Cutting Edge Mono starts off with an introduction on how to use the GNU Automake, Autoconf and the pkg-config tools to create an easy to build source package of your project. It then proceeds to describe various pitfalls and considerations in case you want to write cross-platform applications using Mono, such as filesystem layout, configuration storage and the calling of native code using p/invoke. A particularly cool project is IKVM, which translates Java bytecode into the Common Intermediate Language bytecode Mono uses. This enables Mono to run Java applications and allows Java and Mono code to inter-operate. A short introduction on the use of IKVM is provided, as well as some code examples on how to call Mono assemblies from Java and use the Java class libraries from within Mono applications. The chapter ends with some other cutting-edge functionality, like how to run a development version of Mono, a preview of the Generics (templates in c++) implementation available as featured in C# 2.0 and how to write Mono programs in Basic.
What is missing? The book doesn't contain a reference section on any of the described API's. If you need detailed information on the C# language specification or an API reference you will need to consult external resources such as the documentation provided with Mono, MSDN, or a separate book covering the topic to make optimal use of the information contained in this book. Fortunately, the book kindly provides pointers on where to find those. The information-density is much higher than you would expect from a book this size. This means the information contained in it is terse. Many topics are treated in a only a couple of pages and the book doesn't take time to explain a lot of programming concepts. The information gets you 'on the road' quickly however, which is exactly what this book is supposed to do.
The strength of this book is that it fills the gap between the earlier-mentioned reference documentation and the need to go out and try to read sourcecode to find out how a particular thing is done. The writing style is clear, concise and neutral. Some topics are clarified by the use of screenshots, which is especially useful in the chapters dealing with Gtk# widgets. All in all, if you are a developer with previous experience in object-oriented programming, Mono: A Developer's Notebook will provide you with an excellent introduction into many of the aspects of working with Mono, its associated libraries and programs.
More information and a sample chapter can be found at the book's homepage.
You can purchase Mono: A Developer's Handbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Mono: A Developer's Handbook
vertigo writes "I am reasonably proficient in C and C++ as well as the more common scripting languages, but i always felt the lack of a sweet spot between the hard and fast low-level programming languages and the loosely typed scripting languages. Lately, my interest in the Mono project has been growing. The C# language appears to offer just that sweet spot between power and productivity I've been looking for, and its class libraries like Gtk# seem to provide the programmer with a very clean and intuitive API." Read on for vertigo's review of Mono: A Developer's Handbook from O'Reilly. Mono: A Developer's Handbook author Edd Dumbill and Niel M. Bornstein pages 278 publisher O'Reilly Media, Inc. rating 8 reviewer vertigo ISBN 0596007922 summary An introduction to programming with MonoWhen learning a new language such as C#, or working with a new development environment such as Mono, it usually takes some time before you get up to speed in developing programs. Wading through the reference documentation and reading other people's source code often provides much-needed information on how to do certain things. Both, however, are very time consuming and tedious.
Enter Mono: A Developer's Notebook. This book provides a series of task-driven chapters which are thin on theory, but rich on practical content and example code. The featured code snippets are, in contrast to ones in books that teach theory and concepts, not solely designed to illustrate a specific theoretical aspect of programming. Each one is designed to perform a useful task that is essential in day-to-day application programming. What sets this book apart from the multitude of .NET books already available on the market? In order to answer this question it is neccesary to provide a short introduction on Mono.
Mono is essentially an open source cross-platform implementation of Microsoft's .NET development framework and implements the API's which are standardized by ECMA. It is, however, not an exact clone. Besides providing a (partially implemented) stack that provides compatibility with Microsoft's .NET API's, Mono adds a whole new API-stack of its own, consisting of open source technologies such as the Gtk+ toolkit and the Gecko HTML rendering engine. This makes it possible to develop cross-platform applications based on open source technology while (mostly) compiling from a single code-base. In contrast to most .NET books available on the market, which focus primarily on Microsoft's API's in the context of Visual Studio.NET, this book concentrates on the basic ECMA API's and Mono's own open source stack. A complete coverage of .NET and the Mono architecture is outside of this review's scope, so for more information you are advised to check the Mono Project's website.
Before we dive deeper into the content of the book, a short introduction on the Developer's Notebook series by O'Reilly may be useful. The books in this series are styled to resemble the kind of notebooks college students carry around during their classes in which to take notes or, more commonly, draw caricatures of their teachers. The 'notebook' theme persists throughout the look-and-feel of the book. The 278-page thick paperback has a glossy blue cover, complete with faux post-it note and coffee-stains. Inside, the pages are not clean white but lined like the pages found in math notebooks. In the margin, useful comments are scribbled in a font that resembles handwriting. At first I suspected that the 'busy' look would distract from the content, but in practice this was no problem, thanks to the thick black typewriter font in which the bulk of the text is printed.
The chapters in this book are referred to as labs. Each of them focuses on a specific set of tasks and/or features and is divided into several paragraphs. Most paragraphs consist of a number of standard sections following a rigid formula that help you understand a certain aspect of working with Mono. The most common sections are:
- How do I do that?: Often using a liberal amount of practical code, this section shows how to accomplish the task at hand, for example working with files.
- How it works: In this section, the code and concepts involved in the previous section are explained more in depth, step by step.
- What about...: Offers a short focus on more advanced topics or pitfalls.
- Where to learn more: If you are craving more information after reading the previous sections, you are often offered a helping hand on where to find more information, providing url's to relevant documentation such as MSDN and other websites.
The first chapter, Getting Mono Running, describes how to get Mono up and running on Linux, Windows or Mac OS X, and how to compile from source on other platforms. The installation instructions for Windows only describe how to install Mono and Gtk#. Integration of Gtk# only in an existing Visual Studio.Net installation falls outside of the scope of the book, but a recent blog entry offers some hints on how to accomplish this. Besides installation, the first chapter offers a short description of the individual tools that make up the mono development. After installation, you will want some kind of editor or IDE to work with. Both the MonoDevelop IDE and several other ways of integrating Mono into your existing environment as a Java or Windows developer are covered. Finally, the community is an important aspect of every open source project. Ways of interacting with the community as well as a guide on how to submit bugs and links to some working Mono/C# applications are part of this chapter.
The C# introduction in the second chapter, Getting Started with C#, is tailored towards people who have at least some proficiency in using an object-oriented language such as C++ or Java. Some differences between C#, Java and C++ are discussed, as well as the differences between value- and reference types, the basics of error handling, working with assemblies and more. Concepts such as classes, methods, inheritance and namespaces are assumed to be known territory. If you have no previous programming experience, Mono: A Developer's Notebook is only useful in combination with a book that teaches programming with C# such as The C# Programming Language by Anders Hejlsberg.
An important part of any modern language is its class libraries. The third chapter, Core .NET, provides an introduction to the standard Framework Library Classes, which describes essential everyday tasks that are part of every program, such as working with files, strings, searching for text patterns and handling collections of data. Besides those basic functions, the chapter also dives deeper into the internals of a compiled assembly, the handling of processes and easy multitasking using threads. Finally, the last paragraph explains how to use a .NET version of the JUnit Java Unit testing framework, Nunit, to test your code.
Developing Gtk-applications with Mono and C# is remarkably easy. Chapter 4, Gtk#, describes the basics of writing Gtk# applications. First, it's neccesary to remark that Gtk# might be a bit of a misnomer. Besides the raw Gtk+ toolkit functionality, Gtk# also includes most of the Gnome libraries like gconf, the gnome canvas, libglade and more. Chapter 4 describes functionality available in the Gtk namespace, the basic Gtk+ toolkit. Gtk+ is a constraints-based toolkit, which means that widgets are not positioned using absolute pixel coordinates but rather on basis of their logical relation to each other. This can be a bit confusing for novices, but this chapter provides a good introduction to the basic principles of writing layouts using Gtk#. The authors provide descriptions of essential operations that almost every application needs, such as creating menus and drawing pixmaps (or more advanced things like using the treeview widget and drag-and-drop), assisted by easy-to-read code snippets.
While chapter 4 introduces basic Gtk# functionality, chapter 5, Advanced Gtk#, delves deeper into more advanced features of the Gtk# library which also include functionality outside of the basic Gtk-namespace, such as the Gnome libraries. Working with Gnome button toolbars, the Glade user interface designer, storing your application settings in Gconf, setting up some preferences through the use of a wizard/druid, asynchronous operations and threading to increase responsiveness of your application while performing background tasks, rendering HTML in your application using the Gecko rendering engine and internationalisation and translation of applications are all described in this chapter.
The use of XML is tightly integrated throughout the Mono framework. It is, for example, the underlying format of the messages that web services use to communicate using the SOAP and XML-RPC protocols. The 6th chapter, Processing XML, describes the XML functionality available in Mono. It starts off by simple operations, reading and writing to an XML-file using relevant examples such as RSS and Dashboard clue-packets. It then proceeds to describe how to modify XML in memory, how to navigate and transform XML using Xpath and XSLT, how to constrain XML in several ways and how to serialize and deserialize objects into and from their XML representation. As in previous chapters, the information density is very high so it might take several reads to grok everything explained. The code examples and accompanying text however are very clear and concise.
The 7th chapter called Networking, Remoting, and Web Services describes the networking functionality available in Mono. The chapter starts off with ASP.NET. Mono's stand-alone XSP webserver and Apache integration with mod_mono are discussed, as well as the basics of writing a web application using ASP.NET's code-behind functionality which enables web applications to completely seperate presentation from the underlying code. Communication using plain tcp/ip, remoting using binary serialized objects and invoking remote procedures using XML-RPC as an alternative to SOAP are also described in this chapter. You might want to encrypt the data you send over the network, so a basic description of the Mono cryptographic API is provided. Finally, a short introduction to database handling using ADO.NET concludes chapter 7.
The 8th and last chapter titled Cutting Edge Mono starts off with an introduction on how to use the GNU Automake, Autoconf and the pkg-config tools to create an easy to build source package of your project. It then proceeds to describe various pitfalls and considerations in case you want to write cross-platform applications using Mono, such as filesystem layout, configuration storage and the calling of native code using p/invoke. A particularly cool project is IKVM, which translates Java bytecode into the Common Intermediate Language bytecode Mono uses. This enables Mono to run Java applications and allows Java and Mono code to inter-operate. A short introduction on the use of IKVM is provided, as well as some code examples on how to call Mono assemblies from Java and use the Java class libraries from within Mono applications. The chapter ends with some other cutting-edge functionality, like how to run a development version of Mono, a preview of the Generics (templates in c++) implementation available as featured in C# 2.0 and how to write Mono programs in Basic.
What is missing? The book doesn't contain a reference section on any of the described API's. If you need detailed information on the C# language specification or an API reference you will need to consult external resources such as the documentation provided with Mono, MSDN, or a separate book covering the topic to make optimal use of the information contained in this book. Fortunately, the book kindly provides pointers on where to find those. The information-density is much higher than you would expect from a book this size. This means the information contained in it is terse. Many topics are treated in a only a couple of pages and the book doesn't take time to explain a lot of programming concepts. The information gets you 'on the road' quickly however, which is exactly what this book is supposed to do.
The strength of this book is that it fills the gap between the earlier-mentioned reference documentation and the need to go out and try to read sourcecode to find out how a particular thing is done. The writing style is clear, concise and neutral. Some topics are clarified by the use of screenshots, which is especially useful in the chapters dealing with Gtk# widgets. All in all, if you are a developer with previous experience in object-oriented programming, Mono: A Developer's Notebook will provide you with an excellent introduction into many of the aspects of working with Mono, its associated libraries and programs.
More information and a sample chapter can be found at the book's homepage.
You can purchase Mono: A Developer's Handbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Mono: A Developer's Handbook
vertigo writes "I am reasonably proficient in C and C++ as well as the more common scripting languages, but i always felt the lack of a sweet spot between the hard and fast low-level programming languages and the loosely typed scripting languages. Lately, my interest in the Mono project has been growing. The C# language appears to offer just that sweet spot between power and productivity I've been looking for, and its class libraries like Gtk# seem to provide the programmer with a very clean and intuitive API." Read on for vertigo's review of Mono: A Developer's Handbook from O'Reilly. Mono: A Developer's Handbook author Edd Dumbill and Niel M. Bornstein pages 278 publisher O'Reilly Media, Inc. rating 8 reviewer vertigo ISBN 0596007922 summary An introduction to programming with MonoWhen learning a new language such as C#, or working with a new development environment such as Mono, it usually takes some time before you get up to speed in developing programs. Wading through the reference documentation and reading other people's source code often provides much-needed information on how to do certain things. Both, however, are very time consuming and tedious.
Enter Mono: A Developer's Notebook. This book provides a series of task-driven chapters which are thin on theory, but rich on practical content and example code. The featured code snippets are, in contrast to ones in books that teach theory and concepts, not solely designed to illustrate a specific theoretical aspect of programming. Each one is designed to perform a useful task that is essential in day-to-day application programming. What sets this book apart from the multitude of .NET books already available on the market? In order to answer this question it is neccesary to provide a short introduction on Mono.
Mono is essentially an open source cross-platform implementation of Microsoft's .NET development framework and implements the API's which are standardized by ECMA. It is, however, not an exact clone. Besides providing a (partially implemented) stack that provides compatibility with Microsoft's .NET API's, Mono adds a whole new API-stack of its own, consisting of open source technologies such as the Gtk+ toolkit and the Gecko HTML rendering engine. This makes it possible to develop cross-platform applications based on open source technology while (mostly) compiling from a single code-base. In contrast to most .NET books available on the market, which focus primarily on Microsoft's API's in the context of Visual Studio.NET, this book concentrates on the basic ECMA API's and Mono's own open source stack. A complete coverage of .NET and the Mono architecture is outside of this review's scope, so for more information you are advised to check the Mono Project's website.
Before we dive deeper into the content of the book, a short introduction on the Developer's Notebook series by O'Reilly may be useful. The books in this series are styled to resemble the kind of notebooks college students carry around during their classes in which to take notes or, more commonly, draw caricatures of their teachers. The 'notebook' theme persists throughout the look-and-feel of the book. The 278-page thick paperback has a glossy blue cover, complete with faux post-it note and coffee-stains. Inside, the pages are not clean white but lined like the pages found in math notebooks. In the margin, useful comments are scribbled in a font that resembles handwriting. At first I suspected that the 'busy' look would distract from the content, but in practice this was no problem, thanks to the thick black typewriter font in which the bulk of the text is printed.
The chapters in this book are referred to as labs. Each of them focuses on a specific set of tasks and/or features and is divided into several paragraphs. Most paragraphs consist of a number of standard sections following a rigid formula that help you understand a certain aspect of working with Mono. The most common sections are:
- How do I do that?: Often using a liberal amount of practical code, this section shows how to accomplish the task at hand, for example working with files.
- How it works: In this section, the code and concepts involved in the previous section are explained more in depth, step by step.
- What about...: Offers a short focus on more advanced topics or pitfalls.
- Where to learn more: If you are craving more information after reading the previous sections, you are often offered a helping hand on where to find more information, providing url's to relevant documentation such as MSDN and other websites.
The first chapter, Getting Mono Running, describes how to get Mono up and running on Linux, Windows or Mac OS X, and how to compile from source on other platforms. The installation instructions for Windows only describe how to install Mono and Gtk#. Integration of Gtk# only in an existing Visual Studio.Net installation falls outside of the scope of the book, but a recent blog entry offers some hints on how to accomplish this. Besides installation, the first chapter offers a short description of the individual tools that make up the mono development. After installation, you will want some kind of editor or IDE to work with. Both the MonoDevelop IDE and several other ways of integrating Mono into your existing environment as a Java or Windows developer are covered. Finally, the community is an important aspect of every open source project. Ways of interacting with the community as well as a guide on how to submit bugs and links to some working Mono/C# applications are part of this chapter.
The C# introduction in the second chapter, Getting Started with C#, is tailored towards people who have at least some proficiency in using an object-oriented language such as C++ or Java. Some differences between C#, Java and C++ are discussed, as well as the differences between value- and reference types, the basics of error handling, working with assemblies and more. Concepts such as classes, methods, inheritance and namespaces are assumed to be known territory. If you have no previous programming experience, Mono: A Developer's Notebook is only useful in combination with a book that teaches programming with C# such as The C# Programming Language by Anders Hejlsberg.
An important part of any modern language is its class libraries. The third chapter, Core .NET, provides an introduction to the standard Framework Library Classes, which describes essential everyday tasks that are part of every program, such as working with files, strings, searching for text patterns and handling collections of data. Besides those basic functions, the chapter also dives deeper into the internals of a compiled assembly, the handling of processes and easy multitasking using threads. Finally, the last paragraph explains how to use a .NET version of the JUnit Java Unit testing framework, Nunit, to test your code.
Developing Gtk-applications with Mono and C# is remarkably easy. Chapter 4, Gtk#, describes the basics of writing Gtk# applications. First, it's neccesary to remark that Gtk# might be a bit of a misnomer. Besides the raw Gtk+ toolkit functionality, Gtk# also includes most of the Gnome libraries like gconf, the gnome canvas, libglade and more. Chapter 4 describes functionality available in the Gtk namespace, the basic Gtk+ toolkit. Gtk+ is a constraints-based toolkit, which means that widgets are not positioned using absolute pixel coordinates but rather on basis of their logical relation to each other. This can be a bit confusing for novices, but this chapter provides a good introduction to the basic principles of writing layouts using Gtk#. The authors provide descriptions of essential operations that almost every application needs, such as creating menus and drawing pixmaps (or more advanced things like using the treeview widget and drag-and-drop), assisted by easy-to-read code snippets.
While chapter 4 introduces basic Gtk# functionality, chapter 5, Advanced Gtk#, delves deeper into more advanced features of the Gtk# library which also include functionality outside of the basic Gtk-namespace, such as the Gnome libraries. Working with Gnome button toolbars, the Glade user interface designer, storing your application settings in Gconf, setting up some preferences through the use of a wizard/druid, asynchronous operations and threading to increase responsiveness of your application while performing background tasks, rendering HTML in your application using the Gecko rendering engine and internationalisation and translation of applications are all described in this chapter.
The use of XML is tightly integrated throughout the Mono framework. It is, for example, the underlying format of the messages that web services use to communicate using the SOAP and XML-RPC protocols. The 6th chapter, Processing XML, describes the XML functionality available in Mono. It starts off by simple operations, reading and writing to an XML-file using relevant examples such as RSS and Dashboard clue-packets. It then proceeds to describe how to modify XML in memory, how to navigate and transform XML using Xpath and XSLT, how to constrain XML in several ways and how to serialize and deserialize objects into and from their XML representation. As in previous chapters, the information density is very high so it might take several reads to grok everything explained. The code examples and accompanying text however are very clear and concise.
The 7th chapter called Networking, Remoting, and Web Services describes the networking functionality available in Mono. The chapter starts off with ASP.NET. Mono's stand-alone XSP webserver and Apache integration with mod_mono are discussed, as well as the basics of writing a web application using ASP.NET's code-behind functionality which enables web applications to completely seperate presentation from the underlying code. Communication using plain tcp/ip, remoting using binary serialized objects and invoking remote procedures using XML-RPC as an alternative to SOAP are also described in this chapter. You might want to encrypt the data you send over the network, so a basic description of the Mono cryptographic API is provided. Finally, a short introduction to database handling using ADO.NET concludes chapter 7.
The 8th and last chapter titled Cutting Edge Mono starts off with an introduction on how to use the GNU Automake, Autoconf and the pkg-config tools to create an easy to build source package of your project. It then proceeds to describe various pitfalls and considerations in case you want to write cross-platform applications using Mono, such as filesystem layout, configuration storage and the calling of native code using p/invoke. A particularly cool project is IKVM, which translates Java bytecode into the Common Intermediate Language bytecode Mono uses. This enables Mono to run Java applications and allows Java and Mono code to inter-operate. A short introduction on the use of IKVM is provided, as well as some code examples on how to call Mono assemblies from Java and use the Java class libraries from within Mono applications. The chapter ends with some other cutting-edge functionality, like how to run a development version of Mono, a preview of the Generics (templates in c++) implementation available as featured in C# 2.0 and how to write Mono programs in Basic.
What is missing? The book doesn't contain a reference section on any of the described API's. If you need detailed information on the C# language specification or an API reference you will need to consult external resources such as the documentation provided with Mono, MSDN, or a separate book covering the topic to make optimal use of the information contained in this book. Fortunately, the book kindly provides pointers on where to find those. The information-density is much higher than you would expect from a book this size. This means the information contained in it is terse. Many topics are treated in a only a couple of pages and the book doesn't take time to explain a lot of programming concepts. The information gets you 'on the road' quickly however, which is exactly what this book is supposed to do.
The strength of this book is that it fills the gap between the earlier-mentioned reference documentation and the need to go out and try to read sourcecode to find out how a particular thing is done. The writing style is clear, concise and neutral. Some topics are clarified by the use of screenshots, which is especially useful in the chapters dealing with Gtk# widgets. All in all, if you are a developer with previous experience in object-oriented programming, Mono: A Developer's Notebook will provide you with an excellent introduction into many of the aspects of working with Mono, its associated libraries and programs.
More information and a sample chapter can be found at the book's homepage.
You can purchase Mono: A Developer's Handbook 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's New Magazine for DIY Tech Projects
sargon writes "O'Reilly will begin publishing a new magazine, 'Make,' in early 2005 which is aimed at the do-it-yourself crowd. To quote the home page: '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. This is a magazine that celebrates your right to tweak, hack, and bend any technology to your own will.' The first issue will focus on kite aerial photography." Any suggestions for what they should cover? -
Best Training in Linux Administration?
Love to Learn Linux asks: "My company is making the move to Linux. I've been a Windows admin the last 5 years and have been asked to learn Linux. I've got some O'Reilly books but I need some hands on experience. My company will pay for any Linux training I choose. I'd prefer an online course to one of those 4 day classroom courses since I'd like to take my time and really learn it. So far, I've been recommended the Red Hat eLearning course and the O'Reilly Learning Lab. Would you recommend either of these over the other, or are there some better choices?" -
We the Media
The Importance of writes "Tech columnist (for the San Jose Mercury News) Dan Gillmor is a journalist who gets it. You may not always agree with every detail of his reporting, but he clearly has a deep understanding of what is important and what is not in the technology world. And, because he is a trained writer, he knows how to explain it well. Of course, he'll probably end up most famous for what he doesn't know, as in his self-proclaimed mantra: "the readers know more than I do." In large part, his new book, We the Media: Grassroots Journalism by the People, for the People, is about what happens to journalism when technology reveals the truth of Gillmor's mantra." We the Media: Grassroots Journalism by the People, for the People author Dan Gillmor pages 299 publisher O'Reilly rating 9 reviewer The Importance Of ISBN 0596007337 summary The revolution in media and what it means for journalism.The main focus of We the Media is the ongoing revolution in journalism, but it is much broader than that. It is about media and communication in general. It is a report in mid-2004 on many of the predictions that Marshall McLuhan made in the 1960s and 70s about how technology will change the way we communicate for good and ill.
It's actually somewhat difficult to write, precisely, what the book is about. Gillmor has taken a diverse range of subjects from technology, to politics, and law, from blogging to broadcast and spread spectrum, and combined them into a compelling and provocative narrative. The ideas come fast and furious, but Gillmor's writing talent keeps the reader on track. In fact, there are so many concepts discussed that there really is not enough room to summarize them all in this review.
Instead, it is probably easier to talk about who the book is for. Gillmor sets it out in his introduction: journalists, newsmakers and the people formerly known as "the audience."
Journalists
Very simply, We the Media should be required reading in journalism schools for students and professors. I'm serious. If you're a publisher, editor, or an actual breathing reporter, and you want to get up to speed on what is happening to your profession, you need to read this book.
Revolutionary shifts don't usually happen overnight, and the one in journalism that Gillmor describes didn't either. He briefly sketches a progression of changes from revolutionary era newspapers and pamphleteers to the increasing centralization of corporate media behemoths in the 20th century. However, there is a day he can point to when the latest shift became pretty obvious. That day was Sept 11, 2001. That was the day that personal media, through email lists and websites, became an important way for the story to get out.
Personally, I was at a public television conference in Wisconsin. Many of the attendees were journalists for local PBS affiliates. Connected to the net in the conference room, I was getting news through Slashdot because most of the major media websites were down, and the broadcast news was simply playing video of the attacks over and over. Soon, many of the other attendees were also checking Slashdot for links to and mirrors of the news gathered by Slashdot's readers. That may not seem like a big deal, but as Gillmor relates, similar things were taking place in many other net forums. The importance of these alternate news sites has continued (you're reading this aren't you?).
Because the whole book is about journalism, it is a bit hard to pick out more highlights, but Gillmor does begin his chapter on "Professional Journalists Joining the Conversation" with a Slashdot anecdote concerning Jane's Intelligence Review thanking the Slashdot community for pointing out the flaws in a proposed article on cyberterrorism back in 1999. Actually, much of what Gillmor is talking about is basically how journalists can be more like Jane's - working with and taking advantage of the fact that the audience knows more than the publication.
Newsmakers
If you are a politician, CEO or advisor to similar, you should probably read this book as well. In many ways, journalists are middlemen, connecting those making news with those who want to learn the news. One of the things technology is enabling is the ability of newsmakers to connect directly with their audience in many ways. Of course, as Gillmor documents, many businessmen and politicians don't really understand how to communicate through this new medium properly. Nevertheless, there are lessons that can be learned from the mistakes as well as some positive examples of those who've used new technologies successfully.
The People Formerly Known as "The Audience"
Basically, everybody who comments down below this review is participating in it. You're not simply an audience; you're co-authors of this review. What I'm writing here is only a starting point for the conversation. If you're interested in becoming a more active participant, in learning more about the role the once-passive, now-proactive audience is playing in creating, editing and filtering media, then you probably want to read this book too. We're all journalists now.
Free As in Speech (and Beer)
The book has an Attribution-NonCommercial-ShareAlike 2.0 Creative Commons license. The digital text isn't available on the web yet, but should be very soon. Expect a profusion of formats, audio versions, translations, and wikis to follow. One thought of mine is that classes of journalism students should be regularly given an assignment to keep the book up-to-date.
We the Media also has a weblog, which will be a good place to keep track of the book as it develops. Just because a book has been published doesn't mean it has finished changing.
You can purchase We the Media: Grassroots Journalism by the People, for the People 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. -
We the Media
The Importance of writes "Tech columnist (for the San Jose Mercury News) Dan Gillmor is a journalist who gets it. You may not always agree with every detail of his reporting, but he clearly has a deep understanding of what is important and what is not in the technology world. And, because he is a trained writer, he knows how to explain it well. Of course, he'll probably end up most famous for what he doesn't know, as in his self-proclaimed mantra: "the readers know more than I do." In large part, his new book, We the Media: Grassroots Journalism by the People, for the People, is about what happens to journalism when technology reveals the truth of Gillmor's mantra." We the Media: Grassroots Journalism by the People, for the People author Dan Gillmor pages 299 publisher O'Reilly rating 9 reviewer The Importance Of ISBN 0596007337 summary The revolution in media and what it means for journalism.The main focus of We the Media is the ongoing revolution in journalism, but it is much broader than that. It is about media and communication in general. It is a report in mid-2004 on many of the predictions that Marshall McLuhan made in the 1960s and 70s about how technology will change the way we communicate for good and ill.
It's actually somewhat difficult to write, precisely, what the book is about. Gillmor has taken a diverse range of subjects from technology, to politics, and law, from blogging to broadcast and spread spectrum, and combined them into a compelling and provocative narrative. The ideas come fast and furious, but Gillmor's writing talent keeps the reader on track. In fact, there are so many concepts discussed that there really is not enough room to summarize them all in this review.
Instead, it is probably easier to talk about who the book is for. Gillmor sets it out in his introduction: journalists, newsmakers and the people formerly known as "the audience."
Journalists
Very simply, We the Media should be required reading in journalism schools for students and professors. I'm serious. If you're a publisher, editor, or an actual breathing reporter, and you want to get up to speed on what is happening to your profession, you need to read this book.
Revolutionary shifts don't usually happen overnight, and the one in journalism that Gillmor describes didn't either. He briefly sketches a progression of changes from revolutionary era newspapers and pamphleteers to the increasing centralization of corporate media behemoths in the 20th century. However, there is a day he can point to when the latest shift became pretty obvious. That day was Sept 11, 2001. That was the day that personal media, through email lists and websites, became an important way for the story to get out.
Personally, I was at a public television conference in Wisconsin. Many of the attendees were journalists for local PBS affiliates. Connected to the net in the conference room, I was getting news through Slashdot because most of the major media websites were down, and the broadcast news was simply playing video of the attacks over and over. Soon, many of the other attendees were also checking Slashdot for links to and mirrors of the news gathered by Slashdot's readers. That may not seem like a big deal, but as Gillmor relates, similar things were taking place in many other net forums. The importance of these alternate news sites has continued (you're reading this aren't you?).
Because the whole book is about journalism, it is a bit hard to pick out more highlights, but Gillmor does begin his chapter on "Professional Journalists Joining the Conversation" with a Slashdot anecdote concerning Jane's Intelligence Review thanking the Slashdot community for pointing out the flaws in a proposed article on cyberterrorism back in 1999. Actually, much of what Gillmor is talking about is basically how journalists can be more like Jane's - working with and taking advantage of the fact that the audience knows more than the publication.
Newsmakers
If you are a politician, CEO or advisor to similar, you should probably read this book as well. In many ways, journalists are middlemen, connecting those making news with those who want to learn the news. One of the things technology is enabling is the ability of newsmakers to connect directly with their audience in many ways. Of course, as Gillmor documents, many businessmen and politicians don't really understand how to communicate through this new medium properly. Nevertheless, there are lessons that can be learned from the mistakes as well as some positive examples of those who've used new technologies successfully.
The People Formerly Known as "The Audience"
Basically, everybody who comments down below this review is participating in it. You're not simply an audience; you're co-authors of this review. What I'm writing here is only a starting point for the conversation. If you're interested in becoming a more active participant, in learning more about the role the once-passive, now-proactive audience is playing in creating, editing and filtering media, then you probably want to read this book too. We're all journalists now.
Free As in Speech (and Beer)
The book has an Attribution-NonCommercial-ShareAlike 2.0 Creative Commons license. The digital text isn't available on the web yet, but should be very soon. Expect a profusion of formats, audio versions, translations, and wikis to follow. One thought of mine is that classes of journalism students should be regularly given an assignment to keep the book up-to-date.
We the Media also has a weblog, which will be a good place to keep track of the book as it develops. Just because a book has been published doesn't mean it has finished changing.
You can purchase We the Media: Grassroots Journalism by the People, for the People 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. -
Google: The Missing Manual
Alex Moskalyuk writes "According to O'Reilly Publishing's Web site, the missing manual series was started after many software publishers decided to drop the practice of including manuals in the boxed set. Supposedly, the same information could be retrieved from the Web site or help file, but those uncomfortable with the manufacturer's site, or those with pathological fear of reading anything that follows F1 were left out in the cold. So it's understandable that missing manuals exist for Windows, Mac OS X, Dreamweaver MX and other products packed with features that are not easy to grasp through naive experimentation. But a manual for Google? A manual for the Web service that makes money by creating an interfaces as simple and intuitive as possible? To put it mildly, are they insane?" (Read more below.) Google: The Missing Manual author Sarah Milstein, Rael Dornfest pages 224 publisher O'Reilly rating 7 reviewer Alex Moskalyuk ISBN 0596006136 summary Everything there's to know about GoogleLooking at the table of contents (for some reason PDF only), I figured out the book might be useful for someone relatively new to the Internet with intrinsic fear of doing something wrong (which pretty much describes my parents as well as their friends within the same age group). Chapters 8 and 9 on Web-mastering with Google might be useful, as it talks about buying AdWords for ad campaigns and serving AdSense for making money off the Web site. Still, I was interested to see what the book had to offer and started reading from Chapter 1, only to find this useful tip on page 24:
A lot of people probably knew this, but Google allows you to do a phrase search even if you don't have an idea of what the complete phrase looks like. Wildcard search allows one to use an asterisk for any word that's missing. Google will fill it in automatically. Pretty useful for finding the lyrics for that song you heard on the radio, but couldn't figure out the last word.
But this is not a Google tutorial: it turned out to be surprisingly useful even for me, someone who uses Google probably about a hundred times a day. Google features have that feeling of serendipity, where you can use the engine just fine without knowing anything advanced, but once you discover a few shortcuts, there's truly no replacement. For example, the book tells you what kind of numbers can be usefully entered into the Google search window: you can search for area codes, ISBN numbers, UPC numbers, flight numbers, Fedex/UPS/USPS tracking numbers as well as vehicle ID numbers (btw, the car is for sale).
Chapter 4 is very informative for Google's less frequently used services - Groups and Answers. While Google Groups and the Usenet search are probably bookmarked by any geek out there, not many people know that Google runs a paid service that can help you if you're just stuck with no results. Moreover, once the answer is posted and someone has paid for it, Google allows all the visitors to browse it for free, and some advice, for example, in small business section, can save a trip to the lawyer or paid consultant. The book takes the reader through the process of setting up an Answers account (which is actually the same account as the one for Groups) and asking informative questions requiring additional research.
Google: The Missing Manual is a pleasant book to read. Lots of screenshots (although all black-and-white), detailed information on the services and quite useful tips for newbies as well as professionals, clearly marked chapters, notes and tips spread throughout the book all make for a good reading experience. It's interesting URLs like this one that show that the authors really put time and effort into creating a book that's fun as well as informative.
Will the book be useful for an average Slashdot reader? Unlikely, since most of the information is already out there and most of the people here don't need a hand-holding walk-through into Google services. Will it be useful for Webmasters? Most of the tips I've read in the last two chapters were pretty much something I knew before. It's not something you need when you've had your own Web site for a few years, but the book is pretty good if you've just started up building Web pages. Also, since so many features have been only recently introduced, the book doesn't cover things like graphic ads in AdSense or Gmail accounts.
For someone quite unexperienced with the Internet or those seeking to gain expertise in Google services and broaden their research skills, though, it is a useful, fun-to-read title. It's not expensive either, so while I think for most of the geeks it's redundant, it would be a good gift for those in the family who keep calling and asking questions that begin with "Where do I find...?"
You can purchase Google: The Missing Manual 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. -
BSD Hacks
GMan00 writes "A flurry of BSD UNIX-related (Berkeley Software Distribution) books have hit the bookstores during the recent past, and more are on the way. From books specific to Secure Architectures with OpenBSD in April 2004 and the reissue of The Design and Implementation of the BSD Operating System for FreeBSD 5.x (expected in August 2004), to Michael Lucas' series of BSD Books from NoStarch Press, print documentation is certainly available for those interested in learning about the free, open source UNIX system which powers operations such as Yahoo! portal and Sendmail.org website, Verio and Pair hosting, not to mention web server survey site Netcraft. Dru Lavigne's BSD Hacks (O'Reilly and Associates, May 2004), is the latest book in these releases, and is an enormously useful resource for system administrators and end-users alike." Read on for the rest of George's review. BSD Hacks author Dru Lavigne pages 427 publisher O'Reilly & Associates rating 10 reviewer George ISBN 0596006799 summary A great array of hacks you can perform on your BSD box, many applicable to all the BSDs, including FreeBSD, NetBSD, OpenBSD and Darwin/OS X.Dru writes the BSD Basics column on O'Reilly & Associates' OnLamp. Her clarity and fluid style are perfect for those looking to understand aspects of the BSD operating systems. I have had some email communications with Dru about various New York City *BSD User Group-related activities, and managed to speak with her several times at BSDCan this past May.
Like most computer nerds, Dru has a sense of humor. Unlike most, however, she's actually funny.
BSD Hacks is the first book that is almost solely focused on hacks for sysadmins, without boring you with the details for basic operating system installation and configuration that has been so well documented elsewhere. BSD Hacks is not just for sysadmins, though. Intermediate and advanced BSD users will also find the book an excellent tool. For those who find difficulty in BSD installs and other fundamentals, on the other hand, it's best to start with the FreeBSD Handbook, the NetBSD Guide or the OpenBSD FAQ.
There's lots of good hacks buried in the various BSD books, around the internet in different HOWTOs and tutorials. But BSD hacking is the sole purpose of BSD Hacks; there's no need to browse through install screens and overviews of TCP/IP before getting to the heart of the matter.
With 100 listed hacks, multiplied by an impressive level of detailed angles for each, Dru provides an array that demands the placement of this book right in your server room, not in a pile of "must-read-at-some-distant-point-in-the-future" texts.
The majority of hacks are applicable to all the BSDs, including Darwin and OS X, although some are specific to one BSD or another.
This review obviously can't list every hack, although you would be smart to sit and work through the book yourself over a weekend or two. But it is possible to provide a good flavor of BSD Hacks in brief. O'Reilly and Associates does give a good glimpse on their Sample Hacks page, but let's do a quick work through ourselves.
The first chapter is called "Customizing the User Environment," and is probably best for end-users looking to go beyond their first steps. But it does include some useful hacks, such as "Use an Interactive Shell" that certainly fit well into the arsenal of any sysadmin, not to mention Hack #12 "Use Multiple Screens on One Terminal."
The second chapter, "Dealing with Files and Filesystems" also contains gems for both end-users and sysadmins. The use of mtree, which maps a directory hierarchy, is mentioned as a tool for recovery. Later on in chapter 6, Dru details its use for making a hacked data integrity checker, thus filling the role often played by products such as Tripwire.
Another great tool Dru covers in the second chapter is g4u, a free ghosting program that gives you the ability to perform quick restores over ftp. Ghosting a drive image is an incredibly useful tool, whether it's about replicating servers or doing a quick reinstall and configuration when a server fails in an emergency.
Chapter 3 is entitled "Boot and Login Environments." It gives some hacks that aren't just for basic system administration, but also some useful security ones including changing your /etc/passwd file to Blowfish encryption and utilizing OPIE for one-time passwords, which is built into FreeBSD.
"Backup Up" is the focus of Chapter 4. It includes some very creative methods of dealing with maintaining that necessity, and also includes an excellent primer on Bacula, which is increasingly gaining prominence as a cross-platform backup system.
Chapter 5 covers "Network Hacks," and continues on educating a sysadmin. Included in this chapter is the tcpdump program, a vital tool for watching traffic flowing by your network interfaces.
There's a strong security focus in Chapter 6, entitled "Securing the System." While security hacks are sprinkled generously throughout the book, this chapter works with firewalling with IPF and PF, in addition to covering SSH and Snort. It also includes the earlier mentioned 'intrusion detection-lite' approach with mtree.
Chapter 7, "Going Beyond the Basics" explores scripting, analyzing dreaded buffer overflows and more. Dru also includes a bit on "Creating a Trade Show Demo," not something you'd expect documented in print anywhere, but nevertheless quite useful for anyone working for the BSDs at a conference.
Dru continues with "Keeping Up-to-Date" in Chapter 8, which includes useful details on upgrading and downgrading your installed ports.
The final chapter is "Grokking BSD." "Grok," as Dru comments, refers to the science fiction writer Heinlein's Martian phrase for having a "thorough understanding." Dru covers creating your own manual pages, dealing with custom patches, playing with dictionaries and more.
Certainly there are no walls between each chapter, as many of the hacks could be shifted around. All the more reason to work your way through the book from beginning to end.
One useful addition for this book could have been somehow denoting which of the BSDs (in some cases, it's all of them) to which each listed hack can be applied. Certainly not all are available to Darwin and Apple's OS X. And certainly there's no point in making the OpenBSD /etc/passwd file encrypted in Blowfish, since that is its default.
While many of the hacks are found somewhere in the manual pages, on some useful website, buried in another book or in the minds of some developer somewhere, they're not necessarily in the annals of official documentation. But there's no single book or site that provides the depth and breadth that Dru provides. She managed to tap into the thoughts of dozens of developers and sysadmins around the world, greatly enhancing the variety of hacks in this book.
As a side note, the scope of BSD Hacks isn't limited to just the BSD family. Many of these are likely applicable to Linux and the other UNIX systems. But with recent, impressive increases in the BSD install base, there's a good chance that you can access a BSD box somewhere.
Whether you're a sysadmin managing hundreds of servers, or a power user ready to go beyond the obvious, BSD Hacks belongs next to your CRT.
You can purchase BSD Hacks 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. -
BSD Hacks
GMan00 writes "A flurry of BSD UNIX-related (Berkeley Software Distribution) books have hit the bookstores during the recent past, and more are on the way. From books specific to Secure Architectures with OpenBSD in April 2004 and the reissue of The Design and Implementation of the BSD Operating System for FreeBSD 5.x (expected in August 2004), to Michael Lucas' series of BSD Books from NoStarch Press, print documentation is certainly available for those interested in learning about the free, open source UNIX system which powers operations such as Yahoo! portal and Sendmail.org website, Verio and Pair hosting, not to mention web server survey site Netcraft. Dru Lavigne's BSD Hacks (O'Reilly and Associates, May 2004), is the latest book in these releases, and is an enormously useful resource for system administrators and end-users alike." Read on for the rest of George's review. BSD Hacks author Dru Lavigne pages 427 publisher O'Reilly & Associates rating 10 reviewer George ISBN 0596006799 summary A great array of hacks you can perform on your BSD box, many applicable to all the BSDs, including FreeBSD, NetBSD, OpenBSD and Darwin/OS X.Dru writes the BSD Basics column on O'Reilly & Associates' OnLamp. Her clarity and fluid style are perfect for those looking to understand aspects of the BSD operating systems. I have had some email communications with Dru about various New York City *BSD User Group-related activities, and managed to speak with her several times at BSDCan this past May.
Like most computer nerds, Dru has a sense of humor. Unlike most, however, she's actually funny.
BSD Hacks is the first book that is almost solely focused on hacks for sysadmins, without boring you with the details for basic operating system installation and configuration that has been so well documented elsewhere. BSD Hacks is not just for sysadmins, though. Intermediate and advanced BSD users will also find the book an excellent tool. For those who find difficulty in BSD installs and other fundamentals, on the other hand, it's best to start with the FreeBSD Handbook, the NetBSD Guide or the OpenBSD FAQ.
There's lots of good hacks buried in the various BSD books, around the internet in different HOWTOs and tutorials. But BSD hacking is the sole purpose of BSD Hacks; there's no need to browse through install screens and overviews of TCP/IP before getting to the heart of the matter.
With 100 listed hacks, multiplied by an impressive level of detailed angles for each, Dru provides an array that demands the placement of this book right in your server room, not in a pile of "must-read-at-some-distant-point-in-the-future" texts.
The majority of hacks are applicable to all the BSDs, including Darwin and OS X, although some are specific to one BSD or another.
This review obviously can't list every hack, although you would be smart to sit and work through the book yourself over a weekend or two. But it is possible to provide a good flavor of BSD Hacks in brief. O'Reilly and Associates does give a good glimpse on their Sample Hacks page, but let's do a quick work through ourselves.
The first chapter is called "Customizing the User Environment," and is probably best for end-users looking to go beyond their first steps. But it does include some useful hacks, such as "Use an Interactive Shell" that certainly fit well into the arsenal of any sysadmin, not to mention Hack #12 "Use Multiple Screens on One Terminal."
The second chapter, "Dealing with Files and Filesystems" also contains gems for both end-users and sysadmins. The use of mtree, which maps a directory hierarchy, is mentioned as a tool for recovery. Later on in chapter 6, Dru details its use for making a hacked data integrity checker, thus filling the role often played by products such as Tripwire.
Another great tool Dru covers in the second chapter is g4u, a free ghosting program that gives you the ability to perform quick restores over ftp. Ghosting a drive image is an incredibly useful tool, whether it's about replicating servers or doing a quick reinstall and configuration when a server fails in an emergency.
Chapter 3 is entitled "Boot and Login Environments." It gives some hacks that aren't just for basic system administration, but also some useful security ones including changing your /etc/passwd file to Blowfish encryption and utilizing OPIE for one-time passwords, which is built into FreeBSD.
"Backup Up" is the focus of Chapter 4. It includes some very creative methods of dealing with maintaining that necessity, and also includes an excellent primer on Bacula, which is increasingly gaining prominence as a cross-platform backup system.
Chapter 5 covers "Network Hacks," and continues on educating a sysadmin. Included in this chapter is the tcpdump program, a vital tool for watching traffic flowing by your network interfaces.
There's a strong security focus in Chapter 6, entitled "Securing the System." While security hacks are sprinkled generously throughout the book, this chapter works with firewalling with IPF and PF, in addition to covering SSH and Snort. It also includes the earlier mentioned 'intrusion detection-lite' approach with mtree.
Chapter 7, "Going Beyond the Basics" explores scripting, analyzing dreaded buffer overflows and more. Dru also includes a bit on "Creating a Trade Show Demo," not something you'd expect documented in print anywhere, but nevertheless quite useful for anyone working for the BSDs at a conference.
Dru continues with "Keeping Up-to-Date" in Chapter 8, which includes useful details on upgrading and downgrading your installed ports.
The final chapter is "Grokking BSD." "Grok," as Dru comments, refers to the science fiction writer Heinlein's Martian phrase for having a "thorough understanding." Dru covers creating your own manual pages, dealing with custom patches, playing with dictionaries and more.
Certainly there are no walls between each chapter, as many of the hacks could be shifted around. All the more reason to work your way through the book from beginning to end.
One useful addition for this book could have been somehow denoting which of the BSDs (in some cases, it's all of them) to which each listed hack can be applied. Certainly not all are available to Darwin and Apple's OS X. And certainly there's no point in making the OpenBSD /etc/passwd file encrypted in Blowfish, since that is its default.
While many of the hacks are found somewhere in the manual pages, on some useful website, buried in another book or in the minds of some developer somewhere, they're not necessarily in the annals of official documentation. But there's no single book or site that provides the depth and breadth that Dru provides. She managed to tap into the thoughts of dozens of developers and sysadmins around the world, greatly enhancing the variety of hacks in this book.
As a side note, the scope of BSD Hacks isn't limited to just the BSD family. Many of these are likely applicable to Linux and the other UNIX systems. But with recent, impressive increases in the BSD install base, there's a good chance that you can access a BSD box somewhere.
Whether you're a sysadmin managing hundreds of servers, or a power user ready to go beyond the obvious, BSD Hacks belongs next to your CRT.
You can purchase BSD Hacks 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. -
The Open Source Paradigm Shift
Tim O'Reilly has written up a talk he has given about the open source paradigm shift, which he describes as fundamental and long-term changes in the technology world brought on by the widespread adoption of Free and open source software. -
The History of Programming Languages
Dozix007 writes "For 50 years, computer programmers have been writing code. New technologies continue to emerge, develop, and mature at a rapid pace. Now there are more than 2,500 documented programming languages and O'Reilly has produced a poster called History of Programming Languages, which plots over 50 programming languages on a multi-layered, color-coded timeline." -
The History of Programming Languages
Dozix007 writes "For 50 years, computer programmers have been writing code. New technologies continue to emerge, develop, and mature at a rapid pace. Now there are more than 2,500 documented programming languages and O'Reilly has produced a poster called History of Programming Languages, which plots over 50 programming languages on a multi-layered, color-coded timeline." -
The History of Programming Languages
Dozix007 writes "For 50 years, computer programmers have been writing code. New technologies continue to emerge, develop, and mature at a rapid pace. Now there are more than 2,500 documented programming languages and O'Reilly has produced a poster called History of Programming Languages, which plots over 50 programming languages on a multi-layered, color-coded timeline." -
Linux Unwired
Alex Moskalyuk writes "Remember the Best Buy commercial where a puppet asks a woman for a laptop computer, and upon hearing that it's a 'wireless' laptop, starts imagining his life free of strings and limitations? That guy doesn't know it yet, but soon the harsh reality will kick in, ironically kicking him off the wireless network periodically if he uses Microsoft Windows Wireless Zero Configuration or if he wants to run Linux on a laptop with WiFi card that doesn't support Linux. This book, however, is not just about getting your Linux laptop onto the wireless network. Granted, WiFi plays a big role in today's business and personal networks, and three chapters are dedicated to exactly that purpose, but behind that wireless adjective we have a variety of technologies." Read on for the rest of Alex's review of Linux Unwired, from O'Reilly. Linux Unwired: A Complete Guide to Wireless Configuration author Roger Weeks, Edd Dumbill, Brian Jepson pages 300 publisher OReilly rating 8 reviewer Alex Moskalyuk ISBN 0596005830 summary Complete guide to wireless configuration on LinuxInfrared, Bluetooth, 802.11 (in current a, b and g offerings, 802.11i is also being discussed), wireless access points friendly to Linux, United States commercial cellular networks and GPS systems are all covered in a single title that surprisingly fits all of this information into 284 pages. All the chapters can be subdivided into two large parts - familiarizing yourself with the technology (the primer on GPS is pretty good) and running Linux on it (with code and shell command samples and lots of URLs).
Introduction
The authors start up with introduction to wireless, intended for Linux geeks who are not quite up to speed on radio technologies. The concepts of waves, spectrum and radio wave behavior are explained, so later the reader can explain what a retracted radio wave is. Then the first chapter moves on to explain antenna behavior, wireless infrastructure modes and some common problem, like a hidden node in ad-hoc infrastructure. The chapter is well-written, and you're not expected to have an advanced radio degree or ARRL membership to understand the terms.
WiFi cards
Chapters 2, 3 and 4 deal with connecting a Linux desktop or notebook to a wireless 802.11 network. The first issue is that of chipsets used in the wireless card, and even though enough research has been done already, authors discuss different quirks relevant to Intersil Prism, Lucent WavelLan/Orinoco, Aironet/Cisco, Symbol, Atmel, Atheros and Broadcom chipsets. We need to discuss chipsets instead of discussing the actual wireless cards, since some hardware may be shipped under the same brand name with different internals. "A good case in point: the D-Link DWL-650. This radio card initially shipped with a Prism II chipset and was very popular, because it worked on a Linux box. However, D-Link changed chipsets when it released the DWL-650 Version 2, choosing the ADMtek chipset. It is very difficult to tell from the packaging which version of the DWL-650 you are purchasing".
The chapters are done in traditional walk-through mode. They are not HOWTOs or compendia of reference information, available from the manufacturer's Web sites. The authors made an effort to ensure the reader is capable of starting up a wireless connection on Linux box, knowing nothing about it while learning important technology in the process. Certain wireless drivers need to be compiled into Linux kernel, so the task is not for the meek, but with detailed explanation, plenty of URLs and nice fonts and paragraph formatting O'Reilly Publishing uses to differentiate between the text, commands entered at the shell, and URLs, the book is easy to read.
Chapter 3 (available in PDF) teaches the reader how to connect to existing wireless network once the wireless card has been recognized by the system and proven functional. By the time the book hit the stores it was already a bit out of date, since the very first hotspot operator, Cometa Networks, shut down in May 2004. Chapter 4 discusses wireless security, touching WEP settings, a $20 Linuxant utility allowing the user to implement WiFi Protected Access, as well as authentication utilities wpa_supplicant and XSupplicant.
WiFi access points
The issue of WiFi access points is not trivial either, as many vendors out there will ship the product with a Windows app being the only way to set it up. However, for the access point setups that are Web-based, a browser in Linux will do the job. The most Linux-friendly access point include Linksys, Netgear, D-Link, Cisco, SMC, EnGenius, Belkin, US Robotics, Microsoft and ActionTec. Again, harsh reality kicked in between the time the book was written and went to press, and it's sad to see yet another Linux-friendly access point vendor quitting the market.
Not satisfied with commercial offerings out there? Chapter 6 takes the reader into the task of building your own access point. Don't forget that an access point doesn't need to be a compact portable - your old 486 with Linux on it and a wireless card connected to it might serve the purpose. Unfortunately, after all the hardware is bought and assembled, the final product might still cost you the quadruple (in case you go with smaller form-factor motherboards and CompactFlash cards for software storage), so consider this more as a geek project, not a viable solution. The authors use LinuxAP distribution for this task.
16 pages are dedicated to hacking Linksys WRT54G access point with Sveasoft, described as disruptive technology by Robert X. Cringely. The authors also take a brief look at Wifi-box and OpenWRT.
Other wireless technologies
Bluetooth, Infrared, cellular and GPS chapters follow the same chapter plan - first the basics of the technology and simple use case scenarios of what you might use it for, then the hardware needed to implement the wireless technology, available Linux software to do the jobs, accompanied with the list of shell commands to successfully talk to a wireless product, and after that typical applications of the working link.
The authors tested various wireless data plans in the United States, although this data, once again, is constantly changing as the operators buy one another and introduce new data plans. The winner of the quality and the fastest download tests, by the way, was a Motorola v120e phone on Verizon Wireless network. In upload speed tests a Merlin C201 PCMCIA card on Sprint PCS network won. T-Mobile also offers a PCMCIA card for its GPRS network, so the authors install and run it under Linux in Chapter 9.
The last chapter discusses using Linux computers with GPS devices and open-source GPSdrive project for reading GPS data.
The book
For those just venturing into the wireless world, the book would be useful. All the information provided on WiFi connectivity can perhaps be googled and found in various HOWTOs. With wireless operators, GPS systems and Infrared connection one would have to rely on enthusiast sites and newsgroups. Having such informative title that covers all of the technologies would be very useful to a Linux enthusiast.
With that, the book can be quite overwhelming, although it's probably not intended to be read from page 1 to the end. There's usually more than one correct way to do things in Linux, and for each successful project another competitor appears on SourceForge the next day. I like the authors' approach of dedicating most of the chapter space to one, leading, Linux package that seems to be dominant in the field, and then briefly mentioning the others. A notable omission is Intel's Centrino drivers for Linux, as the company is bound to become a leader in the chipset marketplace with 42% of notebooks shipped in 2003 running Centrino chipsets.
But overall the book proved to have a high informational and educational value, not only you follow the steps on setting up wireless technologies on Linux, but you also learn the internals of the technology and why certain things are done that way, but not another.
You can purchase Linux Unwired 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. -
Hackers & Painters
honestpuck writes "Paul Graham has delivered final proof that he is a marvelous essayist with his volume of fairly diverse writings, Hackers & Painters. I first came across his writing with his article, "A Plan For Spam," on using Bayesian filtering to block spam and found it a well written and informative technical article. I next came across him some time later when he wrote an essay on his web site entitled "Hackers & Painters," and once again it was well written, informative and (more importantly for an essayist) thought provoking. I was excited to hear he had published a volume of writing and pleased when O'Reilly sent me a copy, despite my pleas that I did not have time to review it." He found time, to your benefit; read on for honestpuck's review. Hackers & Painters author Paul Graham pages 271 publisher O'Reilly Media rating 8 - May not interest absolutely everyone reviewer Tony Williams ISBN 0596006624 summary Interesting collection of essays, mainly concerned with softwareLiterature has a long history of the essayist; since those famous theses on the church door at Wittgenstein a well written and thought provoking essay on a topic has provided power and focus for important discussions. Graham has either learnt or discovered the important points in writing a good essay; brevity, quality writing and thought.
In this volume Graham covers a range of topics, though all are, understandably, centered on computers. Why nerds are unpopular at school, and what this demonstrates about our eduction system; why program in Lisp; the importance of "startups", programming languages and web development are all touched on. At the same time he covers topics less techno-centric such as heretical thinking and speech. wealth creation and unequal income distribution.
I found myself disagreeing with him often while reading the book, though every time I did I found his argument compelling. I agree with Andy Hertzfeld, quoted on the back cover of the book, "He may even make you want to start programming in Lisp." Graham is politically more conservative and right wing than me, he is also a fervent supporter of Lisp, while I'm a C and Perl advocate. It is telling that at no time did I find myself railing at his views, rather I was reading his arguments and giving them meme space. A good sign of a writer that does not indulge in unnecessary or extreme polemic.
Graham also tends to concentrate on a single point in each essay, allowing for both good coverage and a brief essay. Where he covers a larger context, such as high school education in "Why Nerds Are Unpopular" that opens the book, he seems to focus on just one or two good points of discussion.
The title essay is the second in the collection and provides an interesting look at hacking and some lessons we can learn by analogy to the work and life of Rennaissance painters, particularly in how it is done and how it can be funded. The third, "What You Can't Say" is social commentary on heretical thinking. Four, "Good Bad Attitude" is on the benefits of breaking rules, both in life and hacking. Five, "The Other Road Ahead", is an excellent look at web based software and why it offers benefits to both user and developer with Graham examining some lessons he learnt while building ViaWeb. Six, "How To Make Wealth", is a look at becoming wealthy and how a 'startup' might be the best way to do it. The seventh, "Mind The Gap", is an argument that we should not worry so much about 'unequal wealth distribution' and why it might actually be a good thing. From this list, and a look at the table of contents (available as a PDF on the O'Reilly page for the book), you can see that Graham covers a wide spectrum while never straying from topics he knows.
If I was forced to identify a weakness in this book it may well be that Graham does not evince doubt or uncertainty in his arguments, on a few occasions he may admit to a narrow view or knowledge but doubt or uncertainty don't seem to enter his field of vision while he writes. This coupled with a single viewpoint makes the book less than all-encompassing in discussion. However, I must admit that it is almost impossible to be anything more with a single author and Graham may well be more honest than others who pick and choose the alternatives they present.
Most of the essays are available at Graham's website, but frankly I am a fan of dead trees and appreciated that this book could be read on the bus or in bed. If you would prefer something you cna read on the bus then a PDF of the second chapter, "Hackers & Painters" is available from the O'Reilly page linked above.
I would recommend this book to anyone who wants to think about a number of topics important to the culture of our tiny corner of the world, computers and the net, while not ignoring the rest.
You can purchase Hackers & Painters 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. -
Two Funnies: BotBOFH and Joy of Tech
Craig Maloney and honestpuck contribute two reviews for your almost-the-weekend reading pleasure: read below for their respective impressions of two dead-tree compendiums of online humor: Bride of the Bastard Operator From Hell and The Best of The Joy of Tech. Bride of the Bastard Operator From Hell, The Best of The Joy of Tech author (see each) pages (see each) publisher (see each) rating (see each) reviewer (see each) ISBN (see each) summary Tech-oriented humor in strip-cartoon form; your mileage and laughter may vary.
Bride of the Bastard Operator From Hell author Simon Travaglia pages 160 publisher Plan 9 rating 8 reviewer Craig Maloney publisher Plan 9 rating 8 reviewer Craig Maloney ISBN 1929462484> DUMMY MODE ON < If you've been around computers for a while, you've probably read the adventures of The Bastard Operator from Hell (or BOFH). Throughout the years, Simon Travaglia's version of the BOFH has become the canonical version with it's witty and humorously sadistic vignettes. Bride of the Bastard is the third print compilation of the tales of treachery from The Register. (Note: a fourth, Dummy Mode is Forever is now available as well.)
When we last left our heroes...The Bride of the Bastard Operator From Hell picks up right where The Son of the Bastard Operator from Hell leaves off. The higher-ups of the corporation want this new-fangled video conferencing, and the Bastard is only happy to oblige, with his usual underhanded tricks, and wanting to dabble in his movie making abilities. What follows is 35 hilarious tales which would get anyone outside of a complete bastard from hell fired or sent to prison. Similar to Son of the Bastard, the stories in Bride of the Bastard Operator From Hell are only a few pages apiece, so the casual reader can take in a few without much trouble. The truly voracious reader will look at this book as merely an appetizer. What it lacks in quantity it more than makes up for in quality. There are some real laugh-out-loud moments in this book which have to be read in context in order to appreciate them. Suffice to say, readers of this book won't be disappointed.
Judge this book by its coverThis edition of The Bastard Operator from Hell is expertly illustrated by Jeffrey Darlington, creator of the web-comic "General Protection Fault." Unlike The Son of the Bastard Operator from Hell, Jeffrey illustrated every single story with an illustration that matches the story. It's a welcome change to have a matching illustration to look forward to rather than the handful of sight gags penned in the previous volume by J.D. "Illiad" Frazer.
Plan Nine Publishing does fantastic work laying out their books, and this book is no exception. My only complaint remains from the previous book: no table of contents. Locating a story in this book to come back to is downright difficult, and a table of contents would help out greatly.
So what's in it for me?If you're a fan of the series, you've probably already read this book. If you're on the fence about this book, get the heck off of it and pick it up before someone applies current to it. If you've never heard of the BOFH, this book would be a fine place to get acquainted with him. Just make sure you watch your step. And don't take the lift.
The Best of The Joy of Tech authors Nitrozac and Snaggy pages 192 publisher O'Reilly rating 7 reviewer honestpuck (Tony Williams) ISBN 0596005784I must be crazy, I was flamed so badly after my last review of a cartoon book that I had to replace my asbestos review suit. The Best of The Joy of Tech may be worth the risk.
Of course it's easy to enjoy a cartoon book by a pair of cartoonists that share your prejudices. It is obvious from the cartoons that Nitrozac and Snaggy are Macintosh-loving, Linux-leaning, Microsoft-loathing geeks. Hmmm, sounds like me.
Not that Nitrozac and Snaggy are totally one-eyed. They still have a dig at Apple and Macintosh owners along the way. Unlike quite a lot of cartoons about tech, these two also see the more human side, just as likely to make a joke about your cat's relationship to you and the computer as poke fun at LARTing end-users or pointy-headed bosses. Their cartoons are more about living with technology than working with it.
The book reproduces a couple of hundred of 'The Joy of Tech' cartoons from their website, in improved colour and resolution. There are also a small number that are original for the book and some funny marginalia in a couple of spots. It also has the matching JoyPoll and a short comment about the cartoon in a 'JoyWorld' section at the back of the book.
I find a fairly large number of the cartoons repeatedly funny and most of the rest worth a chuckle. These two have a good eye for the whimsical, ironic and downright funny side to a wired in, geek life. They even manage to get in a sly reference to Slashdot with a fake O'Reilly book, "Trolling In a Nutshell" with a troll wearing a T-shirt emblazoned with "FIRST POST" on the cover and an Introduction by 'Anonymous Coward.' There's even a couple of margin cartoons of CmdrTaco and CowboyNeal, just for the Slashdot readers who'd like to know what those two should look like.
Oh, that reminds me. The book has a very Wozniak foreword (by Steve himself) and an introduction by David Pogue that is nowhere near as good as the book (I'm sorry David, but any self-respecting geek [male or female] would rather do almost anything than edit the Windows registry, starting with install a decent operating system and working all the way through to changing jobs -- heck, I'd rather sleep with Jobs.)
The book is broken up into various sections, each with a theme. It starts with "Boot-Up" and continues with "4nim4l cr4ck3rs" (most about cats), the whimsical "Geek Love", "Hacks and Cracks" (I loved the couple who want to buy a house within 50 metres of a war-chalked wall), "Techie-daze," "How about them *nix" (featuring the luscious 'Linux Lass'), "The Joy of Mac," "Who do you want to poke fun at today?" (you'll enjoy the 'Stress Relief Dartboard'), "Sci-Fi The Comic Frontier," and "Do You think I'm Xexy" before finishing with "The World According to Geek" (with 'The Lord of The Root - One Geek To Rule Them All', the two good-looking woman who don't shy away from maths and the Barbie 'DotCom Rescue' CD-ROM game).
If you go to Joy Of Tech you can grab a copy from the authors that has been signed (you even get a chance to ask for a custom inscription) and for an extra fee Nitrozac will even bless your book and attach a lucky sticker. You could go to the O'Reilly page, but since they don't have example cartoons and I don't imagine a cartoon book will ever have errata there isn't much point.
It's not easy to review a cartoon book. Suffice to say that I found the 'toons in this book to be a good variety from amusing through to funny with some that are just a little too true to make me do more than groan. If you've never come across this pair (and they've been slashdotted at least once) then check out the site and if you like the last few examples then the book will not disappoint. Hang on a second, just let me do up my collar - OK, flame away.
You can purchase The Best of the Joy of Tech (and just maybe a used copy of Bride of the Bastard Operator from Hell) 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. -
Running Mac OS X Panther
honestpuck (Tony Williams) writes "Many years ago I bought a second hand Ford Cortina in dubious condition. I kept it running with the assistance of a marvelous volume purchased at a specialist bookstore that was referred to as "the shop manual." It wasn't much help teaching you how to drive or how to park but if you needed to know how to perform an oil change, flush the radiator or bleed the brakes it told you all the details. Now James Duncan Davidson has given me a shop manual for Macintosh OS X Panther." Read on for Williams' review of the O'Reilly published Running Mac OS X Panther. (And for the curious, here's what google has to say about "Ford Cortina.") Running Mac OS X Panther author James Duncan Davidson pages 292 publisher O'Reilly and Associates rating 8/10 - Excellent book, a little thin on details in a few places reviewer Tony Williams ISBN 0596005008 summary A good shop manual for those running PantherThis volume assumes you know how to use your Mac, how to perform all the routine changes that are easily accomplished with the GUI. Davidson also assumes you don't want to know how to get a movie running as your desktop, or get an Exposé blob floating on the screen or any of the usual sort of 'hacks' or 'hints.' What he gives is a good guide to lifting the hood and performing serious mechanical work or tweaking the performance of your Mac with enough background information so that you can feel confident taking your own steps.
It was good after a few near misses to read an O'Reilly book that was once again well written, well edited, tight and crammed full of information pitched at just the right level. Davidson has done an excellent job with this book.
Davidson starts with a little history, and from the viewpoint he presents, this is not a waste of space; he spends his time explaining exactly how we arrived at the current version of the Mac OS.
Then we have a chapter titled "Lay of the Land" that explores the file system, including both the Finder view and the view you get from the command line. It also explains the four file system domains and the 'Library' directory. The third chapter is a quick (20 pages) look at the Terminal and shell.
Then we get 'Part II: Essentials,' which is the 120-page core of the book. This starts off, logically, with system startup and the login (and log out and shutdown). This is followed by short chapters on users and groups, files and permissions, monitoring, scheduling and preferences and defaults before a marvelous long chapter on the file system. Davidson goes into great detail and closely covers each of the topics, making sure that you get all the details not just 'recipes.'
Part III ("Advanced Topics") starts with a chapter on Open Directory that I found particularly useful. It includes coverage on Kerberos and single sign-on that explains it well, as well as the command-line Open Directory tools. The chapter on printing could have had a bit more guts. It covers the obvious but leaves out such joys as CUPS apart from a half-page sidebar; since sharing printers has caused me more than a little grief I would have appreciated more detail here. The final chapter on networking is better, and provides more useful detail.
It must be said that this section concentrates more on user level detail and leaves out real information on server level software and options. Given the target group for this book, and that a book has to draw a line somewhere, this is quite fair.
Davidson has picked his topics well, almost everyone will find all of Part II useful and educational. Part III is perfect for people wanting to run Panther in a corporate environment. He has balanced the command line and GUI well, pointing out where you can do a job with both and explaining the details.
Oreilly's page for the book has a table of contents and index but no example chapter. If you go to Davidson's page at O'Reilly there is a link to a short excerpt on scheduling tasks as well as several earlier articles Davidson has written for MacDevCenter.
I would recommend this book to any Panther user with a moderate amount of experience. It is not for the newcomer to the Mac, perhaps, but everyone else will benefit from this book.
You can purchase Running Mac OS X Panther from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page -
EFF To Fight Dubious Patents
theodp writes "The Electronic Frontier Foundation launched a campaign on Monday to overturn patents that it says are having a chilling effect on public and consumer interests. The ten patents initially cited as problematic by the EFF Patent Busting Project are: one-click online shopping, online shopping carts, hyperlinking, video streaming, internationalizing domain names, pop-up windows, targeted banner ads, paying with a credit card online, framed browsing, and affiliate linking. Maybe this will prompt former EFF Board Member Tim O'Reilly to share that killer piece of 1-click prior art that's sitting on his bookshelf!" -
Would You Use an Online Library?
langeland asks: "I have a friend who is selling subscriptions to an online library of computer literature (for example Books 24x7 or O'Reilly's Safari). He's trying hard to convince me that a library of 3000 books on anything from introductions to various programming languages and reference books to Windows 2003 Server, or MySQL is actually useful. I don't get it - nobody would read a whole book online anyway, so they can only be useful for trouble shooting ad hoc problems (or am I wrong here?). I'm thinking Google is a lot faster for solving problems at the busy job, and you'll probably find good plain web references on most technologies and stick with them. The price for a subscription to Books 24x7 is 400$ a year/seat! Do You have experience with these online libraries? Are they useful and worth the money?" -
Cocoa in a Nutshell
emmastory writes "The Nutshell series includes some of the most well-worn and useful technical books I own, and Cocoa in a Nutshell is one of the newer Mac-related additions to the collection. If you're familiar with the format of the series, probably the biggest question you'll have is whether or not this book is as good as the other Nutshell handbooks - the short answer is Yes, it's just as good as its predecessors." Read on to see the logic underlying that conclusion, in the rest of Emma's review. Cocoa in a Nutshell author Michael Beam, James Duncan Davidson pages 545 publisher O'Reilly rating 8 reviewer Emma Story ISBN 0596004621 summary A good overview of the language and API reference.Cocoa is a great thing to learn, and if you've got some relevant experience with other languages, this book is a great way to learn it. It's one of the Apple Developer Connection recommended O'Reilly titles, and comprises a complete and thorough reference to the language that most Cocoa developers will appreciate.
I say most Cocoa developers rather than all of them because this is of course a Nutshell handbook - it's not intended to serve as a step-by-step tutorial for those without any prior Cocoa or object-oriented programming experience (for that, there's Learning Cocoa with Objective-C). Readers completely unfamiliar with the language may find the book a little bewildering, it's true. However, that's not to say you need to have already mastered the language before picking up the Nutshell book - the first part contains quite a decent introduction, and if you're already familiar with something like Java, this will probably be all you need. I have a couple of years of experience with C and Java myself, and although this was my first Cocoa book, I didn't feel lost when reading the book's first half.
Coauthor Michael Beam notes that "The 'In a Nutshell' format had always been a very efficient means of communicating information, particularly for more experienced developers. Cocoa is a very verbose and wordy API; that is, the method names are long and can have many arguments. It is often the case that a developer can be moving along in his code, and he knows what method to use, but can't remember the precise syntax. This book seeks to provide a quick way to look up that syntax." I think that's a goal it achieves admirably, and as long as readers are aware they're buying a reference and not a gentle introduction to programming, they won't be disappointed.
It's primarily the second half of the book that serves as a complement to Apple's documentation for the Foundation and AppKit classes. Apple's Cocoa site is better than it used to be, and it does include a basic API Reference along the line's of Sun's site for the Java API - you can use it for the kind of syntax-checking Beam is talking about, and many developers do just that. If you're already in the habit of looking things up on the Apple site, the API documentation in this book won't change your life. I prefer it to the web version, partially because there's slightly more explanation of the various classes, but not everyone will feel the same way.
So, who should buy this book? The intended audience is pretty much the same as that of the other programming-related Nutshell books. If you're completely new to programming, don't bother. You'll be much better off starting with something that assumes no knowledge of programming concepts and skills. On the other hand, if you're an experienced Cocoa developer who'd rather use Apple's Cocoa site than shell out for a book, there's really no reason to do so. But plenty of people don't fall into either of these categories. If you've got some OOP experience, and especially if you've already fumbled your way through a little bit of Cocoa but would like to learn more, you'll find the overview section very useful and the reference section convenient. (It's probably also worth noting that, at least at the moment, Amazon is offering Cocoa in a Nutshell for $15.98, down from $39.95. Even if you're not totally convinced it's worth forty bucks, it's definitely worth sixteen.)
You can also purchase Cocoa in a Nutshell from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page -
Linux Book Recommendations, for 2004?
An anonymous reader asks: "LinuxDevices.com editor Henry Kingman has reviewed O'Reilly's new Pocket Linux Guide, a 191-page guide to Linux, asking whether a book that short can tell you what you need to know to get started working on a Linux system. Apparently this book cannot, to believe Kingman, who also dismisses O'Reilly's Linux in a Nutshell as 'dry.' Can anyone recommend a good book for smart but inexperienced Linux users, something that conveys a little of the magic of Linux without being too chatty, or too esoteric, or just too overwhelming?" -
Linux Book Recommendations, for 2004?
An anonymous reader asks: "LinuxDevices.com editor Henry Kingman has reviewed O'Reilly's new Pocket Linux Guide, a 191-page guide to Linux, asking whether a book that short can tell you what you need to know to get started working on a Linux system. Apparently this book cannot, to believe Kingman, who also dismisses O'Reilly's Linux in a Nutshell as 'dry.' Can anyone recommend a good book for smart but inexperienced Linux users, something that conveys a little of the magic of Linux without being too chatty, or too esoteric, or just too overwhelming?" -
Postfix
honestpuck writes "After many years bashing my head against sendmail in all it's gory details I had amassed a fair amount of knowledge and documentation on handling the Mail Transfer Agent (MTA) in Linux and Mac OS X. This caused a fair amount of teeth gnashing when I discovered it had gone the way of all flesh in OS X Panther to be replaced with Postfix." To un-gnash his teeth, honestpuck used Kyle D. Dent's Postfix: The Definitive Guide (published by O'Reilly); read on for his review of the book. Postfix: The Definitive Guide author Kyle D. Dent pages 260 publisher O'Reilly and Associates rating 8/10 - Excellent book, a little thin on details in a few places reviewer Tony Williams ISBN 0596002122 summary An excellent guide to installing, configuring and running PostfixFortunately, my first needs were simple and I came to realise that Postfix was a much easier system to install and maintain. Now that my needs are more complex, I was glad when this book hit my desk at exactly the same time as I started upgrading the corporate servers from Mac OS 9 to OS X Server.
Postfix: The Definitive Guide seems to fit the bill. It is a well-written and well-constructed guide to mail systems in general and Postfix in particular. (Oh, and speaking of definitive, could someone at O'Reilly provide a definitive answer to both reviewers and their own editors as to that colon? This is the second 'Definitive Guide' I've reviewed in as many months, and they are sprinkled with instances of each book's title, sometimes including that colon, sometimes leaving it out.)
The book starts with a good overview of the underlying technology in Chapters 1 and 2. I can't blame Dent for my slight confusion in the section on addresses and headers - having RFC822 superseded by RFC2822 was just a little too much coincidence for this particular "bear of little brain." He then follows it with a chapter discussing Postfix's architecture, important since Postfix uses a much more modular approach than the sendmail monolith, with each part of the mail handling process a different executable and the single queue turned into five.
Once the background is well covered, Dent then gets onto the nitty-gritty of configuring and administering Postfix. He has certainly covered everything I needed, including spam handling, multiple domains, relaying, SASL authentication and using LDAP. Once I'd finished grokking all that, and getting it integrated into my servers, I had a corporate email system up in three sites that replaced and improved upon a couple of thousand dollars worth of proprietary dreck. Happy is an understatement.
Dent's writing is sometimes a little patchy, though never bad. The technical detail does seem overpowering in places, though, and I occasionally found myself reading a section through more than once with a configuration file open in front of me. There are certainly spots where a little more hand holding and care with the writing would have been appreciated. (If you are a little more cognizant of the interstices of mail systems then you may not have the same problem.)
I did, however, appreciate the appendices enormously. The four appendices cover configuration parameters, Postfix commands, installation, and an FAQ. My system came with Postfix compiled and installed just as I required it so I didn't get a chance to thoroughly test out Dent's installation procedure (though it looks good); the other three continue to be useful.
If you want to have a look for yourself, then the usual O'Reilly page is complete with a table of contents and index, but this time no example chapter is provided (how come, O'Reilly?). You can also get an expanded version of the FAQ in Appendix 4 from Dent's website. A better example of Dent's writing style is an excellent article on troubleshooting with Postfix logs at O'Reilly's Onlamp.com.
This is an excellent book, Dent has explained the underlying methodology and use of Postfix well, taken the reader through all aspects of this MTA system and explained both the why and the how. I would recommend this book (and, as a result Postfix) to anyone looking for an MTA and a guide to configuring and running it.
You can purchase Postfix: The Definitive Guide from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Hardware Hacking Projects for Geeks
PHPee (Rob Maeder) writes "Scott Fullam's Hardware Hacking Projects for Geeks is an excellent book outlining all you need to know to get started in the wonderful world of hardware hacking. With step-by-step guides to fifteen useful, amusing and off the wall projects, even a novice hacker can be up and running with some basic hacks in a few hours. The book demonstrates various ways consumer electronics can be modified to do things they were never intended to do, and shows you just how much fun voiding your warranty can be." (We mentioned this book yesterday, too.) Read on for PHPee's review. Hardware Hacking Projects for Geeks author Scott Fullam pages 348 publisher O'Reilly rating 8 reviewer PHPee ISBN 0596003145 summary How to get started in exploiting the hidden capabilities in hardware you may already own.Fullam takes the reader from the very basics of hardware hacking and quickly gets up to speed with some fun and interesting hacks. Projects start out easy and increase in complexity and cost as the book progresses. Hardware Hacking covers many popular hacks we've all seen before, such as the "Macquarium" (Mac Aquarium), a web-enabled coffee machine, and the Blinkenlights building-sized display.
The book is divided into two main parts, the first covering basic hacks, and the second covering more advanced hacks.
Part One:
Starting with the basics, Fullam takes the reader through a crash course in electronics, covering concepts like soldering, using a voltmeter, identifying various electronic components and reading schematics. This section of the book is by no means a replacement for a course in electrical engineering, but it is definitely a solid primer for those of us who weren't born with a soldering iron in our hands. If you've never played with electronics before and don't know the difference between a resistor and a capacitor, this section should get you up to speed fairly quickly.After the brief basics lesson, the next chapter dives right in to the first project, which is a portable laptop power supply made with a pile of D-cell batteries, a battery holder and some wire. This project is very simple and requires no soldering at all, yet it gives the reader a quick and easy way to make something useful with very little investment in time or money.
Each of the projects is presented in a well-organized manner, starting out with a brief summary and some background information about where the hack originated. A list of necessary tools and materials is also given, followed by a project overview, outlining the major tasks required to get the project completed. Each project outline gives estimates for the cost range, time required and difficulty level for the hack.
After the introductory stuff is out of the way, step-by-step instructions are given on how to assemble, modify or hack the device in question. The instructions are easy to follow and are complete with images or illustrations where appropriate. Many pages contain sidebars that contain additional information related to the project, such as more photos, hints and tips, and links to relevant websites. These sidebars really help to fill in any gaps that may be present in the main text.
At the end of each chapter, Fullam has an "extensions" section, where he suggests ways the hacks can be hacked further, to improve upon the design or alter them to offer more or different functionality. This is one point where the book really shines, advocating the true spirit of hacking and encouraging creativity and experimentation whenever possible throughout the book.
At the end of each chapter is a "Bill of Materials" and schematics for the hack. The bill of materials outlines in great detail all tools and hardware required for the project, including approximate costs as well as sources where they can be purchased.
Some of the highlights in the first section of the book include the "Macquarium," a water-based PC cooling system, and the infamous Furby hack. The Macintosh mod teaches some valuable lessons on using a Dremel tool and working with Plexiglas, which are great skills any budding case modder would want to have. The water-based PC cooling project is one of the more useful hacks presented in the book, showing the reader how to create an inexpensive but effective means to cool down an overclocked CPU. And hacking the Furby to give it a new vocabulary is... well, definitely a great topic for conversation if nothing else. If you have to ask why someone would do such a thing, you wouldn't understand the answer.
Part Two:
Part Two of the book starts off with another more advanced lesson in electronics. It delves into more detail, describing different types of resistors, capacitors and connectors. It also introduces transistors, looking at integrated circuits and surface-mount components as well. One thing I found particularly useful was the section explaining how to read and interpret manufacturers' data sheets for integrated circuits.The advanced hacks featured in Part Two of Hardware Hacking are a little more exciting than those featured in the first half of the book, but are definitely more involved. The section starts off with a chapter on building a PC-based PVR, using Mandrake Linux. Sample code is included to create shell scripts for a simple, text-based interface, although Fullam does briefly mention some of the more popular GUI-based PVR software available, such as Freevo and MythTV.
Another great hack featured in the advanced section is the "Building-Size Display" hack, reminiscent of Blinkenlights. The chapter starts off with instructions on how to build a display matrix on a much smaller scale, using a series of ultra bright LEDs, but later shows how the project can be expanded to create a 12-story display using an entire building.
Some other mentionable hacks in the advanced chapters include a cubicle intrusion-detection system, an Internet-enabled toaster and coffee maker, and a remote object tracker. These projects provide instructions on how to use more advanced components such as photodiodes, lasers, GPS receivers and microcontrollers (such as the BasicStamp2, in particular).
Two other noteworthy projects in Part Two include a MAME cabinet and a wearable computer.
Plans for the MAME cabinet are very well done, taking the reader through cutting MDF, building the cabinet, installing the software and interfacing the controls to his PC. This chapter goes into great detail, even covering things like creating a monitor bezel and a backlit marquee, and using T-molding for that authentic arcade machine look.
The wearable computer hack is very interesting, covering a wide range of concepts I would never have considered. Fullam gives ideas on what to use for a head-mounted display (HMD), what types of motherboards and CPUs work best, and looks at various power sources, including batteries, solar panels and different generators. The chapter also presents ideas for input devices, such as keyboards and mice, but also speech recognition systems, cameras and GPS receivers. At the end of the chapter, there is an extensive list of websites related to wearable computer projects, offering much more reading to the interested hacker.
The appendixes, while quite brief, do offer more information on topics like creating and editing schematics, using microcontrollers and using different power sources. There is also a list of resources for further reading and a short list of parts suppliers.
Hardware Hacking also has an accompanying website, where readers can download all of the images, illustrations and schematics from the book. The files are available in EPS, PDF and TIFF formats, although they are all gzipped, and are not readily viewable without downloading and extracting first. The website supposedly has code downloads as well, but the links are broken as of this writing, so you'll be stuck typing in code from the book until the site is fixed.
Overall Thoughts
Overall, I was very impressed with this book. Fullam has given the geek community a valuable resource that will provide inspiration for aspiring and veteran hackers alike. It covers many projects that I have personally wanted to build or learn more about, and presents concepts that would be of interest to many fellow Slashdotters.The only things preventing me from giving this book a 10 are the aforementioned issues with the accompanying website (which I'm sure will be fixed soon) and the quality of some of the photos. Most of the photographs in the book are crisp and clear, but some are rather grainy or pixelated, as if they were enlarged from a website image. Fullam does make mention of the image quality, stating that many photos actually were taken from the original Web sources, and "the clarity of the photograph suffers in print." It's a small point, but definitely noticeable in certain sections of the book. However, as mentioned, the images are available online, and often do look better on a monitor in full color, as opposed to the black and white images in the book.
I highly recommend Hardware Hacking Projects for Geeks to anyone with an interest in those fun projects that only nerds can understand.
You can purchase Hardware Hacking Projects for Geeks from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
What (non-PC) Hardware Do You Hack?
Lis writes "Mike Langberg at the Merc News interviewed Scott Fullam - Scott wrote the book 'Hardware Hacking Projects for Geeks' which includes things like a video periscope for your car, an Internet toaster, Cubicle Intrusion Detection Systems, and talking Furbys. (Instructions for the toaster and coffeemaker are up on the O'Reilly site.) Almost any kind of consumer electronic equipment can be modified to do things it wasn't intended to do. Ok, you'll probably void your warranty in the process, but you could end up with something even better than the original. Or not. But it's just gotta be interesting. So what have you hacked, and into what?" -
AppleScript - the Definitive Guide
honestpuck writes "It is refreshing to find a book that is totally honest about the drawbacks of the language it hopes to teach. AppleScript: the Definitive Guide is one such volume. Matt Neuburg delves into all the flaws inherent in this language." Read on for the rest of honestpuck's review. AppleScript - the Definitive Guide author Matt Neuburg pages 476 publisher O'Reilly and Associates rating 8 - Well written, good topic coverage, some flaws reviewer Tony Williams ISBN 0596005571 summary Excellent guideAppleScript as a language and development environment has some terrible problems, and I applaud Neuburg for not trying to hide them away. Personally I love the power the language can provide, while loathing it for it's "English-like" syntax and the problems inherent in having most of the language defined in differing ways in different applications.
One of Applescript's problems is that it is difficult to teach, as you almost have to understand everything before you can know anything. Unfortunately that problem is reflected in this book. Neuburg constantly finds himself having to resort to the "believe me for now, I'll explain later" strategy throughout the book.
The book is broken up into four sections: "AppleScript Overview," "The AppleScript Language," "AppleScript In Action," and several appendices.
"AppleScript Overview" is a well written look at what AppleScript is, what it is good for and how to use it. Chapter 3, "The AppleScript Experience" is an impressive warts-and-all walk-through of the author developing an AppleScript to solve the problem of renaming files to conform to a particular standard using FrameMaker and the Finder. It is here that the reader will first see the problems inherent with AppleScript as Neuburg battles with incomprehensible dictionaries, unknown object models and uncommunicative error messages to build his script.
Part II, "The Applescript Language," is the 200-page core of this book. Neuburg provides a detailed and comprehensive look at every detail of AppleScript's syntax and semantics. The first chapter of this section, "Introducing AppleScript" contains a marvelous section entitled 'The "English-likeness" Monster' that is a short, sharp (and entirely justified) attack on the problem of AppleScript's attempt to be English-like in syntax.
In the rest of this section Neuburg provides an exceptional survey of the language. I personally appreciated his examination of the intricacies of type coercion and the exotic scoping rules. He has also taken the time to write and elaborate a large number of small pieces of code to demonstrate gotchas and tricks throughout the language.
It is this section that truly separates this book from every other AppleScript book I have previously read -- it is a masterful guide to the language.
Part III is a concrete path towards writing your own scripts. Neuburg starts by examining application dictionaries in depth. The real power of AppleScript lies not in the language itself but in the ability to use language extensions built in to other applications. This also becomes a huge flaw when the only documentation you get is in the application dictionary. As Neuburg puts it "One purpose of the dictionary is to show the human user how to speak AppleScript to a scriptable application in order to drive that application. But a dictionary, by its very nature, is not completely adequate to this task." He then goes on to explain the flaws.
The first appendix is a dump of the AppleScript Suite from AppleScript's 'aeut' resource. This is the core of the language usable everywhere. The second Appendix is a good, useful guide to tools and resources for the AppleScript programmer.
Taken as whole, this is a great book for the AppleScript programmer, both beginner and expert. It has a good writing style, has been well edited and well constructed. Neuburg may be putting in too many forward references, though. Other reviewers, particularly those newer to AppleScript, have called the book frustrating and confusing. I think this may be due to both the high information density in this book and Neuburg's fast introduction to topics that are better explained later in the book. If you are a newcomer to programming and AppleScript then this may be daunting.
If you are new, however, this is still an excellent volume but you may have to force yourself to finish it and then go over at least Part I and II again to truly understand the language. It would probably be a good idea to start trying to build your own scripts after the first read through. I must say, that after taking a good hard look at the way the book has been constructed and ordered I couldn't really come up with a better way that wouldn't have doubled the size of the book.
Visit the O'Reilly web page for the book if you would like to see the Table of Contents or grab an example chapter.
Neuburg has said "My approach is not to rely on documentation, ... but to bang away at the language itself, testing and experimenting, trying to deduce the underlying rules" and this approach has certainly borne fruit in this volume. For all it's minor flaws you cannot say, as may be true of many other tech books, that it is a rewrite of the documentation. He has approached the problem from a different direction and given us a book that offers an excellent guide to the language.
I would recommend it to all Macintosh owners as the perfect way to unleash another powerful aspect of your system. For people who have no AppleScript or programming experience who want to be totally spoon fed this book is probably only a 5, for people with a little AppleScript experience, a fair amount of programming experience and a willingness to stick through to the end this book is probably a 9. It is certainly the best book on AppleScript I have seen.
You can purchase AppleScript - the Definitive Guide from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Best of The Perl Journal
honestpuck writes "Computer magazines come and go at an unrelenting pace. The Perl Journal was one of the better ones before Jon Orwant, the editor and publisher, passed it to CMP. It is therefore pleasing to find he has taken all the articles published over the five year period, removed the chaff and published the rest in three volumes." Read on for honestpuck's lowdown on what you can expect in this set. Computer Science & Perl Programming author Jon Orwant (Editor) pages 710 publisher O'Reilly and Associates rating 8 (7 and 6 for other vols) - Well written, some flaws reviewer Tony Williams ISBN 0596003102 (0596003110 and 0596003129 for other vols) summary Well edited compendium of magazine articles on PerlAll three volumes reveal a good hand at choosing articles and editing the contributions; after spending three years as a magazine editor I know that not all the contributors could have written this well. The writing is consistently good, tight, well edited and readable.
Across them all you will find articles by almost every major contributor to Perl and a great many of the people who have contributed major modules to CPAN. It's good to feel that perhaps a few cents from your book purchase is flowing into each of these pockets and repaying their work.
Viewing the 3 books as a whole my one real concern is that perhaps a little tighter restrictions on the article choice may have been better -- some of the articles are really only of historical interest, discussing methods overtaken by further development in Perl or the modules available. You may also find only one or two of the volumes contain articles of particular interest to you, I discovered that my favourites were spread across all three and bemoaned the semi-arbitrary division of topics as I only closely read about two books worth from the three volumes -- of course your milage may vary.
The first and largest volume, Computer Science & Perl Programming, is the one volume where I read and enjoyed almost every one of the seventy articles (by 41 different authors) included. The topics covered vary widely, from an essential trilogy of articles about regular expressions by Jeffrey Friedl to some esoteric discussion of Perl internals by Chip Salzenburg.
The second volume, Web, Graphics and Perl/Tk, contains 39 articles, around half of which are devoted to topics such as mod_perl, spidering, and other web stuff. Here is where you can find yourself reading an article about topics now made redundant by changes to Perl and its modules. The graphics section is an eclectic mix while the Perl/Tk section adds up to a fairly good tutorial on the topic.
The third volume, Games, Diversions and Perl Culture, collects 47 articles on a broad range of topics: 15 of them are about various sorts of language processing in Perl that I found extremely interesting. It also includes the Obfuscated Perl Contests, the Poetry Contest and a bunch of other "silliness." An article on how the magazine's covers were photographed seemed particularly pointless.
I'd recommend the first volume for almost anyone interested in Perl. The second might be worth purchasing if you wanted the web coverage. The third is worth it if you want the coverage of language processing or have an interest in the culture that surrounds Perl. Check the O'Reilly pages for one, two and three to see the tables of contents, index, grab the code examples and download a sample chapter (the third volume has two example chapters.) I've given the first volume an 8 but the other two get 7 and 6 respectively as the article choices make them less useful, though the quality of writing and editing is as good.
I think all three would be a marvelous addition to any decent tech library - they seem perfect for a library as they have all the benefits of a five year collection of TPJ without the problems of magazine storage, cataloging and conservation. For everyone else, grab the first one and then decide based on the content for the other two.
You can purchase Best of the Perl Journal (Volume 1, Volume 2, Volume 3) from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Best of The Perl Journal
honestpuck writes "Computer magazines come and go at an unrelenting pace. The Perl Journal was one of the better ones before Jon Orwant, the editor and publisher, passed it to CMP. It is therefore pleasing to find he has taken all the articles published over the five year period, removed the chaff and published the rest in three volumes." Read on for honestpuck's lowdown on what you can expect in this set. Computer Science & Perl Programming author Jon Orwant (Editor) pages 710 publisher O'Reilly and Associates rating 8 (7 and 6 for other vols) - Well written, some flaws reviewer Tony Williams ISBN 0596003102 (0596003110 and 0596003129 for other vols) summary Well edited compendium of magazine articles on PerlAll three volumes reveal a good hand at choosing articles and editing the contributions; after spending three years as a magazine editor I know that not all the contributors could have written this well. The writing is consistently good, tight, well edited and readable.
Across them all you will find articles by almost every major contributor to Perl and a great many of the people who have contributed major modules to CPAN. It's good to feel that perhaps a few cents from your book purchase is flowing into each of these pockets and repaying their work.
Viewing the 3 books as a whole my one real concern is that perhaps a little tighter restrictions on the article choice may have been better -- some of the articles are really only of historical interest, discussing methods overtaken by further development in Perl or the modules available. You may also find only one or two of the volumes contain articles of particular interest to you, I discovered that my favourites were spread across all three and bemoaned the semi-arbitrary division of topics as I only closely read about two books worth from the three volumes -- of course your milage may vary.
The first and largest volume, Computer Science & Perl Programming, is the one volume where I read and enjoyed almost every one of the seventy articles (by 41 different authors) included. The topics covered vary widely, from an essential trilogy of articles about regular expressions by Jeffrey Friedl to some esoteric discussion of Perl internals by Chip Salzenburg.
The second volume, Web, Graphics and Perl/Tk, contains 39 articles, around half of which are devoted to topics such as mod_perl, spidering, and other web stuff. Here is where you can find yourself reading an article about topics now made redundant by changes to Perl and its modules. The graphics section is an eclectic mix while the Perl/Tk section adds up to a fairly good tutorial on the topic.
The third volume, Games, Diversions and Perl Culture, collects 47 articles on a broad range of topics: 15 of them are about various sorts of language processing in Perl that I found extremely interesting. It also includes the Obfuscated Perl Contests, the Poetry Contest and a bunch of other "silliness." An article on how the magazine's covers were photographed seemed particularly pointless.
I'd recommend the first volume for almost anyone interested in Perl. The second might be worth purchasing if you wanted the web coverage. The third is worth it if you want the coverage of language processing or have an interest in the culture that surrounds Perl. Check the O'Reilly pages for one, two and three to see the tables of contents, index, grab the code examples and download a sample chapter (the third volume has two example chapters.) I've given the first volume an 8 but the other two get 7 and 6 respectively as the article choices make them less useful, though the quality of writing and editing is as good.
I think all three would be a marvelous addition to any decent tech library - they seem perfect for a library as they have all the benefits of a five year collection of TPJ without the problems of magazine storage, cataloging and conservation. For everyone else, grab the first one and then decide based on the content for the other two.
You can purchase Best of the Perl Journal (Volume 1, Volume 2, Volume 3) from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Best of The Perl Journal
honestpuck writes "Computer magazines come and go at an unrelenting pace. The Perl Journal was one of the better ones before Jon Orwant, the editor and publisher, passed it to CMP. It is therefore pleasing to find he has taken all the articles published over the five year period, removed the chaff and published the rest in three volumes." Read on for honestpuck's lowdown on what you can expect in this set. Computer Science & Perl Programming author Jon Orwant (Editor) pages 710 publisher O'Reilly and Associates rating 8 (7 and 6 for other vols) - Well written, some flaws reviewer Tony Williams ISBN 0596003102 (0596003110 and 0596003129 for other vols) summary Well edited compendium of magazine articles on PerlAll three volumes reveal a good hand at choosing articles and editing the contributions; after spending three years as a magazine editor I know that not all the contributors could have written this well. The writing is consistently good, tight, well edited and readable.
Across them all you will find articles by almost every major contributor to Perl and a great many of the people who have contributed major modules to CPAN. It's good to feel that perhaps a few cents from your book purchase is flowing into each of these pockets and repaying their work.
Viewing the 3 books as a whole my one real concern is that perhaps a little tighter restrictions on the article choice may have been better -- some of the articles are really only of historical interest, discussing methods overtaken by further development in Perl or the modules available. You may also find only one or two of the volumes contain articles of particular interest to you, I discovered that my favourites were spread across all three and bemoaned the semi-arbitrary division of topics as I only closely read about two books worth from the three volumes -- of course your milage may vary.
The first and largest volume, Computer Science & Perl Programming, is the one volume where I read and enjoyed almost every one of the seventy articles (by 41 different authors) included. The topics covered vary widely, from an essential trilogy of articles about regular expressions by Jeffrey Friedl to some esoteric discussion of Perl internals by Chip Salzenburg.
The second volume, Web, Graphics and Perl/Tk, contains 39 articles, around half of which are devoted to topics such as mod_perl, spidering, and other web stuff. Here is where you can find yourself reading an article about topics now made redundant by changes to Perl and its modules. The graphics section is an eclectic mix while the Perl/Tk section adds up to a fairly good tutorial on the topic.
The third volume, Games, Diversions and Perl Culture, collects 47 articles on a broad range of topics: 15 of them are about various sorts of language processing in Perl that I found extremely interesting. It also includes the Obfuscated Perl Contests, the Poetry Contest and a bunch of other "silliness." An article on how the magazine's covers were photographed seemed particularly pointless.
I'd recommend the first volume for almost anyone interested in Perl. The second might be worth purchasing if you wanted the web coverage. The third is worth it if you want the coverage of language processing or have an interest in the culture that surrounds Perl. Check the O'Reilly pages for one, two and three to see the tables of contents, index, grab the code examples and download a sample chapter (the third volume has two example chapters.) I've given the first volume an 8 but the other two get 7 and 6 respectively as the article choices make them less useful, though the quality of writing and editing is as good.
I think all three would be a marvelous addition to any decent tech library - they seem perfect for a library as they have all the benefits of a five year collection of TPJ without the problems of magazine storage, cataloging and conservation. For everyone else, grab the first one and then decide based on the content for the other two.
You can purchase Best of the Perl Journal (Volume 1, Volume 2, Volume 3) 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 Python, 2nd Edition
Ursus Maximus writes "Eagerly awaited by many, this book reached bookstores just after Christmas, and updates the 1999 edition. Learning Python is O'Reilly's introduction to Python programming and at 591 pages, this is a major upgrade to the 366 page original. Furthermore, the Python language has undergone extensive improvements and additions in the last five years, and the new book does a good job of covering these changes." Learning Python 2nd Edition author Mark Lutz & David Ascher pages 591 publisher O'Reilly & Associates, Inc. rating 10 reviewer Ursus Maximus ISBN 0596002815 summary An introduction to Python programmingPython is a dynamic, interpreted, object oriented language used for both scripting and systems programming. Python is known for being easy to learn and use, while also being powerful enough to be used for such projects as Zope and the Chandler project. Its growing popularity is also based on its reputation for fostering programmer productivity and program maintainability. One drawback sometime cited is its relatively slow execution speed compared to compiled languages such as C.
For myself, I have probably read too many books about Python, but that is because I am an amateur hacker who learns programming slowly, and I find that reading several books about the same topic, covering the subject matter from different angles, allows me to better absorb the material. For me, this was a good review of the core language and a welcome refresher course on the newer aspects introduced in versions 2.2 and 2.3. For anyone who is new to Python and wants to learn from the ground up, this book would be a great place to start.
Mark Lutz is an authority on Python and one if its leading teachers, with both Learning and O'Reilly's Programming Python to his credit, as well as the courses and seminars he teaches professionally. In updating the original version, which was already very good, Mark has polished the chapters on the core language to a nearly perfect level, while his co-author David Ascher has done the same on the more advanced aspects of the book. In addition, Mr Lutz has benefited from extensive feedback from students and readers, and his explanations therefore anticipate common misunderstandings. Each chapter is accompanied by a problem and exercise section and answers are included at the back of the book.
A major addition to the new edition is a chapter on "Advanced Function Topics," including list comprehensions, generators and iterators. Python is sometimes used with a functional programing style almost similar to Lisp, although to List purists that may sound like heresy. The recent versions of the language have significantly upgraded Python's support for the functional style. Functions cover three chapters in the 2nd edition instead of just one.
Another major change since the first edition is extended coverage of Modules, which now occupies four chapter instead of just one. Python modules are a high level package structure for code and data, and they help facilitate code reuse. Yet another addition is coverage of Python's "new style classes." Coverage of classes and object oriented programming has been greatly expanded and now includes five whole chapters and almost 100 pages. Coverage of exceptions now is expanded to three chapters.
If you have been considering learning Python, now would be a great time since this new book is the perfect introductory text. If you already know Python and have read the first edition of Learning Python or another introductory text, then this book may not be essential since the new language features are covered pretty well on the web in various places, and you might be better advised to read one of the other fine books on non-introductory aspects of Python. But this book is about as good an introduction to the language as you are likely to find. The book does not cover all of the Python libraries nor many other topics, but it does briefly touch on the major libraries, frameworks, gui toolkits, and community resources.
If you want to learn the core Python language quickly, this may be your best bet. Learning Python only covers the basics, but it is deep in information on what it does cover. Well written, understandable, and in a very logical arrangement, this book is densely packed with info.
I have often found myself returning to the original book, and the new book will now fill this role. It is deep in information, well written, and a joy to read. For an experienced programmer who is just learning Python, it may be possible to thoroughly learn everything about the core language in one reading of this book. For relative newbies, it will be an often-used resource.
To read more reviews of books about Python, visit the Python Learning Foundation. You can purchase the Learning Python, 2nd Ed. from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Mac OS X -- The Missing Manual, Panther Edition
emmastory writes "It shouldn't really surprise anyone that David Pogue has once again produced an unqualified success in the third edition of Mac OS X: The Missing Manual. Since OS X came out, I've read and reviewed some dozen Mac books, but when it comes time to pick a single volume to recommend to friends making the switch, I invariably choose Pogue's. It's true that OS X beginners can understand it without any problems, but that shouldn't suggest that it's somehow too simple for veteran users - it's just that the text is exceptionally clear, meaning that even beginners won't find it too scary or confusing. While other books are bigger (Mac OS X Unleashed) and others are written specifically for a more advanced audience (Mac OS X Power Tools), the Missing Manual is the best all-purpose book on the subject, and one that should be in the library of pretty much anyone who runs OS X." That answers the question of "Did she like it?", but read on for the rest of Emma's review, including a mini-interview with David Pogue. Mac OS X: The Missing Manual, Panther Edition author David Pogue pages 763 publisher O'Reilly/Pogue Press rating 10 reviewer Emma Story ISBN 0596006152 summary A must-have manual for Panther usersAs I see it, there are really two groups of people who might be wondering whether or not they ought to buy Pogue's new Panther book: Mac users who own a previous edition of the Missing Manual, and those who don't. For the latter folks, the short answer is Yes - you should buy this book. And for the former, the short answer is Probably. Keeping in mind that all the various online retailers offer significant discounts on the book, and that you can also get 30% off if you've registered a previous edition with O'Reilly, it's going to only wind up costing you about twenty bucks, and it's definitely worth it. The text hasn't just been updated to reflect changes and new features in Panther - it's also been updated to reflect reader feedback on previous versions, including things like more information for people migrating from Windows, and mini-manuals on some of the iLife applications. There isn't a single page that hasn't been changed from the Jaguar edition of the book (and there are over seven hundred pages).
Some of my Mac-using friends have told me that they haven't picked up anything from the Missing Manual series because they're under the impression that they're basically novice guides. This is both right and wrong: it's absolutely true that beginners will get their money's worth from a Missing Manual and that they won't get lost in an abundance of overtechnical discussion. The part that isn't true, however, is the implication that these are books only for beginners. I've been using Macs for over ten years now (and various Unix-like systems for five), but my copies of the Missing Manuals get dog-eared and underlined more than any other technical books I own. One of the reasons I'd dispute the claim that this book isn't useful for advanced users is that sprinkled throughout are dozens of little productivity notes -- a keystroke here, a shortcut tip there -- and this is the stuff that I, at least, really get off on, while it seems like novice users tend to be content with straightforward dragging and double clicking. I dive into Part One ("The Mac OS X Desktop") with my Mac in easy reach not because I don't know how to minimize a window, but because I had no idea that (for example) there's now a Finder keystroke to jump immediately to the parent directory. That's not to say topics typically associated with power users aren't given their due, though. Even people who know their Unices (and Unix workalikes) will probably welcome the coverage of NetInfo Manager and other OS X oddities. If you find yourself stuck on some particular topic, chances are it's covered here. It's not by any means an exhaustive guide to BSD, but it's a good way to get started with Darwin. I end up using this book often enough that it has its own place of honor on top of my G4 (my other Mac books are also nearby, of course, but they're not necessarily quite so handy).
Aside from the little-bit-of-everything approach, one of the most refreshing features of the Missing Manuals series remains the writing itself - surprisingly readable, often funny, and rarely confusing. These are some of the few technical books that I'm willing or able to read cover to cover, and some of them I've even read in bed or on the subway. As for specific parts and chapters that stand out from the rest: the new mini-manuals dealing with iLife applications like iTunes and iPhoto are a welcome addition. They'd been more or less ignored in previous editions of the OS X book, since they've got their own books, but the Panther edition introduces a section on each to get you started. Another of my favorite portions of the book is the addition of Appendix F, the Master Mac OS X Secret Keystroke List. It will take a while before I'm able to memorize all of them, and in the meantime it's great to have them all collected in one place.
As for bits I didn't like? Well, I was going to complain that as someone who owned a previous edition of the book and who just upgraded to Panther, it would be nice if the "What's New in Panther" section in the Introduction were a little more fleshed out, so that I would know immediately everything that had changed. But after playing around with the new OS and reading the rest of the book, that wish seems a little impractical - after all, every page in the book had to be changed, so the entire thing is really about what's new in Panther. The section at the beginning covers the biggies (like Expos and the new security features), so that's probably all it really needs to do.
It's probably pretty clear by now that I liked the book, but I still had a few questions about Panther in general and the Missing Manual in particular. Lucky for me, David Pogue was willing to answer them for me - and here they are, in case you're wondering the same things I was:
ES: What are a couple of your favorite new Panther features?
DP: I'm just nuts about the secret buried just-for-fun features: the secret graphing mode of the Calculator; the choice of surface textures for the pieces in Chess (including Marble and Jaguar Fur!); the way you can Option-drag in Preview to copy only one column of text without snagging the adjacent column in the process. These are the kinds of grace notes that really distinguish the Macintosh from the more boring operating systems.
ES: Anything from Jaguar or earlier that you particularly miss?
DP: ALMOST all of the stuff that disappeared from Mac OS 9 has now come back into Mac OS X: labels, the clean install, spring-loaded folders, randomized desktop pictures, and so on.
A few niceties still haven't returned, though. Occasionally I miss the Put Away command, SimpleSound (for quick and dirty sound recordings), and the ability to encrypt a folder on the fly without leaving the desktop.
ES: Do you think that Apple's decision to more or less give up on writing their own manuals is a wise one?
DP: Well, as someone who's making a living filling the gap Apple left behind, obviously I have a vested interest in this point.
But the truth is, a lot of people never crack software manuals--I'm told this over and over again by software makers--and they are expensive and, more to the point, time-consuming to create. (Translation: Once the product is ready, the company wants to SHIP it--not wait around for manuals to be printed and bound.) And Apple certainly isn't alone in eliminating paper manuals.
For myself, yes, I rather wish my software programs came with printed manuals--they're infinitely superior to online help. Whether it's "wise" or not depends on whether you're a shareholder, programmer, customer, product manager...
ES: For those just switching to Mac OS from Windows, should they go for Mac OS X: The Missing Manual or Switching to the Mac? (Or both?)
DP: At this point, Mac OS X: The Missing Manual, Panther Edition. Because I haven't yet updated the Switching book to reflect Panther.
ES: What's another Mac book you'd recommend?
DP: There are many books that pick up in technological depth from where mine leave off. For example, if you're interested in digging deeper into the Unix underpinnings of Mac OS X, I hear great things about Mac OS X Unleashed. And if you want to become a Mac OS X programmer, of course, the whole O'Reilly line of Cocoa, Unix, and Java books await.
The bottom line: if you're a Panther user, you should probably pick up this book. You'll definitely be getting a lot of bang for your buck, even if you think there's nothing you don't know about Mac OS X.
You can purchase the Mac OS X: 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. -
O'Reilly Interview with the Plone Founders
Alexander Limi writes "Just in time for some light weekend reading, O'Reilly's OSDir.com has published a byte-sized interview with the two founders of Plone. This is a nice follow-up to the earlier discussion on Slashdot, and covers a lot of the unanswered questions people directed to us earlier as the surprise winners of the O'Reilly COMDEX competition." -
Apache Cookbook
honestpuck writes "While Apache is possibly the most popular and ubiquitous open source project it is certainly not the most simple. One module alone, mod_rewrite, causes me almost more problems and regex wrestling matches than all other products combined. The 'httpd.conf' file is a long and critical one. In these circumstances the Apache Cookbook from O'Reilly might be a godsend. It is certainly a well-written, well-researched volume. Ken Coar has spent many years working on Apache and Rich Bowen has long laboured on the Apache documentation. They both know their stuff -- and if this is an example, both know how to write." Read on for the rest of honestpuck's review. Apache Cookbook author Ken Coar & Rich Bowen pages 223 publisher O'Reilly rating 8 reviewer Tony Williams ISBN 0596001916 summary A broad range of Apache admin topics covered wellThe book has twelve chapters, covering everything from installation and adding modules through to proxies and performance. The chapter on security is the largest, it covers the topics well. By contrast I thought the chapter 'Aliases, Redirection and Rewriting' too short and could have benefited from some more 'recipes', but that may be due to my own bias - mod_rewrite is not an easy topic, and as I've said it causes me a great deal of grief.
It is laid out in a similar way to the Perl Cookbook: each recipe has a 'Problem' section followed by a 'Solution' and then 'Discussion.' In almost all the 'recipes' the 'Discussion' is longer than the 'Solution,' and I often found it far more useful and informative than the problem and its solution.
The Apache Cookbook covers almost all aspects and all parts of the learning curve for Apache. That will either be a strength or a weakness of this volume for you; with such a large and complex piece of software as Apache a single book cannot hope to cover it in a great deal of depth. For me this book was not really a cookbook, more a good source of well documented examples from which to create my own recipes,
My biggest problem reviewing a book like this is that after several years building and configuring Apache (even on an infrequent basis) quite a lot of this volume seems simple. You may also find it the same if you are the sort of person who is not afraid to pore over the documentation, get your hands dirty and make a few mistakes. If you like some hand holding and are just starting with Apache you may benefit from all of it.
That's not to say that I didn't personally find large chunks of this volume useful. Certainly I've gone over several of the recipes and their excellent explanatory text to shed some light on previously dark corners of Apache, particularly as the authors cover both Apache 1.3 and 2.0.
O'Reilly have the usual web page with a Table of Contents and example chapter. The example chapter, on error handling is well chosen as it is typical of the others and useful but not the most useful chapter.
I have recently been thinking that tech books fall into various sorts and there is one sort I'd call 'library books' - books you may not need to own, but will want to read every so often and would be good to have in your local or company library. Apache Cookbook is one of these, a book I'd recommend everyone coming to grips with Apache has close to hand, but it is not going to be constantly on your desk in the same way that Perl Cookbook might be for Perl programmers: to start off with, it's half the size and doesn't cover nearly as many topics. This one falls short of essential due to it's concentration on breadth. rather than depth. So my recommendation for this book is not that all Apache administrators should buy it, but you should have a copy close at hand.
You can purchase the Apache Cookbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
MIT Technology Review Slams IPv6
PCM2 writes "In the MIT Technology Review, Simson Garfinkel, noted author of Internet security books, writes that "the next version of the Internet Protocol, IPv6, will supply the world with addresses by the trillions. Too bad it will also make the Net slower and less secure." His article goes on to explain that all IPv6 code is untested and therefore insecure; that IPv6 makes encourages 'peer-to-peer based copyright violation systems'; and of course, that the switch is never going to happen anyway (and yet, somehow, the United States is 'falling behind')." -
Spidering Hacks
DrCarbonite writes "Spidering Hacks is a well-written guide to scripting and automating your data-seeking forays onto the Internet. It offers an attractive combination of the solving the problems you have and exposing you to solutions that you weren't aware you needed." Read on for Martin's review of the book. Spidering Hacks author Kevin Hemenway and Tara Calishain pages 402 publisher O'Reilly rating 8 reviewer Jeff Martin ISBN 0596005776 summary A wide-ranging collection of hacks detailing how to be more productive in Internet research and data retrieval
Introduction Spidering Hacks (SH), by Kevin Hemenway and Tara Calishain, is a practical guide to performing Internet research that goes beyond a simple Google search. SH demonstrates how scripting and other techniques can increase the power and efficiency of your Internet searching, allowing the computer to obtain data, leaving the user free to spend more time on analysis.SH's language of choice is Perl, and while there are a few guest appearances by Java and Python, some basic Perl fluency will serve the reader well in reading the Hack's source code. However, regardless of your language preference, SH is still a useful resource. The authors discuss ethics and guidelines for writing polite and properly behaved spiders as well as the concepts and reasoning behind the scripts they present. For this reason, non-Perl coders can still stand to learn a lot of useful tips that will help them with their own projects.
OverviewChapter 1, Walking Softly, covers the basics of spiders and scrapers, and includes tips on proper etiquette for Web robots as well as some resources for identifying and registering the many Web robots/spiders that exist on the Internet. Hemenway and Calishain should be credited for taking the time to be civically responsible and giving their readers appreciation for the power they are utilizing.
Chapter 2, "Assembling a Toolbox," covers how to obtain the Perl modules used by the book, respecting robots.txt, and various topics (Perls LWP and WWW::Mechanize modules for example) that will provide the reader with a solid foundation throughout the rest of the book. SH does a great job introducing some topics that not all members in its target audience may be familiar with (i.e., regular expressions, the use of pipes, XPath).
Chapter 3, "Collecting Media Files," deals with obtaining files from POP3 email attachments, the Library of Congress, and Web cams, among other sources. While individual sites described here may not appeal to everyone, the idea is to provide a specific example demonstrating each of certain general concepts, which can be applied to sites of the reader's choosing.
Chapter 4, "Gleaning Data from Databases," approaches various online databases. There are some interesting hacks here, such as those that leverage Google and Yahoo together. This chapter is the longest, and provides the greatest variety of hacks. It also discusses locating, manipulating, and generating RSS feeds, as well as other miscellaneous tasks such as downloading horoscopes to an iPod.
Hack #48, Super Word Lookup, is a good example of why SH is so intriguing. While utilizing a dictionary or thesaurus via a browser is simple, having the ability to do so with a command-line program allows the user an automated approach, reducing distractions.
Chapter 5, "Maintaining Your Collections," discusses ways to automate retrieval using cron and practical alternatives for Windows users.
Chapter 6, "Giving Back to the World," ends SH by covering practical ways the reader can give back to the Internet and avoid the ignominious leech designation. This chapter provides information on creating public RSS feeds, making an organization's resources available for easy retrieval by spiders, and using instant messaging with a spider.
ConclusionThere are extensive links provided throughout the book, and this indirectly contributes to SH's worth. The usual O'Reilly site for source code is available and Hemenway also provides some additional code on his site. A detailed listing of the hacks covered in SH is also available online from SH's table of contents.
The Hacks series is a relatively new genre for O'Reilly, but it is rapidly maturing and this growth is reflected in Spidering Hacks. Hemenway and Calishain have done good work in assembling a wide variety of tips that cover a broad spectrum of interests and applications. This is a solid effort, and I can easily recommend it to those looking to perform more effective Internet research as well as those looking for new scripting projects to undertake.
You can purchase Spidering Hacks from bn.com. Slashdot welcomes readers' book reviews -- to submit a review for consideration, read the book review guidelines, then visit the submission page. -
Spidering Hacks
DrCarbonite writes "Spidering Hacks is a well-written guide to scripting and automating your data-seeking forays onto the Internet. It offers an attractive combination of the solving the problems you have and exposing you to solutions that you weren't aware you needed." Read on for Martin's review of the book. Spidering Hacks author Kevin Hemenway and Tara Calishain pages 402 publisher O'Reilly rating 8 reviewer Jeff Martin ISBN 0596005776 summary A wide-ranging collection of hacks detailing how to be more productive in Internet research and data retrieval
Introduction Spidering Hacks (SH), by Kevin Hemenway and Tara Calishain, is a practical guide to performing Internet research that goes beyond a simple Google search. SH demonstrates how scripting and other techniques can increase the power and efficiency of your Internet searching, allowing the computer to obtain data, leaving the user free to spend more time on analysis.SH's language of choice is Perl, and while there are a few guest appearances by Java and Python, some basic Perl fluency will serve the reader well in reading the Hack's source code. However, regardless of your language preference, SH is still a useful resource. The authors discuss ethics and guidelines for writing polite and properly behaved spiders as well as the concepts and reasoning behind the scripts they present. For this reason, non-Perl coders can still stand to learn a lot of useful tips that will help them with their own projects.
OverviewChapter 1, Walking Softly, covers the basics of spiders and scrapers, and includes tips on proper etiquette for Web robots as well as some resources for identifying and registering the many Web robots/spiders that exist on the Internet. Hemenway and Calishain should be credited for taking the time to be civically responsible and giving their readers appreciation for the power they are utilizing.
Chapter 2, "Assembling a Toolbox," covers how to obtain the Perl modules used by the book, respecting robots.txt, and various topics (Perls LWP and WWW::Mechanize modules for example) that will provide the reader with a solid foundation throughout the rest of the book. SH does a great job introducing some topics that not all members in its target audience may be familiar with (i.e., regular expressions, the use of pipes, XPath).
Chapter 3, "Collecting Media Files," deals with obtaining files from POP3 email attachments, the Library of Congress, and Web cams, among other sources. While individual sites described here may not appeal to everyone, the idea is to provide a specific example demonstrating each of certain general concepts, which can be applied to sites of the reader's choosing.
Chapter 4, "Gleaning Data from Databases," approaches various online databases. There are some interesting hacks here, such as those that leverage Google and Yahoo together. This chapter is the longest, and provides the greatest variety of hacks. It also discusses locating, manipulating, and generating RSS feeds, as well as other miscellaneous tasks such as downloading horoscopes to an iPod.
Hack #48, Super Word Lookup, is a good example of why SH is so intriguing. While utilizing a dictionary or thesaurus via a browser is simple, having the ability to do so with a command-line program allows the user an automated approach, reducing distractions.
Chapter 5, "Maintaining Your Collections," discusses ways to automate retrieval using cron and practical alternatives for Windows users.
Chapter 6, "Giving Back to the World," ends SH by covering practical ways the reader can give back to the Internet and avoid the ignominious leech designation. This chapter provides information on creating public RSS feeds, making an organization's resources available for easy retrieval by spiders, and using instant messaging with a spider.
ConclusionThere are extensive links provided throughout the book, and this indirectly contributes to SH's worth. The usual O'Reilly site for source code is available and Hemenway also provides some additional code on his site. A detailed listing of the hacks covered in SH is also available online from SH's table of contents.
The Hacks series is a relatively new genre for O'Reilly, but it is rapidly maturing and this growth is reflected in Spidering Hacks. Hemenway and Calishain have done good work in assembling a wide variety of tips that cover a broad spectrum of interests and applications. This is a solid effort, and I can easily recommend it to those looking to perform more effective Internet research as well as those looking for new scripting projects to undertake.
You can purchase Spidering Hacks from bn.com. Slashdot welcomes readers' book reviews -- to submit a review for consideration, read the book review guidelines, then visit the submission page. -
Spidering Hacks
DrCarbonite writes "Spidering Hacks is a well-written guide to scripting and automating your data-seeking forays onto the Internet. It offers an attractive combination of the solving the problems you have and exposing you to solutions that you weren't aware you needed." Read on for Martin's review of the book. Spidering Hacks author Kevin Hemenway and Tara Calishain pages 402 publisher O'Reilly rating 8 reviewer Jeff Martin ISBN 0596005776 summary A wide-ranging collection of hacks detailing how to be more productive in Internet research and data retrieval
Introduction Spidering Hacks (SH), by Kevin Hemenway and Tara Calishain, is a practical guide to performing Internet research that goes beyond a simple Google search. SH demonstrates how scripting and other techniques can increase the power and efficiency of your Internet searching, allowing the computer to obtain data, leaving the user free to spend more time on analysis.SH's language of choice is Perl, and while there are a few guest appearances by Java and Python, some basic Perl fluency will serve the reader well in reading the Hack's source code. However, regardless of your language preference, SH is still a useful resource. The authors discuss ethics and guidelines for writing polite and properly behaved spiders as well as the concepts and reasoning behind the scripts they present. For this reason, non-Perl coders can still stand to learn a lot of useful tips that will help them with their own projects.
OverviewChapter 1, Walking Softly, covers the basics of spiders and scrapers, and includes tips on proper etiquette for Web robots as well as some resources for identifying and registering the many Web robots/spiders that exist on the Internet. Hemenway and Calishain should be credited for taking the time to be civically responsible and giving their readers appreciation for the power they are utilizing.
Chapter 2, "Assembling a Toolbox," covers how to obtain the Perl modules used by the book, respecting robots.txt, and various topics (Perls LWP and WWW::Mechanize modules for example) that will provide the reader with a solid foundation throughout the rest of the book. SH does a great job introducing some topics that not all members in its target audience may be familiar with (i.e., regular expressions, the use of pipes, XPath).
Chapter 3, "Collecting Media Files," deals with obtaining files from POP3 email attachments, the Library of Congress, and Web cams, among other sources. While individual sites described here may not appeal to everyone, the idea is to provide a specific example demonstrating each of certain general concepts, which can be applied to sites of the reader's choosing.
Chapter 4, "Gleaning Data from Databases," approaches various online databases. There are some interesting hacks here, such as those that leverage Google and Yahoo together. This chapter is the longest, and provides the greatest variety of hacks. It also discusses locating, manipulating, and generating RSS feeds, as well as other miscellaneous tasks such as downloading horoscopes to an iPod.
Hack #48, Super Word Lookup, is a good example of why SH is so intriguing. While utilizing a dictionary or thesaurus via a browser is simple, having the ability to do so with a command-line program allows the user an automated approach, reducing distractions.
Chapter 5, "Maintaining Your Collections," discusses ways to automate retrieval using cron and practical alternatives for Windows users.
Chapter 6, "Giving Back to the World," ends SH by covering practical ways the reader can give back to the Internet and avoid the ignominious leech designation. This chapter provides information on creating public RSS feeds, making an organization's resources available for easy retrieval by spiders, and using instant messaging with a spider.
ConclusionThere are extensive links provided throughout the book, and this indirectly contributes to SH's worth. The usual O'Reilly site for source code is available and Hemenway also provides some additional code on his site. A detailed listing of the hacks covered in SH is also available online from SH's table of contents.
The Hacks series is a relatively new genre for O'Reilly, but it is rapidly maturing and this growth is reflected in Spidering Hacks. Hemenway and Calishain have done good work in assembling a wide variety of tips that cover a broad spectrum of interests and applications. This is a solid effort, and I can easily recommend it to those looking to perform more effective Internet research as well as those looking for new scripting projects to undertake.
You can purchase Spidering Hacks from bn.com. Slashdot welcomes readers' book reviews -- to submit a review for consideration, read the book review guidelines, then visit the submission page. -
Spidering Hacks
DrCarbonite writes "Spidering Hacks is a well-written guide to scripting and automating your data-seeking forays onto the Internet. It offers an attractive combination of the solving the problems you have and exposing you to solutions that you weren't aware you needed." Read on for Martin's review of the book. Spidering Hacks author Kevin Hemenway and Tara Calishain pages 402 publisher O'Reilly rating 8 reviewer Jeff Martin ISBN 0596005776 summary A wide-ranging collection of hacks detailing how to be more productive in Internet research and data retrieval
Introduction Spidering Hacks (SH), by Kevin Hemenway and Tara Calishain, is a practical guide to performing Internet research that goes beyond a simple Google search. SH demonstrates how scripting and other techniques can increase the power and efficiency of your Internet searching, allowing the computer to obtain data, leaving the user free to spend more time on analysis.SH's language of choice is Perl, and while there are a few guest appearances by Java and Python, some basic Perl fluency will serve the reader well in reading the Hack's source code. However, regardless of your language preference, SH is still a useful resource. The authors discuss ethics and guidelines for writing polite and properly behaved spiders as well as the concepts and reasoning behind the scripts they present. For this reason, non-Perl coders can still stand to learn a lot of useful tips that will help them with their own projects.
OverviewChapter 1, Walking Softly, covers the basics of spiders and scrapers, and includes tips on proper etiquette for Web robots as well as some resources for identifying and registering the many Web robots/spiders that exist on the Internet. Hemenway and Calishain should be credited for taking the time to be civically responsible and giving their readers appreciation for the power they are utilizing.
Chapter 2, "Assembling a Toolbox," covers how to obtain the Perl modules used by the book, respecting robots.txt, and various topics (Perls LWP and WWW::Mechanize modules for example) that will provide the reader with a solid foundation throughout the rest of the book. SH does a great job introducing some topics that not all members in its target audience may be familiar with (i.e., regular expressions, the use of pipes, XPath).
Chapter 3, "Collecting Media Files," deals with obtaining files from POP3 email attachments, the Library of Congress, and Web cams, among other sources. While individual sites described here may not appeal to everyone, the idea is to provide a specific example demonstrating each of certain general concepts, which can be applied to sites of the reader's choosing.
Chapter 4, "Gleaning Data from Databases," approaches various online databases. There are some interesting hacks here, such as those that leverage Google and Yahoo together. This chapter is the longest, and provides the greatest variety of hacks. It also discusses locating, manipulating, and generating RSS feeds, as well as other miscellaneous tasks such as downloading horoscopes to an iPod.
Hack #48, Super Word Lookup, is a good example of why SH is so intriguing. While utilizing a dictionary or thesaurus via a browser is simple, having the ability to do so with a command-line program allows the user an automated approach, reducing distractions.
Chapter 5, "Maintaining Your Collections," discusses ways to automate retrieval using cron and practical alternatives for Windows users.
Chapter 6, "Giving Back to the World," ends SH by covering practical ways the reader can give back to the Internet and avoid the ignominious leech designation. This chapter provides information on creating public RSS feeds, making an organization's resources available for easy retrieval by spiders, and using instant messaging with a spider.
ConclusionThere are extensive links provided throughout the book, and this indirectly contributes to SH's worth. The usual O'Reilly site for source code is available and Hemenway also provides some additional code on his site. A detailed listing of the hacks covered in SH is also available online from SH's table of contents.
The Hacks series is a relatively new genre for O'Reilly, but it is rapidly maturing and this growth is reflected in Spidering Hacks. Hemenway and Calishain have done good work in assembling a wide variety of tips that cover a broad spectrum of interests and applications. This is a solid effort, and I can easily recommend it to those looking to perform more effective Internet research as well as those looking for new scripting projects to undertake.
You can purchase Spidering Hacks from bn.com. Slashdot welcomes readers' book reviews -- to submit a review for consideration, read the book review guidelines, then visit the submission page. -
PC Annoyances
hawkeegn writes "This is the latest book in the O'Reilly "Annoyances" series. Over the last few years, I've managed to glean several valuable tips about Windows 95 and 98 from the Annoyances books about those OSes. So even if I've used computers for years, I looked with glee and anticipation (well maybe not glee, much more like relief) when I discovered this book was out." Read on for hawkeegn's review of PC Annoyances. PC Annoyances author Steve Bass pages 175 publisher O'Reilly Publishing rating 8 reviewer hawkeegn ISBN 0596005938 summary How to deal with common PC annoyances, like Windows, Email, Microsoft Office, sound & video and hardware issues.How often do you sit down for a relaxing session at your PC, only to discover you can't find that file you saved six months ago but forgot the name of it. Or to go into Word and realize several dreary tasks could mre easily be put into macros if only you knew how? Or you decide to browse the Web only to be "attacked" by pop-ups and extra windows? AAUGHH!
This book deals with the folk who use Windows and PC's. I realize there are those who loathe Windows ("Linux rools d00d!") and point to the chapter on Windows annoyances as an example of an OS gone terribly wrong. However, until the day comes that everyone uses Linux (or finds a way around Billy Boy's "evil empire"), we're stuck with it. But I digress.
The book's several chapters are divided into specific topics, like E-mail, Windows, the Internet, MS Office, Windows Explorer. Music, Video & CDs, and last but not least Hardware. And yes there's a few suggestions and software for dealing with spam. Spam spam, spam, spam, wonderful spammmmm...not! Also mentioned are items like turning off return receipt (who cares whether or not your sender received your message, it got sent didn't it?), embedded images in email, and so on. There are also sections on dealing specifically with flaws in Outlook Express, Eudora, AOL, and Hotmail.
One thing that bummed me a little personally was that the chapter on Windows annoyances for the most part are for Windows XP. In fact, the author strongly recommends, in fact almost implores you, gentle reader, to switch from Win 98 to XP. In spite of my system running slowly and sometimes crashing (and the fact that I'm rather broke these days), I'll stick with my 98 for now. Of course, one could point out if previous versions of Windows had been created "right" or "ran correctly," there wouldn't be need for a whole chapter (or even reams of books) on Microsoft fixes or how to get it to run properly.
The Internet chapter deals with getting rid of pop-ups while browsing, and introduces a nifty tool for checking dead links on your bookmarks. It's quite annoying to save a page on your favorite band or obscure sport and then discover three months later it's disappeared. Also mentioned are a few "tricks" with using Google and even AOL IMs, like making AOL IM an "ad-free" zone. In fact, several tricks in this book are centered on cutting down the amount of on-line advertising we all seem to be bombarded with.
MS Office ... ah yes, Office. What would we ever do without it? What can we do with it? Among other tips, the author describes ways of "outfoxing" Word's Auto Correct feature (but gee, Mr Word officer, I swear that's the way rutabaga is spelled!) and my personal favorite: getting rid of Clippy -- Yeah! Also mentioned are some nifty tricks for using Excel and Power Point.
Windows Explorer ... ah yes, Windows Explorer. Not bad, but it could be better. And the author points us to two alternatives to Explorer: Power Desk and Total Commander, two inexpensive utilities that do everything WE does and more. However, if you insist on staying loyal to WE, there are some nice tips here about dealing with it.
The last two chapters discuss ways of making it easier to listen to tunes on your PC, watching video streams, and recording audio from any source. But most importantly, the author advises that if you share CDs with others to use 74-minute CDs because not all CD ROMs are created equal. The 80-minute CDs may get cranky if they're put in an old CD ROM that won't read them.
Last but not least, the Hardware chapter touches upon such wondrous things as "The Wonders of a Modem Reset," "tuning up your monitor," and also a way to keep that color ink printing cartridge you just bought to last more than two weeks, just by switching your prints to the lowest quality for most of your work. When you're broke like myself, those $50 printer cartridges add up fast!
I've just touched upon a few tips here ... the book has many more, all designed to be very helpful to the PC user.
The back inside cover has a place where the CD with all these nifty utilities should be, except O'Reilly decided to save a few bucks on the book's cost by pointing to a URL and telling we gentle readers to go there to get the utilities. Alas, I'm lazy and impatient (not to mention being too damn cheap to get a DSL line) so I haven't gotten around to getting most of the utilities yet. My bad. I've gotten used over the years to books that had the CD that I could just slide into my drive and install away. I have however so far gotten SpyBot, AMDeadLink, and MailWasher. Great stuff, and I do plan to download at least a few more of these utilities. Of course, the web site where you download all this stuff is a great plug for PC World.
The "enlightened ones," as I mention, won't need to bother with this book, as they have Linux, or a Mac. But the rest of us, who do battle with our PCs daily, will get a lot of useful information out of this book.
You can purchase PC Annoyances from bn.com. Slashdot welcomes readers' book reviews -- to submit a review for consideration, read the book review guidelines, then visit the submission page. -
Wireless Hacks
hanksdc writes "With the proliferation of wireless networking over the past year, it has become easier and easier for even the most budget-minded geeks to afford wireless gear for their homes, offices, and neighborhoods. Rob Flickenger's latest, Wireless Hacks expands upon his previous book on the topic, Building Wireless Community Networks , and takes its reader by the hand on a fast-paced run through a large assortment of hacks related to wireless networking." Read on for the rest of hanksdc's review. Wireless Hacks author Rob Flickenger pages 286 publisher O'Reilly rating 8 reviewer hanksdc ISBN 0596005598 summary Tips and Tricks for getting the most out of your wireless networkFrom the back cover we find that the book is targeted towards the intermediate to advanced wireless user, and I found that definitely to be the case. Some of the hacks use a lot of technical jargon, and assume a fair amount of background knowledge from the reader. You should probably already know how to get a wireless link up and running to really benefit from the book. But don't let that be a deterrent if you're a newbie. It's still a fun read, and provides a lot of ideas for the inquisitive and creative mind.
The book is very readable, (all the Hacks series books I have read would, like their venerable ancestor, UNIX Power Tools , make for great bathroom books). Each hack is self-contained, and can be read in just a few minutes. You can read the book straight through, or browse around, find what interests you and go from there. Most hacks have references to other hacks in the book, so reading it can be like browsing a web page sometimes. Many hacks also have references to further sources of information on the topic covered.There are hacks here for UNIX/Linux platforms mainly, but all you Ti/Al-Powerbook zealots will find plenty to lick your lips over as well, with several of the hacks devoted to wireless networking with OS X. There are even some for the Windows users as well. Many of the hacks (since they deal with hardware) could be utilized on any platform. Well, ok, you might have a bit of a hurdle to get your Pirouette cantenna hooked up to your vintage Apple ][c, but this book makes a good breeding-ground of ideas for those so inclined.
The book is divided into several chapters, each devoted to a particular topic. Each chapter contains a number of hacks related to that topic:
- Chapter 1, "The Standards," covers the alphabet soup of current wireless protocols, with a brief introduction to each.
- Chapter 2, "Bluetooth and Mobile Data," covers Bluetooth technology (need to use your Bluetooth-enabled cell phone to act as a modem for your laptop in a pinch? If only those phones weren't so pricey...*sigh*)
- Chapter 3, "Network Monitoring," is all about finding out what's going on on the local network, including various ways to sniff traffic, broadcast network services, perform network discovery, and analyze traffic.
- Chapter 4, "Hardware Hacks," gets down to the metal, discussing topics ranging from boosting signal strength to building your own access point from micro form-factor hardware to cabling and antenna guides.
- Chapter 5, "Do-it-Yourself Antennas," describes various ways to build your own antennas all the way from Pringles cans to milled aluminum wave guides (Don't forget to use ventilation when soldering ;-).
- Chapter 6, "Long distance Links," offers tips on setting up, well, long distance wireless links.
- Chapter 7, "Wireless Security," dispels the vendor-propagated myths of WEP 'security,' and gives practical advice on how you can avoid the guy next door from sniffing your private traffic (not that you'd have anything to hide, of course...).
Throughout the book there is a lot of information repeated from Building Wireless Community Networks, as well as a few hacks copied over from Linux Server Hacks [Slashdot review here], but all together it makes a very useful collection, and a nice addition to O'Reilly's Hacks series.
So what's my take on it? If you're doing just about anything with an 802.11x network, you'll likely find something fun or useful here. If you're brand new to wireless networking, you may want to come up to speed with something a bit more tutorial-oriented. Perhaps one drawback to the book is its recipe-style format. There's not a lot of background information offered with each hack, but rather a lot "do this, then this, and you get this." If you're not used to hacking and experimenting with things, you might find yourself a bit lost. It certainly isn't a college textbook, which can be both good and bad, depending on what you're looking for.
Overall, if you're the forward-thinking, range-extending, hardware-tinkering, soldering-iron wielding, average slashdot reader, you'll probably find it a fun read with lots of good ideas to offer.
You can purchase Wireless 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. -
Wireless Hacks
hanksdc writes "With the proliferation of wireless networking over the past year, it has become easier and easier for even the most budget-minded geeks to afford wireless gear for their homes, offices, and neighborhoods. Rob Flickenger's latest, Wireless Hacks expands upon his previous book on the topic, Building Wireless Community Networks , and takes its reader by the hand on a fast-paced run through a large assortment of hacks related to wireless networking." Read on for the rest of hanksdc's review. Wireless Hacks author Rob Flickenger pages 286 publisher O'Reilly rating 8 reviewer hanksdc ISBN 0596005598 summary Tips and Tricks for getting the most out of your wireless networkFrom the back cover we find that the book is targeted towards the intermediate to advanced wireless user, and I found that definitely to be the case. Some of the hacks use a lot of technical jargon, and assume a fair amount of background knowledge from the reader. You should probably already know how to get a wireless link up and running to really benefit from the book. But don't let that be a deterrent if you're a newbie. It's still a fun read, and provides a lot of ideas for the inquisitive and creative mind.
The book is very readable, (all the Hacks series books I have read would, like their venerable ancestor, UNIX Power Tools , make for great bathroom books). Each hack is self-contained, and can be read in just a few minutes. You can read the book straight through, or browse around, find what interests you and go from there. Most hacks have references to other hacks in the book, so reading it can be like browsing a web page sometimes. Many hacks also have references to further sources of information on the topic covered.There are hacks here for UNIX/Linux platforms mainly, but all you Ti/Al-Powerbook zealots will find plenty to lick your lips over as well, with several of the hacks devoted to wireless networking with OS X. There are even some for the Windows users as well. Many of the hacks (since they deal with hardware) could be utilized on any platform. Well, ok, you might have a bit of a hurdle to get your Pirouette cantenna hooked up to your vintage Apple ][c, but this book makes a good breeding-ground of ideas for those so inclined.
The book is divided into several chapters, each devoted to a particular topic. Each chapter contains a number of hacks related to that topic:
- Chapter 1, "The Standards," covers the alphabet soup of current wireless protocols, with a brief introduction to each.
- Chapter 2, "Bluetooth and Mobile Data," covers Bluetooth technology (need to use your Bluetooth-enabled cell phone to act as a modem for your laptop in a pinch? If only those phones weren't so pricey...*sigh*)
- Chapter 3, "Network Monitoring," is all about finding out what's going on on the local network, including various ways to sniff traffic, broadcast network services, perform network discovery, and analyze traffic.
- Chapter 4, "Hardware Hacks," gets down to the metal, discussing topics ranging from boosting signal strength to building your own access point from micro form-factor hardware to cabling and antenna guides.
- Chapter 5, "Do-it-Yourself Antennas," describes various ways to build your own antennas all the way from Pringles cans to milled aluminum wave guides (Don't forget to use ventilation when soldering ;-).
- Chapter 6, "Long distance Links," offers tips on setting up, well, long distance wireless links.
- Chapter 7, "Wireless Security," dispels the vendor-propagated myths of WEP 'security,' and gives practical advice on how you can avoid the guy next door from sniffing your private traffic (not that you'd have anything to hide, of course...).
Throughout the book there is a lot of information repeated from Building Wireless Community Networks, as well as a few hacks copied over from Linux Server Hacks [Slashdot review here], but all together it makes a very useful collection, and a nice addition to O'Reilly's Hacks series.
So what's my take on it? If you're doing just about anything with an 802.11x network, you'll likely find something fun or useful here. If you're brand new to wireless networking, you may want to come up to speed with something a bit more tutorial-oriented. Perhaps one drawback to the book is its recipe-style format. There's not a lot of background information offered with each hack, but rather a lot "do this, then this, and you get this." If you're not used to hacking and experimenting with things, you might find yourself a bit lost. It certainly isn't a college textbook, which can be both good and bad, depending on what you're looking for.
Overall, if you're the forward-thinking, range-extending, hardware-tinkering, soldering-iron wielding, average slashdot reader, you'll probably find it a fun read with lots of good ideas to offer.
You can purchase Wireless 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. -
Wireless Hacks
hanksdc writes "With the proliferation of wireless networking over the past year, it has become easier and easier for even the most budget-minded geeks to afford wireless gear for their homes, offices, and neighborhoods. Rob Flickenger's latest, Wireless Hacks expands upon his previous book on the topic, Building Wireless Community Networks , and takes its reader by the hand on a fast-paced run through a large assortment of hacks related to wireless networking." Read on for the rest of hanksdc's review. Wireless Hacks author Rob Flickenger pages 286 publisher O'Reilly rating 8 reviewer hanksdc ISBN 0596005598 summary Tips and Tricks for getting the most out of your wireless networkFrom the back cover we find that the book is targeted towards the intermediate to advanced wireless user, and I found that definitely to be the case. Some of the hacks use a lot of technical jargon, and assume a fair amount of background knowledge from the reader. You should probably already know how to get a wireless link up and running to really benefit from the book. But don't let that be a deterrent if you're a newbie. It's still a fun read, and provides a lot of ideas for the inquisitive and creative mind.
The book is very readable, (all the Hacks series books I have read would, like their venerable ancestor, UNIX Power Tools , make for great bathroom books). Each hack is self-contained, and can be read in just a few minutes. You can read the book straight through, or browse around, find what interests you and go from there. Most hacks have references to other hacks in the book, so reading it can be like browsing a web page sometimes. Many hacks also have references to further sources of information on the topic covered.There are hacks here for UNIX/Linux platforms mainly, but all you Ti/Al-Powerbook zealots will find plenty to lick your lips over as well, with several of the hacks devoted to wireless networking with OS X. There are even some for the Windows users as well. Many of the hacks (since they deal with hardware) could be utilized on any platform. Well, ok, you might have a bit of a hurdle to get your Pirouette cantenna hooked up to your vintage Apple ][c, but this book makes a good breeding-ground of ideas for those so inclined.
The book is divided into several chapters, each devoted to a particular topic. Each chapter contains a number of hacks related to that topic:
- Chapter 1, "The Standards," covers the alphabet soup of current wireless protocols, with a brief introduction to each.
- Chapter 2, "Bluetooth and Mobile Data," covers Bluetooth technology (need to use your Bluetooth-enabled cell phone to act as a modem for your laptop in a pinch? If only those phones weren't so pricey...*sigh*)
- Chapter 3, "Network Monitoring," is all about finding out what's going on on the local network, including various ways to sniff traffic, broadcast network services, perform network discovery, and analyze traffic.
- Chapter 4, "Hardware Hacks," gets down to the metal, discussing topics ranging from boosting signal strength to building your own access point from micro form-factor hardware to cabling and antenna guides.
- Chapter 5, "Do-it-Yourself Antennas," describes various ways to build your own antennas all the way from Pringles cans to milled aluminum wave guides (Don't forget to use ventilation when soldering ;-).
- Chapter 6, "Long distance Links," offers tips on setting up, well, long distance wireless links.
- Chapter 7, "Wireless Security," dispels the vendor-propagated myths of WEP 'security,' and gives practical advice on how you can avoid the guy next door from sniffing your private traffic (not that you'd have anything to hide, of course...).
Throughout the book there is a lot of information repeated from Building Wireless Community Networks, as well as a few hacks copied over from Linux Server Hacks [Slashdot review here], but all together it makes a very useful collection, and a nice addition to O'Reilly's Hacks series.
So what's my take on it? If you're doing just about anything with an 802.11x network, you'll likely find something fun or useful here. If you're brand new to wireless networking, you may want to come up to speed with something a bit more tutorial-oriented. Perhaps one drawback to the book is its recipe-style format. There's not a lot of background information offered with each hack, but rather a lot "do this, then this, and you get this." If you're not used to hacking and experimenting with things, you might find yourself a bit lost. It certainly isn't a college textbook, which can be both good and bad, depending on what you're looking for.
Overall, if you're the forward-thinking, range-extending, hardware-tinkering, soldering-iron wielding, average slashdot reader, you'll probably find it a fun read with lots of good ideas to offer.
You can purchase Wireless 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. -
Wireless Hacks
hanksdc writes "With the proliferation of wireless networking over the past year, it has become easier and easier for even the most budget-minded geeks to afford wireless gear for their homes, offices, and neighborhoods. Rob Flickenger's latest, Wireless Hacks expands upon his previous book on the topic, Building Wireless Community Networks , and takes its reader by the hand on a fast-paced run through a large assortment of hacks related to wireless networking." Read on for the rest of hanksdc's review. Wireless Hacks author Rob Flickenger pages 286 publisher O'Reilly rating 8 reviewer hanksdc ISBN 0596005598 summary Tips and Tricks for getting the most out of your wireless networkFrom the back cover we find that the book is targeted towards the intermediate to advanced wireless user, and I found that definitely to be the case. Some of the hacks use a lot of technical jargon, and assume a fair amount of background knowledge from the reader. You should probably already know how to get a wireless link up and running to really benefit from the book. But don't let that be a deterrent if you're a newbie. It's still a fun read, and provides a lot of ideas for the inquisitive and creative mind.
The book is very readable, (all the Hacks series books I have read would, like their venerable ancestor, UNIX Power Tools , make for great bathroom books). Each hack is self-contained, and can be read in just a few minutes. You can read the book straight through, or browse around, find what interests you and go from there. Most hacks have references to other hacks in the book, so reading it can be like browsing a web page sometimes. Many hacks also have references to further sources of information on the topic covered.There are hacks here for UNIX/Linux platforms mainly, but all you Ti/Al-Powerbook zealots will find plenty to lick your lips over as well, with several of the hacks devoted to wireless networking with OS X. There are even some for the Windows users as well. Many of the hacks (since they deal with hardware) could be utilized on any platform. Well, ok, you might have a bit of a hurdle to get your Pirouette cantenna hooked up to your vintage Apple ][c, but this book makes a good breeding-ground of ideas for those so inclined.
The book is divided into several chapters, each devoted to a particular topic. Each chapter contains a number of hacks related to that topic:
- Chapter 1, "The Standards," covers the alphabet soup of current wireless protocols, with a brief introduction to each.
- Chapter 2, "Bluetooth and Mobile Data," covers Bluetooth technology (need to use your Bluetooth-enabled cell phone to act as a modem for your laptop in a pinch? If only those phones weren't so pricey...*sigh*)
- Chapter 3, "Network Monitoring," is all about finding out what's going on on the local network, including various ways to sniff traffic, broadcast network services, perform network discovery, and analyze traffic.
- Chapter 4, "Hardware Hacks," gets down to the metal, discussing topics ranging from boosting signal strength to building your own access point from micro form-factor hardware to cabling and antenna guides.
- Chapter 5, "Do-it-Yourself Antennas," describes various ways to build your own antennas all the way from Pringles cans to milled aluminum wave guides (Don't forget to use ventilation when soldering ;-).
- Chapter 6, "Long distance Links," offers tips on setting up, well, long distance wireless links.
- Chapter 7, "Wireless Security," dispels the vendor-propagated myths of WEP 'security,' and gives practical advice on how you can avoid the guy next door from sniffing your private traffic (not that you'd have anything to hide, of course...).
Throughout the book there is a lot of information repeated from Building Wireless Community Networks, as well as a few hacks copied over from Linux Server Hacks [Slashdot review here], but all together it makes a very useful collection, and a nice addition to O'Reilly's Hacks series.
So what's my take on it? If you're doing just about anything with an 802.11x network, you'll likely find something fun or useful here. If you're brand new to wireless networking, you may want to come up to speed with something a bit more tutorial-oriented. Perhaps one drawback to the book is its recipe-style format. There's not a lot of background information offered with each hack, but rather a lot "do this, then this, and you get this." If you're not used to hacking and experimenting with things, you might find yourself a bit lost. It certainly isn't a college textbook, which can be both good and bad, depending on what you're looking for.
Overall, if you're the forward-thinking, range-extending, hardware-tinkering, soldering-iron wielding, average slashdot reader, you'll probably find it a fun read with lots of good ideas to offer.
You can purchase Wireless 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.