Programming Books


Books-Under-Review-->Games-->Board Games-->Abstract-->Battle Games-->Chess-->Software-->Programming-->39
Related Subjects:
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
Programming Books sorted by Average customer review: high to low .

Programming
The Image Processing Handbook
Published in Hardcover by CRC (2006-12-19)
Author: John C. Russ
List price: $159.95
New price: $123.00
Used price: $175.97

Average review score:

A seminal and essential addition
Helpful Votes: 0 out of 0 total.
Review Date: 2007-05-08
Image processing is used to improve the visual appearance and transmission of images to a the human eye. It also concerns the preparation of images with respect to measuring an image's features and structures. Now in a newly updated and significantly expanded fifth edition, "The Image Processing Handbook" by academician John C. Russ (Materials Science and Engineering Department, North Carolina State University, Raleigh, North Carolina) "The Image Processing Handbook" features an informative chapter explaining which visual cues elicit a response from the viewer; descriptions of the latest hardware and software for image acquisition and printing including digital cameras; multichannel images and an analysis of their principle components; the issues of deconvolution, extended dynamic range images, and image enlargement and interpolation, and so much more. Enhanced with more than 2000 illustrations, and with the availability of a companion CD-ROM, "The Image Processing Handbook" is a seminal and essential addition to professional and academic library Computer Science and Electrical Engineering reference collections.

Suitable as Text or Reference
Helpful Votes: 0 out of 0 total.
Review Date: 2007-03-08
This, the fifth edition of this industry standard reference book on image processing has been significantly expanded. There are some 600 new and revised images. A major feature of the new edition is to describe the new advances that have come about in hardware for image capture and printing. This includes both new versions of traditional equipment and new emerging technologies. The text has been expanded in areas like deconvolution, extended-dynamic-range images and multichannel imaging including principal-components analysis.

In general this book does not cover the background mathematics that enables image processing. Those are left to specialty books on the subject. Instead this book is intended to be used in conjunction with hands-on equipment where the reader is encouraged to experiment with different methods to determine what is needed for the particular job.

While suitable for use as a text, this book is really a handbook for technical users. The book is more oriented to what the various tools availavle to help actually do.

great book focusing on concepts rather than math
Helpful Votes: 1 out of 2 total.
Review Date: 2007-08-16
I am a biologist with a little background in math. Using this book and matlab I could quickly implement basic feature recognition tools to analyze microscope images. The book focuses on concepts and explains them in intuitive language rather than in mathematical terms. Overall, it worked perfectly for me, but could be over-simplying for people with technical background.

New 5th edition continues its tradition as a valuable tool
Helpful Votes: 2 out of 2 total.
Review Date: 2007-03-09
John Russ' book on image processing was never intended to be a textbook on how to understand and write your own image processing algorithms, as you might believe by looking through the table of contents. It does cover just about everything you would see in such a textbook, but from a user's standpoint of these operations, not as an author of image processing code who needs to understand the algorithms behind these operations. Instead, Russ explains all of the operations, their value in various applications, and provides many illustrations showing before and after pictures of what each operation does. There are no algorithms, pseudocode, or mathematics in this book.

The jewel in the crown of this book is the companion CD. It contains over 200 Photoshop plug-ins for performing the operations mentioned in this book. These plug-ins work on 8-bit grayscale and 24 bit RGB images and are divided into the categories of image adjustment, color manipulation, image math, boolean operations, Fourier processing, morphological operations, neighborhood processing, distance-map operations, thresholding, feature measurement, calibration, stereology, and surface rendering. The bad news is that you have to obtain the CD separately. If you need to understand the detailed mathematics behind such operations, you might consult Digital Image Processing by Gonzalez and Woods, and then come back to this book for the tools to accomplish the operations explained in that book. The updates to this fifth edition include an additional chapter on human vision and how it ties into image processing. Also, the author has updated his sections on image acquisition hardware and software to describe the latest tools available. Finally, the topic of tomographic imaging has been expanded and given its own chapter and the chapter on 3-D image acquisition has been deleted.

This is an excellent book on image processing from a systems engineering and user standpoint. You will be disappointed if you expect to learn the algorithms behind the techniques demonstrated in this book.

Nearly perfect
Helpful Votes: 5 out of 6 total.
Review Date: 2006-07-27
As others have stated, this book comes as close as you'll ever get to a single-source reference on image processing. But if I were ever going to shoot anything down in it, I'd say that a little more mathematical background on some topics (and maybe pseudocoded examples) would help. For example, in the satellite geometric correction section, only a very high level view is given yet this is a challenging topic that could use more depth. Geometric transformations in general could use more depth, e.g. camera calibrations or image warping/morphing/mapping to other projections for example. Another example would be the need for a little more depth on how to make slow algorithms fast ...like convolution multiplications for example. Sure, you could write out the multiplies and spot commonalities, then re-use results that appear in more than one subsequent equation and what not, but some exploration of matrix math and how to make it efficient would be nice. But again ...I'm picking at small things here, and if John's book covered everything that I'd like it to, then it would become 2 books, not one ...hey! Now THERE's an idea! A 2+ book set by John Russ that covers a broader range of topics and does so in greater depth! That's something that I'd pay for (and much better to read than Ballard & Brown)

Programming
Informix Handbook
Published in Hardcover by Prentice Hall PTR (2000-08-14)
Author: Ron Flannery
List price: $99.00
Used price: $289.81

Average review score:

The definitive text for Informix database administration
Helpful Votes: 0 out of 0 total.
Review Date: 2007-11-19
As a veteran Oracle DBA, I had some potential customers with both Informix and Oracle to support and since I had not used Informix in 5 years, I needed to brush up on my Informix skills. This book is unfortunately now out of print, but my copy from 5 years ago is still used on occasion. I agree with other poster that on a general DBA basis, it covers Informix quite well. I just wish that it had more coverage of high available clustering and replication topics as well as troubleshooting problems with Informix. Still good and only book that really covers Informix in detail.

A really good reference bookthis look is a really good one.
Helpful Votes: 0 out of 0 total.
Review Date: 2004-08-28
This is a really good look and is suitable for both the novice and expert. There should have been more coverage of topics on HA & Replication. Also it is sad that it does not cover the latest releases. As this is out of publication, I paid a bit more than original price for a used look, but it was worth its weight in gold. The reseller from Ohio promptly sent me the book and answered my calls. Book arrived in new and good Condition. The book's website has been neglected. It needs some attention. Visited the InformiX users group for info and latest trial software after talking to the author, when I found that the CD needed keys. In the end everything was available at www.iiug.org and I had a pleasant experience using the book.

All In All A Good Book.

The one reference you need for Informix
Helpful Votes: 1 out of 1 total.
Review Date: 2000-11-16
Of all the books I have read about Informix, Flannery's is the easiest to use. The topics are well organized and cross-referenced, which helps me find what I need quickly. In addition, the book has a web site which keeps it current. Also, the book's numerous examples make it easy for me to apply the knowledge it contains. I love the formatting and the way that I don't have to read hundreds of pages to find the answers. Well done!

A true handbook
Helpful Votes: 2 out of 2 total.
Review Date: 2001-07-02
This book is awesome, I just wish more topics including replication, more detailed troubleshooting techniques, and finally a good DBA practices/methods section. I now have two books, one for work and one for home. It is constantly open on my desk (both places). The sections on privileges and optimizing indexes have been my favorites due to the easy layout. Each section presented the infomation in clear and concise ways, allowing for quick implementation.

As a new DBA (1yr.), I can't thank Mr. Flannery enough. I only wish the rest of the Informix Press books would strive to meet or exceed this standard.

Great book for the novice or expert
Helpful Votes: 3 out of 3 total.
Review Date: 2000-11-22
Since I'm new to Informix, I was forever looking for a book that would help me get a better understanding on how to support Informix databases. The Informix user manuals were very unorganized make it very difficult to get the answers I needed. This book is well organized, making it easy to locate the needed information. There are plenty of useful examples that are easy to understand. This book has now become my main reference source. For the novice or expert, this book should should be in your reference library.

Programming
Introduction to Computer Theory
Published in Hardcover by Wiley (1996-10-25)
Author: Daniel I. A. Cohen
List price:
New price: $50.00
Used price: $42.00

Average review score:

The most readable book on computation theory ever written
Helpful Votes: 1 out of 1 total.
Review Date: 2008-08-23
I have taught a course in computation theory for computer science majors for almost two decades. Before the first time, I had never had any of the material in a course so I was required to learn the material on my own. This was the book that I used. For about a month, I set aside a block of time each day and went through the material section by section. When I had completed each section, I would work a few of the problems and would not move on until I understood what the answers should be.
The coverage is:

*) Deterministic and nondeterministic finite automata
*) Regular expressions
*) Context-free grammars and languages
*) Chomsky normal form
*) Pushdown automata
*) Turing machines
*) Post machines
*) The relationship between machines and computers

When it came time to teach the class for the first time, it all went very smoothly. This remains the most readable book for the self-study of computation theory that I have ever seen. Cohen has written a later, more concise edition and that is what I have been using as the text in my course.

Great introduction to theory of computing
Helpful Votes: 2 out of 2 total.
Review Date: 2007-05-22
I read it during my undergraduate, it was the course book for the thoery of automata course. More recently when I tried the popular "Introduction to Automata Theory, Languages, and Computation" by Hopcroft et al. for the purpose of revising the concepts, I realized how great this book is. It is definitely a better book than Hopcroft et al's, with in-depth explanations of all topics, lots of examples and exercises and in a writing style very friendly for the novice readers. Very good work!

Excellent
Helpful Votes: 2 out of 8 total.
Review Date: 2002-03-26
I must say this is one of the best books I have ever read. The auther is humorous and insightful. He manages to take very abstract concepts and explain them in clear concrete terms and metaphors.

Discursive presentation. Helpful for novices.
Helpful Votes: 8 out of 10 total.
Review Date: 2002-02-12
The book has one important attribute: it's clear, undoubtedly. Having a minimum of prerequisites, I think there's no way to not understand what Prof. Cohen says through its pages. It makes the job of learning this part of theory easier than any other text.
But ... but I can't totally agree with Cohen's crusade against formalism. I agree that the first target of a book should be to clearly transmit the intended knowledge, and Cohen perfectly succeeds in this. But formalism too has its importance, thereafter. A compact and clear formalism helps to communicate efficiently, and moreover unambiguously. Like in mathematics, the first, important thing is to understand. Yet, there's no way for you to efficiently work with math without using any kind of formalism, should it be more or less "standard".
That's it: a very powerful book for a "profound" understanding of the subject; a bit more of natural formalism would make it a "complete" understanding also, and the book a five stars one.

Excellent, Accessible Book
Helpful Votes: 9 out of 9 total.
Review Date: 2005-09-28
This an excellent book. Basically, the whole point of it is to mathematically define what a computer is and prove that it works. The author does this by defining and manipulating mathematical alphabets and languages without resorting to any kind of advanced math. Starting from nothing, the whole thing leads up to Turing Machines. More specifically, according to the Preface, the goals of the book are:

"(1) to introduce a student of Computer Science to the need for and the working of mathematical proof; (2) to develop facility with the concepts, notations, and techniques of the theories of Automata, Formal Languages, and Turing machines; and (3) to provide historical perspective on the creation of the computer with a profound understanding of some of its capabilities and limitations."

The author did a wonderful job of it. Plus, unlike almost all other computer/math books I've read, this book is almost enjoyable to read. Again, as stated in the Preface:

"This book is written for students with no presumed background of any kind. Every mathematical concept used is introduced from scratch. Extensive examples and illustrations spell out everything in detail to avoid any possibility of confusion."

Astonishingly, those are all true statements. At a guess, I'd say that almost anyone interested in computers could get through this book without undue stress. To make it more meaningful, I'd suggest (only suggest) prerequisites of having programmed a computer and knowing some discrete math. From that point of view, it's odd that as of last year, this book was used in Florida State University's (FSU's) COT 4420: "Theory of Computation" course, which, obviously, is a 4000 level course requiring various prerequisites that put it out of the reach of all but senior (or graduate) level students.

Now, with all that glowing out of the way, there are a couple of small problems with the book. The first is simply that the exercises don't have any solutions. For the self-studyer, that's a bad thing. In a school teaching environment, it's probably acceptable, though. The second problem is that after getting through the book, I simply have to ask: "So what? WHY should I learn this?" Again, in the Preface, the author states:

"Leaving aside the obvious worth of knowledge for its own sake, the terminology, notations, and techniques of Computer Theory are necessary in the teaching of courses on computer design, Artificial Intelligence, the analysis of algorithms, and so forth. Of all the programming skills undergraduate students learn, two of the most important are the abilities to recognize and manipulate context-free grammars and to understand the power of the recursive interaction of parts of a procedure. Very little can be accomplished if each advanced course has to begin at the level of defining rules of production and derivations."

But, in my experience, I have to say that except for one reference in one other book I've read, I've never seen any of this stuff used. Even more, I've never known anyone who even knew of anyone who used (or even knew of) any of it. EVERYTHING has been done at a much higher level of abstraction than alphabets, languages, and various levels of algorithms and machines up to Turing Machines. I'm not saying that the material in this book isn't used SOMEWHERE. But, I'd honestly have liked to have seen actual, specific, concrete cases: they'd be fascinating.

So, factoring those two nits in, I rate this book at 4 stars out of 5. If those two things don't bother you, then you could easily consider this a 5 star book.

Programming
IPv6 Core Protocols Implementation (The Morgan Kaufmann Series in Networking)
Published in Hardcover by Morgan Kaufmann (2006-10-26)
Authors: Qing Li, Tatuya Jinmei, and Keiichi Shima
List price: $81.95
New price: $61.56
Used price: $47.84

Average review score:

An essential for networking developers and architects
Helpful Votes: 11 out of 12 total.
Review Date: 2007-01-02
This book is an essential addition to your library if you want to understand IPv6 networking beyond just the surface. Initially the book will serve as a detailed introduction to IPv6, but the biggest value is later when it serves as a trusted reference book in your networking library. As the authors intended, it will serve as an implementation reference for IPv6 like how the Stevens' book on TCP/IP from the nineties served as the bible for TCP/IP (and IPv4) implementations. I still go back to that book when I want to understand some aspects of the BSD TCP/IP stack (which is the ancestor to many contemporary TCP/IP stacks.) I expect to use this book as a reference in the same way for many years as we start migrating to IPv6.

Who better to write an implementation-oriented book on IPv6 than the developers involved in the KAME project and the lead architect on the IPv6 stack of VxWorks? The KAME developers wrote their code in close sync with the evolution of IPv6 in the IETF and were privy to not just the authoring of IPv6 RFCs but the hundreds of invaluable side discussions that typically happen at the IETF conferences and mailing lists. When reading the book you can make this out easily from the interesting insights the authors provide on various aspects of the IPv6 protocols design as well as reasons for some implementation choices versus others. I also like the several places in the book where the IPv6 design is compared and contrasted with similar aspects of IPv4. This is very useful since most of us that buy this book have been working for a while with IPv4 and understand its design.

The book assumes that the reader is reasonably familiar with TCP/IP IPv4 and BSD Sockets programming. If you're already familiar with IPv6 then you can jump straight into almost any place in the book. If you are new to IPv6 and want to use this book initially as an introduction I suggest that you read the book in two passes. In the first pass you should read all the chapters, stopping in each chapter before the "Code Introduction" subsection. This first pass will give you an introduction to the IPv6 protocol, IPv6 addressing, ICMPv6, Neighbor Discovery (ND), Autoconfiguration and the Sockets API for IPv6 - these constitute the core of what you need to know about IPv6. You could stop with this pass and then use the rest of the book as a reference. Or you could keep going and do a second pass of all chapters and go through the code sections. This second pass will now be much easier since you now have a good overall grasp of IPv6.

When it comes to the code walk-throughs and explanation of data structures I found that the authors have done a very meticulous job. Every interesting line of code is explained in detail and as I mentioned before there are many useful insights into "why's of the code" rather than dry comments on what it does. The book also comes with 2 CDROMs which contain all the referenced KAME source code and the FreeBSD 4.8 release. However, if you're like me and want only the latest/greatest release, I suggest going to the latest release of your choice of a BSD-based OS and browsing those source files instead. As a Mac guy I went with the latest kernel sources for Mac OS X 10.4. The Mac OS X Darwin kernel (a.k.a. XNU, not to be confused with Xinu OS from Comers' TCP/IP books) is a derivative of BSD built on top of a MACH microkernel. The IPv6 stack in Darwin/XNU is a port from KAME. I found it relative easy to follow the code explanations in the book with the XNU version of the IPv6 code. As you would expect, the line numbers from the book don't match the XNU line numbers, but the filenames are identical and it is relatively easy to find the corresponding code snippets referenced in the book. There were definitely some differences between the two code trees, but I did not run into anything that was substantially different in the sections I read.

All in all this book is a great addition to my networking library and I am looking forward to the second book from the authors that plans to cover the ancillary protocols to IPv6 such as IPv6 routing, multicasting, DNS, etc.

Getting Intimate with IPv6
Helpful Votes: 2 out of 2 total.
Review Date: 2007-10-02
If you want to learn the basics of IPv6 and its peripheral routing and transition protocols, there are a number of good books on the market. But what if you're a software coder needing to work with IPv6, or want to understand its implementation in intimate detail?

For this, there is only one choice: The two-volume set by Qing Li, Tatuya Jinmei, and Keiichi Shima. These are the IPv6 equivalent of Steven's TCP/IP Illustrated and Comer's Internetworking with TCP/IP, books that should be on every networking professional's bookshelf. Like the multi-volume Stevens and Comer books, these books go deep into the functional structures of an IPv6 implementation--in this case the KAME implementation for BSD.

The first volume, IPv6 Core Protocols Implementation, starts off with an overview of the KAME IPv6 distribution for BSD and how to build a KAME-enabled kernel; in little more than a dozen pages the book takes you directly into the code structure. From there the remainder of the book leads you through the core protocols from basic address architecture to ICMPv6 and Neighbor Discovery Protocol to the intricacies of IPv6 at the transport layer and socket API extensions.

The second volume, IPv6 Advanced Protocols Implementation, covers IPv6 routing protocols (through route6d), IPv6 multicast, DNS, and DHCPv6. The last two chapters of the book delve into Mobile IPv6 and the basics of IPv6 security.

While these books are a deep-dive into the code, they don't assume you know IPv6; each chapter covers the basics of its topic before getting into the coding. So whether you are a coder needing to learn IPv6, a network architect wanting to know the IPv6 protocols more intimately, or just want a solid reference on your bookshelf for those times when the RFCs and general configuration guides just aren't enough to troubleshoot an IPv6 problem, I highly recommend these books. There are no others to compare.

Very useful reference for IPv6 and KAME implementation
Helpful Votes: 3 out of 3 total.
Review Date: 2007-01-29
This is a very well written book that covers all aspects of the IPv6 protocol and theory. Chapters, although long, are well structured and thorough, covering not only current operational theory, but also implementation issues that arise in deployments. Of particular use are the annotated listings - and in-depth data structure layouts - of the relevant sections of the IPv6 KAME implementation that also refer to material previously discussed. All code listings and annotations followed the model used to great effect within Richard Steven's TCP/IP books. Of particular interest when reading through the chapter material and annotated listings are references to deprecated RFCs and historical rationals that help provide additional context to some of the more baroque parts of the KAME code.
This book assumes a fairly thorough knowledge of TCP/IP networking protocols - it is not intended to be a primer on networking or IPv6. That said, this reference book is ideal for anyone with good networking knowledge that wishes to expand or understand elements of either IPv6 or the KAME implementation.

"TCP/IP illustrated volume 2" for IPv6!
Helpful Votes: 8 out of 8 total.
Review Date: 2007-05-09
This book is written in the same style as Stevens' TCP/IP Illustrated Volume
II and serves as The replacement of Stevens' books for IPv6. This book blends
in-depth discussion of the IPv6 protocols and standards with line-by-line
code annotation and design digest of the KAME implementation. As the WIDE
project board member and the original core KAME developer, I approve the
technical accuracy of this book and certify the content of this book
represents the KAME implementation well. I fully endorse this book and
personally recommend it to every programmer as the IPv6 network programming
book.

Excellent IPv6 Core Protocols Implementation Reference
Helpful Votes: 9 out of 9 total.
Review Date: 2007-07-21
IPv6 Core Protocols Implementation addresses with technical depth and clarity an IPv6 implementation on University California Berkeley Source Code Distribution (BSD), from the KAME project that was based in Japan, which is both a commercial and academic success in the world wide networking implementation market. The book begins with an overview of the KAME project and source code distribution, and then provides a concise, but thorough overview of the BSD network implementation. Then the book provides the architecture and an implementation code base component for IPv6 added to the current BSD TCP/IP Internet Protocol layer code base, the implications of the changes to the Transport Layer, and then provides a review of the BSD Socket Application Interface changes for IPv6. The authors did a very good job of representing the source code implementation and it was easy to read and comprehend, with discussion for each programmatic presentation of the code base functions and data structures. This book will be valuable to both networking architects and programmers that have to absorb and understand the implementation of IPv6 within the TCP/IP network implementation and reference model. The book was a pleasure to read and reminded me of the TCP/IP technical books by the late Dr. Richard Stevens, and afforded me the same technical depth. CTO IPv6 Forum www.ipv6forum.com Jim Bound.

Programming
JavaScript Demystified
Published in Paperback by McGraw-Hill Osborne Media (2005-05-26)
Author: James Keogh
List price: $19.95
New price: $11.19
Used price: $10.80

Average review score:

A great introduction for novices
Helpful Votes: 19 out of 19 total.
Review Date: 2005-10-29
This is a great book to start with for those who want to learn JavaScript. It has excellent discussion of the basics of the language with plenty of examples to follow along with. Most of the example scripts are small and basic in nature. But, they can still make useful additions to any website that might need image rollovers, cookies or pop-up windows. In the later chapters there are a few larger and slightly more complicated scripts like an image slide show. The book also has thorough coverage of basic programming concepts like variables, arrays, loops and such. Therefore, any prior programming or scripting knowledge is not an absolute requirement. All the code in this book worked smoothly with errors found only in the HTML code. The minor, and somewhat strange, errors in the HTML code really didn't create any problems. The multiple choice final exam did provide a descent review of the material at the end of the book. However, I would have preferred answers with a little explanation rather than just the correct letter.

The only issue I had with this book is the final chapters. I did expect a little more exposure to advanced scripts and concepts. There were only a few examples and most were scripts from dynamicdrive.com with little or no discussion of new concepts. Much of the final two chapters were just descriptions with URL's of sophisticated scripts that can be downloaded from Dynamic Drive. This was a bit disappointing since most designers/developers probably know how to find and install scripts from the many code libraries on the web.

Overall, JavaScript Demystified is a great book for a true beginner with no prior experience with scripting or programming. This is not the best book for those who just want to copy scripts or who are expecting advanced topics. This is a book for those who want to actually learn JavaScript. I definitely would look forward to a new book by the same author in the same format that covers advanced JavaScript.

Very Good Book
Helpful Votes: 5 out of 6 total.
Review Date: 2007-02-17
I felt that this book was very good for beginners as well as a good reference for those that have a strong background in html and JavaScript.

Very understandable
Helpful Votes: 6 out of 9 total.
Review Date: 2005-07-25
I recently attended a JavaScript course where the instruct have a difficult time explaining JavaScript in clear Englishing. I'm not a programmer, so I needed someone to explain this in simple English. This book make JavaScript clear enough so that I passed the course.

Very good introduction!
Helpful Votes: 7 out of 7 total.
Review Date: 2007-05-19
Clear and concise, done with not one wit of 'speaking down' to you, and the explanations are straightforward. The material is introduced a piece at a time, and with reasonable review questions that are surprisingly thorough.
I would suggest it to anyone who wants a good reference to JavaScript as well. Buy it you won't be disappointed.

I learned all the tricks I see on the web
Helpful Votes: 8 out of 10 total.
Review Date: 2005-07-26
I you ever wondered how the professional web page developers dress up their web pages, then take a look at this book. Every trick that I've seen on commercial web pages are revealed in this book. I easily copied code from the book into my web pages and made mine work like a pro web page. Good book.

Programming
Like Pop, Like Schling: A Life of Travel, Tragedy, and Triumph
Published in Paperback by iUniverse, Inc. (2007-12-21)
Author: René Paul de la Varre
List price: $17.95
New price: $8.78
Used price: $8.73

Average review score:

Rekindling fond Memories
Helpful Votes: 0 out of 0 total.
Review Date: 2008-11-18
Read this book in one evening. Could not put it down. It is that good!! While I am far from a literary critic, Rene' "nails" it with an easing flowing, well-written memoir. Much of his book brings back so many memories of my childhood. I too grew up in the great community of Croton-on-Hudson and knew a few of the people in Rene's "documentary".

Poignant and Honest memoir
Helpful Votes: 0 out of 0 total.
Review Date: 2008-04-03
I really enjoyed reading de le Varre's poignant memoir. He writes with a searing honesty about his challenges and triumphs. Rene is at his best when describing the family he obviously loves so much. Particularly in Andre, his father, the reader will discover an honest approach to a complicated relationship filled with anger and tenderness.

Reading de le Varre's book is one part history and one part travel adventure. His descriptions of both small town life and big time European travel and adventure fill the reader with thoughtful imagery.

I thoroughly enjoyed the trip.



WE ALL NEED A ROAD MAP
Helpful Votes: 0 out of 0 total.
Review Date: 2008-02-17
I really liked the book. I think it is a good read for 1) people who know Rene 2) those from or living in Croton 3) interested travel readers 4) and, of course, those who deal with alcohol issues in their lives.

The descriptions and recent history of Croton is awesome. I liked the family backgrounds and also the European perspective which was detailed - especially Vienna, Austria.

It is very sad how things unraveled for Rene's Pop. The career achievements in film by he and his dad are well documented and should be!

Growing up in Croton? This book captured it for me. From Little League to hitting the bottom line on HS football when Croton was the worst team in the County and people in town started to get an inferiority complex that kids in Croton just could not compete with those in other towns! They really believed this. How about running the Croton River rapids? Imagine jumping off Quaker Bridge and floating down the Croton to Fireman's Island! And, the description of HS baseball was very good with the love of being out there playing and learning how to win.

Where was that Carvel stand?

I loved this book!
Helpful Votes: 0 out of 0 total.
Review Date: 2008-02-10
I loved reading about Rene's family dynamics, travel excursions throughout his life and in the end learning that he figured out to change his life by choosing a healthy addiction rather than the standard choice of unhealthy addictions. Most of us don't attain this insight of ourselves...
I am sad the book is over... it was a fun travel adventure as well as, life through the eyes of a runner.
LOVED IT!

Diana Hersh

LIKE POP LIKE SCHLING
Helpful Votes: 0 out of 0 total.
Review Date: 2008-02-06
WHAT A MAGICAL LOOK INTO THE LIFE OF A YOUNG MAN WITH A FATHER WHOM HE ADORES AND YET HATES FOR WHAT HE IS DOING TO HIMSELF. THIS WELL WRITTEN STORY HAS FUNNY MOMENTS, AS WELL AS THOSE THAT TUG AT YOUR HEART. THE DESCIPTIONS THAT RENE PAUL HAS WOVEN INTO THE STORY OF HIS TRAVELS ALL OVER THE WORLD, MAKE YOU KNOW SO MUCH ABOUT THOSE COUNTRIES HE HAS VISITED. HE EVEN WEAVES HISTORY OF THOSE PLACES INTO THE STORY.THE AUTHOR HAS HAD AN EXCITING AND YET SLIGHTLY SAD LIFE. THIS IS A BOOK THAT IS HARD TO PUT DOWN WHEN YOU FIRST PICK IT UP TO READ. IT PULLS YOU INTO THE STORY. I LOVED IT AND RECOMMEND IT.

Programming
Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort
Published in Paperback by No Starch Press (2007-09-15)
Author: Michael Rash
List price: $49.95
New price: $30.95
Used price: $33.97

Average review score:

The result is a fine pick for any programmer's library.
Helpful Votes: 1 out of 1 total.
Review Date: 2008-01-06
Libraries catering to system administrators will find LINUX FIREWALLS an essential acquisition, discussing the technical aspects of the iptables firewall and Netfilter built into the Linux application. Examples of firewall log analysis, policies, network authorization processes and more compliment chapters that include Perl and C code pieces to help keep a network secure. The result is a fine pick for any programmer's library.

VERY VERY HIGHLY RECOMMENDED!!
Helpful Votes: 4 out of 5 total.
Review Date: 2007-11-20
Do you have any familiarity with TCP/IP networking concepts and Linux system administration? If you do, then this book is for you. Author Michael Rash, has done an outstanding job of writing a book that concentrates on network attacks--detecting them and responding to them.

Rash, begins with an introduction to packet filtering with iptables, including kernal build specifics and iptables administration. Then, the author shows the types of attacks that exist in the network layer and what you can do about them. Next, he illustrates classes of application layer attacks that iptables can be made to detect, and introduces you to the iptables string match extension. The author also discusses installation and configuration of psad, and shows you why it is important to listen to the stories that iptables logs have to tell. He continues by introducing you to advanced psad functionality, including integrated passive OS fingerprinting, Snort signature detection via packet headers, verbose status information, and Dshield reporting. Then, the author discusses the culmination of the attack detection and mitigation strategies that are possible with iptables. Next, he compares and contrasts two passive authorization mechanisms: port knocking and SPA. The author continues by showing you how to install and make use of fwknop together with iptables to maintain a default-drop stance against all unauthenicated and unauthorized attempts to connect to your SSH daemon. Finally, the author wraps up with some graphical representations of iptables log data.

This most excellent book takes on a highly applied approach. In other words, after reading this book, you will be armed with a strong working knowledge of how network attacks are detected and dealth with via iptables.

EXCELLENT on what it's on, but it may not be on what you think.
Helpful Votes: 6 out of 6 total.
Review Date: 2008-01-10
Make no mistake, this book is on what it says it's about "Attack Detection and Response with iptables, psad, and fwsnort" it contains very little information about setting up iptables to block unwanted external traffic.

HOWEVER setting up iptables (in the basic sense) doesn't require an entire book. Sure there are whole books on that topic but there is no need for a 300 page book on it, that just seems to be the size computer books have to be in order to get published. Which means other books on iptables are probably going to about 250 pages of fluff.

Incidentally this book actually only spends about the first 35 pages describing that, the remainder is fantastic, useful, well written information about doing the things that make iptables truly useful. "detection and response" ACTIVELY securing your system.

In addition to being comprehensive and useful this book happens to be well written, far better than most technical books.

If you're thinking about buying a book on Linux firewalls, make it this one, but if you're not already familiar with iptables expect to read the first 35 pages, then a couple online tutorials and then come back to this book.

Nice, accurate and interesting. Not like other books about firewalls.
Helpful Votes: 6 out of 6 total.
Review Date: 2007-12-05
When I bought "Linux Firewalls" I was expecting a good book because I already knew that the work of Michael Rash is excellent. However, I expected the traditional Iptables handbook that looks more like a "man page". Surprisingly I found that the book was much better than that. Instead of detailing every single feature of the Iptables infrastructure, Michael Rash explains how Iptables can be used as a powerful (and free) Intrusion Detection/Prevention System. To achieve that, Rash presents three open source tools developed by himself: psad, an iptables-based port scan detector, fwsnort, a tool that translates snort rules into iptables sentences, and fwknop, a Port Knocking and SPA authentication system.

The book is very practical. It's amazing how everything is presented so clearly and with such useful examples. The author first introduces the potential threats that are associated with the Network Layer, Transport Layer and Application Layer (I loved those chapters). Then he starts discussing the detection of malicious attackers that try to break into the system. Finally he presents active response mechanisms against attackers and ways to secure the whole system with additional layers of security.

The book is great if what you want is to secure your Linux system using IPtables and the open source tools developed by Rash. Rash is an expert on firewalls and intrusion detection systems. If you follow his suggestions you'll build a very secure system. Firewall enthusiasts and TCP/IP fans will also enjoy reading the book because its written by a geek and its written for geeks. However, if you are looking for an Iptables handbook, you are looking for a theoretical book about Firewalls or you want to use other tools than the ones presented in the book, then "Linux Firewalls" may not be the best option for you.

One of the best technical books published in 2007
Helpful Votes: 7 out of 7 total.
Review Date: 2007-12-20
Disclaimer: I wrote the foreword for this book, so obviously I am biased. However, I am not financially compensated for this book's success.

In the foreword I note that Linux Firewalls is a "great book." As a FreeBSD user, Linux Firewalls is good enough to make me consider using Linux in certain circumstances! Mike's book is exceptionally clear, organized, concise, and actionable. You should be able to read it and implement everything you find by following his examples. You will not only learn tools and techniques, but you will be able to appreciate Mike's keen defensive insights.

The majority of the world's digital security professionals focus on defense, because offense is left to the bad guys, police, and military. I welcome books like Linux Firewalls that bring real defensive tools and techniques to the masses in a form that can be digested and deployed for minimum cost and effort.

One of the main reasons Linux Firewalls is a great book is that Mike Rash is an excellent writer. I've read (or tried to read) plenty of books that seemed to offer helpful content, but the author had no clue how to deliver that content in a readable manner. Linux Firewalls makes learning network security an enjoyable experience. Mike is exceptionally detail-oriented (see the RST vs RST ACK issue on p 63 and elsewhere) and he often cites sources and additional references. Linux Firewalls very nicely integrates sample network traffic to make numerous points; Ch 11 has several great examples. The sections on Fwsnort even improved my understanding of Snort itself.

The bottom line is that if you are a user of non-Microsoft operating systems (Linux, BSD, etc.) and you want to know how Linux can help defend your network, you will enjoy reading Linux Firewalls.

Programming
Lions' Commentary on Unix
Published in Paperback by Peer-to-Peer Communications Inc. (1977-08-01)
Author: John Lions
List price: $39.95
New price: $32.95
Used price: $24.95

Average review score:

Amazing and insightful historical perspective
Helpful Votes: 0 out of 0 total.
Review Date: 2002-07-24
I learned about the existence of this manuscript 16 years ago, yet could never find a full version, until the book came. I have read most of it and it is beatiful. Many of the tradeoffs the early UNIX versions had are there. Context switching is done via coroutine jumps, the callout table is used only for the teletype, the very origins of the scheduler and swapper are neatly explained among many other things. PDP11 architecture is simple enough to make this book still a jewel for those interested in learning OS concepts and evolution and specifically UNIX.

Excellent book for Unix lover
Helpful Votes: 2 out of 2 total.
Review Date: 2006-11-23
I have been working with Unix for more than 5 years, and read more than 20 books about unix itself. But I never seend book like this much well explain about internal architecture. Unix 6 on PDP-11 is old, but main idea still remain all major distribution.

It great helpful for my understanding about Unix.

Complete, Yet Small Enough to Grasp
Helpful Votes: 2 out of 2 total.
Review Date: 2006-11-14
The world is full of books on operating systems: their theory, their internals, their applications, etc. The Lions book connects OS theory to practice better than anything I have ever seen. Reading it beforehand certainly made graduate-school Operating Systems a lot easier.

Beautiful
Helpful Votes: 3 out of 8 total.
Review Date: 2001-12-22
This is prably the best source/commentary book. Though some of the stuff is outdated, the core still is quite valid and gives useful insight into the implementation of the kernel.

I have gone through about 10-15% of the book, like filesystems and os initialization, and fouud it extremely helpful.

santy

The Way
Helpful Votes: 8 out of 8 total.
Review Date: 2003-06-02
Any comments made on a superlative commentary on superb code would be largely superfluous. This gem should be part of any Operating Systems course. The greatest of the pleasures offered by the book is the opportunity to read the source code, version 6 of the UNIX Operating System. It is a unique opportunity to see the real masters at work!

Highly recommended, with Maurice J Bach's "The Design of the Unix Operating System" as a supplement.

Programming
Losing Weight When Diets Fail: The Clinically Proven Power Programming Method for Amazingly Easy, Fail-Proof, Diet-Free Weight Loss
Published in Paperback by Harbor Press, Inc. (2007-05-25)
Author: Tom Kersting
List price: $16.95
New price: $10.24
Used price: $2.90

Average review score:

Love the concept, but one-size fits all doesn't always work
Helpful Votes: 0 out of 0 total.
Review Date: 2008-10-23
I really like the concept of power programming with pre-recorded messages as it has helped me greatly in other areas of my life.

Unfortunately with this set of messages I found three suggestions that conflicted with my own preferences, making the program a struggle for me. For example, one part of the pre-recorded program says you wake up ready to exercise. Well, no, not me. I like to exercise at night. Another example, this program suggests eating freely any food, but in healthy moderation. At one time in my life that would have been a great programming suggestion, but now it is not. I feel better when I'm completely off sugar and white flour.

So, while I fully support the idea of reprogramming one's mind with pre-recorded affirmations, in this case I felt I had no choice but to record my own affirmations on tape, which I could have done without buying this book. But perhaps that is only because I was already familiar with the concept of power programming.

One thing I will say is that if you are new to power programming, this book does a good job of explaining how and why it works.

a must-read for anyone who isn't yet perfect
Helpful Votes: 1 out of 1 total.
Review Date: 2008-04-26
i now believe i am capable of solving all my faults (some i'm not ready to give up). i want my skinny sister to read it because she smokes.

Brian D
Helpful Votes: 1 out of 1 total.
Review Date: 2008-01-27
Dr.Tom's book delivers what it says. I am no longer a slave to food.
No diet, just living. Thank you Dr. Tom

It worked for me
Helpful Votes: 2 out of 2 total.
Review Date: 2008-06-23
I lost 40 pounds by setting small goals and creating life style changes. I also used EFT tapping to get rid of the cravings. Then I hit a plateau for a while until I came across Dr Kersting's book. By reading the book and listening to the cd I was able to gain much better control over my eating habits than before. The cd also taught me how to relax more completely. The I lost another 10 pounds, started eating more healthy and my blood pressure went to normal.

Easy and Effective
Helpful Votes: 2 out of 2 total.
Review Date: 2008-02-12
I, like many others, have tried most diets out there with little success. I've been listening to Dr. Kersting's program for a week and a half now and have seen differences in my attitudes toward food. Where I used to struggle with portion control and knowing when to stop eating, I began to instinctively and easily stop once I was satisfied. After listening to the Week Two Program for three days, I woke up one morning and hopped on the stationary bike that had been collecting dust for the past year. There was no big concerted effort involved; I just did it. Dr. Kersting's reprogramming has made it easy to eat only when I'm hungry and help me get active. I'm looking forward to completing the whole program and to seeing its continued results.

Programming
Making the Software Business Case
Published in Kindle Edition by Addison Wesley Professional (2008-09-04)
Author: Donald J. Reifer
List price: $27.99
New price: $22.39

Average review score:

Will be a classic
Helpful Votes: 0 out of 0 total.
Review Date: 2001-10-30
This truly excellent book fills a large void in the software engineering and IT world - tying the business case to software. It is of paramount importance to demonstrate a quantitative, bottom-line impact when embarking on a software development or evolution project. Too few engineers and managers consider the full business context when making decisions. Many hard lessons in my 20 years of experience could have been avoided if I had the insights and techniques that this book provides.

I expect Mr. Reifer's book to be a classic in the field. It is chockfull of practical methods with worked-out examples of making the software business case. Not only is it rigorous in it's quantitative approach, but the author's broad and seasoned perspective helps practitioners steer through the minefield of people, politics and organizations. I seriously believe we would have more successful software projects if all technical people took on such a balanced view.

Practical Advice and Useful Examples!
Helpful Votes: 12 out of 12 total.
Review Date: 2001-11-13
Don Reifer's book provides information not found in existing books on software engineering, process improvement, and project management. His primary audience is technical people who must sell a project to business people. In particular, he provides concrete, practical advice for selling a process improvement program. For example, Chapter 4 stresses the importance of focusing on cost avoidance instead of cost reduction to justify improvements. In Chapter 7 he suggests briefing middle managers individually to obtain their support. Based on my experience, this is sound advice because middle managers are often the most difficult people to convince in an organization. Giving personal attention to each manager pays big dividends later. He also suggests taking advantage of state tax laws to partially offset the costs of training employees. This is a win-win strategy for both the firm and the state. Training gives employees new skills and improves retention. This, in turn, helps the firm obtain more business and so generate more income for the local economy and more tax revenues for the state. He explains the difference between project and capital funds, and how to exploit this difference to obtain the resources you need. The book has many useful checklists. For example, one identifies the types and sources of information needed to prepare a business case. Another identifies the critical items to check when deciding to acquire a business.

His book will also be of interest to marketing people who are preparing sales presentations for complicated technical products. For example, these individuals could prepare business cases to compare possible alternatives. Even experienced managers unfamiliar with software products and process improvement will find the case studies useful.

Don Reifer illustrates the concepts presented in Part 1 with actual case studies in Part 2. These are based on his 30+ years of experience in the software field. The case study in Chapter 7 begins with what amounts to an engineering view of the problem and then the author provides comments indicating how a manager would like to see the information presented. This case study really shows the contrast between the technical and management ways of thinking. The case study in Chapter 8 shows how to assess the value of a company whose primary assets are intellectual property and knowledge capital.

Overall, the book is concise and well written. I was able to quickly absorb the concepts and techniques without spending a lot of time. It is a valuable addition to my reference shelf.

Much-needed insights
Helpful Votes: 20 out of 20 total.
Review Date: 2002-04-13
Making the Software Business Case: Improvement by the Numbers covers an area too few software engineers have any exposure to: financial modeling and business analysis, as it relates to the IT domain. Reifer's concise (300 page) book provides a broad overview of how the IT area appears from the business side, including critical material on how to frame technical proposals in business terms.

Amongst the many nuggets to be found in this book are:

· useful tips on where money can be found
· good insights into the politics of proposals and budgeting
· getting middle management buy-in
· countering executive challenges
· successful management of cross-project initiative dynamics
· software capitalization/depreciation
· Discussion of reuse from a cost avoidance perspective.

This book is not only good in terms of its material, it is also an eminently readable book in terms of style. Reifer elaborates his argument through the clever use of case studies that provide human interest and momentum to otherwise dry material. These case studies include:

· A defense contracting firm implementing software process improvement
· A public utility replacing an outdated mainframe-based transactional system with modern client-server technology
· An industrial controls firm suffering from moribund products
· A firm seeking to Internet-enable its internal systems

Reifert places strong emphasis on "making your numbers believable." He argues that this believability must address these nontechnical considerations:
· Cash flow
· Cost basis
· Cost/benefit
· Estimate fidelity
· Present value
· Profit and loss
· Risks
· Source of funds
· Tax implications

He does an admirable job in placing these concepts in context, and providing a clear overview of each.
The utility case study demonstrates the importance of understanding the overall financial dynamics affecting one's enterprise. For example, the differences between capital and expense budgets can be key in determining whether to purchase or lease equipment. As Reifert elaborates in the utility scenario, "Because this has been a profitable year, an increase in expenses [i.e. leasing as opposed to purchase capital expenditures] could have a profound positive tax consequence." The book has many examples of this type of valuable, integrated business insight.

Reifer has much sound general IT management advice mixed in with his financial message. A recurring theme through many of the discussions is the need for an executive sponsor, to provide political cover and tactical advice in forwarding the business case.

He also urges the reader to frame benefits in terms of cost avoidance rather than cost reduction-promising cost reductions often lead to the question, "OK, then who are we going to let go?" Not a good way to win friends.

I found his observations on the subject of central process quality assurance groups interesting:

"Reinventing staff organizations such as process and quality assurance groups is a good idea. Engineers assigned to such staff groups get stale once they've put in more than three years of service. Being in an audit and support role, they forget how hard it is to develop and deliver quality products under extreme deadline pressures." (p 137). The book displays a continual awareness of the need to balance these contending issues of cost, schedule, and quality.

The case study based on the industrial controls firm has an explicit architectural theme. This is an especially compelling discussion; software engineers are well aware how critical architectural decisions are, and how often they are compromised in the rush to write code. The discussion demonstrates how to make the case for architecture and include it in an overall work breakdown structure. Reifert is exceptionally creative in his case study creation, taking the opportunity to demonstrate hidden agendas, the pitfalls of contractor estimates, and developing a good working relationship with high-level consultants.

The book provides a solid summary of software estimation. There are whole books written on this subject, so the chapter is necessarily at a high level (although it does dive into some detail on the COCOMO II model in particular). However, it provides a valuable discussion of aspects of high-level IT budgeting beyond tactical project estimation, presenting numerous examples of cost breakdowns covering all phases of the systems development lifecycle, from architecture to maintenance.

The final case study moves into even more adventurous ground, discussing a company seeking to Internet-enable its internal systems via takeover (hostile if necessary) of a specialist firm. The ensuing narrative outlines the due diligence such a move requires, and the various tactical and strategic issues it may raise. A brief discussion of international intercultural relationships is excellent.

The book has only one minor flaw: it was obviously written during the dot-com bubble. There are frequent references to industry dynamics such as a venture-funded firm's survival depending on extreme time-to-market pressures, and perhaps an overemphasis on faddish Web technology.

This book is easily on my Top 10 software engineering book list. It provides a lucid, crisp overview of business issues that are all too mysterious to the average software engineer. Given the potential that well-architected, business-responsive software has to increase productivity, this volume is a service to both the software engineers and the enterprises that employ them.

Excellent approach that will work
Helpful Votes: 3 out of 3 total.
Review Date: 2004-06-22
This book is the aggregation of Mr. Reifer's extensive experience in software management and economics of reuse. His earlier books, "Practical Software Reuse" (ISBN 0471578533), and "Software Management" (ISBN 0769511007) evidence his experience, and probably account for the realistic approach he takes in this book.

Despite his technical background he takes a business-focused approach early in this book by explaining the difference between business and technical cases. Too many technical managers confuse the two, and this plus the other material in Chapter 1 explaining the fundamentals of business cases will set you on the right course.

Chapter 2 is the essence of this book, with advice on relating goals to metrics (using the Goal/Question/Metric technique), and the development and alignment of business cases to development life cycles. This is followed by two excellent chapters covering principles, rules, and analysis tools, and strategies. Much of this material is standard fare, but Mr. Reifer's clear explanations are better than most books that cover this material.

The second part of the book employs case studies that lead you through the development of a business case using principles, concepts and techniques given in the first part of the book. These reinforce part one of the book, as well as provide clear examples of business cases that work, and the process with which to develop them - including challenges, how assumptions were derived, and other nuances of which you should be aware.

The final part of the book is a single chapter on overcoming major barriers, and the sage advice is well worth heeding.

Overall, this is one of the best books on business case development because it is business-oriented, has an approach that is financially and tactically sound, and is written for technical-oriented managers in their own language.

The bean-counter skills needed to get a project funded
Helpful Votes: 6 out of 7 total.
Review Date: 2002-12-29
This is not a book for software developers or managers who work in a small shop where there is focused development, little formal bureaucracy and a great deal of camaraderie. It is written for the person with responsibility in a large organization who has an idea for a major new project and needs to get it approved. Essentially, it tells you how to survive and thrive in a large organization that builds software.
The advice is fairly simple but quite accurate. Use numbers in your presentation that can be justified and are consistent with any previous numbers that relate to the project. Have solid data concerning the expected return-on-investment (ROI) from the project as well as any additional costs that may not be outwardly obvious. Quite accurately, the author is emphatic about the principles of present and future value. So much so that appendix B is just a set of basic compound interest tables. This is the most important advice that anyone in a large organization with a business case to plead can ever receive.
A lesser, but still critical point is that you must have a manager to champion your proposal through the managerial hierarchy. That champion must also know the expected ROI from the project very well, as upper echelons will consider a lack of knowledge on the part of the champion to reflect a lack of interest. Another point to reckon with is that if you receive the budgetary increase, it most likely means that someone else in your organization had theirs cut. Nasty, but also the way things are.
Finally, the author takes you through a case study as to when you should acquire a company rather than build a new internal division from scratch. His analysis of what to examine and consider significant is a solid strategy for determining which is the better option.
This is a book that really has two audiences, those who are lower level managers in large organizations with an idea for a new project and those who are starting a company and need to convince the people with the money to open their wallets. For them, it is priceless, but for all others it is difficult to see where they will find it of value.


Books-Under-Review-->Games-->Board Games-->Abstract-->Battle Games-->Chess-->Software-->Programming-->39
Related Subjects:
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224