Sponsored links

Valid XHTML 1.0!
Valid CSS!
Product: Book - Paperback
Title: Dynamic HTML: The Definitive Reference (2nd Edition)
Publisher: O'Reilly
Authors: Danny Goodman
Rating: 5/5
Customer opinion - 5 stars out of 5
Best web developers reference ever!!

I was lucky. As I started developing for the web, my boss placed this book on my desk. Others say it's not for beginners; but a beginner can easily get overwhelmed without having some reference book to find out how to do things. From this book I learned both HTML and Javascript. It is simply fabulous and I still open it all the time.Buy it!!

Product: Book - Paperback
Title: Defensive Design for the Web : How to improve error messages, help, forms, and other crisis points (Voices That Matter)
Publisher: New Riders Press
Authors: 37signals, Matthew Linderman, Jason Fried
Rating: 5/5
Customer opinion - 5 stars out of 5
A "must-have" for web site designers

Target AudienceWeb site designers/developers who need to learn how to reduce the frustration factor in their sites.
ContentsThis book covers the subject of how to code web sites that gracefully handle unexpected conditions encountered by visitors.
The book is divided into the following chapters:
Understanding Defensive Design; Show The Problem; Language Matters; Bulletproof Forms; Missing In Action; Lend A Helping Hand; Get Out Of The Way; Search And Rescue; Out Of Stocks and Unavailable Items; The Contingency Design Test; Contingency Design
ReviewWe've all visited web sites that promise cool things. But somewhere along the way, you do something that is not quite what the program expected. Maybe you entered an incorrect date or missed a required field. Your joy quickly disappears as the site makes you jump through a number of hoops to correct the data or get back on track. They end up losing a customer without even knowing it. If you're a web developer, this is a critical issue for you, and the book Defensive Design for the Web is what you need to start correcting these issues.
The authors present 40 guidelines that cover different aspects of defensive design, or contingency design as they call it. Some are pretty basic, such as "Always identify errors the same way". Others require a bit more thought in the coding of the site, such as "Assist form dropouts by saving information". But instead of just stating the guideline and moving on, they take it a step further. Using familiar and popular web sites, they provide "thumbs up" and "thumbs down" examples of each guideline. By seeing the guidelines actually applied in real-life, you are much more likely to understand the problems associated with it. I know if my site was used as a "thumbs down" example, I'd be motivated to get it fixed post haste.
At the end of the book, there is a contingency test you can apply to your site. You start by taking the test yourself as a baseline. After you think you've cleaned up the site, then have some real visitors use the site and take the test. If you can do well in both these scenarios, then your site is better off than most others out there. You're probably also seeing a high rate of repeat traffic.
The book is easy to read, but you'll most likely return to the guidelines over and over. This is a book that is going to be no more than an arms-length away.
ConclusionThis is a "must have" if you develop web sites. The concepts and tips in this book can make the difference between one-time and repeat visitors.

Product: Book - Paperback
Title: Python in a Nutshell
Publisher: O'Reilly
Authors: Alex Martelli
Rating: 5/5
Customer opinion - 5 stars out of 5
Best Distillation of Python Anwhere

I bought this book after working through Learning Python by Lutz and Ascher, and reading sections of other books. It is now my #1 reference. The examples are few, but well chosen to do more than just demonstrate the language. They can show you why a particular syntax or technique is needed. Often I waste a lot of time learning something I don't really need, like lambda functions. By the time I have figured out that lambda functions are not some elegant new concept, just an awkward piece of syntax to do something simple, I've already spent too much time. Alternatively, I decide that something like metaclasses are a waste, and miss something really elegant and useful. Martelli's four pages on metaclasses capture better than anything I've read on the subject, exactly what metaclasses are good for and how they work.

I think the dynamite combo for someone learning Python is both the Nutshell and the Learning book. I would read the Nutshell chapter first ( assuming you have a little background in programming ) then work problems in Learning Python until you are comfortable. Then re-read Nutshell, highlighting the key points you might need to re-learn in the midst of a rush project. Python in a nutshell is the best distillation of Python wisdom I have seen anywhere.

Product: Book - Paperback
Title: The Unabridged Pentium 4 : IA32 Processor Genealogy (PC System Architecture Series)
Publisher: Addison-Wesley Professional
Authors: Tom Shanley
Rating: 4/5
Customer opinion - 4 stars out of 5
Value depends on accepting the book's purpose

Page 1 of 'The Unabridged Pentium 4' (TUP4) claims 'there is real value in understanding how the architecture has grown over the years,' where the 'architecture' is the IA-32 register set, instruction set, and software exceptions. If you accept this premise, you will find TUP4 to be a valuable book. If you are looking for detail on the lowest-level of programming on IA-32, you should download Intel's free IA-32 Intel Architecture Software Developer s Manual.

Readers looking for information on IA-32 architecture can first turn to three free books Intel provides in .pdf format: Volume 1: Basic Architecture (448 pp); Volumes 2A (580 pp) & 2B (416 pp): Instruction Set Reference; and Volume 3: System Programming Guide (838 pp), for a total of 2282 pp. Volume 1 describes the basic architecture and programming environment of an IA-32 processor. Volumes 2A & 2B are aimed at application programmers and describe the instruction set of the processor and the opcode structure. Volume 3, for OS engineers and BIOS designers, describes the OS support environment of an IA-32 processor and IA-32 processor compatibility information.

TUP4 differs from these volumes in that TUP4 describes Intel processors from a historical and evolutionary standpoint. Although TUP4 has 'Pentium 4' in its title, it begins with the 386 CPU and even makes comparison to 286 and prior CPUs. TUP4 'builds' the P4 by beginning with the 386 and adding features over time. I found this approach helpful to explain why Intel has ended up with the architecture in the P4.

The book's descriptions tend to be thorough and detailed. For example, there are explanations of the state of every element of a CPU upon a system reset, bit-oriented descriptions of registers and memory structures, and electrical characteristics of components like the Front Side Bus.

TUP4 is also interesting because the author is not an Intel employee. This leaves him free to mention items like the fact that the original (and presumably existing) Pentium M CPU is based on the PIII core, and not the newer P4.

Reader should not ignore the additional 342 pages found on the book's CD-ROM. I found the first three chapters most interesting, as they describe processor problems and solutions (ch 1), register (ch 2) and instruction set (ch 3) evolution; the remainder covers aspects of the P6 core.

I have a few concerns with TUP4. First, the quality of most of the figures and diagrams needs to be improved. While legible, they look like they were pulled from slides used in the author's classes, and did not survive publication at high resolution. Second, I think the book could have been thinner. While not exactly a 'large font' book, I saw too much white space and repetition of material. The book had 89 pages (lxxxix) of introduction to handle the table of contents, etc! Third and most importantly, I did not get enough of an introduction to certain CPU concepts and elements. In a 1600+ page book, I would have put more tables and similar references on the CD-ROM, and more basic CPU hardware explanation in the text.

While I am not technically proficient enough in CPU design to critique the book's content, I found one remark odd. On p 209 the author states that a hypothetical system with 256 MB RAM would be 'ridiculously small,' and that it would be 'amazing' if an OS would occupy 250 MB or memory or less. Most consumer PCs ship with 128 MB RAM (admittedly too little in my opinion), so 256 MB is a good standard for modern Windows systems. I am not sure why the author selected his figures, for they do not seem representative of modern computing.

Overall, I strongly recommend anyone wanting to learn more about the IA-32 architecture first download and peruse Intel's three volumes. I am fairly sure those documents will answer your questions. If you want a more comparative discussion, with the 386, 486, Pentium, and later processors explained, give TUP4 a look. For future editions, I would pare the book down by moving more reference material to the CD-ROM, and call the book 'Abridged.'