# data[].attributes.name
Network Maintenance and Troubleshooting Guide

# data[].attributes.subtitle
Field Tested Solutions for Everyday Problems

# data[].attributes.description
Network Maintenance and Troubleshooting Guide
Field-Tested Solutions for Everyday Problems, Second Edition
Neal Allen

The 100% practical, real-world guide to anticipating, finding, and solving network problemsfast!

Real-life networks dont always behave by the book. Troubleshooting them requires practical intuition that normally comes only with experience. In this book, Fluke Networks Neal Allen brings together all that hard-won, hands-on insight: everything you need to discover whats really happening in your network, so you can anticipate and fix problems before users even notice them.

Writing for network technicians and administrators at all levels, Allen presents an approach to troubleshooting that has been proven in networks of all kinds, no matter how complex. He introduces indispensable triage and troubleshooting techniques for everything from copper and fiber cabling to IPv6, and presents unparalleled guidance on identifying and resolving problems at the MAC Layer. He illustrates his advice with diagrams, tables, and screen captures from Fluke Networks market-leading instruments. Throughout this book, Allen also offers practical summaries of each of todays core networking technologies, making it an ideal complement to any network certification study guide.

Coverage includes
Using the OSI model to more efficiently troubleshoot networks layer by layer Copper and fiber-optic cabling: theory, operation, and troubleshooting Media Access Control (MAC) Layer: Ethernet theory and operation Identifying and resolving problems related to IPv4 and IPv6 protocols Preventing problems before they occur Discovering device behavior Troubleshooting switches Using a protocol analyzer more successfully Creating network documentation that helps you more efficiently prevent and resolve problems
Road tested by thousands of Fluke Networks customers, this books first edition became the best-kept secret resource for sysadmins, netadmins, and support technicians fortunate enough to discover it. Now, Allen has thoroughly updated his classic for todays networks. If youre responsible for maintaining one of those networks, youll find this new Second Edition even more indispensable.

Neal Allen is a senior staff engineer in the Fluke Networks Technical Assistance Center (TAC) focusing on escalated problems. He has been involved in designing, installing, and troubleshooting networks for nearly 20 years. Allen has served on Interops trade show Network Operations Center (NOC) team since 1993, troubleshooting show-floor problems at the Las Vegas and Atlanta Interop trade shows, and helped support and troubleshoot the network for the 1996 Atlanta Olympic Games. His responsibilities currently include product feature specification and beta testing, remote and onsite problem solving, and providing training and sales support worldwide.

informit.com/aw

Cover design by Louisa Adair
Cover photography from Image Source / Getty Images

# data[].attributes.description
Best practices for managing projects in agile environmentsnow updated with new techniques for larger projects

Today, the pace of project management moves faster. Project management needs to become more flexible and far more responsive to customers. Using Agile Project Management (APM), project managers can achieve all these goals without compromising value, quality, or business discipline. In Agile Project Management, Second Edition, renowned agile pioneer Jim Highsmith thoroughly updates his classic guide to APM, extending and refining it to support even the largest projects and organizations.

Writing for project leaders, managers, and executives at all levels, Highsmith integrates the best project management, product management, and software development practices into an overall framework designed to support unprecedented speed and mobility. The many topics added in this new edition include incorporating agile values, scaling agile projects, release planning, portfolio governance, and enhancing organizational agility. Project and business leaders will especially appreciate Highsmiths new coverage of promoting agility through performance measurements based on value, quality, and constraints.

This editions coverage includes:
Understanding the agile revolutions impact on product development Recognizing when agile methods will work in project management, and when they wont Setting realistic business objectives for Agile Project Management Promoting agile values and principles across the organization Utilizing a proven Agile Enterprise Framework that encompasses governance, project and iteration management, and technical practices Optimizing all five stages of the agile project: Envision, Speculate, Explore, Adapt, and Close Organizational and product-related processes for scaling agile to the largest projects and teams Agile project governance solutions for executives and management The Agile Triangle: measuring performance in ways that encourage agility instead of discouraging it The changing role of the agile project leader

# data[].attributes.subtitle
Tips, Tricks, Tours, and Techniques to Guide Test Design

# data[].attributes.description
How to Find and Fix the Killer Software Bugs that Evade Conventional Testing
In Exploratory Software Testing, renowned software testing expert James Whittaker reveals the real causes of todays most serious, well-hidden software bugs--and introduces powerful new exploratory techniques for finding and correcting them.
Drawing on nearly two decades of experience working at the cutting edge of testing with Google, Microsoft, and other top software organizations, Whittaker introduces innovative new processes for manual testing that are repeatable, prescriptive, teachable, and extremely effective. Whittaker defines both in-the-small techniques for individual testers and in-the-large techniques to supercharge test teams. He also introduces a hybrid strategy for injecting exploratory concepts into traditional scripted testing. Youll learn when to use each, and how to use them all successfully.
Concise, entertaining, and actionable, this book introduces robust techniques that have been used extensively by real testers on shipping software, illuminating their actual experiences with these techniques, and the results theyve achieved. Writing for testers, QA specialists, developers, program managers, and architects alike, Whittaker answers crucial questions such as:

Why do some bugs remain invisible to automated testing--and how can I uncover them?
What techniques will help me consistently discover and eliminate show stopper bugs?
How do I make manual testing more effective--and less boring and unpleasant?
Whats the most effective high-level test strategy for each project?
Which inputs should I test when I cant test them all?
Which test cases will provide the best feature coverage?
How can I get better results by combining exploratory testing with traditional script or scenario-based testing?
How do I reflect feedback from the development process, such as code changes?

# data[].attributes.description
"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles."

--Guy Steele, Sun Fellow and coauthor of The JavaTM Language Specification

"I laughed, I cried, I threw up (my hands in admiration)."

--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group

How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you!

In the tradition of Effective JavaTM, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, JavaTM Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging.

Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference.

Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.

# data[].attributes.description
"Per Kroll and Philippe Kruchten are especially well suited to explain the RUP...because they have been the central forces inside Rational Software behind the creation of the RUP and its delivery to projects around the world."
--From the Foreword by Grady Booch
This book is a comprehensive guide to modern software development practices, as embodied in the Rational Unified Process, or RUP. With the help of this book's practical advice and insight, software practitioners will learn how to tackle challenging development projects--small and large--using an iterative and risk-driven development approach with a proven track record.
The Rational Unified Process Made Easy will teach you the key points involved in planning and managing iterative projects, the fundamentals of component design and software architecture, and the proper employment of use cases. All team members--from project managers to analysts, from developers to testers--will learn how to immediately apply the RUP to their work. You will learn that the RUP is a flexible, versatile process framework that can be tailored to suit the needs of development projects of all types and sizes.
Key topics covered include:
How to use the RUP to develop iteratively, adopt an architecture-centric approach, mitigate risk, and verify software quality Tasks associated with the four phases of the RUP: Inception, Elaboration, Construction, and Transition Roles and responsibilities of project managers, architects, analysts, developers, testers, and process engineers in a RUP project Incrementally adopting the RUP with minimal risk Common patterns for failure with the RUP--and how to avoid them Use this book to get quickly up to speed with the RUP, so you can easily employ the significant power of this process to increase the productivity of your team.

# data[].attributes.description
This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

The Parallel Programming Guide for Every Software Developer

From grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software.

That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer "think parallel"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world. Coverage includes:
Understanding the parallel computing landscape and the challenges faced by parallel developers Finding the concurrency in a software design problem and decomposing it into concurrent tasks Managing the use of data across tasks Creating an algorithm structure that effectively exploits the concurrency you've identified Connecting your algorithmic structures to the APIs needed to implement them Specific software constructs for implementing parallel programs Working with today's leading parallel programming environments: OpenMP, MPI, and Java
Patterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.

0321228111B08232004

# data[].attributes.author
Timothy G. Mattson, Beverly Sanders, Berna Massingill

# data[].attributes.subtitle
44 Tips to Improve Your Network Programs

# data[].attributes.description
Programming in TCP/IP can seem deceptively simple. Nonetheless, many network programmers recognize that their applications could be much more robust. Effective TCP/IP Programming is designed to boost programmers to a higher level of competence by focusing on the protocol suite's more subtle features and techniques. It gives you the know-how you need to produce highly effective TCP/IP programs.

In forty-four concise, self-contained lessons, this book offers experience-based tips, practices, and rules of thumb for learning high-performance TCP/IP programming techniques. Moreover, it shows you how to avoid many of TCP/IP's most common trouble spots. Effective TCP/IP Programming offers valuable advice on such topics as:
Exploring IP addressing, subnets, and CIDR Preferring the sockets interface over XTI/TLI Using two TCP connections Making your applications event-driven Using one large write instead of multiple small writes Avoiding data copying Understanding what TCP reliability really means Recognizing the effects of buffer sizes Using tcpdump, traceroute, netstat, and ping effectively Numerous examples demonstrate essential ideas and concepts. Skeleton code and a library of common functions allow you to write applications without having to worry about routine chores.

Through individual tips and explanations, you will acquire an overall understanding of TCP/IP's inner workings and the practical knowledge needed to put it to work. Using Effective TCP/IP Programming, you'll speed through the learning process and quickly achieve the programming capabilities of a seasoned pro.

# data[].attributes.description
THE BRAND GAP is the first book to present a unified theory of brand-building. Whereas most books on branding are weighted toward either a strategic or creative approach, this book shows how both ways of thinking can unite to produce a charismatic branda brand that customers feel is essential to their lives. In an entertaining two-hour read youll learn:

the new definition of brand
the five essential disciplines of brand-building
how branding is changing the dynamics of competition
the three most powerful questions to ask about any brand
why collaboration is the key to brand-building
how design determines a customers experience
how to test brand concepts quickly and cheaply
the importance of managing brands from the inside
220-word brand glossary

From the back cover:
Not since McLuhans THE MEDIUM IS THE MESSAGE has a book compressed so many ideas into so few pages. Using the visual language of the boardroom, Neumeier presents the first unified theory of brandinga set of five disciplines to help companies bridge the gap between brand strategy and customer experience. Those with a grasp of branding will be inspired by the new perspectives they find here, and those who would like to understand it better will suddenly get it. This deceptively simple book offers everyone in the company access to the most powerful business tool since the spreadsheet.

# data[].attributes.name
Facts and Fallacies of Software Engineering

# data[].attributes.description
The practice of building software is a new kid on the block technology. Though it may not seem this way for those who have been in the field for most of their careers, in the overall scheme of professions, software builders are relative newbies.
In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about.
Theres a problem with those factsand, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading Facts and Fallacies of Software Engineering, you may experience moments of Oh, yes, I had forgotten that, alongside some Is that really true? thoughts.
The author of this book doesnt shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called the premier curmudgeon of software practice.
These facts and fallacies are fundamental to the software building fieldforget or neglect them at your peril!

# data[].attributes.description
I spend much time helping organizations capture requirements and even more time helping them recover from not capturing requirements. Many of them have gone through some motions regarding requirements as if they were sleepworking. Its time to wake up and do it rightand this book is going to be their alarm clock.
Jerry Weinberg, author of numerous books on productivity enhancement In todays complex, fast-paced software development environment, collaborationthe intense peer-to-peer conversations that result in products, decisions, and knowledge sharingis absolutely essential to success. But all too often, attempts to collaborate degenerate into agonizing meetings or ineffectual bull sessions. Ellen's wonderful book will help you bridge the gapturning the agony of meetings into the ecstasy of effective collaboration.
Jim Highsmith, a pioneer in adaptive software development methods Requirements by Collaboration presents a wealth of practical tools and techniques for facilitating requirements development workshops. It is suitableno, essential readingfor requirements workshop facilitators. It will help both technical people and customer representatives participate in these critical contributions to software success.
Karl Wiegers, Principal Consultant, Process Impact, author of Software Requirements The need for this particular book, at this particular time, is crystal clear. We have entered a new age where software development must be viewed as a form of business problem solving. That means direct user participation in developing requirements, or more accurately, in jointly working the business problem. That, in turn, means facilitated sessions. In this book, Ellen Gottesdiener provides a wealth of practical ideas for ensuring that you have exactly the right stuff for this all-important area of professional art.

Ronald G. Ross, Principal, Business Rule Solutions, LLC, Executive Editor, www.BRCommunity.com Gottesdieners years of software development experience coupled with her straight-forward writing style make her book a perfect choice for either a senior developer or a midlevel project manager. In addition to her technical experience, her knowledge of group dynamics balance the book by educating the reader on how to manage conflict and personality differences within a requirements teamsomething that is missing from most requirements textbooks...It is a required handbook that will be referred to again and again.
Kay Christian, ebusiness Consultant, Conifer, Colorado Requirements by Collaboration is a must read for any system stakeholder. End users and system analysts will learn the significant value they can add to the systems development process. Management will learn the tremendous return they may receive from making a modest time/people investment in facilitated sessions. Facilitators will discover ways to glean an amazing amount of high-quality information in a relatively brief time.
Russ Schwartz, Computer System Quality Consultant, Global Biotechnology Firm In addition to showing how requirements are identified, evaluated, and confirmed, Ellen provides important guidance based on her own real-world experience for creating and managing the workshop environment in which requirements are generated. This book is an engaging and invaluable resource for project teams and sponsors, both business and IT, who are committed to achieving results in the most productive manner possible.
Hal Thilmony, Senior Manager, Business Process Improvement (Finance), CiscoSystems, Inc. Project managers should read this book for assistance with planning the requirements process. Experienced facilitators will enrich their knowledge. New facilitators can use this book to get them up to speed and become more effective in less time.
Rob Stroober, Competence Development Manager and Project Manager, Deloitte &Touche Consultdata, The Netherlands While many books discuss the details of software requirement artifacts (for example, use cases), Ellens new book zeros in on effective workshop techniques and tools used to gather the content of these artifacts. As a pioneer in requirements workshops, she shares her real-life experiences in a comprehensive and easy-to-read book with many helpful examples and diagrams.
Bill Bird, Aera Energy LLC Requirements by Collaboration is absolutely full of guidance on the most effective ways to use workshops in requirements capture. This book will help workshop owners and facilitators to determine and gain agreement on a sound set of requirements, which will form a solid foundation for the development work that is to follow.
Jennifer Stapleton, Software Process Consultant and author of DSDM: The Methodin Practice This book provides an array of techniques within a clear, structured process, along with excellent examples of how and when to use them. Its an excellent, practical, and really useful handbook written by a very experienced author!
Jean-Anne Kirk, Director DSDM Consortium and IAF Professional Development Ellen has written a detailed, comprehensive, and practical handbook for facilitating groups in gathering requirements. The processes she outlines give the facilitator tools to bring together very different perspectives from stakeholders elegantly and with practical, useable results.
Jo Nelson, Principal, ICA Associates, Inc., Chair, IAF (2001-2002) Requirements by Collaboration: Workshops for Defining Needs focuses on the human side of software development--how well we work with our customers and teammates. Experience shows that the quality and degree of participation, communication, respect, and trust among all the stakeholders in a project can strongly influence its success or failure. Ellen Gottesdiener points out that such qualities are especially important when defining user requirements and she shows in this book exactly what to do about that fact.
Gottesdiener shows specifically how to plan and conduct requirements workshops. These carefully organized and facilitated meetings bring business managers, technical staff, customers, and users into a setting where, together, they can discover, evolve, validate, verify, and agree upon their product needs. Not only are their requirements more effectively defined through this collaboration, but the foundation is laid for good teamwork throughout the entire project.
Other books focus on how to build the product right. Requirements by Collaboration focuses instead on what must come first--the right product to build.

# data[].attributes.subtitle
Facilitation Skills for Software Project Leaders

# data[].attributes.description
Collaboration Explained is a deeply pragmatic book that helps agile practitioners understand and manage complex organizational and team dynamics. As an agile coach, Ive found the combination of straightforward advice and colorful anecdotes to be invaluable in guiding and focusing interactions with my teams. Jeans wealth of experience is conveyed in a carefully struck balance of reference guides and prose, facilitating just-in-time learning in the agile spirit. All in all, a superb resource for building stronger teams thats fit for agile veterans and neophytes alike.
Arlen Bankston, Lean Agile Practice Manager, CC Pace

If Agile is the new what, then surely Collaboration is the new how. There are many things I really like about Jeans new book. Right at the top of the list is that I dont have to make lists of ideas for collaboration and facilitation anymore. Jean has it all. Not only does she have those great ideas for meetings, retrospectives, and team decision-making that I need to remember, but the startling new and thought-provoking ideas are there too. And the stories, the stories, the stories! The best way to transfer wisdom. Thanks, Jean!
Linda Rising, Independent Consultant

The Hands-On Guide to Effective Collaboration in Agile Projects

To succeed, an agile project demands outstanding collaboration among all its stakeholders. But great collaboration doesnt happen by itself; it must be carefully planned and facilitated throughout the entire project lifecycle. Collaboration Explained is the first book to bring together proven, start-to-finish techniques for ensuring effective collaboration in any agile software project.

Since the early days of the agile movement, Jean Tabaka has been studying and promoting collaboration in agile environments. Drawing on her unsurpassed experience, she offers clear guidelines and easy-to-use collaboration templates for every significant project event: from iteration and release planning, through project chartering, all the way through post-project retrospectives.

Tabakas hands-on techniques are applicable to every leading agile methodology, from Extreme Programming and Scrum to Crystal Clear. Above all, they are practical: grounded in a powerful understanding of the technical, business, and human challenges you face as a project manager or development team member.

Build collaborative software development cultures, leaders, and teams
Prepare yourself to collaborateand prepare your team
Define clear roles for each participant in promoting collaboration
Set your collaborative agenda
Master tools for organizing collaboration more efficiently
Run effective collaborative meetingsincluding brainstorming sessions
Promote better small-group and pair-programming collaboration
Get better information, and use it to make better decisions
Use non-abusive conflict to drive positive outcomes
Collaborate to estimate projects and schedules more accurately
Strengthen collaboration across distributed, virtual teams
Extend collaboration from individual projects to the entire development organization

# data[].attributes.subtitle
A New Perspective on Object-Oriented Design

# data[].attributes.description
"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examplesthis has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development."
Bruce Eckel
"...I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. Design Patterns Explained complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such as UML Distilled and the more advanced patterns books."
James Noble
Leverage the quality and productivity benefits of patternswithout the complexity! Design Patterns Explained, Second Edition is the field's simplest, clearest, most practical introduction to patterns. Using dozens of updated Java examples, it shows programmers and architects exactly how to use patterns to design, develop, and deliver software far more effectively.
You'll start with a complete overview of the fundamental principles of patterns, and the role of object-oriented analysis and design in contemporary software development. Then, using easy-to-understand sample code, Alan Shalloway and James Trott illuminate dozens of today's most useful patterns: their underlying concepts, advantages, tradeoffs, implementation techniques, and pitfalls to avoid. Many patterns are accompanied by UML diagrams.
Building on their best-selling First Edition, Shalloway and Trott have thoroughly updated this book to reflect new software design trends, patterns, and implementation techniques. Reflecting extensive reader feedback, they have deepened and clarified coverage throughout, and reorganized content for even greater ease of understanding. New and revamped coverage in this edition includes
Better ways to start "thinking in patterns" How design patterns can facilitate agile development using eXtreme Programming and other methods How to use commonality and variability analysis to design application architectures The key role of testing into a patterns-driven development process How to use factories to instantiate and manage objects more effectively The Object-Pool Patterna new pattern not identified by the "Gang of Four" New study/practice questions at the end of every chapter Gentle yet thorough, this book assumes no patterns experience whatsoever. It's the ideal "first book" on patterns, and a perfect complement to Gamma's classic Design Patterns. If you're a programmer or architect who wants the clearest possible understanding of design patternsor if you've struggled to make them work for youread this book.

# data[].attributes.description
This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

In 1994, Design Patterns changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, Refactoring revolutionized design by introducing an effective process for improving code. With the highly anticipated Refactoring to Patterns, Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.

This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.

Coverage includes:
A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this books refactorings General information and new insights about patterns and refactoring Detailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same patternand when to use each Practical ways to get started even if you have little experience with patterns or refactoring
Refactoring to Patterns reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether youre focused on legacy or greenfield development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively.

# data[].attributes.subtitle
Using and Extending LINQ to Objects and Parallel LINQ (PLINQ)

# data[].attributes.description
Your Complete Example-Rich Guide to Using and Extending LINQ to Objects and PLINQ

Using LINQ to Objects, .NET developers can write queries over object collections with the same deep functionality that was once available only with SQL and relational databases. Now, for the first time, developers have a comprehensive and authoritative guide to applying LINQ to Objects in real-world software. Microsoft MVP Troy Magennis introduces state-of-the-art techniques for working with in-memory collections more elegantly and efficientlyand writing code that is exceptionally powerful, robust, and flexible.

Drawing on his unsurpassed experience coding software using LINQ and hosting the popular HookedOnLINQ.com site, Magennis presents timely, realistic solutions to a wide spectrum of development challenges, such as combining data from multiple sources, and achieving optimal performance with extremely large sets of data. Youll begin with brief quick-starts that walk you through LINQ to Objects key features and query syntax. Next, youll drill down to detailed techniques for applying and extending these features with C# 4.0 and C# 3.0including code examples that reflect the realities of production development.

Coverage includes
Writing basic LINQ queries with C#: filtering, projecting, and sorting data from in-memory collections Mastering advanced techniques for grouping and joining data and understanding the performance implications of each technique Taking full advantage of LINQs standard query operators Creating custom query operators that follow best practices for coding patterns and error handling Writing more fluent, readable LINQ queries with C# 4.0s language enhancements, including the new dynamic features Combining LINQ with COM-Interop to access data sources such as Microsoft Excel Using Parallel LINQ to Objects (PLINQ) to optimize queries for multi-core processors, and how to build custom parallel query operators Integrating the best LINQ to Objects patterns into your day-to-day coding

# data[].attributes.name
Practical Guide to UNIX for Mac OS X Users, A

# data[].attributes.description
The Most Useful UNIX Guide for Mac OS X Users Ever, with Hundreds of High-Quality Examples!
Beneath Mac OS X's stunning graphical user interface (GUI) is the most powerful operating system ever created: UNIX. With unmatched clarity and insight, this book explains UNIX for the Mac OS X usergiving you total control over your system, so you can get more done, faster. Building on Mark Sobell's highly praised A Practical Guide to the UNIX System, it delivers comprehensive guidance on the UNIX command line tools every user, administrator, and developer needs to mastertogether with the world's best day-to-day UNIX reference.
This book is packed with hundreds of high-quality examples. From networking and system utilities to shells and programming, this is UNIX from the ground upboth the "whys" and the "hows"for every Mac user. You'll understand the relationships between GUI tools and their command line counterparts. Need instant answers? Don't bother with confusing online "manual pages": rely on this book's example-rich, quick-access, 236-page command reference!
Don't settle for just any UNIX guidebook. Get one focused on your specific needs as a Mac user!
A Practical Guide to UNIX for Mac OS X Users is the most useful, comprehensive UNIX tutorial and reference for Mac OS X and is the only book that delivers
Better, more realistic examples covering tasks you'll actually need to perform Deeper insight, based on the authors' immense knowledge of every UNIX and OS X nook and cranny Practical guidance for experienced UNIX users moving to Mac OS X Exclusive discussions of Mac-only utilities, including plutil, ditto, nidump, otool, launchctl, diskutil, GetFileInfo, and SetFile Techniques for implementing secure communications with ssh and scpplus dozens of tips for making your OS X system more secure Expert guidance on basic and advanced shell programming with bash and tcsh Tips and tricks for using the shell interactively from the command line Thorough guides to vi and emacs designed to help you get productive fast, and maximize your editing efficiency In-depth coverage of the Mac OS X filesystem and access permissions, including extended attributes and Access Control Lists (ACLs) A comprehensive UNIX glossary Dozens of exercises to help you practice and gain confidence And much more, including a superior introduction to UNIX programming tools such as awk, sed, otool, make, gcc, gdb, and CVS

# data[].attributes.subtitle
Programming Smart Client Data Applications with .NET

# data[].attributes.description
This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.
Brian Noyes writing style easily captures your attention as he elaborates on all aspects of data binding in his book. He has a refreshingly clear and crisp delivery as he starts each chapter with a simple tour of each topic, and then leads you into practical concerns for sound practices and extensibility opportunities. Most importantly, as Brian explains approaches to data-binding architecture, patterns of usage, the value of data sets, binding controls and the rest, he always describes how he reaches his recommendations on the topic. This book is perfect for newcomers to .NET 2.0, but also for those that have some experience. Anyone who cares about data in their applications (okay, that should be almost everyone) is guaranteed to learn something new and useful by reading Brians book.
Michele Leroux Bustamante, IDesign chief architect, Microsoft regional director, and MVP Brian has saved me a lot of time. Im writing The Hitchhikers Guide to Visual Studio and SQL Server 2005 (7th Edition) and Im not going to have to cover data binding nearly as deeply because Brian has done it for me. His book gets right to the meat of the subject and makes data binding look easy. I was also pleased to see that the book focuses on the misunderstood and under-applied Windows Forms architecture. Its a must-read for anyone trying to make their application more interactive and to leverage the new Visual Studio 2005 technology. Im planning to point my readers to this resource when they need an in-depth treatment of data binding.
William Vaughn, president, Beta V Corporation Data binding has finally come of age in Windows applications. Back in the Visual Studio 6.0 days, I ignored data binding completely and wrote my own repetitive code to encapsulate my business logic. With Visual Studio 2005, we finally have a robust and compelling data-binding technology. To ignore it today would make you inefficient and put you behind the curve. Brian delivers a clear and concise discussion of a core topic of development for Windows today. A combination of an easy-to-follow conversational yet technical tone, excellent examples, and solid explanations make this a must-read for any developer writing for Windows or learning to write for Windows.
Stephen Forte, chief technical officer, Corzen Inc. This book provides a clear, readable, and in-depth treatment of data binding, with detailed discussions of best practices in the presentation and use of data. Brian communicates his knowledge on the mechanics of data binding to give the low-level understanding that makes all the difference when building sophisticated applications and troubleshooting difficult problems. Effective data binding can enormously reduce the amount of code in your applications and will allow new levels of sophistication in your development. Read this book.
Jonathan Cogley, chief executive officer, Thycotic, ASPInsider, and C# MVP The .NET Framework 2.0, Visual Studio .NET 2005, and Windows Forms 2.0 incorporate the most powerful data-binding platform yet, and absolutely need a book like this to expose it. Brians extensive data-binding knowledge and experience shine through as he comprehensively explores its many facets, starting with the fundamentals before tackling a wide variety of real-world scenarios. Ive always thought a data-binding book was necessary, and Im glad Brian found the time to write his.
Michael Weinhardt, freelance author and application developer Data Binding with Windows Forms 2.0 earns a gold star and a prized place in my development book library. Brian is an exceptional teacher of technology, best practices, and technique. He continues to educate at every presentation I attend; his book carries that quality to paper. I found this book to be highly informative and full of all the important steps and examples necessary to learn this technology. In this book, Brian demonstrates a firm grasp on the concepts and I really enjoy his efforts to promote best practices at every chance. Definitively a cover-to-cover read.
Randy Hayes, president, Expert Network Solutions, Inc. Brians direct and well-organized presentation makes this much misunderstood topic finally understandable.
Sahil Malik, author of Pro ADO.NET 2.0 and C# MVP
Data binding is the most important part of many business applicationsand one of the most difficult things to understand. Data Binding with Windows Forms 2.0 is the first book to focus on this crucial area of development. It will quickly get you up to speed on binding data sources to Windows Forms components. The book contains clear examples in C# that work with SQL Server 2000 and SQL Server 2005. Visual Basic .NET examples are available on the books Web site.

Brian Noyes, leading consultant and speaker on .NET programming, teaches you both the theory and practice of data binding and provides numerous samples ready to run in Visual Studio 2005.

From his in-depth coverage, youll learn how to
Use Visual Studio 2005 to generate a data-bound application from a database Use the new Visual Studio 2005 typed data set designer, and how and why to use typed data sets and typed data adapters Perform simple and complex binding of data to controls, and how to use the .NET 2.0 BindingSource Use the Binding object for simple binding with automatic formatting, and how to handle binding events Generate bound controls with the Visual Studio Designer, and how to use Data Sources Present data with the new DataGridView control, and how to implement advanced features of the DataGridView Implement custom data-bound controls in Windows Forms Create custom business objects and collections that are suitable for use in data binding Implement validation and error handling at the Windows Forms and data-binding levels Implement data binding with ASP.NET 2.0 and the upcoming Windows Presentation Foundation (Avalon) technologies

# data[].attributes.subtitle
A Hands-On Guide to Audio Programming for Mac and iOS

# data[].attributes.description
Audio can affect the human brain in the most powerful and profound ways. Using Apples Core Audio, you can leverage all that power in your own Mac and iOS software, implementing features ranging from audio capture to real-time effects, MP3 playback to virtual instruments, web radio to VoIP support. The most sophisticated audio programming system ever created, Core Audio is not simple. In Learning Core Audio, top Mac programming author Chris Adamson and legendary Core Audio expert Kevin Avila fully explain this challenging framework, enabling experienced Mac or iOS programmers to make the most of it. In plain language, Adamson and Avila explain what Core Audio can do, how it works, and how it builds on the natural phenomena of sound and the human language of audio. Next, using crystal-clear code examples, they guide you through recording, playback, format conversion, Audio Units, 3D audio MIDI connectivity, and overcoming unique challenges of Core Audio programming for iOS. Coverage includes: mastering Core Audios surprising style and conventions; recording and playback with Audio Queue; synthesizing audio; perform effects on audio streams; capturing from the mic; mixing multiple streams; managing file streams; converting formats; creating 3D positional audio; using Core MIDI on the Mac; leveraging your Cocoa and Objective-C expertise in Core Audios C-based environment, and much more. When youve mastered the black arts of Core Audio, you can do some serious magic. This book will transform you from an acolyte into a true Core Audio wizard.

# data[].attributes.name
Algorithms in Java, Parts 1-4, Portable Documents

# data[].attributes.description
This edition of Robert Sedgewick's popular work provides current and comprehensive coverage of important algorithms for Java programmers. Michael Schidlowsky and Sedgewick have developed new Java implementations that both express the methods in a concise and direct manner and provide programmers with the practical means to test them on real applications.

Many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. The third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 400,000 programmers!

This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. Although the substance of the book applies to programming in any language, the implementations by Schidlowsky and Sedgewick also exploit the natural match between Java classes and abstract data type (ADT) implementations.

Highlights
Java class implementations of more than 100 important practical algorithms Emphasis on ADTs, modular programming, and object-oriented programming Extensive coverage of arrays, linked lists, trees, and other fundamental data structures Thorough treatment of algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT implementations (search algorithms) Complete implementations for binomial queues, multiway radix sorting, randomized BSTs, splay trees, skip lists, multiway tries, B trees, extendible hashing, and many other advanced methods Quantitative information about the algorithms that gives you a basis for comparing them More than 1,000 exercises and more than 250 detailed figures to help you learn properties of the algorithms
Whether you are learning the algorithms for the first time or wish to have up-to-date reference material that incorporates new programming styles with classic and new algorithms, you will find a wealth of useful information in this book.

# data[].attributes.description
&>The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming.
Byte, September 1995

I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.
Charles Long

If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing.
Bill Gates

It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.
Jonathan Laventhol

This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structuresthe representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design. Dozens of simple and important algorithms and techniques have been added to those of the previous edition. The section on mathematical preliminaries has been extensively revised to match present trends in research.

Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP),http://msp.org

# data[].attributes.subtitle
Concepts, Tools, and Techniques from Boost and Beyond, Portable Documents

# data[].attributes.description
C++ Template Metaprogramming sheds light on the most powerful idioms of today's C++, at long last delivering practical metaprogramming tools and techniques into the hands of the everyday programmer.
A metaprogram is a program that generates or manipulates program code. Ever since generic programming was introduced to C++, programmers have discovered myriad "template tricks" for manipulating programs as they are compiled, effectively eliminating the barrier between program and metaprogram. While excitement among C++ experts about these capabilities has reached the community at large, their practical application remains out of reach for most programmers. This book explains what metaprogramming is and how it is best used. It provides the foundation you'll need to use the template metaprogramming effectively in your own work.
This book is aimed at any programmer who is comfortable with idioms of the Standard Template Library (STL). C++ power-users will gain a new insight into their existing work and a new fluency in the domain of metaprogramming. Intermediate-level programmers who have learned a few advanced template techniques will see where these tricks fit in the big picture and will gain the conceptual foundation to use them with discipline. Programmers who have caught the scent of metaprogramming, but for whom it is still mysterious, will finally gain a clear understanding of how, when, and why it works. All readers will leave with a new tool of unprecedented power at their disposalthe Boost Metaprogramming Library.

Note: CD materials are only available with the print edition.