Showing posts with label computer. Show all posts
Showing posts with label computer. Show all posts

Data Structures and Algorithms in C++ Review

Data Structures and Algorithms in C++
Average Reviews:

(More customer reviews)
This is one of the dozens of Data Structures and Algorithms books in the market and till now the worst I've ever seen. I have taken two DSA courses in my undergrad years, and now as a grad, I'm TAing that course.
The theoretical treatment of the book is superficial and too childish. Yet, there's too little practical value. They discuss the unnecessary linked list implementations of trees which is quite confusing for students. I am also amazed that they do not mention finding or removing an element in a BST. And, more importantly there's too little discussion of graphs.
I don't understand those professors trying to bog down students with useless details and complicated C++ codes. Rather, they should give the intuition and the theory behind the data structures and algorithms. Weiss' book is much better than this one. But, even that is obsessed with doing tricky things with C++.
Anyway, to sum up: This book is a garbage. Stay away unless it's required for the course you're taking in case you may need to do homeworks and such.

Click Here to see more reviews about: Data Structures and Algorithms in C++

* Provides a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation* Each data structure is presented using ADTs and their respective implementations* Helps provide an understanding of the wide spectrum of skills ranging from sound algorithm and data structure design to efficient implementation and coding of these designs in C++Wiley Higher Education

Buy Now

Click here for more information about Data Structures and Algorithms in C++

Read More...

C++ GUI Programming with Qt 4 Review

C++ GUI Programming with Qt 4
Average Reviews:

(More customer reviews)
This book is one of the best reference materials I have read. The author is clearly not regurgitating Trolltech's documentation but elegantly cranks out a series of real life applications.
I read this quite differently than other 'introductions to'. In fact, I initially ignored it. But when it came time to build my own code, I kept running into questions as to how a particular programming problem was approached 'the right way'. A reference manual only shows you what you can do and there is an abundance of literature out there which will show you all the minutiae of endless variations of function calls - theory.
This book showed me how to properly put together FTP sessions, build a graphical directory tree of my own and much else. I am less interested in 'what does the framework offer?' but 'how do I best accomplish this task?'. This only an author with real-world programming experience can answer. This book's teaching by example will get you started quicker in Qt than anything else I have seen.
The other book 'Introduction to design patterns in C++ with Qt4' is also recommended but fairly high-level. The two together make a great combination.

Click Here to see more reviews about: C++ GUI Programming with Qt 4

Qt 4 is radically different from earlier versions of Qt, with lots of new features and many small changes everywhere in the API. For customers porting applications from Qt 3 to Qt 4, this is bad news; but for us, this is good news, because it means that owners of the Qt 3 book will want to buy this one as well. Those who buy this book will: [1] Learn how to program Qt the right way, i.e. with the grain of the tool. [2] Learn standard patterns of Qt programming, from basic tasks like creating a file menu with a recently used files list to more complex tasks such as presenting data to the user through the user interface, and providing the user with the ability to interact with their data. [3] Learn how to extend Qt to meet their needs, for example, through subclassing and by composition. [4] Gain insight into programming in general and into graphical user interface programming in particular.

Buy Now

Click here for more information about C++ GUI Programming with Qt 4

Read More...

Cybertext: Perspectives on Ergodic Literature Review

Cybertext: Perspectives on Ergodic Literature
Average Reviews:

(More customer reviews)
The word `ergodic' is very familiar in mathematics and physics, where in the former it designates measure-preserving transformations and in the latter an equivalence between time and space averages. To see the term appear in literary analysis is therefore interesting, and instigates curiosity as to its role there. The author of this book is the first one to refer to `ergodic literature' and he therefore gives the reader insight into the subject that perhaps cannot be obtained anywhere else. As a whole the book is very interesting, even though at times it might appear that the author is skating to close to the `deconstructive' school of literary criticism.
When one reads a book in the "normal" way one stares at the cover, reads the title, opens the book, and then begins reading at the first page and continues reading until the book is finished. The content of the book usually does not require the reader to perform any particular actions other the mere act of turning the pages and reading. But in the Internet age it is clear that texts or books (i.e. "hypertext") can require that the reader become more "active". For example, the reader may have to click on hyperlinks, input words or information to the story or text, or even interact with story by using user interfaces so that the story can take on a different path or even have a different ending.
To require the `reader' to become actively involved is the key strategy of ergodic literature. As the author states, a `nontrivial' effort is required by the reader to get through an ergodic text. This is to be contrasted with a nonergodic literature where no such effort is needed. In ergodic literature, something else must be occurring outside the confines of the thought processes of the reader. This is what the author refers to as the `extranoematic' responsibilities on the part of readers when they `interact' with ergodic literature.
So other than `hypertext', are there any other examples of ergodic literature in history? Interestingly, the author points to the ancient Chinese text I Ching, The Book of Changes, as an example, due to the use of randomization to combine the texts of the `hexagrams.' The author gives a few other examples, all of them of which should be familiar to the experienced reader. All of these examples require that the `reader' participate in some way with the text or the play. For one example, the result of court trial is dependent on the `vote' of the reader.
Of course, this book itself is not an example of ergodic literature since it presents a case for it in an organized `linear' fashion, and readers must respect this linear order if they are to fathom the arguments of words of the author. However when reading the book one can see the value and challenge of ergodic literature. A computer game for example, could be viewed as a full-fledged novel. Literary purists may be cringe at this prospect, but to this reviewer it signifies a fascinating development, and one that could evolve into a genre that depends on advanced technology. And along these same lines, the ability of the `reader' to change the "flow" of the text has interesting ramifications for the field of artificial intelligence. A story that can adapt to the input of the reader, or even perhaps to learn from it and then rewrite it if necessary is an exciting prospect. Ergodic literature will no doubt expand in its ramifications and complexity in the twenty-first century, due mostly to the more exotic technologies that will be developed alongside of it.

Click Here to see more reviews about: Cybertext: Perspectives on Ergodic Literature



Buy Now

Click here for more information about Cybertext: Perspectives on Ergodic Literature

Read More...

ASP.NET Unleashed (2nd Edition) Review

ASP.NET Unleashed (2nd Edition)
Average Reviews:

(More customer reviews)
To begin with, this book isn't clear about what language is covered throughout the book. It seems it's trying to hide that it covers only Visual Basic. If you're into C#, you have to translate the examples yourself although these translations are ridiculously simple about 29 times out of 30. That 30th time, a certain amount of C# experience or extensive newsgroup searches will be needed.
If you want a decent VB reference you can go for this book or simply use the free .NET Framework SDK Documentation. The advantage of having this book at hand is that it sheds some light on the topics with its own examples.
As a tutorial to read from cover to cover, I think the author could have done a better job. If you read e.g. pages 84-131, you will read about the same text repeated four times with the exceptions being the search-and-replace that seems to have been performed on some words. I'm exaggerating a bit here, but not that much. I guess that's the price of having one author managing to write a 1400 pages book on a new technology all by himself, pressured by time. This isn't to be seen as critics against Walther though, he seems to be very knowledgeable on the subject.
I could recommend this book to VB programmers wanting something more than the free Microsoft documentation for ASP.NET. This is not a strong recommendation though. Have a look at the alternatives as well.

Click Here to see more reviews about: ASP.NET Unleashed (2nd Edition)

A well-known expert in the ASP development community, best-selling author Stephen Walther brings his experience as an ASP.NET trainer to the new edition of ASP.NET Unleashed. With this update to the highly regarded ASP.NET book, readers learn the advanced features of ASP.NET 1.1, and how to apply them in their own Internet applications. This in-depth, code-intensive title covers a broad range of advanced ASP.NET topics with samples now available in both VB.NET and C#.Throughout the more than 1,400 pages readers are shown how to develop state-of-the-art Web applications using Microsoft's powerful ASP.NET. It progresses through Web Forms basics, advanced page development, ADO.NET and XML, securing Web applications, XML Web Services, leveraging the .NET Framework, building custom controls and powerful sample applications. This is a resource that will be referenced over and over.

Buy Now

Click here for more information about ASP.NET Unleashed (2nd Edition)

Read More...

Compilers: Principles, Techniques, and Tools Review

Compilers: Principles, Techniques, and Tools
Average Reviews:

(More customer reviews)
During each compiler stage (lexical analysis, syntax analysis, translation, type checking, translation, code generation, and code optimization) multiple methods, strategies, and algorithms are presented. This comprehensive book examines items that are unique to the various languages presented (Fortran, C, and Pascal); there are even sections on dealing with estimation of types (10.12) and symbolic debugging of optimized code (10.13). Wow! The exercises are thorough, challenging, and thought provoking. Examples are interleaved with the discussion and algorithms. There is an excellent set of historical and bibliographic information at the end of each chapter. The use of automated tools such as lex, yacc, and compiler-generators is discussed throughout the text. This is an advanced book, however a good understanding of compilers can be obtained without understanding the details of every algorithm.

Click Here to see more reviews about: Compilers: Principles, Techniques, and Tools

This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation. 0201100886B04062001

Buy Now

Click here for more information about Compilers: Principles, Techniques, and Tools

Read More...

Object-Oriented Software Engineering: Practical Software Development using UML and Java Review

Object-Oriented Software Engineering: Practical Software Development using UML and Java
Average Reviews:

(More customer reviews)
This is an excellent introductory textbook for CS courses on software engineering. It features OO, UML, iterative processes, a good treatment of software frameworks and design patterns, constructive sample projects, and complete set of slides and full-length lecture RealOne video for free downloading. It is a thin book, but it contains more updated information than many classical ones. Most importantly, the authors have the confidence to air their opinions with justification, instead of compiling and citing a lot of inconsistent historical definitions or events.

Click Here to see more reviews about: Object-Oriented Software Engineering: Practical Software Development using UML and Java

This book covers the essential knowledge and skills needed by a student who is specializing in software engineering. Readers will learn principles of object orientation, software development, software modeling, software design, requirements analysis, and testing. The use of the Unified Modelling Language to develop software is taught in depth. Many concepts are illustrated using complete examples, with code written in Java.

Buy Now

Click here for more information about Object-Oriented Software Engineering: Practical Software Development using UML and Java

Read More...

Fundamentals of Speech Recognition Review

Fundamentals of Speech Recognition
Average Reviews:

(More customer reviews)
This book is a comprehensive and excellent introduction to the ever-expanding
field of Automatic Speech Recognition. Starting with models of speech
production, speech characterization, methods of analysis (transforms etc),
the authors go onto discuss pattern comparison, hidden Markov models (HMMs),
and design and implementation of speech recognition systems, right from
isolated word recognition to large vocabulary continuous speech recognition
systems. Neural networks and their use in speech recognition is also presented,
though somewhat briefly.
Rabiner was the author of the first widely-read tutorial on HMMs, so
naturally the presentation of HMMs is one of the strong points of this
textbook. The theory is developed in detail, but in an easy to follow
fashion, starting with the very basics and with plenty of helpful examples.
The implementation is discussed at great length as well, starting with
the simplest of tasks and progressing to the state-of-the-art (circa 1993).
That isn't to say that HMMs are the only good part of this book - indeed,
practically every topic, whether it be perception, transforms, vector quantization
or dynamic programming, is presented with great clarity. This book really is easy to
learn from, with numerous examples and illustrations.
The field of speech recognition is inherently multi-disciplinary in nature,
drawing upon various areas of study, including Physics, Physiology, Acoustics,
Signal Processing and Computer Science, to name but a few. The authors do a
great job of explaining all these facets, as well as the mathematics that
is an essential tool.

The only caveat is that it's now a little old (published 1993), since the
field has been growing by leaps and bounds - so while the basics remain
the same, things have changed and hence what's said here should not be
taken as the last word on the subject.
Perhaps a new edition is due, and would certainly be most welcome.
However, for an excellent, accessible introduction to this exciting field,
this is still a great choice.

Click Here to see more reviews about: Fundamentals of Speech Recognition

Provides a theoretically sound,technically accurate, and complete description of the basicknowledge and ideas that constitute a modern system forspeech recognition by machine. Coversproduction, perception, and acoustic-phoneticcharacterization of the speech signal; signal processing andanalysis methods for speech recognition; pattern comparisontechniques; speech recognition system design andimplementation; theory and implementation of hidden Markovmodels; speech recognition based on connected word models;large vocabulary continuous speech recognition; and task-oriented application of automatic speech recognition. For practicing engineers, scientists,linguists, and programmers interested in speech recognition.

Buy Now

Click here for more information about Fundamentals of Speech Recognition

Read More...

Object-Oriented Programming Review

Object-Oriented Programming
Average Reviews:

(More customer reviews)
This book was my second OO book. I came from C, now, six years after, working all six with c++ ( object oriented mode, of course ) I remember it as the book from I really understand what an object is, what is object orientation, not only a new ADT flavour. After working with this book I started to thinking in objects, not functions.
It was my jump from structural programming to object oriented programming. Perhaps this is one of the best educational books I have ( and I have a lot of OO books )
First time I browsed it I discarded because I only want C++, I didn't want this "strange language" (Smalltalk) wasting book's space. But it force me to "object thinking" more than I suspected.
My next book was Grady Booch's OOAD, my two first foundation books about OO.

Click Here to see more reviews about: Object-Oriented Programming

The third book in the Coad/Yourdon series on object-oriented programming, thisvolume uses a series of four comprehensive examplesto help readers gradually and gently flip their system-building mind-setinto an object-oriented perspective — how to "object think" and program with the two leading object-oriented programing languages— Smalltalk and C++. Contains an OOPL primer,major examples, language summaries, OO patterns, and extensive sourcecode for the major examples. For programmers.

Buy Now

Click here for more information about Object-Oriented Programming

Read More...

Microsoft Manual of Style for Technical Publications Review

Microsoft Manual of Style for Technical Publications
Average Reviews:

(More customer reviews)
I frequently document software that uses Windows GUI elements. So I've been using the WinHELP and HTMLHelp versions of the MS MOS for several years: Those earlier online versions of Microsoft's Style Guide made it easier and faster to take a quick look at a GUI naming or usage convention.
Lamentably the CD-ROM that accompanies the new version 3 of the MS MOS is a giant step backwards in usability. That's because the two PDF "e-books" (MOS and Networking Encyclopedia) on the CD-ROM are entirely static -- they contain NO clickable links WHATSOEVER.
What this means is that if you locate an entry in the on-line version's TOC or Index, you must use the "go to page" tool in Adobe Acrobat Reader to go to the page.This is an especially silly situation given that the PDFs meta-properties indicate that Microsoft used Adobe FrameMaker 7.0 (not Word) to produce the Style Guide: FrameMaker creates clickable cross-references by default, meaning that Microsoft manually disabled them as part of producing the Style Guide's PDF! (The third item on the CD-ROM, the Computer Dictionary comes as an HTMLHelp .chm file, so there are no problems with navigation there...)
If you intend to buy the print version of the MS MOS you'll be satisfied. If you intend to buy this book because you want the latest, greatest *on-line* version of the Style Guide, FORGET IT.
------
08 July, 2008 UPDATE. After using the PDF for about three years, I'm even more frustrated by Microsoft's incomptence. In the name of "intellectual property" (one of Microsoft's favorite words), the company has created a nearly-useless PDF while failing to truly achieve its misguided security aims.
As I said in my original review, the lack of clickable cross-references means you must instead manually go to a page listed in the TOC or Index. But wait -- the geniuses at Microsoft didn't bother to correlate the PDFs logical and physical page numbers. Yes, if we have full-featured Acrobat we can manually number the pages so that when we tell Acrobat or Reader to go page "x" it actually displays the desired page and not page "x-4" or thereabouts. But why should we have to do that?
But wait, it gets worse. We can't use full-featured Adobe Acrobat (as opposed to reader) to extract pages from the PDF and save them as a separate PDF. BUT we can -- and here's the absurdity -- delete all pages we don't want to extract and save the result of that as a PDF. So we can extract pages, but not directly...
We also can't print *any part* of the PDF. So if we want to print, say, four pages about heading usages we can't do that. The style guidelines are in some way "proprietary" I guess, and so simply must be protected against unauthorized sharing...
Then, too, while looking for a way to print a few pages, I discovered that I couldn't export the PDF as a Postscript or encapsulated Postscript, but I could export it as a Word or Word RTF file. So we can save the contents in some unlocked formats but not others. Brilliant...
In the end, Microsoft's preoccupation with "locking up" the online version of its Style Guide has only succeeded in wrecking the Guide's usability while only partially achieving the desired level of security. How like Microsoft to get it wrong that way...

Click Here to see more reviews about: Microsoft Manual of Style for Technical Publications


Developed by Microsoft's senior editors and content managers, this manual of style captures the up-to-date standards and best practices for delivering clear and consistent technical communications. Now in its third edition, this popular reference has been fully revised, expanded, and optimized for ease of use. You'll find new coverage on meeting the needs of a global audience, accessibility concerns, and the latest technical terms and acronyms-along with expertly organized sections on usage, grammar, punctuation, tone, formatting, and common style problems. Whether you're creating print documentation, online help, Web content, or other communications, you'll get the information and examples you need to maximize the impact and precision of your message.

Get clear, concise guidance to help you:

Use technical terms correctly and consistently-including do's, don'ts, and alternatives for usage.
Employ the appropriate tone and voice for your audience.
Produce written and visual content suitable for a worldwide audience.
Apply best practices for writing and tagging Web content.
Write better documentation-from dialog boxes and error messages to Web pages and software code.
Know the standards for creating accessible communications.
Optimize your indexes, cross-references, and keyword lists.
Get fast answers on spelling, grammar, and punctuation.

CD includes:

Complete eBook inside

A Note Regarding the CD or DVD

The print version of this book ships with a CD or DVD. For those customers purchasing one of the digital formats in which this book is available, we are pleased to offer the CD/DVD content as a free download via O'Reilly Media's Digital Distribution services. To download this content, please visit O'Reilly's web site, search for the title of this book to find its catalog page, and click on the link below the cover image (Examples, Companion Content, or Practice Files). Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to booktech@oreilly.com.


Buy Now

Click here for more information about Microsoft Manual of Style for Technical Publications

Read More...

Embedded C Review

Embedded C
Average Reviews:

(More customer reviews)
I believe the real title of this book is more like "Introduction to embedded systems programming and software design with 8051 using C". Most of the C and C++ programmers will not find anything more about the C language they do not already know. The author claims that the target audience is desktop developers with C++ and Java programming. Probably this involves a portion of this programming crowd, who have not done any low level programming and are relying on existing libraries or have very little experience. One obvious advantage of the book is its clear style. The touch of many important topics and well selected examples from very small to a decent size projects is another plus. Selecting a well known microcontroller flavor (Intel 8051) is a plus, for the specific points that could be illustrated when one has to use such a cheap and not very powerful device for a project. The choice to demonstrate the examples with the Keil development environment makes it very convenient for the reader to follow the text. For the experienced embedded programmer most topics are pretty well known and they may find the style very easy and not so rich in new information. For example interrupts are not discussed until chapter 7 and the book has 4 more chapters. The users of bigger microcontrollers ,16 and 32 bit, may find that the code does not cover some of the more complex issues they have to face in their software designs. I am mostly refering to the developers creating code for Motorola 32 bit and the ARM family. Looking forward for the forthcoming book "Embedded Operating Systems" from the same author due for publication Jan, 2004.

Click Here to see more reviews about: Embedded C

For people who are about to write their first embedded program - or have been struggling to learn about this important area - this book will save weeks of effort.

Buy Now

Click here for more information about Embedded C

Read More...

A Book on C: Programming in C (4th Edition) Review

A Book on C: Programming in C (4th Edition)
Average Reviews:

(More customer reviews)
This is the best book I have ever read on C, one of the best textbooks I have ever read, and one of the best books (no exceptions) I have ever read.
I learned C from this book (second edition) in the author's (AK's) computational math class at UC Santa Cruz. I have since looked at many other C books (including K&R, "C By Example", "C for Programmers", and others) and this is hands-down the best. It provides a thorough, accessible and ANSI-compliant introduction to the language, uses many useful (nontrivial) examples from general computer science and computational math (sorting algorithms, matrix math), and I found it fun to read! In particular, I think it provides the most intuitive and useful introduction to pointers and pointer arithmatic anywere. The examples are well integrated into the flow of presentation, and it is well indexed (it is an excellent reference book). One of the reasons I like it so much as an example of good writing is that it serves double duty as a teaching tool and a reference work, and does both successfully.
This is the one!

Click Here to see more reviews about: A Book on C: Programming in C (4th Edition)

Written by best-selling authors Al Kelley and Ira Pohl, A Book on C, Fourth Edition is a comprehensive tutorial and reference to C based on the ANSI C standard. The C language is demonstrated with numerous examples and extensive exercises that guide readers through each concept. Step-by-step "dissections" of program code reveal the underlying logic of the programs and include in-depth implementation details. New features in this edition include: a chapter on moving from C to Java; more programming examples; new and improved dissections; more thorough coverage of multifile programming, pointers, and recursion; and new and updated exercises; and an expanded appendix of standard library functions. In addition, there is more emphasis on Abstract Data Types, which provides the reader with a foundation for working with objects and facilitates programming in the problem domain.

Buy Now

Click here for more information about A Book on C: Programming in C (4th Edition)

Read More...

Reversing: Secrets of Reverse Engineering Review

Reversing: Secrets of Reverse Engineering
Average Reviews:

(More customer reviews)
This book is a very good introduction and instructional manual on a subject that is both relevant and shadowy. Uttering the
phrase, "reverse engineering", these days conjures up visions of crackers and other criminals breaking into websites and stealing private information. But for anyone serious about improving their programming skills, "Reversing - Secrets of Reverse Engineering" is a must read. For example, debugging and reversing activities are very close kin; you will improve your skill in tracking down and understanding bugs in your code by learning some of the techniques presented in this book.
The highlight of the book (for me) was Chapter 11 where the author presents step-by-step sessions in reversing progressively more difficult protection schemes. If you feel uncomfortable with this activity, rest assured that the author has neatly sidestepped some murky legal issues by using Internet examples created for this purpose and his own program, designed to illustrate some of the protection techniques presented in other chapters of his book. Another chapter, "Deciphering File Formats", uses this same trick by reversing an encryption program Mr. Eilam wrote for this purpose. The appendices are another valuable contribution where the discussion turns to common code patterns produced by most compilers and how to interpret and extract the last bit of information from them.
Minor nits - I wish the assembly listings were broken up to better highlight points made by the author in his discussions. It became very tedious to match addresses mentioned in his discourse with those in the listings and reduced the overall effectiveness of the material. Also, I was not able to find in the book what seemed to be bibliographical references to other works that were cited in discussions on decompilation and other
topics. But putting these small criticisms aside I highly recommend this book and wish something as comprehensive as this had been available years ago.

Click Here to see more reviews about: Reversing: Secrets of Reverse Engineering

Beginning with a basic primer on reverse engineering-including computer internals, operating systems, and assembly language-and then discussing the variousapplications of reverse engineering, this book provides readers with practical, in-depth techniques for software reverse engineering. The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product.* The first popular book to show how software reverse engineering can help defend against security threats, speed up development, and unlock the secrets of competitive products* Helps developers plug security holes by demonstrating how hackers exploit reverse engineering techniques to crack copy-protection schemes and identify software targets for viruses and other malware* Offers a primer on advanced reverse-engineering, delving into "disassembly"-code-level reverse engineering-and explaining how to decipher assembly language

Buy Now

Click here for more information about Reversing: Secrets of Reverse Engineering

Read More...

Programming Perl (3rd Edition) Review

Programming Perl (3rd Edition)
Average Reviews:

(More customer reviews)
If you're like me, and you're shopping for a book, you immediately start reading the negative reviews and work upwards. So I started reading the reviews and read through them all, bought the book despite the many negative, and frankly, snippish comments made by many reviewers and decided that I need to respond.
Many say that the examples are convoluted, or that he focuses on obscure language references. One says the book starts quickly with a discussion of the splice function. The first mention of splice is on page 355, which I certainly don't define as 'quickly'....
Others say that there are no examples, or they are not explained clearly, but there's a short sample program right on page 18, and then 4 pages are devoted to analyzing the program and how it works. Further review through the book shows many small examples, especially in the sections that outline the core functions of Perl, and the core modules of Perl.
Others come here and criticize Perl the language, and use this as a platform for their own advocacy of other languages. This is just silly. If you're interested in Perl, or you've been using Perl and you want to know more, buy this book. In the universe of computer programming, every language choice you make is controversial, and subject to debate, and just because some reviewers do not like Perl the language, it does not mitigate the quality of this book.
That all being said, and debunking the frankly lousy reviews, I'll caution that this is NOT for beginning programmers, or people with limited technical knowledge. O'Reilly knows this, and anyone who has read this book should know this too. There is a book called 'Beginning Perl', also from O'Reilly, and written by one of the other top minds in Perl. It is easy to follow, provides many concrete examples and is where a beginning programer should begin. If you have a technical background, you will probably be able to start with this book, though Learning Perl is still worth reading.
What this book provides is not only an exhaustive guide to the language of Perl, and it's abilities, but also insight into it's design, the decisions of the creator of the language (Larry Wall, the main author of the book created Perl), and the major philosophy behind Perl.
This is a valuable reference and worth having.
This is the book that I turn to when I have Perl questions.
And this book is worth every penny I spent to get it.

Click Here to see more reviews about: Programming Perl (3rd Edition)


Perl is a powerful programming language thathas grown in popularity since it first appeared in 1988. The first edition of this book, Programming Perl, hit the shelves in 1990, and was quickly adopted as theundisputed bible of the language. Since then, Perlhas grown with the times, and so has this book.

Programming Perl is not just a book about Perl. It isalso a unique introduction to the language and its culture,as one might expect only from its authors. Larry Wall is the inventor of Perl, and provides a unique perspective onthe evolution of Perl and its future direction. Tom Christiansen was one of the first champions of the language,and lives and breathes the complexities of Perl internalsas few other mortals do. Jon Orwant is the editor of The Perl Journal, which has brought together the Perlcommunity as a common forum for new developments in Perl.

Any Perl book can show the syntax of Perl's functions, but only this one is a comprehensive guide to all the nooks and crannies of the language. Any Perl book can explain typeglobs, pseudohashes, and closures, but only this one showshow they really work. Any Perl book can say that my is faster than local, but only this one explains why. Any Perl bookcan have a title, but only this book is affectionately known by all Perl programmers as "The Camel."

This third edition of Programming Perl has been expanded to cover version 5.6 of this maturing language. New topics include threading, the compiler, Unicode, and othernew features that have been added since the previous edition.


Buy Now

Click here for more information about Programming Perl (3rd Edition)

Read More...

C Programming Language (2nd Edition) Review

C Programming Language (2nd Edition)
Average Reviews:

(More customer reviews)
This book (widely known as K&R, after the authors' initials) has for over twenty years been the best way to learn C. When I got this book in 1980, I had access to a Unix system and worked through much of the tutorial material in it. On the way I learnt a great deal, not just about C, but about good programming style, code reuse, the value of clear comments--in short, I was introduced to the skill set of an experienced computer professional.
The book was a trendsetter in several ways. For example, the very first exercise given is to print "hello, world"; this is now seen as the first exercise in innumerable other, more recent books, many of which may not realize that they are borrowing from K&R. The rest of chapter 1 (there's a chapter 0, an introduction; another geek-cool change which has been widely copied) is a tutorial that takes you through assignment statements, data types, if/else, for, while, printf, function definitions, arrays, and variable scoping, in less than 30 pages. If you work your way through the embedded exercises you'll have written utilities to strip tabs, reverse input by lines, strip trailing whitespace from input, and several others. This is much more challenging than most tutorials, but the effect on the student is that you feel you are being treated as an equal. The book doesn't talk down to you; it gives you accurate and concise answers. It's written for programmers, in other words.
The next few chapters go back over the elements of C in more detail, and should also be treated as a tutorial. Going through this material religiously will be far more valuable than any college class could possibly be.
There is a reference section at the back, which is good to have. But the real value of this book is in the tutorial approach: it is a rare pleasure in the computing field to find a book that is simultaneously clear, stimulating and informative.

Click Here to see more reviews about: C Programming Language (2nd Edition)

The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have let K&R guide them to building well-structured and efficient programs. Now this same help is available to those working with ANSI compilers. Includes detailed coverage of the C language plus the official C language reference manual for at-a-glance help with syntax notation, declarations, ANSI changes, scope rules, and the list goes on and on.

Buy Now

Click here for more information about C Programming Language (2nd Edition)

Read More...

Spoken Language Processing: A Guide to Theory, Algorithm and System Development Review

Spoken Language Processing: A Guide to Theory, Algorithm and System Development
Average Reviews:

(More customer reviews)
This book is a comprehensive overview of most of the major topics associated with speech processing. Divided into five main sections, the book is well structured with a clear division of concerns. The title, "Spoken Language Processing", may be misleading to some as language processing topics only accounts for one section of the book.
The first two sections cover the fundamental theories that should be understood before embarking in-depth into a study of speech processing. This may seem an obvious approach but many texts do not follow this pattern making their use as reference tomes limited. Separating background theory from its use is also useful in that it allows a rigorous approach to its description. Too often texts give a hurried imprecise overview of theories used before launching into a long and complex use of the theory; losing the reader instantly in a quagmire of formulae.
The first two sections of the book deals with background material, material that the reader should at least understand the key concepts of. The first section concentrates on speech in general (including production and perception), probability and statistics, and pattern classification. These last two topics mentioned are both important parts of the book and are dealt with in their own chapters. Both are well written with the right amount of explanation and background. Much of the remainder of the book expects at least some familiarity with the material presented here. These chapters, like all chapters in the book finish with a section entitled, "Historical Perspective and Further Reading". The inclusion of recommended further reading, in addition to the vast number of references appearing in each chapter, make the book as a whole a very good starting point for any work in speech processing.
The second section concerns itself with the DSP topics which relate to speech processing. In this section the reader will find everything from FFTs to multi-rate signal processing and speech signal representations to speech coding. Again the section is well written and the reader is not forced to refer to other texts to understand what is written. If a topic is not expanded upon here then it is an indication that is not dealt further in any great depth in the remainder of the book.
The third section of the book covers speech recognition and is probably the section which will find most use with many readers. This section is very thorough in its treatment of the subject. It starts immediately with a discussion of Hidden Markov Models which is almost exclusively the method employed in the pattern matching stage of speech recognition. Any algorithms that are mentioned are also detailed which really make the book useful. In fact algorithms are presented throughout the book making it a practical reference as much as a theoretical one. This is important because there is a big jump from understanding theory to being able to implement an algorithm to exploit that theory. Other topics covered include an excellent chapter on environmental robustness with one of the best discussions of microphones I have seen. Language modelling and search algorithms are given a thorough treatment. I would like to have seen more detailed information on front-end processing and endpoint detection, as this remains a critical stage of the recognition process. Perhaps the level of detail reflects the fact that this is currently a hot research topic with potential for significant advancement.
Section four, on text-to-speech processing, is a good overview of the field and better than any book I've seen on the subject. It shows numerous block diagrams of what you need to build such a system and gives numerous algorithms in pseudocode. It also dedicates a subsection to each block of the text-to-speech system block diagram, discussing in detail what you would need to do to implement that particular block. Since much of the individual blocks have been discussed earlier in the book, it refers you back to specific earlier sections for details.
The fifth section is a short one on entire systems and shows some case studies, concentrating on what Microsoft was doing at the time this book was published, since that is where the authors' research came from. I would highly recommend that anyone anticipating getting into speech processing have a copy of this classic nearby.

Click Here to see more reviews about: Spoken Language Processing: A Guide to Theory, Algorithm and System Development

This will be the definitive book on spoken language systems written by the people at Microsoft Research who have developed the voic-activated technologies that will be imbedded in Windows 2000 and other key Microsoft products of the future. This is not a Microsoft book, however, this is a book on the science and linguistics of this technology and how to use it in developing and building hardware and software products.

Buy Now

Click here for more information about Spoken Language Processing: A Guide to Theory, Algorithm and System Development

Read More...

Code: The Hidden Language of Computer Hardware and Software Review

Code: The Hidden Language of Computer Hardware and Software
Average Reviews:

(More customer reviews)
I think that this is the best book that I have read all year. In some sense this is the book that I have been looking for for twenty-five years--the book that will enable me to understand how a computer does what it does. And--given the centrality of computers in our age--it has been a long wait. But now it is over. Charles Petzold (1999), Code: The Hidden Language of Computer Hardware and Software does a much better job than anything else I have ever seen in explaining computers--what they really are, and how they really work.
Have you ever wondered just how your computers really work? I mean, really, really work. Not as in "an electrical signal from memory tells the processor the number to be added," but what the electrical signal is, and how it accomplishes the magic of switching on the circuits that add while switching off the other circuits that would do other things with the number. I have. I have wondered this a lot over the past decades.
Yet somehow over the past several decades my hunger for an explanation has never been properly met. I have listened to people explain how two switches wired in series are an "AND"--only if both switches are closed will the lightbulb light. I have listened to people explain how IP is a packet-based communications protocol and TCP is a connection-based protocol yet the connection-based protocal can ride on top of the packet-based protocol. Somehow these explanations did not satisfy. One seemed like answering "how does a car work?" by telling how in the presence of oxygen carbon-hydrogen bonds are broken and carbon dioxide and water are created. The other seemed like anwering "how does a car work" by telling how if you step on the accelerator the car moves forward.
Charles Petzold is different. He has hit the sweet spot exactly. Enough detail to satisfy anyone. Yet the detail is quickly built up as he ascends to higher and higher levels of explanation. It remains satisfying, but it also hangs together in a big picture.
In fact, my only complaint is that the book isn't long enough. It is mostly a hardware book (unless you want to count Morse Code and the interpretation of flashing light bulbs as "software." By my count there are twenty chapters on hardware, and five on software. In my view only five chapters on software--one on ASCII, one on operating systems, one on floating-point arithmetic, one on high-level languages, and one on GUIs--is about ten too few. (Moreover, at one key place in his explanation (but only one) he waves his hands. He argues that it is possible to use the operation codes stored in memory to control which circuits in the processor are active. But he doesn't show how it is done.)
Charles Petzold's explanatory strategy is to start with the telegraph: with how opening and closing a switch can send an electrical signal down a wire. And he wants to build up, step by step, from that point to end with our modern computers. At the end he hopes that the reader can look back--from the graphical user interface to the high-level language software constructions that generate it, from the high-level language software constructions to the machine-language code that underlies it, from the machine-language code to the electrical signals that load, store, and add bits into the computer's processor and into the computer's memory.
But it doesn't stop there. It goes further down into how to construct an accumulator or a memory bank from logic gates. And then it goes down to how to build logic gates--either out of transistors or telegraph relays. And then deeper down, into how the electrons actually move through a transistor or through a relay and a wire.
And at the end I could look back and say, yes, I understand how this machine works in a way that I didn't understand it before. Before I understood electricity and maybe an AND gate, and I understood high level languages. But the whole vast intermediate realm was fuzzy. Now it is much clearer. I can go from the loop back to the conditional jump back to the way that what is stored in memory is fed into the processor back to the circuits that set the program counter back to the logic gates, and finally back to the doped silicon that makes up the circuit.
So I recommend this book to everyone. It is a true joy to read. And I at least could feel my mind expanding as I read it.

Click Here to see more reviews about: Code: The Hidden Language of Computer Hardware and Software


What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries.

Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who's ever wondered about the secret inner life of computers and other smart machines.

It's a cleverly illustrated and eminently comprehensible story—and along the way, you'll discover you've gained a real context for understanding today's world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.


Buy Now

Click here for more information about Code: The Hidden Language of Computer Hardware and Software

Read More...