Designing Web Audio

Josh Beggs & Dylan Thede
O'Reilly & Associates, Inc., January 2001
398 pages, £24.95
ISBN 1-56592-353-7

(Reviewed by Gavin Inglis)

This O'Reilly offering was advertised for quite some time prior to publication. But launch delays are hardly surprising for a web technology book in an area as volatile as audio. We can imagine the authors signing off the manuscript for the twentieth time, only to hear that some new development has emerged in the last week and there will have to be rewrites and a new chapter.

Looks like the time to come to market has paid off, though, for Designing Web Audio is a well-judged and well-pitched volume, informative, readable and clear. It manages to bridge the gap between concepts and details well - as early as page 4, code shows up to add a background WAV to a web page.

Early chapters introduce us to audio in a general way, through sound design and capture, digital audio and optimizing data. A detailed illustration of how to make ambient sound and music loops is somehow crammed into only five pages.

Later we get into streaming media. A short introduction lays out the terrain, then there are hefty chapters on the specifics for RealAudio and MP3. The nuts and bolts start with "plug your audio source into the line-in socket of your computer" for HTTP streaming and head up towards bandwidth negotiation, firewalls and embedding controls in HTML pages. The MP3 material is of similar quality, beginning with an excellent explanation of the format, the process of ripping and encoding, and goes as far as setting up an MP3 radio station using SHOUTcast, considering the legal issues too. There is even a tutorial on making skins for WinAmp.

Other chapters concern themselves with MIDI, sound for Flash and Shockwave, Beatnik, and using the XML-based SMIL technology to integrate multimedia presentations. Plenty of accompanying images keep this lively. The future of licensed music distribution on the web gets a few pages with the LiquidAudio system, and even appendix A is a surprising gem, a guide to equipping and designing a recording studio.

Designing Web Audio really is an intermediate introduction to just about anything you could want to do with audio on the web. Interface noises, background music, streaming spoken word... it's all there, dealt with thoughtfully and in surprising depth. Usability and realistic expectations are kept in focus throughout.

There are also regular sidebars featuring real-world examples of the techniques being discussed. Audio elements of web interaction are compared to foley techniques in traditional filmmaking. There's the problem of bringing together thirty years of BB King interviews, in recordings of varying ambience and quality. And for live broadcast, a concert by Motley Crue.

Of course Designing Web Audio will age very quickly; expect a second edition in about eighteen months. It's also focused on the Windows or Mac user, with only a passing nod to Linux. But it is a solid choice for someone interested in the field of web sound, and could take the reader from audio-naive to reasonably savvy in whatever area their interest lies.

Peer-To-Peer: Harnessing the Power of Disruptive Technologies

Edited by Andy Oram
O'Reilly & Associates, Inc., March 2001
432 pages, £20.95
ISBN 0-596-00110-X

(Reviewed by Lindsay Marshall)

P2P has been the bandwagon of choice for the last six or seven months what with all the brouhaha about the Napster trial and MP3 sharing. Dozens of articles on Slashdot, thousands of words in the business pages of the newspapers, and conferences dedicated to it, so you would be forgiven for thinking that this was like any other Internet fad and that it would all blow over in a few weeks. This time, I don't think it will. Unlike other trendy ideas (remember push?) there is real substance in the ideas behind P2P and there is some interesting and innovative technology being developed.

O'Reilly are quick off the mark when bandwagons appear (it's a great way to make a profit if you can get the product out fast enough) and this book is a good example of how well they manage to get aboard. A collection of papers covering all the major projects - SETI@home, Gnutella, Freenet and others including the next big thing, Jabber - but also covering general issues such as security and performance. The weakest section is the introductory section on Context and Overview which tries hard to talk things up and generate lots of excitement, but really doesn't hit the target (for me at least).

If you are interested in what is going in P2P you should read this book and follow up some of the pointers that it gives to the various projects that are running. All in all a typical well-presented O'Reilly package - nice paper, good hardback binding and excellent content. Now if someone can just tell me how to get Freenet running I would be most grateful...

Learning XML

Erik T. Ray
O'Reilly & Associates, Inc., January 2001
354 pages, £24.95
ISBN 0-596-00046-4

(Reviewed by Lindsay Marshall)

See the following article.

XML in a Nutshell

Elliotte Rusty Harold & W. Scott Means
O'Reilly & Associates, Inc., January 2001
480 pages, £19.95
ISBN 0-596-00058-8

(Reviewed by Lindsay Marshall)

XML is of course the new rock n' roll and this season's black all rolled into one. It is set to revolutionise the way we work. And yes, I know I start my review of the P2P book by talking about the latest bandwagon, but XML is more than a bandwagon, it is the Juggernaut crushing everything in its path. Even Microsoft have sworn allegiance to XML (though I bet they had their fingers crossed when they did it). So of course there are O'Reilly books about it (see other sarcastic comment in P2P review). Lots of them in fact. The two I am reviewing here are the most directly related to XML itself and, as you would expect, the usual O'Reilly standards apply - well produced, relevant, not a bad price, etc.

In many ways Learning XML is the more useful of the two books for several reasons. First, most people using XML (at least at first) rarely need to delve into the murky depths of all the different extensions and add-ons to the basic language so the lack of complexity is no miss. Second, the descriptions of all the elements of the language are clear and descriptive but are perfectly well suited to the expert as well as the novice. And third, whilst both books have the same printing date, I suspect that Learning XML is the more recent manuscript as it has some useful coverage of XML Schema (now a W3C recommendation) which is not touched on at all in the Nutshell volume.

One of my students made some serious use of both of these books and found them to be good, though he said that he did find some errors in the Nutshell book. My biggest quibble with both books is that the extended examples are deadly dull to look at since XML is not designed to be particularly human-reader friendly. And why are there all those character set tables at the back of the Nutshell book? Why not just a reference to the unicode website?

But, quibbles aside, these are the most accessible books on XML that I have come across and I would certainly use Learning XML as a recommended text for any course on it that I gave. If you work with XML or are going to then you probably ought to have both these books.

SQL in a Nutshell

Kevin Kline with Daniel Kline
O'Reilly & Associates, Inc., December 2000
240 pages, £19.95
ISBN 1-56592-744-3

(Reviewed by Nigel Martin)

In recent years O'Reilly have published a number of useful books on database management systems (DBMSs) and languages, with a strong series on the Oracle DBMS and PL/SQL in particular. So it was with some confidence and enthusiasm I opened SQL in a Nutshell. I have to say I was disappointed.

The book is intended to provide a desktop quick reference to SQL as standardised by ANSI/ISO in 1999. An additional aim is to identify the differences in flavours of SQL supported by four DBMS products: Oracle 8i, SQL Server 2000, MySQL and PostgreSQL 7.0. Finally, the book is intended as a learning resource for users new to SQL.

The heart of the book is an alphabetical listing of SQL statements with a description of the SQL/99 statement followed by a description of the variations supported in each of the four chosen DBMS products. Preceding the alphabetical listing are short chapters outlining the history of SQL standards and "foundational concepts" underpinning relational databases and SQL.

Let's take each of the intended users of the book in turn. Assume you're an experienced database developer and a desktop summary of SQL/99 is just what you're after. Perhaps you're familiar with triggers supported by Oracle, you've heard they're standardised in SQL/99 and you want to check exactly what's supported. In that kind of situation the book works quite well as long as you're only after a quick summary. The alphabetical listing makes it easy to find the CREATE TRIGGER statement and there you'll find a 3/4 page summary of the syntax of CREATE TRIGGER and a brief explanation of the main elements of the statement. If, though, you're after a more detailed explanation - for example, what limitations are there on statements in the triggered actions? - then this book isn't going to help. You're told a code block is triggered and that's it. Inevitably in 214 pages you're not going to get much detail on any particular SQL/99 statement and the variations across four vendors' implementations.

Ok, not a definitive reference guide to SQL/99, though perhaps a useful summary of the key points. What about the user experienced in one vendor's SQL who needs to check on support from another vendor? Here the problem is the book just isn't written carefully enough. Take the trigger example again: the description of SQL Server 2000 triggers does list the statements not permitted in a triggered Transact-SQL block, but turning to the Oracle section the book is silent on the statements not permitted in a corresponding PL/SQL block.

Maybe I should try a simpler construct than triggers. Let's check on what wildcard characters are supported in a LIKE statement. I'm told % and _ are supported by all vendors, whereas [] is supported by SQL Server but not Oracle. Hard luck if I wanted to know whether [] is supported by MySQL or PostgreSQL! Also hard luck if I'm using the ESCAPE clause in Oracle's SQL and want to know whether other vendors support it: it's not mentioned at all.

As one more test I attempted to discover which vendors support a query expression in the FROM clause of a SELECT statement rather than just explicit table references. I was out of luck again: I could find nothing in the book indicating that it is possible to have such query expressions in the FROM clause at all, though JOIN expressions in a FROM clause are discussed.

The result of this is that I could have little confidence in using the book that I have a reliable guide to which SQL constructs are supported in which vendors implementations.

Ok, I'd have some nervousness relying on the book as a desktop guide to different vendors' SQL implementations. What about if I'm new to SQL and looking for a "great learning resource for novice and auxiliary SQL users". Forget it. The alphabetical list format means you need to know what you're looking for to use it sensibly. The novice user does not want to start with ALTER PROCEDURE and take it from there. So, the novice user is dependent on a good chapter 2 - Foundational Concepts. In fact this is not aimed at someone trying to get to grips with SQL. Indeed, it lost me on the second sentence of the explanation of the relational model: "The RDBS model follows a linguistic protocol to define the hierarchy of data sets within the SQL99 standard." Come again? It's hard to imagine a sentence more likely to confuse a novice user. The chapter is keen to set out the grim detail of SQL/99 and vendor-specific datatypes (almost half the chapter) and the syntax of valid identifiers and so on, but gives less than three pages on the basics of an SQL SELECT statement. This is plainly inadequate in a great learning resource.

I am sorry I can find little to like in this book. To be fair I think it was an impossible task to provide a good desktop reference to SQL/99 and four vendors' SQL implementations in 214 pages. If more care had been taken in consistently treating features across vendors' implementations then the book could have been useful as a summary of key differences between four SQL implementations. As it is, I think I would feel obliged to check anything I found or didn't find in this book against the vendors' own documentation or other references. If I'm going to do that then it's hard to see a reason to use this book in the first place.

Nigel is a lecturer in the School of Computer Science & Information Systems, Birkbeck, University of London.

DHCP for Windows 2000

Neall Alcott
O'Reilly & Associates, Inc., January 2001
288 pages, £24.95
ISBN 1-56592-838-5

(Reviewed by Raza Rizvi)

Starting with a background in IP and WINS addressing is sensible, but it is a shame that this concepts section should include a glaring error in Figure 1-8 where a diagram of a small routed network blatantly shows the use of an incorrect host address!

The mechanisms and limitations of RARP and BOOTP are covered well, with many protocol analyser examples, all well annotated. Having covered these simpler protocols, the case for DHCP is made with a very detailed but relatively clear explanation of the process of obtaining an address. Use within a routed network and the role of a DHCP relay is explained but it might have been nice to give some real-life snippets of Cisco IOS code for example to show the setup (although later in the book he does show how this is done using a Windows 2000 server).

Within chapter 4, the author moves onto how an organisation might design their DHCP infrastructure, beginning sensibly with the allocation of IP addresses. There is a brief discussion of the allocation of addresses to non-Windows clients. The discussion on scopes and then on fault tolerance is brief, and I was surprised that, although the author mentions that DHCP servers cannot communicate their allocations to one another, he makes no mention of the recent draft RFCs that will bring this about.

To date, the points covered have been general in nature but the scene now moves to Windows 2000 within a lengthy walkthrough of the installation of the DHCP server component and its management tools. This is followed by the setup of Microsoft clients from Windows 2000 Professional through to MSDOS. No mention here of any other operating system!

Now half way through the book, we move onto the advanced topics, such as the use of Superscopes to permit multiple subnets on a single wire. This is followed, admirably, by a chapter on the allocation of multicast addresses using MADCAP (Multicast Address Dynamic Client Allocation Protocol).

I said earlier that there is no mention of newer RFCs that allow fault tolerance. In mitigation, Neall does spend time clearly explaining the Microsoft approach, clustering, with many screen shots.

Windows 2000 DHCP server permits dynamic updating (with RFC2136 compliance) of the DNS server product included, and again, a good job is done of explaining how this is set up, in a step by step fashion.

Wrapping up with a comprehensive troubleshooting section, and description of the IPv6 DHCP extensions, this book overall provides good value and uses clear examples. The use of many screen shots makes it easy to follow the logical approach to configuration.

Raza Rizvi is technical manager at REDNET, an ISP and Network Integrator based in High Wycombe. His wife says he spends too much time working...

HTML & XHTML: The Definitive Guide

Chuck Musciano & Bill Kennedy
O'Reilly & Associates, Inc., August 2000
660 pages, £24.95
ISBN 0-596-00026-X

(Reviewed by Joel Smith)

The O'Reilly "koala" book on HTML is now in its fourth edition. From the earliest days of HTML, it has been a bible for web authors who want to create web pages by working directly with the HTML. Indeed, when first published, there were no WYSIWYG HTML editors available at all. Yet it is still a vital part of any web author's library. Macromedia even include an electronic copy with their product Dreamweaver.

Since I did not ever get a copy of the third edition, most of the comparisons I will be making will be with the second edition. However, I believe that the major differences between the second and fourth editions will be the same as the differences between the third and fourth editions.

The first sections of the book remain the same. Some of the text and sections have been tweaked, but the majority is virtually word for word. The main additions to the fourth edition are that it now includes sections on XML and XHTML.

The chapter on XML covers the basics of XML, including how to read it, how to create simple XML Document Type Definitions (DTDs), and the ways you might use XML to enhance your use of the internet. This chapter only gives an overview of XML, but the authors believe that it can be helpful when dealing with XHTML.

There is a brief history lesson, describing the relationship between SGML and HTML, and how XML came to be defined as a formal markup metalanguage that uses a subset of SGML to define markup languages, in a style similar to HTML. The essentials of XML and DTDs are covered with some simple examples, moving to touch on the potential of XML for data exchange, rather than data display.

XML is being used to define a standard version of HTML known as XHTML. XHTML retains almost all of the features of HTML 4.01, but also introduces a number of minor (and some not so minor) differences. This leads into the next chapter which compares and contrasts XHTML and HTML, mapping out the differences. Ideally, this will allow you to create documents which comply with both the HTML and XHTML standards.

Essentially, XHTML uses the features of XML to define a markup language that is nearly identical to standard HTML 4.01. This means that there is no need to abandon the investment in HTML pages, tools, technologies and knowledge from the development of the web so far. XHTML will allow people to gradually make the transition to XML, whilst maintaining backwards compatibility.

The majority of HTML is completely compatible with XHTML, and is the reason why so much of the book is unchanged from previous editions. This chapter deals with that portion of the XHTML DTD which differs from the HTML 4.01 DTD. To write documents which are compliant with both standards requires an understanding of these differences. Thankfully this section is not too long!

So should you update your copy of this book? This is a much bigger revision than the move from the second to the third editions (which were only about a year apart). XML and XHTML are quite likely to be the way that the web develops. If you want to start writing XHTML compliant documents, then consider this update. However, HTML is not going to disappear any time soon. This book deals with the XHTML 1.0 standard and, as we know, the standards change. If you have the second edition, which only deals with HTML 3.2, then it might be time for an update. If you have the third edition, perhaps hang on until the fifth edition. If you do not have any edition, then it is easy; buy this book.

Joel Smith is the Internal Systems Manager for First Software UK Ltd.

Network Printing

Todd Radermacher & Matthew Gast
O'Reilly & Associates, Inc., October 2000
285 pages, £24.95
ISBN 0-596-00038-3

(Reviewed by Joel Smith)

Network Printing is a book about UNIX print services, and the techniques required to provide services to a heterogeneous network of operating systems, as most of us have to deal with. Radermacher and Gast take the view that any sensible and flexible solution will obviously be based upon a UNIX print server. Who are we to argue?

The book is split into three main sections plus appendices, and the table of contents can be found at

Part I covers UNIX print services. Chapter 1 begins with a history of network printing and an analysis of the problems facing administrators today, and ends with a brief history of printing from scribes, through Gutenburg to the modern day.

Chapter 2 introduces the main printer languages, Postscript and PCL, and dismisses GDI (Graphics Device Interface) printers as not suitable for the purpose of network printing.

Chapter 3 covers the spooler, and deals with both the BSD printing system, and the System V printing and describes how to configure both. Chapter 4 introduces print filters to process jobs with the BSD spooler based upon their contents, and Chapter 5 introduces LPRng ( which is a replacement for both classic BSD printing and System V printing.

Part II is titled Front-End Interfaces to UNIX Queues and covers the means by which you can have UNIX print servers acting as print servers for other network operating systems. There is information on configuring Samba for Windows networks, netatalk for Appletalk networks, and ncpfs for Netware networks.

To my mind, having a chapter devoted to each of these is a little bit of overkill. Samba has good documentation on creating print queues. Apple Macs have been able to print directly to LPR printers for years - why go to the extra overhead of running netatalk just for printing? Indeed, MacOS X has moved towards using lpr as default. The ncpfs tool seems to rely on Netware print queues anyway (it pulls jobs from a Netware queue, rather than the PCs submitting jobs to the UNIX queue). If you have to have the Netware queues, this seems like extra overhead for minimal gain.

Part III, Administration, is where the book really pays its way. Chapter 9, Using SNMP to Manage Networked Printers, covers the basics of SNMP and how it relates to printers. It then covers several different tools for manipulating this information, ranging from open source SNMP tools, through Perl modules and scripts, to npadmin, a tool designed specifically for managing printers with SNMP.

Chapter 10 covers using BOOTP or DHCP to boot a printer from the network to eliminate the need for front panel configuration (there is also a brief introduction to using HP's Jetadmin software for configuring HP printers). This nicely leads in to the next chapter Centralized Configuration with LDAP.

As with most of the chapters, it starts off with an introduction to the protocol, and basic instructions on how to install a server (in this case OpenLDAP). It then moves on to the nub of the chapter, Practical LDAP Printer Management where they suggest using LDAP to create and distribute the BOOTP/DHCP and printcap information. Using the Perl LDAP modules, they present sample scripts to generate this information from a central LDAP database. With these scripts in operation, the printers are automatically configured as soon as they boot, including all the filters they need, from centrally controlled information which is replicated out to the local servers.

The final chapter of the book is Accounting, Security and Performance. Printer accounting for simple text pages is relatively straightforward. However, determining the number of pages printed from a PostScript or PCL job is more complicated. PostScript has a function that returns the printer's page count, but for a PCL job you need to use SNMP to determine this information. Since SNMP is printer language independent, you are probably better off using scripts accessing SNMP for a complete solution. The chapter finishes off with a look at security, although disappointingly they did not refer back to the earlier section on BOOTP where they showed how to use printer access control to enforce centralised queuing. If you were looking up security in the index, you would miss out on this useful tip.

To quote the authors, "Part IV contains reference appendices that would be far too boring to read as standalone chapters, but contain valuable reference material." Enough said.

Overall, this is a useful book. Several times in the past I have set up UNIX-based network printing, but never taken advantage of the degree of control offered here. Perhaps some parts of the book are superfluous, but they have not missed anything out. Anyone planning to develop or improve a network printing solution would be well advised to read this book - they could develop a solution which exceeds their initial aims. I would think that almost anyone will find some useful tricks in this book which they had not thought of implementing before. Now all I need is to find the time to implement them.....

Joel Smith is the Internal Systems Manager for First Software UK Ltd.

Learning WML & WMLScript

Martin Frost
O'Reilly & Associates, Inc., October 2000
179 pages, £24.95
ISBN 1-56592-947-0

(Reviewed by Daf Tregear)

WML is an XML application which does for WAP browsers on wireless devices (cellphones and handhelds) what HTML does for the wired Web on PCs. WMLScript is a simplified version of JavaScript meant for running on these devices. This slender tome is a pleasant change from the brick-like volumes produced by other publishers. Rather than attempting to give you the whole story in one volume, it does just what it says on the cover leaving other volumes (O'Reilly's, of course) to cover topics like how the server serves up WAP to the wireless Web, how to write CGI scripts and how to get data in and out of databases on your web server. It is well-written by Martin Frost, a graduate of Imperial College, and presented in the usual O'Reilly style (plenty of small examples illustrating each new element introduced, with pitfalls - quite a few of them - highlighted by the inclusion of a turkey image and wise asides highlighted by an owl).

Martin writes for the person already familiar with the Web, HTML and scripting languages. Chapters 1 to 8 cover the basic tags and variables, tasks and events, how to interact with the user, timers and formatting text and WML images. The next few chapters introduce WMLScript (but which version? - it doesn't say) and what you can do with it (the usual basic scripting langauge operations) and then describe the system libraries which come bundled with the browser. You can, of course, also write your own libraries.

The book is rounded off with two complete example applications in the last chapter, a calculator and a Battleships game, with suggestions on how to develop them further using our newfound skills. There are four short appendices, the last one giving the content-type mappings which enable your web server to serve WAP content.

WML is at an early stage of its development, with the various manufacturers being more interested in rushing products to market bearing the WAP badge rather than supporting the protocol. I was unsurprised at the advice of not to make heavy use of the few tags which govern the appearance of the decks but dismayed to be told that, although <table> tags are present, you can't rely on a WAP browser to implement them correctly. Reminders of using early Web browsers back in 1994...

The fact that WAP phones haven't taken the UK market by storm isn't surprising. My personal experience is of a lot of failure to connect and when you do get connected to get cramp in the finger exercising the 'next' key. I rarely find myself wandering the street of an unfamilar city wondering where the nearest pizza restaurant is, so feel there's a limit to the usefulness of the information which can be pulled out of a database and crammed into a small monochrome screen. Plus, there's nearly always a less painful method of getting to the same information.

If you detect my lack of enthusiasm, it is for the protocol itself. If you have to do WAP, this book gives you what you need in a concise and clear format.

CVS Pocket Reference

Gregor N. Purdy
O'Reilly & Associates, Inc., August 2000
75 pages, £6.95
ISBN 0-596-00003-0

(Reviewed by Paul Webb)

The CVS Pocket Reference is intended as a reference guide for administrators and users who wish to use the Concurrent Version System.

Within the confines of 75 pages and five chapters, the book takes the reader from a basic explanation of revision control and CVS's merging model to advanced administrative topics like how one should safely hack the repository. Although small enough to fit into your back pocket, Gregor Purdy's book is well-written and packed with useful information. The Relata chapter is also invaluable and contains useful pointers to an Emacs CVS mode and to CVS-related Perl modules like - available from, clients like Cervisia at and web interfaces like cvsweb which you can obtain from

I do however have some reservations about books of this type which are intended as references rather than as comprehensive guides. Although useful for the CVS administrator and experienced user, pocket references are of limited use to the newbie who would be better advised to refer to more comprehensive resources like Karl Fogel's Open Source Development with CVS - CVS Pocket Reference would also have benefited from an index because the current Table of Contents is too brief to be informative.

That said, this book is well worth buying if you are a regular CVS user and have not written your own CVS crib-sheet.

Table of Contents

Understanding the Linux Kernel

Daniel P. Bovet & Mario Cesati
O'Reilly & Associates, Inc., November 2000
684 pages, £28.50
ISBN 0-596-00002-2

(Reviewed by Jan Wysocki)

I'd been looking forward to a book like this. It's been a long time since I wrote any code that required real knowledge of UNIX kernels, but the desire to know what's really happening, together with a yen to tweak things, still drives many systems administrators. I've used Linux at work since 1995 and at home since 1997, although most of my work still uses commercial Unices. I certainly don't have enough time to work my way through the source code tree by myself.

This book is a very useful guide to the source tree. I was looking for something akin to The Design and Implementation of the 4.3 BSD UNIX Operating System by Leffler et. al. and I think this is a good contender.

Most of us would not read this book from cover to cover. I've had it to hand for several months and I just dip into it whenever I have a question. Despite its size, its still not comprehensive! There is so much material to cover that the authors could never finish the project. You can see that all the way through the book they've been conscious of being overtaken by development. They've kept their eye on all the work that was going into release 2.4 and every chapter ends with commentary on features and changes in 2.4. The book was published a couple of months before the actual release of 2.4, but has since been revised, with the latest revision appearing in April. The revisions address small but significant technical mistakes and are available as page references on the publisher's web site.

I found the writing style neutral and authoritative. There's no humorous light relief in these pages, just clarity. Although there are some diagrams, I feel that a few more should have been incorporated to relieve the impression of relentless text. You can think of this book as highly commented source code,but a commentary that has been distilled to remove all but the essence of the source code. The text is complemented with a pair of indices. There's a conventional index to concepts, keywords and code in the text and another that only indexes the source code, giving both page references and pathnames in the source tree.

Where this book fell short for me was in dealing only with Linux on Intel 80x86 architectures. I'd like to know more about kernel implementation on multiprocessor hardware other than Intel. I'd also like some insight into the problems and advantages of other architectures, from a programmers viewpoint. There's certainly scope for some additional chapters, probably involving other authors, in a future edition.

Would I buy the book? Undoubtedly, although I don't need it. However if you need to understand Linux source code, then this is the essential guide.

Jan Wysocki is currently administering an expanding network of Suns at Virgin Money!