ASP.NET 3.5 Unleashed Stephen Walther  
* * * * -
More Details

ASP.NET 3.5 Unleashed is the most comprehensive book available on the Microsoft ASP.NET 3.5 Framework, covering all aspects of the ASP.NET 3.5 Framework—no matter how advanced.


This edition covers all the new features of ASP.NET 3.5. It explains Microsoft LINQ to SQL in detail. It includes a chapter on the two new data access controls introduced with the ASP.NET 3.5 Framework: ListView and DataPager. With its coverage of ASP.NET AJAX, this book shows you how to take advantage of Microsoft’s server-side AJAX framework to retrofit existing ASP.NET applications with AJAX functionality. It also demonstrates how to use Microsoft’s client-side AJAX framework to build the web applications of the future: pure client-side AJAX applications. All code samples are written in the C# programming language. (Visual Basic versions of all code samples are included on the CD-ROM that accompanies this book.)

  Take advantage of Microsoft’s new database query language, LINQ to SQL, to easily build database-driven web applicationsLearn how to use the new ListView and DataPager data access controls to build flexible user interfacesTake advantage of ASP.NET AJAX when building both server-side and client-side web applicationsUse the AJAX Control Toolkit to create auto-complete text fields, draggable panels, masked edit fields, and complex animationsDesign ASP.NET websitesSecure your ASP.NET applicationsCreate custom componentsBuild highly interactive websites that can scale to handle thousands of simultaneous usersLearn to build a complete ASP.NET 3.5 website from start to finish–the last chapter of the book includes a sample ASP.NET 3.5 web application written with LINQ to SQL and ASP.NET AJAX


CD-ROM includes all examples and source code presented in this book in both C# and Visual Basic.

Model-Based Software Testing and Analysis with C# Jonathan Jacky, Margus Veanes, Colin Campbell, Wolfram Schulte  
- - - - -
More Details

This book teaches new methods for specifying, analyzing, and testing software; essentials for creating high-quality software. These methods increase the automation in each of these steps, making them more timely, more thorough, and more effective. The authors work through several realistic case studies in-depth and detail, using a toolkit built on the C# language and the .NET framework. Readers can also apply the methods in analyzing and testing systems in many other languages and frameworks. Intended for professional software developers including testers, and for university students, this book is suitable for courses on software engineering, testing, specification, or applications of formal methods.

AJAX, Rich Internet Applications, and Web Development for Programmers Paul J. Deitel, Harvey M. Deitel  
* * - - -
More Details

The practicing programmer's DEITEL® guide to AJAX, Rich Internet Applications, and web-application development

This book applies the Deitel signature live-code approach to teaching Web 2.0 application development. The book presents concepts in the context of more than 180 fully tested programs (18,000+ lines of code), complete with syntax shading, detailed descriptions, and sample outputs. It features hundreds of tips that will help you build robust applications.

Start with a concise introduction to XHTML, CSS, and JavaScript before rapidly moving on to more advanced client-side development with DOM, XML, AJAX, JSON, and other RIA technologies. Then proceed to server-side development with web servers, databases, PHP, Ruby on Rails, ASP.NET, JavaServer Faces, and web services. When you're finished, you'll have everything you need to build Web 2.0 applications.

The DEITEL Developer Series is designed for practicing programmers. The series presents focused treatments of emerging technologies, including .NET, JavaTM, web services, Internet and web development, and more.

Practical, example-rich coverage of:
Web 2.0XHTML, CSS, JavaScriptDOM, XML, RSSAJAX-Enabled Rich Internet ApplicationsJSON, Dojo, Script.aculo.usAdobe® Flash CS3 and FlexWeb Servers (IIS and Apache)Database (SQL, MySQL, ADO.NET and Java DB)PHP, Ruby on RailsASP.NET, ASP.NET AJAXJavaServer Faces (JSF)SOAP-Based Web Services in JavaREST-Based Web Services in ASP.NETMashupsAnd more...
Visit to:

Download code examplesCheck out the growing list of programming, Web 2.0, and software-related Resource CentersTo receive updates on this book, subscribe to the free DEITEL® BUZZ ONLINE e-mail newsletter at archived Issues of the DEITEL BUZZ ONLINEContact for information on corporate training courses delivered on-site worldwide
Pre-Publication Reviewer Testimonials

"This book is easily the most comprehensive resource of its kind I've seen yet."
—Jesse James Garrett, Adaptive Path

"A one-stop shop for learning the essentials of web programming."
—Anand Narayanaswamy,

"Excellent for learning to develop standards-compliant web applications...takes you from the browser to the server and the database, covering web development across many programming languages."
—Paul Vencill, MITRE, Inc.

"Cements the browser as a first-class development platform."
—Johnvey Hwang, Splunk, Inc.

"Congratulations on this excellent work. The [Dive Into Web 2.0] chapter is simply astonishing! It's one of the better—if not the best—references on Web 2.0."
—José Antonio González Seco, Parlamento de Andalucia

"The CSS chapter is compact, concise, and full of useful info!"
—Billy B. L. Lim, Illinois State University

"One of the best introductions to JavaScript."
—Raymond Wisman, Indiana University Southeast

"A good introduction to the DOM; doesn't trip over cross-browser incompatibilities."
—Eric Lawrence, Microsoft

"Exceptionally clear Ajax tutorial; best I've reviewed! Great solutions for the very cool type-ahead and edit-in-place AJAX features. 'Libraries to Help Eliminate Cross-Browser Compatibility Issues' is fantastic. This book and your web sites will be often-visited resources (if not best practices in themselves)."
—John Peterson, Insync and V.I.O. Inc.

"Great chapter [on building Flash games]."
—Jennifer Powers, University of Albany

"A solid introduction to Adobe Flex with some very cool applications."
—Matt Chotin, Adobe

"A solid introduction to the capabilities and flexibilities of PHP. Inspired me to tighten up my own code! Easy to follow JSF development with database, Virtual Forms, and Google Maps."
—John Peterson, Insync and V.I.O. Inc.

"Excellent coverage of developing ASP.NET applications, with plenty of sample code."
—Peter Bromberg, VOIP, Inc.

"The web services chapter concludes a comprehensive education on Web 2.0. The examples go a long way to support the Web 2.0 mission of this book."
—George Semeczko, Independent Consultant

Implementing SOA : Total Architecture in Practice Paul C. Brown  
* * * * -
More Details

Putting Service-Oriented Architecture (SOA) into Practice

“This book is a must-have for enterprise architects implementing SOA. Through practical examples, it explains the relationship between business requirements, business process design, and service architecture. By tying the SOA implementation directly to business value, it reveals the key to ongoing success and funding.”
        —Maja Tibbling, Lead Enterprise Architect, Con-way, Inc.

“While there are other books on architecture and the implementation of ESB, SOA, and related technologies, this new book uniquely captures the knowledge and experience of the real world. It shows how you can transform requirements and vision into solid, repeatable, and value-added architectures. I heartily recommend it.”
        —Mark Wencek, SVP, Consulting Services & Alliances, Ultimo Software Solutions, Inc.

In his first book, Succeeding with SOA, Paul Brown explained that if enterprise goals are to be met, business processes and information systems must be designed together as parts of a total architecture. In this second book, Implementing SOA, he guides you through the entire process of designing and developing a successful total architecture at both project and enterprise levels. Drawing on his own extensive experience, he provides best practices for creating services and leveraging them to create robust and flexible SOA solutions.

Coverage includes
Evolving the enterprise architecture towards an SOA while continuing to deliver business value on a project-by-project basisUnderstanding the fundamentals of SOA and distributed systems, the dominant architectural issues, and the design patterns for addressing themUnderstanding the distinct roles of project and enterprise architects and how they must collaborate to create an SOAUnderstanding the need for a comprehensive total architecture approach that encompasses business processes, people, systems, data, and infrastructureUnderstanding the strategies and tradeoffs for implementing robust, secure, high-performance, and high-availability solutionsUnderstanding how to incorporate business process management (BPM) and business process monitoring into the enterprise architectureWhether you’re defining an enterprise architecture or delivering individual SOA projects, this book will give you the practical advice you need to get the job done.

Implementation Patterns Kent Beck  
* * * * -
More Details

“Kent is a master at creating code that communicates well, is easy to understand, and is a pleasure to read. Every chapter of this book contains excellent explanations and insights into the smaller but important decisions we continuously have to make when creating quality code and classes.”

–Erich Gamma, IBM Distinguished Engineer


“Many teams have a master developer who makes a rapid stream of good decisions all day long. Their code is easy to understand, quick to modify, and feels safe and comfortable to work with. If you ask how they thought to write something the way they did, they always have a good reason. This book will help you become the master developer on your team. The breadth and depth of topics will engage veteran programmers, who will pick up new tricks and improve on old habits, while the clarity makes it accessible to even novice developers.”

–Russ Rufer, Silicon Valley Patterns Group


“Many people don’t realize how readable code can be and how valuable that readability is. Kent has taught me so much, I’m glad this book gives everyone the chance to learn from him.”

–Martin Fowler, chief scientist, ThoughtWorks


“Code should be worth reading, not just by the compiler, but by humans. Kent Beck distilled his experience into a cohesive collection of implementation patterns. These nuggets of advice will make your code truly worth reading.”

–Gregor Hohpe, author of Enterprise Integration Patterns


“In this book Kent Beck shows how writing clear and readable code follows from the application of simple principles. Implementation Patterns will help developers write intention revealing code that is both easy to understand and flexible towards future extensions. A must read for developers who are serious about their code.”

–Sven Gorts


“Implementation Patterns bridges the gap between design and coding. Beck introduces a new way of thinking about programming by basing his discussion on values and principles.”

–Diomidis Spinellis, author of Code Reading and Code Quality


Software Expert Kent Beck Presents a Catalog of Patterns Infinitely Useful for Everyday Programming


Great code doesn’t just function: it clearly and consistently communicates your intentions, allowing other programmers to understand your code, rely on it, and modify it with confidence. But great code doesn’t just happen. It is the outcome of hundreds of small but critical decisions programmers make every single day. Now, legendary software innovator Kent Beck–known worldwide for creating Extreme Programming and pioneering software patterns and test-driven development–focuses on these critical decisions, unearthing powerful “implementation patterns” for writing programs that are simpler, clearer, better organized, and more cost effective.


Beck collects 77 patterns for handling everyday programming tasks and writing more readable code. This new collection of patterns addresses many aspects of development, including class, state, behavior, method, collections, frameworks, and more. He uses diagrams, stories, examples, and essays to engage the reader as he illuminates the patterns. You’ll find proven solutions for handling everything from naming variables to checking exceptions.


This book covers The value of communicating through code and the philosophy behind patternsHow and when to create classes, and how classes encode logicBest practices for storing and retrieving stateBehavior: patterns for representing logic, including alternative pathsWriting, naming, and decomposing methodsChoosing and using collectionsImplementation pattern variations for use in building frameworks

Implementation Patterns will help programmers at all experience levels, especially those who have benefited from software patterns or agile methods. It will also be an indispensable resource for development teams seeking to work together more efficiently and build more maintainable software. No other programming book will touch your day-to-day work more often.

Design Patterns in Ruby Russ Olsen  
* * * * ~
More Details

Praise for Design Patterns in Ruby

"Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter. Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily work."

—Steve Metsker, Managing Consultant with Dominion Digital, Inc.

"This book provides a great demonstration of the key 'Gang of Four' design patterns without resorting to overly technical explanations. Written in a precise, yet almost informal style, this book covers enough ground that even those without prior exposure to design patterns will soon feel confident applying them using Ruby. Olsen has done a great job to make a book about a classically 'dry' subject into such an engaging and even occasionally humorous read."

—Peter Cooper

"This book renewed my interest in understanding patterns after a decade of good intentions. Russ picked the most useful patterns for Ruby and introduced them in a straightforward and logical manner, going beyond the GoF's patterns. This book has improved my use of Ruby, and encouraged me to blow off the dust covering the GoF book."

—Mike Stok

"Design Patterns in Ruby is a great way for programmers from statically typed objectoriented languages to learn how design patterns appear in a more dynamic, flexible language like Ruby."

—Rob Sanheim, Ruby Ninja, Relevance

Most design pattern books are based on C++ and Java. But Ruby is different—and the language's unique qualities make design patterns easier to implement and use. In this book, Russ Olsen demonstrates how to combine Ruby's power and elegance with patterns, and write more sophisticated, effective software with far fewer lines of code.

After reviewing the history, concepts, and goals of design patterns, Olsen offers a quick tour of the Ruby language—enough to allow any experienced software developer to immediately utilize patterns with Ruby. The book especially calls attention to Ruby features that simplify the use of patterns, including dynamic typing, code closures, and "mixins" for easier code reuse.

Fourteen of the classic "Gang of Four" patterns are considered from the Ruby point of view, explaining what problems each pattern solves, discussing whether traditional implementations make sense in the Ruby environment, and introducing Ruby-specific improvements. You'll discover opportunities to implement patterns in just one or two lines of code, instead of the endlessly repeated boilerplate that conventional languages often require.

Design Patterns in Ruby also identifies innovative new patterns that have emerged from the Ruby community. These include ways to create custom objects with metaprogramming, as well as the ambitious Rails-based "Convention Over Configuration" pattern, designed to help integrate entire applications and frameworks.

Engaging, practical, and accessible, Design Patterns in Ruby will help you build better software while making your Ruby programming experience more rewarding.

Refactoring HTML: Improving the Design of Existing Web Applications Elliotte Rusty Harold  
* * * * -
More Details

“Wow, what a compendium of great information and how-to’s! I am so impressed! Elliotte’s written a book whose title comes nowhere near to
doing it justice. Covering much more than just refactoring, this book explains how to do it right the first time around, in a clear and lucid
voice. Harold obviously knows his stuff. A must-read!”
—Howard Katz, Proprietor, Fatdog Software

“After working with people who require the skills and tools necessary to continually improve the quality and security of their applications, I
have discovered a missing link. The ability to rebuild and recode applications is a key area of weakness for web designers and web application
developers alike. By building refactoring into the development process, incremental changes to the layout or internals efficiently averts a total
rewrite or complete make-over. This is a fantastic book for anyone who needs to rebuild, recode, or refactor the web.”
—Andre Gironda,

“Elliotte’s book provides a rare collection of hints and tricks that will vastly improve the quality of web pages. Virtually any serious HTML
developer, new or tenured, in any size organization will reap tremendous benefit from implementing even a handful of his suggestions.”
—Matt Lavallee, Development Manager, MLS Property Information Network, Inc.

Like any other software system, Web sites gradually accumulate “cruft” over time. They slow down. Links break. Security and compatibility problems mysteriously appear. New features don’t integrate seamlessly. Things just don’t work as well. In an ideal world, you’d rebuild from scratch. But you can’t: there’s no time or money for that. Fortunately, there’s a solution: You can refactor your Web code using easy, proven techniques, tools, and recipes adapted from the world of software development.

In Refactoring HTML, Elliotte Rusty Harold explains how to use refactoring to improve virtually any Web site or application. Writing for programmers and non-programmers alike, Harold shows how to refactor for better reliability, performance, usability, security, accessibility, compatibility, and even search engine placement. Step by step, he shows how to migrate obsolete code to today’s stable Web standards, including XHTML, CSS, and REST—and eliminate chronic problems like presentation-based markup, stateful applications, and “tag soup.”

The book’s extensive catalog of detailed refactorings and practical “recipes for success” are organized to help you find specific solutions fast, and get maximum benefit for minimum effort. Using this book, you can quickly improve site performance now—and make your site far easier to enhance, maintain, and scale for years to come.

Topics covered include

•    Recognizing the “smells” of Web code that should be refactored
•    Transforming old HTML into well-formed, valid XHTML, one step at a time
•    Modernizing existing layouts with CSS
•    Updating old Web applications: replacing POST with GET, replacing old contact forms, and refactoring JavaScript
•    Systematically refactoring content and links
•    Restructuring sites without changing the URLs your users rely upon

This book will be an indispensable resource for Web designers, developers, project managers, and anyone who maintains or updates existing sites. It will be especially helpful to Web professionals who learned HTML years ago, and want to refresh their knowledge with today’s standards-compliant best practices.
This book will be an indispensable resource for Web designers, developers, project managers, and anyone who maintains or updates existing sites. It will be especially helpful to Web professionals who learned HTML years ago, and want to refresh their knowledge with today’s standards-compliant best practices.

Making Things Happen: Mastering Project Management Scott Berkun  
* * * * ~
More Details

In the updated edition of this critically acclaimed and bestselling book, Microsoft project veteran Scott Berkun offers a collection of essays on field-tested philosophies and strategies for defining, leading, and managing projects. Each essay distills complex concepts and challenges into practical nuggets of useful advice, and the new edition now adds more value for leaders and managers of projects everywhere. Based on his nine years of experience as a program manager for Internet Explorer, and lead program manager for Windows and MSN, Berkun explains to technical and non-technical readers alike what it takes to get through a large software or web development project. Making Things Happen doesn't cite specific methods, but focuses on philosophy and strategy. Unlike other project management books, Berkun offers personal essays in a comfortable style and easy tone that emulate the relationship of a wise project manager who gives good, entertaining and passionate advice to those who ask. Topics in this new edition include: How to make things happen Making good decisions Specifications and requirements Ideas and what to do with them How not to annoy people Leadership and trust The truth about making dates What to do when things go wrong Complete with a new forward from the author and a discussion guide for forming reading groups/teams, Making Things Happen offers in-depth exercises to help you apply lessons from the book to your job. It is inspiring, funny, honest, and compelling, and definitely the one book that you and your team need to have within arm's reach throughout the life of your project. Coming from the rare perspective of someone who fought difficult battles on Microsoft'sbiggest projects and taught project design and management for MSTE, Microsoft's internal best practices group, this is valuable advice indeed. It will serve you well with your current work, and on future projects to come.

Expert F# Don Syme, Adam Granicz, Antonio Cisternino  
* * * * -
More Details

Expert F# is about practical programming in a beautiful language that puts the power and elegance of functional programming into the hands of .NET developers. In combination with .NET, F# achieves unrivaled levels of programmer productivity and program clarity. This books serves as

The authoritative guide to F# by the designer of F#A comprehensive reference of F# concepts, syntax, and featuresA treasury of expert F# techniques for practical, real–world programming

While inspired by OCaml, F# isn't just another functional programming language. Drawing on many of the strengths of both OCaml and .NET, it's a general–purpose language ideal for real–world development. F# integrates functional, imperative, and object–oriented programming styles so you can flexibly and elegantly solve programming problems, and brings .NET development alive with interactive execution. Whatever your background, you'll find that F# is easy to learn, fun to use, and extraordinarily powerful. F# will help change the way you think about and go about programming.

Written by F#&#'s designer and two active contributors, Expert F# is the authoritative, comprehensive, and in-depth guide to the language and its use. Designed to help others become experts, the book gives a thorough introduction to the F# language from quick essentials to in-depth advanced topics such as active pattern matching, aggregate data types and operators, sequence expressions, lazy values, mutable data and side–effects, generics, type augmentations, functional decomposition and code organization.

The second half of the book is devoted to examining the practical application of F#, providing elegant solutions to common programming tasks including UI implementation, data access, web and distributed programming, symbolic and numerical computations, concurrent programming, testing, profiling, and interoperability with other languages. The latest hot developments in F# and .NET are also addressed, including Active Patterns, implicit class construction, integration with LINQ over relational data, meta programming and useful tips for working with Visual Studio and F# command–line tools.

The worlds foremost experts in F# show you how to program in F# the way they do!
What you’ll learn

How to use F# for functional, imperative, and object–oriented programmingHow to code elegant F# solutions with expert technique and styleHow to develop Windows, web, graphics, and database applications in F#How to do numerical, concurrent, lexical, and symbolic processing in F#How to interoperate with C and COM

Who is this book for?

This book is for anyone interested in state–of–the art .NET programming. Professional programmers will find it engrossing. F# provides invaluable insight into the future of both C# and VB, which are now adopting some (but far from all) of the functional features of F#. Once they learn F#, few feel like returning to either C# or VB. The academic community will find F# the answer to a decades–long prayer: a language suitable for teaching computer science that also excites and empowers students because it can be used not just in the classroom, but also in the real world.
Related Titles

Foundations of F#

The Rails Way Obie Fernandez  
* * * * ~
More Details

The expert guide to building Ruby on Rails applications


Ruby on Rails strips complexity from the development process, enabling professional developers to focus on what matters most: delivering business value. Now, for the first time, there’s a comprehensive, authoritative guide to building production-quality software with Rails. Pioneering Rails developer Obie Fernandez and a team of experts illuminate the entire Rails API, along with the Ruby idioms, design approaches, libraries, and plug-ins that make Rails so valuable. Drawing on their unsurpassed experience, they address the real challenges development teams face, showing how to use Rails’ tools and best practices to maximize productivity and build polished applications users will enjoy.


Using detailed code examples, Obie systematically covers Rails’ key capabilities and subsystems. He presents advanced programming techniques, introduces open source libraries that facilitate easy Rails adoption, and offers important insights into testing and production deployment. Dive deep into the Rails codebase together, discovering why Rails behaves as it does– and how to make it behave the way you want it to.


This book will help you

Increase your productivity as a web developer

Realize the overall joy of programming with Ruby on Rails

Learn what’s new in Rails 2.0

Drive design and protect long-term maintainability with TestUnit and RSpec

Understand and manage complex program flow in Rails controllers

Leverage Rails’ support for designing REST-compliant APIs

Master sophisticated Rails routing concepts and techniques

Examine and troubleshoot Rails routing

Make the most of ActiveRecord object-relational mapping

Utilize Ajax within your Rails applications

Incorporate logins and authentication into your application

Extend Rails with the best third-party plug-ins and write your own

Integrate email services into your applications with ActionMailer

Choose the right Rails production configurations

Streamline deployment with Capistrano

Code Leader: Using People, Tools, and Processes to Build Successful Software Patrick Cauldwell  
* * * * -
More Details

Code Leader: Using People, Tools, and Processes to Build Successful Software

"Patrick is a pragmatist with a purist's knowledge. He has a deep understanding of what 'smells' right, and he knows when and how to find the right balance to get the job done. This philosophy of balanced 'pure pragmatism' pervades this book and makes it useful."
—from the foreword by Scott Hanselman, Author of ComputerZen Blog,; Senior Program Manager, Developer Division, Microsoft Corporation

Writing code is rewarding, but writing high-quality code, on time and at the lowest possible cost, is what makes a software project successful. As the role of a professional developer has evolved and taken on additional responsibilities, it is now necessary to work in concert with a team in order to improve both the process and final results of a software project. This unique book introduces a set of concrete best practices and construction techniques that can be applied to the development process and to actual code construction, so that you can confidently solve business problems rather than deal solely with pure coding tasks.

Patrick Cauldwell understands that it is no longer sufficient to just write software that solves a problem; it must also be fast, scalable, reliable, and easy to use. In this reference, he explains how to build software that is of high quality at a lower cost and shares with you the practical steps you must take in order to transition from software engineer to technical lead.

What you will learn from this book

Practical steps you can take to combine different developmental philosophies, processes, and construction techniques into a unified approach to software

Methods for deciding which parts of a project you need to write yourself versus what you can buy or reuse

Tools and processes you can employ to improve source code quality and maintainability

How to create, run, organize, and measure tests, and then make them more useful to developers and testers

Ways that programming by contract can make your code easier for developers to understand and use

Recommended techniques for handling errors in your code that will make your application easier to debug and support

Who this book is for
This book is for experienced software developers who are looking to improve their development skill set and bring a higher level of discipline to a project.

Wrox guides are crafted to make learning programming languages and technologies easier than you think. Written by programmers for programmers, they provide a structured, tutorial format that will guide you through all the techniques involved.

Advanced Windows Debugging Mario Hewardt, Daniel Pravat  
* * * * *
More Details

“Who says you can’t bottle experience? Between these covers is a wealth of information: a clear, logical approach to finding and eliminating bugs. This is an absolute must-have book for anyone who develops, tests, or supports software for Microsoft Windows.”

— Bob Wilton, Escalation Engineer, Critical Problem Resolution Team, Microsoft


“An excellent reference for both intermediate and advanced debuggers: highly practical, and filled with tricks and strategies. This book stands out from all other Win32 debugging literature, thanks to its in-depth examples—including resolving intricate problems like stack and heap corruptions.”

— Kinshuman, Development Lead, Windows Core OS Division, Microsoft


The First In-Depth, Real-World, Insider’s Guide to Powerful Windows Debugging


For Windows developers, few tasks are more challenging than debugging—-or more crucial. Reliable and realistic information about Windows debugging has always been scarce. Now, with over 15 years of experience two of Microsoft’s system-level developers present a thorough and practical guide to Windows debugging ever written.


Mario Hewardt and Daniel Pravat cover debugging throughout the entire application lifecycle and show how to make the most of the tools currently available—-including Microsoft’s powerful native debuggers and third-party solutions.


To help you find real solutions fast, this book is organized around real-world debugging scenarios. Hewardt and Pravat use detailed code examples to illuminate the complex debugging challenges professional developers actually face. From core Windows operating system concepts to security, Windows® Vista™ and 64-bit debugging, they address emerging topics head-on—and nothing is ever oversimplified or glossed over!


This book enables you to Master today’s most powerful Windows debugging tools, including NTSD, CDB, WinDbg, KD, and ADPlus Debug code that wasn’t designed or written for easy debugging Understand debuggers “under the hood,” and manage symbols and sources efficiently Debug complex memory corruptions related to stacks and heaps Resolve complex security problems Debug across processes: identity tracking, RPC debugger extensions, and tracking IPCs with Ethereal Find and fix resource leaks, such as memory and handle leaks. Debug common thread synchronization problems Learn when and how to write custom debugger extensions Perform “postmortem debugging” using crash dumps and Windows Error Reporting Automate debugging with DebugDiag and the Analyze Debugger command


Whether you’re a system-level or application developer, Advanced Windows Debugging delivers the deep understanding of debugging that could save you weeks on your very next project.


Part I  Overview

Chapter 1 Introduction to the Tools

Chapter 2 Introduction to the Debuggers

Chapter 3 Debugger Uncovered

Chapter 4 Managing Symbol and Source Files

Part II Applied Debugging

Chapter 5 Memory Corruptions Part I — Stacks

Chapter 6 Memory Corruptions Part I — Heaps

Chapter 7 Security

Chapter 8 Inter-process Communication

Chapter 9 Resource Leaks

Chapter 10 Synchronization

Part III Advanced Topics

Chapter 11 Writing Custom Debugger Extensions

Chapter 12 64-bit Debugging

Chapter 13 Postmortem Debugging

Chapter 14 Power Tools

Chapter 15 Windows Vista Fundamentals

Appendix A Application Verifier Test Settings

Pro WPF: Windows Presentation Foundation in .NET 3.0 Matthew MacDonald  
* * * * *
More Details

The Microsoft Windows Presentation Foundation (formerly code-named "Avalon") is a key part of .NET 3.0 and provides the foundation for building applications and high-quality user experiences in Windows Vista. WPF blends together application user interface, documents, and media content, while exploiting the full power of your computer.

WPF functionality extends support for Tablet PCs and other forms of input device, and provides a more modern imaging and printing pipeline. It also provides accessibility and UI automation infrastructure, data-driven UI and visualization, and even integration points for weaving the application experience into the Windows shell.

Pro WPF: Windows Presentation Foundation in .NET 3.0 covers WPF from installation to application design and implementation to deployment. One of the most detailed books on new WPF technology, it provides you with the no-nonsense, practical advice you need in order to build high-quality WPF applications quickly and easily. It also digs into the more advance aspects of WPF and how they relate to the other elements of the WinFX stack and the .NET Framework 2.0.

Topics covered include WPF basics: XAML, layout, control essentials, and data flowWPF applications: navigation, commands, localization, and deploymentAdvanced controls: custom controls, menus, toolbars, and treesWPF documents: text layout, printing, and document packagingGraphics and multimedia: drawing shapes, sound and video, animation, geometric transformations, and imaging

Google Web Toolkit Applications Ryan Dewsbury  
* * * * *
More Details

“Ryan clearly understands the GWT value proposition and how GWT integrates into a diverse web technology stack–and not just in a theoretical way. With the popularity of and, Ryan can speak with the authority of concrete success.”

–Bruce Johnson, creator of Google Web Toolkit

“This book distinguishes itself from other books on GWT in that it walks through the entire process of building several nontrivial GWT applications, not the toy applications that most books present.”

–R. Mark Volkmann, Object Computing, Inc.

“Google™ Web Toolkit Applications is an excellent resource for any GWT developer. Solutions to challenges commonly encountered in GWT are presented through the design and development of actual applications. The applications developed throughout the text demonstrate best practices from simple UI design all the way to custom code generation, and are presented with little pretext about the amount of Java knowledge a given developer may have. Advanced concepts are not withheld but are presented in a way that will be understood by both novice and seasoned developers alike. Good application development practices and proper Model View Controller design is reinforced throughout the book, nearly guaranteeing that the reader will come away a better programmer. “

–Jason Essington, Senior Web/Java Engineer, Green River Computing

“Dewsbury’s Google™ Web Toolkit Applications is a book for both experts and beginner programmers who want to discover this open source Java software development framework, as well as write Ajax applications. A very detailed book!”

–Massimo Nardone, Advisory IT Security Architect

Accelerate and Simplify Ajax Development with Google Web Toolkit

Get the edge you need to deliver exceptional user experiences with Google™ Web Toolkit Applications, a guidebook that provides web developers with core information and instructions for creating rich web applications. Whether you’re a developer who needs to build a high-performance front end for Java, PHP, or Ruby applications, or to integrate with external web services, this resource from expert Google Web Toolkit (GWT) developer Ryan Dewsbury delivers the in-depth coverage you’ll need.

In this valuable book, insider Ryan Dewsbury provides instructions for using the robust tool set and gets you on your way to creating first-class web applications by providing a comprehensive overview of GWT technology. In addition, he shares his “in-the-trenches” insights on

Building elegant and responsive user interfaces with Cascading Style Sheets and GWT’s Widgets and Panels

Creating seamless user experiences through asynchronous communication with HTTP, REST, JSON/JSONP, and RPC Interoperating with web standards–such as XML, RSS, and Atom–and web services–such as Google Maps, Amazon Books, Yahoo! Search, Flickr, and Blogger

Overcoming browser security restrictions, such as HTTP’s two-connection limit and the Same-Origin policy

Accelerating development, using software engineering, code generation, internationalization, application patterns, and Java tools

Deploying for optimal performance with resource compression and caching

Building five non-trivial applications: a gadget application with a rich drag-and-drop interface, a multi-search application that makes requests to many search engines, a blog editor application for managing entries across multiple blogs, a web-based instant messenger, and a database manager for a traditional web page

This practical guide to GWT introduces you to the technology; provides techniques, tips, and examples; and puts you on the road to delivering top-notch user experiences for your web applications.