The Unicode Standard, Version 4.0, by The Unicode Consortium, ISBN: 0-321-18578-1, Addison Wesley Professional, 2003.
The Unicode 4.0 book is a thick, heavy one, but it is good. If you work with the Unicode character set, you should have this book on your bookshelf.
This book consists of four parts:
|Background and explanation of terms (103 pages)|
|Implementation guidelines (29 pages)|
|Technical specifications (60 pages)|
|The Unicode Character Tables (1150 pages)|
A review must describe each of these sections by itself, because they are important for different reasons. Unfortunately, however, the sections in the book are not clearly divided into sections as I outlined, so you don't necessarily know where to start. You don't need to read the characters sectionjust the sections you are interested in.
You should read the "Preface" (Section 0), because this section describes the rest of the book. It starts on page xxxi (before chapter 1).
You can then immediately go to the section you are interested in. Each section more or less stands by itself, and the book is easy to read. If something is not clear, you should look for text in another section that describes the subject. Reading from start to finish is possible, but I use this book as reference material, like an encyclopedia (except for the characters).
The background material is easy to read. It covers basic concepts such as differences between characters and glyphs, definition of terms such as equivalence, character encoding schemes and implication of things such as bidirectional text (mixed right-to-left and left-to-right text). Knowing how these things work is essential for anyone who either implements text engines of any kind or works on developing protocols or standards. This background material is easier understood read on paper and not electronically. It also is the part of the book I return to most often.
The second very good part concerns implementation guidelines. Even though it is (relatively) short, it is very important material. It discusses selection algorithms and other user interface guidelines, as well as other algorithms needed for, for example, comparison (what is called "Normalization"). I like this section as well, because it really describes the details you need to know when implementing anything Unicode related.
Unicode is a large character set. You see that in the more-than-1000 pages of "just characters." Of course, the tables themselves can be found on the Unicode Consortium Web site, but this book gives you a good overview. Part of this overview is a description of the scripts that Unicode covers, one at a time before the codepoints that come from those scripts. Still, this is the part that makes this book heavy, and a version without the codepoints would have been interesting by itself.
The book ends with more technical material, consisting mostly of references to, for example, Unicode Technical Notes and other standards documents that the Unicode Consortium produces, in addition to the Unicode Standard itself.
In summary, the first 130 pages (well, starting at page 40) in the book are very good. If you work at all with Unicode, you should read those pages. The rest of the book is good reference material.
Even though I have been working with Unicode for almost 10 years now, and for the last 8 years have weekly reviewed Unicode-related standards in the Internet Engineering Task Force, I see myself opening this book now and then. There is always something I need to check, and to be honest, I like encyclopedias on paper.
As reference material, this is a must-have item. If you want to read only the 140 interesting pages once, well, the book is possibly overkill.
iSCSI: The Universal Storage Connection
iSCSI: The Universal Storage Connection, by John L. Hufferd, ISBN 0-201-78149-X, Addison-Wesley, 2003.
I have to come clean straightaway and say that when I received this book to review I had never even heard of Internet Small Computer System Interface (iSCSI) and, to be honest, I have never heard it mentioned by anyone again since the day the book arrived. This is, of course, not a criticism of this book, just a comment on the current state of penetration of iSCSI into everyday computing discourse. In fact, if you search Google for "iscsi," you get only 465,000 hitsvery few indeed these days, though this does have the decided advantage that the links you get are generally pretty useful. I'm sure that this will change because there are lots of big names behind the protocol, and certainly when vendors start really selling kit that uses it. Storage Area Networks (SANs) are important (though also not yet at the forefront of most computing people's minds) and iSCSI will probably make them bigger.
However, to the book. And, really, if you want to know pretty well everything about iSCSI and don't want to read lots of Web sites, then this book is for you. It covers everything from the background behind the protocol, to how and where it might be applied, to all the low-level information that most of us hope that we never need to see. I'm not going to list it all and go into detail: the whole thing is here, from soup to nuts.
As to the presentation of the material, it is excellentclear diagrams and useful tables. The layout is spacious without huge amounts of wasted white space on every pagemaking a change from many textbooks you see today.
The writing is clear too, though I did find myself becoming a bit bogged down in all the abbreviations (no, not acronymsmost of them are notwords), which seem to pile up in the sentences. I got a bit tired of seeing iSCSI everywhere after a while too. I wasn't keen on the end-ofchapter summaries, finding them a bit redundant.
All in all, if you are in a position where you need to know about iSCSI and may have to be involved in working with it at a low level, this book is a good reference. I doubt that there is anything more comprehensive or better written at the present time.
University of Newcastle upon Tyne
University of Newcastle upon Tyne
Read Any Good Books Lately?
Then why not share your thoughts with the readers of IPJ? We accept reviews of new titles, as well as some of the "networking classics." In some cases we may be able to get a publisher to send you a book for review if you don't have access to it. Contact us at firstname.lastname@example.org for more information.