| Search | About | Preferences | Interact | Help | |
| 150 million books. 1 search engine. | ||
› Find signed collectible books: 'About Face 2.0: The Essentials of Interaction Design'
"The following description is for the second edition of About Face. The 3rd Edtion, About Face 3 (ISBN 0470084111), is now available."
First published seven years ago-just before the World Wide Web exploded into dominance in the software world-About Face rapidly became a bestseller. While the ideas and principles in the original book remain as relevant as ever, the examples in About Face 2.0 are updated to reflect the evolution of the Web.
Interaction Design professionals are constantly seeking to ensure that software and software-enabled products are developed with the end-user's goals in mind, that is, to make them more powerful and enjoyable for people who use them. About Face 2.0 ensures that these objectives are met with the utmost ease and efficiency.
Alan Cooper (Palo Alto, CA) has spent a decade making high-tech products easier to use and less expensive to build-a practice known as "Interaction Design." Cooper is now the leader in this growing field. Mr. Cooper is also the author of two bestselling books that are widely considered indispensable texts. About Face: The Essentials of User Interface Design, intro-duced the first comprehensive set of practical design principles. The Inmates Are Running the Asylum explains how talented people and companies continually create aggravating high-tech products that fail to meet customer expectations.
Robert Reimann has spent the past 15 years pushing the boundaries of digital products as a designer, writer, lecturer, and consultant. He has led dozens of interaction design projects in domains including e-commerce, portals, desktop productivity, authoring environments, medical and scientific instrumentation, wireless, and handheld devices for startups and Fortune 500 clients alike. Joining Cooper in 1996, Reimann led the development and refinement of many goal-directed design methods described in About Face 2.0. He has lectured on these methods at major universities and to international industry audiences. He is a member of the advisory board of the UC Berkeley Institute of Design. [via]
More editions of About Face 2.0: The Essentials of Interaction Design:
› Find signed collectible books: 'About Face: The Essentials of User Interface Design'
An excellent book for anyone who wants to understand why so much software is so poorly designed -- and an even better book for anyone who wants to DO something about the problem. Must reading (and doing!) for programmers of any level. [via]
More editions of About Face: The Essentials of User Interface Design:

› Find signed collectible books: 'Access Database Design and Programming'
Access Database Design and Programming covers a lot of ground quickly but lucidly. Steven Roman begins with a description of general principles of database design, then describes the "relational algebra" that defines the meaning of such operations as unions and joins, introduces SQL syntax, and finally dives into the details of using VBA (Visual Basic for Applications) to write Access code. The result is a single book that can teach you all the basics of building database applications in Access. Portions of the book are heavy with logical equations whose effects can be hard to visualize, but Roman's judicious use of sample data makes it much easier to follow the operations being described. [via]
More editions of Access Database Design and Programming:
› Find signed collectible books: 'Agile Software Development: Principles, Patterns, and Practices'
Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application-from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts - showing the errors, blind alleys, and creative insights that occur throughout the software design process. The book covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.
[via]More editions of Agile Software Development: Principles, Patterns, and Practices:
› Find signed collectible books: 'Agile Web Development With Rails'
The definitive, Jolt-award winning guide to learning and using Rails is now in its Second Edition. Rails is a new approach to web-based application development that enables developers to create full-featured, sophisticated web-based applications using less code and less effort. Now programmers can get the job done right and still leave work on time.
NEW IN THE SECOND EDITION: The book has been updated to take advantage of all the new Rails 1.2 features. The sample application uses migrations, Ajax, features a REST interface, and illustrates new Rails features. There are new chapters on migrations, active support, active record, and action controller (including the new resources-based routing). The Web 2.0 and Deployment chapters have been completely rewritten to reflect the latest thinking. Now you can learn which environments are best for your style application, and see how Capistrano makes managing your site simple. All the remaining chapters have been extensively updated. Finally, hundreds of comments from readers of the first edition have been incorporated, making this book simply the best available.
Rails is a full-stack, open source web framework that enables you to create full-featured, sophisticated web-based applications with a twist...you can create a full Rails application using less code than the setup XML you'd need just to configure some other frameworks.
With this book, you'll learn how to use Rails Active Record to connect business objects and database tables. No more painful object-relational mapping. Just create your business objects and let Rails do the rest. You'll learn how to use the Action Pack framework to route incoming requests and render pages using easy-to-write templates and components. See how to exploit the Rails service frameworks to send emails, talk to web services, and interact dynamically with JavaScript applications running in the browser (the "Ajax" architecture).
You'll see how easy it is to deploy Rails. You'll be writing applications that work with your favorite database (MySQL, Oracle, Postgres, and more) in no time at all.
More editions of Agile Web Development With Rails:
› Find signed collectible books: 'Agile Web Development With Rails: A Pragmatic Guide'
Rails is a full-stack, open source web framework that enables you to create full-featured, sophisticated web-based applications, but with a twist... A full Rails application probably has less total code than the XML you'd need to configure the same application in other frameworks.
With this book you'll learn how to use ActiveRecord to connect business objects and database tables. No more painful object-relational mapping. Just create your business objects and let Rails do the rest. You'll learn how to use the Action Pack framework to route incoming requests and render pages using easy-to-write templates and components. See how to exploit the Rails service frameworks to send emails, implement web services, and create dynamic, user-centric web-pages using built-in Javascript and Ajax support. There are extensive chapters on testing, deployment, and scaling.
You'll see how easy it is to install Rails using your web server of choice (such as Apache or lighttpd) or using its own included web server. You'll be writing applications that work with your favorite database (MySQL, Oracle, Postgres, and more) in no time at all.
You'll create a complete online store application in the extended tutorial section, so you'll see how a full Rails application is developed---iteratively and rapidly.
Rails strives to honor the Pragmatic Programmer's "DRY Principle" by avoiding the extra work of configuration files and code annotations. You can develop in real-time: make a change, and watch it work immediately.
Forget XML. Everything in Rails, from templates to control flow to business logic, is written in Ruby, the language of choice for programmers who like to get the job done well (and leave work on time for a change).
Rails is the framework of choice for the new generation of Web 2.0 developers. Agile Web Development with Rails is the book for that generation, written by Dave Thomas (Pragmatic Programmer and author of Programming Ruby) and David Heinemeier Hansson, who created Rails.
More editions of Agile Web Development With Rails: A Pragmatic Guide:
› Find signed collectible books: 'Analysis Patterns: Reusable Object Models'
Patterns are higher-order designs that can be reused across projects and types of computer systems. Analysis Patterns: Reusable Object Models defines over 70 patterns, beginning with some from the business world, such as the Party and Accountability patterns, which define the players in organizations and whom they report to. Many of the other patterns are drawn from the health care industry and mainly show patterns of doctor-patient interactions.
The patterns for financial markets will probably be accessible for the majority of readers. Author Martin Fowler defines a Transaction pattern (and related patterns) as well as several patterns for the Accounting of Objects. He moves on to modeling stock markets with Portfolio, Quote, and Scenario patterns, which define how a price for a stock is determined for a given moment. Interestingly, he establishes patterns for Forward Contracts (for derivatives) as well as Options, and so takes on a complicated area in today's financial markets.
Fowler's considerable design experience in these fields is beneficial, as he is able to define each pattern in both text and software engineering diagrams. Only rarely does the author provide implementations of these designs and those that are furnished are done in Smalltalk, which makes this book more suitable for those who have experience in object design. [via]
More editions of Analysis Patterns: Reusable Object Models:
› Find signed collectible books: 'The Art of Interactive Design: A Euphonious and Illuminating Guide to Building Successful Software'
An understanding of what makes things interactive is key to the successful creation of websites, computer games, and software. In The Art of Interactive Design, Chris Crawford explains what interactivity is, how it works, why it's important, and how to design good software and websites that are truly interactive. Crawford's colloquial, conversational style makes it easy to grasp the fundamentals and the theoretical underpinnings of interactivity, as he discusses specific social and artistic issues.
More editions of The Art of Interactive Design: A Euphonious and Illuminating Guide to Building Successful Software:
› Find signed collectible books: 'The Art Of Project Management'
The Art of Project Management covers it all--from practical methods for making sure work gets done right and on time, to the mindset that can make you a great leader motivating your team to do their best. Reading this was like reading the blueprint for how the best projects are managed at Microsoft... I wish we always put these lessons into action!" --Joe Belfiore, General Manager, E-home Division, Microsoft Corporation
"Berkun has written a fast paced, jargon-free and witty guide to what he wisely refers to as the 'art' of project management. It's a great introduction to the discipline. Seasoned and new managers will benefit from Berkun's perspectives." --Joe Mirza, Director, CNET Networks (Cnet.com)
"Most books with the words 'project management' in the title are dry tomes. If that's what you are expecting to hear from Berkun's book, you will be pleasantly surprised. Sure, it's about project management. But it's also about creativity, situational problem-solving, and leadership. If you're a team member, project manager, or even a non-technical stakeholder, Scott offers dozens of practical tools and techniques you can use, and questions you can ask, to ensure your projects succeed." --Bill Bliss, Senior VP of product and customer experience, expedia.com
In The Art of Project Management, you'll learn from a veteran manager of software and web development how to plan, manage, and lead projects. This personal account of hard lessons learned over a decade of work in the industry distills complex concepts and challenges into practical nuggets of useful advice. Inspiring, funny, honest, and compelling, this is the book you and your team need to have within arms reach. It will serve you well with your current work, and on future projects to come.
Topics include:
More editions of The Art Of Project Management:
› Find signed collectible books: 'The Best Software Writing I'
The Best Software Writing I: Selected and Introduced by Joel Spolsky [Paperback] [via]
More editions of The Best Software Writing I:
› Find signed collectible books: 'The Business of Software: What Every Manager, Programmer, and Entrepreneur Must Know to Thrive and Survive in Good Times and Bad'
The world's leading expert on the global software industry and coauthor of the bestseller Microsoft Secrets reveals the inner workings of software giants like IBM, Microsoft, and Netscape and shows what it takes to create, develop, and manage a successful company -- in good times and bad -- in the most fiercely competitive business in the world.
In the $600 billion software industry it is the business, not the technology, that determines success or failure. This fact -- one that thousands of once glamorous start-ups have unhappily discovered for themselves -- is the well-documented conclusion of this enormously readable and revealing new book by Michael Cusumano, based on nearly twenty years of research and consulting with software producers around the world.
Cusumano builds on dozens of personal experiences and case studies to show how issues of strategy and organization are irrevocably linked with those of managing the technology and demonstrates that a thorough understanding of these issues is vital to success. At the heart of the book Cusumano poses seven questions that underpin a three-pronged management framework. He argues that companies must adopt one of three basic business models: become a products company at one end of the strategic spectrum, a services company at the other end, or a hybrid solutions company in between. The author describes the characteristics of the different models, evaluates their strengths and weaknesses, and shows how each is more or less appropriate for different stages in the evolution of a business as well as in good versus bad economic times. Readers will also find invaluable Cusumano's treatment of software development issues ranging from architecture and teams to project management and testing, as well as two chapters devoted to what it takes to create a successful software start-up. Highlights include eight fundamental guidelines for evaluating potential software winners and Cusumano's probing analysis, based on firsthand knowledge, of ten start-ups that have met with varying degrees of success.
The Business of Software is timely essential reading for managers, programmers, entrepreneurs, and others who follow the global software industry. [via]
More editions of The Business of Software: What Every Manager, Programmer, and Entrepreneur Must Know to Thrive and Survive in Good Times and Bad:
› Find signed collectible books: 'C Programming Language'
An indisputably classic computing text, Kernighan and Ritchie's The C Programming Language, 2nd Edition, is the standard reference for learning and using ANSI C. Written by the co-inventors of C, this concise tutorial has a well-deserved reputation for clarity and precision as it defines one of the most successful programming languages of all time. It's an essential reference, which will be useful for beginners and experienced programmers alike.
This masterful tour of C features concentrates on essential programming constructs, from the basics--such as data types, variables, operators and flow control--to more advanced topics. Short, effective programming samples are the rule here. (Many samples work with strings and text files). Along the way, the authors don't shy away from the thornier C topics. For example, when discussing pointers, they look at pointers to pointers and even pointers to functions. Later in the book, they offer useful code for a flexible memory allocation scheme and a binary tree. The text concludes with the formal specification for C and a compact listing of the functions in the C standard header files.
C is still a great first programming language, and its influence is felt in Java and C++, both of which support many programming constructs based on C, while adding support for objects. The C Programming Language is still an excellent reference to one of our most successful and efficient programming languages. It's a book that deserves a place on the bookshelf of any C/C++ developer, regardless of your experience with the language. --Richard Dragan, Amazon.com
Topics covered:
More editions of C Programming Language:
› Find signed collectible books: 'The C Programming Language: ANSI C Version'
An indisputably classic computing text, Kernighan and Ritchie's The C Programming Language, 2nd Edition, is the standard reference for learning and using ANSI C. Written by the co-inventors of C, this concise tutorial has a well-deserved reputation for clarity and precision as it defines one of the most successful programming languages of all time. It's an essential reference, which will be useful for beginners and experienced programmers alike.
This masterful tour of C features concentrates on essential programming constructs, from the basics--such as data types, variables, operators and flow control--to more advanced topics. Short, effective programming samples are the rule here. (Many samples work with strings and text files). Along the way, the authors don't shy away from the thornier C topics. For example, when discussing pointers, they look at pointers to pointers and even pointers to functions. Later in the book, they offer useful code for a flexible memory allocation scheme and a binary tree. The text concludes with the formal specification for C and a compact listing of the functions in the C standard header files.
C is still a great first programming language, and its influence is felt in Java and C++, both of which support many programming constructs based on C, while adding support for objects. The C Programming Language is still an excellent reference to one of our most successful and efficient programming languages. It's a book that deserves a place on the bookshelf of any C/C++ developer, regardless of your experience with the language. --Richard Dragan, Amazon.com
Topics covered:
More editions of The C Programming Language: ANSI C Version:

› Find signed collectible books: 'The C++ Programming Language'
More than three-quarters of a million programmers have benefited from this book in all of its editions Written by Bjarne Stroustrup, the creator of C++, this is the world's most trusted and widely read book on C++. For this special hardcover edition, two new appendixes on locales and standard library exception safety (also available at www.research.att.com/~bs/) have been added. The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components. For example: abstract classes as interfaces class hierarchies for object-oriented programming templates as the basis for type-safe generic software exceptions for regular error handling namespaces for modularity in large-scale software run-time type identification for loosely coupled systems the C subset of C++ for C compatibility and system-level work standard containers and algorithms standard strings, I/O streams, and numerics C compatibility, internationalization, and exception safety Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable. [via]
More editions of The C++ Programming Language:
› Find signed collectible books: 'The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary'
It may be foolish to consider Eric Raymond's recent collection of essays, The Cathedral and the Bazaar, the most important computer programming thinking to follow the Internet revolution. But it would be more unfortunate to overlook the implications and long-term benefits of his fastidious description of open-source software development considering the growing dependence businesses and economies have on emerging computer technologies.
The Cathedral and the Bazaar takes its title from an essay Raymond read at the 1997 Linux Kongress. The essay documents Raymond's acquisition, re-creation, and numerous revisions of an e-mail utility known as fetchmail. Raymond engagingly narrates the fetchmail development process while elaborating on the ongoing bazaar development method he uses with the help of volunteer programmers. The essay smartly spares the reader from the technical morass that could easily detract from the text's goal of demonstrating the efficacy of the open-source, or bazaar, method in creating robust, usable software.
Once Raymond has established the components and players necessary for an optimally running open-source model, he sets out to counter the conventional wisdom of private, closed-source software development. Like superbly written code, the author's arguments systematically anticipate their rebuttals. For programmers who "worry that the transition to open source will abolish or devalue their jobs," Raymond adeptly and factually counters that "most developer's salaries don't depend on software sale value." Raymond's uncanny ability to convince is as unrestrained as his capacity for extrapolating upon the promise of open-source development.
In addition to outlining the open-source methodology and its benefits, Raymond also sets out to salvage the hacker moniker from the nefarious connotations typically associated with it in his essay, "A Brief History of Hackerdom" (not surprisingly, he is also the compiler of The New Hacker's Dictionary). Recasting hackerdom in a more positive light may be a heroic undertaking in itself, but considering the Herculean efforts and perfectionist motivations of Raymond and his fellow open-source developers, that light will shine brightly. --Ryan Kuykendall [via]
More editions of The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary:
› Find signed collectible books: 'Code Complete'
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices-and hundreds of new code samples-illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking-and help you build the highest quality code.
Discover the timeless techniques and strategies that help you:
More editions of Code Complete:
› Find signed collectible books: 'Code Complete: A Practical Handbook of Software Construction'
Believed by many of our customers to be the best practical guide to writing commercial software, and Highly Recommended. [via]
More editions of Code Complete: A Practical Handbook of Software Construction:
› Find signed collectible books: 'Death March'
Death march projects are becoming increasingly common in the software industry. The symptoms are obvious: The project schedule, budget, and staff are about half of what is necessary for completion. The planned feature set is unrealistic. People are working 14 hours a day, six or seven days a week, and stress is taking its toll. The project has a high risk of failure, yet management is either blind to the situation or has no alternative. Why do these irrational projects happen, and what, other than pure idiocy, leads people to get involved in them?
Edward Yourdon has produced a wise and highly readable book on the entire death march phenomenon and the best way to steer through one. He takes a close look at the types of projects that often become death marches and the corporate politics and culture that typically produce them; Yourdon helps you examine your own motivations and those of corporate managers who enable death marches to take shape.
Much of Death March is about the human element of highly stressful projects. The author's plain-spoken observations on the dysfunctional organization--the Machiavellian politics, naive optimism, lust for power, fear, and sheer managerial stupidity that guide so many death marches--make for a refreshing change from other project management books. You'll also find much practical advice to help you survive, everything from negotiating with upper management to breathing life into faltering projects. He'll even help you determine if you should look for another job.
If you've ever worked in a death march situation or been a client of a company addicted to death march management, this book will help you understand what happened. More importantly, it will help you prepare for future encounters with death marches. Death March is highly recommended for anyone involved in software development. [via]
More editions of Death March:
› Find signed collectible books: 'Death March: The Complete Software Developer's Guide to Surviving "Mission Impossible" Projects'
Death march projects are becoming increasingly common in the software industry. The symptoms are obvious: The project schedule, budget, and staff are about half of what is necessary for completion. The planned feature set is unrealistic. People are working 14 hours a day, six or seven days a week, and stress is taking its toll. The project has a high risk of failure, yet management is either blind to the situation or has no alternative. Why do these irrational projects happen, and what, other than pure idiocy, leads people to get involved in them?
Edward Yourdon has produced a wise and highly readable book on the entire death march phenomenon and the best way to steer through one. He takes a close look at the types of projects that often become death marches and the corporate politics and culture that typically produce them; Yourdon helps you examine your own motivations and those of corporate managers who enable death marches to take shape.
Much of Death March is about the human element of highly stressful projects. The author's plain-spoken observations on the dysfunctional organization--the Machiavellian politics, naive optimism, lust for power, fear, and sheer managerial stupidity that guide so many death marches--make for a refreshing change from other project management books. You'll also find much practical advice to help you survive, everything from negotiating with upper management to breathing life into faltering projects. He'll even help you determine if you should look for another job.
If you've ever worked in a death march situation or been a client of a company addicted to death march management, this book will help you understand what happened. More importantly, it will help you prepare for future encounters with death marches. Death March is highly recommended for anyone involved in software development. [via]
More editions of Death March: The Complete Software Developer's Guide to Surviving "Mission Impossible" Projects:
› Find signed collectible books: 'Design Patterns: Elements of Reusable Object-Oriented Software'
Published in 1995, design patterns: elements of reusable object-oriented software has elicited a great deal of praise from the press and readers. The 23 patterns contained in the book have become an essential resource for anyone developing reusable software designs. In response to a great number of requests from readers of the book and from the object-oriented community as a whole, these designs patterns, along with the entire text of the book, are being made available on cd. This electronic version will enable students to install the patterns directly onto a computer and create an architecture for using and building reusable components. Produced in html format, the cd is heavily cross-referenced with numerous links to the online text [via]
More editions of Design Patterns: Elements of Reusable Object-Oriented Software:
› Find signed collectible books: 'Documenting Software Architectures: Views and Beyond'
Architecture is crucial to the success of any large software system -- but even a superb architecture will fail if it isn't communicated well. Now, there's a language- and notation-independent guide to capturing architecture so it can be used successfully by every analyst, software designer, and developer. The authors review the diverse goals and uses of software architecture documentation, providing documentation strategies for several common scenarios. They identify the basic unit of software architecture documentation: the viewtype, which specifies the type of information to be provided in an architectural view. For each viewtype -- Modules, Component-and-Connectors, and Allocation -- they offer detailed guidance on documenting what really matters. Next, they demonstrate how to package architecture documentation in coherent, usable form: augmenting architectural views with documentation of interfaces and behavior; accounting for architectural variability and dynamic systems; and more. [via]
More editions of Documenting Software Architectures: Views and Beyond:

› Find signed collectible books: 'Don't Make Me Think: A Common Sense Approach To The Web Usability'
Usability design is one of the most important though often least attractive tasks for a Web developer. In Don't Make Me Think, author Steve Krug lightens up the subject with good humour and excellent to-the-point examples.
The title of the book is its chief personal design premise. All of the tips, techniques and examples presented within it revolve around users being able to surf merrily through a well-designed site with minimal cognitive strain. Readers will quickly come to agree with many of the book's assumptions. For example, "We don't read pages--we scan them" and, "We don't figure out how things work--we muddle through". Getting to grips with such hard facts sets the stage for Web design that then produces top-notch sites.
Using an attractive mix of full-colour screen shots, cute cartoons and diagrams, and informative sidebars, the book keeps your attention and drives home some crucial points. Much of the content is devoted to proper use of conventions and content layout, and the "before and after" examples are superb. Topics such as the wise use of rollovers and usability testing are covered using a consistently practical approach.
This is the type of book you can blow through in a couple evenings. But despite its conciseness, it will give you an expert's ability to judge Web design. You'll never form a first impression of a site in the same way again. --Stephen W Plain [via]
More editions of Don't Make Me Think!: A Common Sense Approach to Web Usability:
› Find signed collectible books: 'Dynamics of Software Development'
More editions of Dynamics of Software Development:
› Find signed collectible books: 'Eric Sink on the Business of Software'
Eric Sink on the Business of Software is a selection of the best and most popular essays from the author's website. This insightful collection of essays explore the business concerns that programmers face during the course of their careersparticularly those programmers who are small independent software vendors.
Sink also covers issues like starting your own business, and then performing the hiring, marketing, and finances in a style that programmers understand, sprinkled with a touch of humor.
More editions of Eric Sink on the Business of Software:

› Find signed collectible books: 'Excel Hacks'
More editions of Excel Hacks:
› Find signed collectible books: 'Extreme Programming Explained: Embrace Change'
In this second edition of Extreme Programming Explained, Kent Beck organizes and presents five years worth of experiences, growth, and change revolving around XP. If you are seriously interested in understanding how you and your team can start down the path of improvement with XP, you must read this book.
Francesco Cirillo, Chief Executive Officer, XPLabs S.R.L.
The first edition of this book told us what XP wasit changed the way many of us think about software development. This second edition takes it farther and gives us a lot more of the why of XP, the motivations and the principles behind the practices. This is great stuff. Armed with the what and the why, we can now all set out to confidently work on the how: how to run our projects better, and how to get agile techniques adopted in our organizations.
Dave Thomas, The Pragmatic Programmers LLC
This book is dynamite! It was revolutionary when it first appeared a few years ago, and this new edition is equally profound. For those who insist on cookbook checklists, theres an excellent chapter on primary practices, but I urge you to begin by truly contemplating the meaning of the opening sentence in the first chapter of Kent Becks book: XP is about social change. You should do whatever it takes to ensure that every IT professional and every IT managerall the way up to the CIOhas a copy of Extreme Programming Explained on his or her desk.
Ed Yourdon, author and consultant
XP is a powerful set of concepts for simplifying the process of software design, development, and testing. It is about minimalism and incrementalism, which are especially useful principles when tackling complex problems that require a balance of creativity and discipline.
Michael A. Cusumano, Professor, MIT Sloan School of Management, and author of The Business of Software
Extreme Programming Explained is the work of a talented and passionate craftsman. Kent Beck has brought together a compelling collection of ideas about programming and management that deserves your full attention. My only beef is that our profession has gotten to a point where such common-sense ideas are labeled extreme....
Lou Mazzucchelli, Fellow, Cutter Business Technology Council
If your organization is ready for a change in the way it develops software, theres the slow incremental approach, fixing things one by one, or the fast track, jumping feet first into Extreme Programming. Do not be frightened by the name, it is not that extreme at all. It is mostly good old recipes and common sense, nicely integrated together, getting rid of all the fat that has accumulated over the years.
Philippe Kruchten, UBC, Vancouver, British Columbia
Sometimes revolutionaries get left behind as the movement they started takes on a life of its own. In this book, Kent Beck shows that he remains ahead of the curve, leading XP to its next level. Incorporating five years of feedback, this book takes a fresh look at what it takes to develop better software in less time and for less money. There are no silver bullets here, just a set of practical principles that, when used wisely, can lead to dramatic improvements in software development productivity.
Mary Poppendieck, author of Lean Software Development: An Agile Toolkit
Kent Beck has revised his classic book based on five more years of applying and teaching XP. He shows how the path to XP is both easy and hard: It can be started with fewer practices, and yet it challenges teams to go farther than ever.
William Wake, independent consultant
With new insights, wisdom from experience, and clearer explanations of the art of Extreme Programming, this edition of Becks classic will help many realize the dream of outstanding software development.
Joshua Kerievsky, author of Refactoring to Patterns and Founder, Industrial Logic, Inc.
XP has changed the way our industry thinks about software development. Its brilliant simplicity, focused execution, and insistence on fact-based planning over speculation have set a new standard for software delivery.
David Trowbridge, Architect, Microsoft Corporation
Accountability. Transparency. Responsibility. These are not words that are often applied to software development.
In this completely revised introduction to Extreme Programming (XP), Kent Beck describes how to improve your software development by integrating these highly desirable concepts into your daily development process.
The first edition of Extreme Programming Explained is a classic. It won awards for its then-radical ideas for improving small-team development, such as having developers write automated tests for their own code and having the whole team plan weekly. Much has changed in five years. This completely rewritten second edition expands the scope of XP to teams of any size by suggesting a program of continuous improvement based on:
Whether you have a small team that is already closely aligned with your customers or a large team in a gigantic or multinational organization, you will find in these pages a wealth of ideas to challenge, inspire, and encourage you and your team members to substantially improve your software development.
You will discover how to:
You will also find many other concrete ideas for improvement, all based on a philosophy that emphasizes simultaneously increasing the humanity and effectiveness of software development.
Every team can improve. Every team can begin improving today. Improvement is possiblebeyond what we can currently imagine. Extreme Programming Explained, Second Edition, offers ideas to fuel your improvement for years to come.
More editions of Extreme Programming Explained: Embrace Change:
› Find signed collectible books: 'Hackers and Painters'
"The computer world is like an intellectual Wild West, in which you can shoot anyone you wish with your ideas, if you're willing to risk the consequences. " --from Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham
We are living in the computer age, in a world increasingly designed and engineered by computer programmers and software designers, by people who call themselves hackers. Who are these people, what motivates them, and why should you care?
Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.
Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls "an intellectual Wild West."
The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.
More editions of Hackers and Painters:
› Find signed collectible books: 'Head First Design Patterns'
You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. [via]
More editions of Head First Design Patterns:
› Find signed collectible books: 'In Search of Stupidity: Over 20 Years of High-tech Marketing Disasters'
In Search of Stupidity is National Lampoon meets Peter Drucker. It's a funny and well-written business book that takes a look at some of the most influential marketing and business philosophies of the last 20 years and, through the dark glass of hindsight, provides an educational and vastly entertaining examination of why they didn't work for many of the country's largest and best-known high-tech companies. Make no mistake: most of them did not work.
Marketing wizard Richard Chapman takes readers on a hilarious ride in this book, which is richly illustrated with cartoons and reproductions of many of the actual campaigns used at the time. Filled with personal anecdotes spanning Chapman's remarkable career (he was present at many now-famous meetings and events), In Search of Stupidity is a no-holds-barred look at the best of the worst hopeless marketing ideas and business decisions in the last 20 years of the technology industry.
[via]More editions of In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters:

› Find signed collectible books: 'The Inmates Are Running the Asylum'
More editions of The Inmates Are Running the Asylum:
› Find signed collectible books: 'The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity'
In this book about the darker side of technology's impact on our lives, Alan Cooper begins by explaining that unlike other devices throughout history, computers have a "meta function:" an unwanted, unforeseen option that users may accidentally invoke with what they thought was a normal keystroke. Cooper details many of these meta functions to explain his central thesis: programmers need to seriously reevaluate the many user-hostile concepts deeply embedded within the software development process.
Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or deprioritize lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays, "computers are hard, mysterious, unwieldy things." (An average user, Cooper asserts, who doesn't think that way or who has memorized all the esoteric commands and now lords it over others, has simply been desensitized by too many years of badly designed software.)
Cooper's writing style is often overblown, with a pantheon of cutesy terminology (i.e., "dancing bearware") and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: "How did you do that?" to which he writes, "I love stumping Bill!") More seriously, he is also unable to see beyond software development's importance--a sin he accuses programmers of throughout the book.
Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers, and what he calls "interaction designers" to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be "not to make anyone feel stupid." Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. --Jennifer Buckendorff [via]
More editions of The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity:
'Java in a Nutshell', fifth edition, covers all the extensive changes implicit in 5.0, the latest and greatest version of Java yet. Among the improvements: more discussion on tools and frameworks, and new code examples to illustrate the working of APIs. [via]
More editions of Java In A Nutshell:
› Find signed collectible books: 'Java in a Nutshell'
With more than 700,000 copies sold to date, "Java in
a Nutshell
from O'Reilly is clearly the favorite resource amongst the legion of
developers and programmers using Java technology. And now, with the
release of the 5.0 version of Java, O'Reilly has given the book that
defined the "in a Nutshell" category another impressive tune-up.
In this latest revision, readers will find "Java in a
Nutshell,
5th Edition does more than just cover the extensive changes implicit in
5.0, the newest version of Java. It's undergone a complete makeover--in
scope, size, and type of coverage--in order to more closely meet the
needs of the modern Java programmer.
To wit, "Java in a Nutshell, 5th Edition
now places less emphasis on coming to
Java from C and C++, and adds more discussion on tools and frameworks.
It also offers new code examples to illustrate the working of APIs,
and, of course, extensive coverage of Java 5.0. But faithful readers
take comfort: it still hasn't lost any of its core elements that made
it such a classic to begin with.
This handy reference gets right to the
heart of the program with an accelerated introduction to the Java
programming language and its key APIs--ideal for developers wishing to
start writing code right away. And, as was the case in previous
editions, Java in a Nutshell, 5th Edition is once again chock-full of
poignant tips, techniques, examples, and practical advice. For as long
as Java has existed, "Java in a Nutshell has helped
developers maximize the capabilities of the program's newest versions.
And this latest edition is no different. [via]
More editions of Java in a Nutshell:
› Find signed collectible books: 'Java in a Nutshell: A Desktop Quick Reference'
The 3rd edition of the well-known reference, Java in a Nutshell, covers the essential APIs of Java 1.2, including networking, security, input and output, and basic language and utility classes. Due to the size of the Java 1.2 API, graphics and graphical user interface classes are now examined in a volume called Java Foundation Classes in a Nutshell, and server-side and enterprise programming are detailed in Java Enterprise in a Nutshell.
Though primarily a reference, the book starts off with a thorough, fast-paced introduction to Java, exploring all the key topics, including syntax, object-oriented programming, security, beans, and tools. These discussions are brief and very information-dense, and if you are buying this book to learn the language, you will probably be overwhelmed by the speed of this initiation.
This book intends to document quite a bit of Java, and it easily succeeds with broad coverage of Java programming in Part I, and API cataloging broken down by package in Part II. For example, discussions in Part I explain Types, Reflection, and Dynamic Loading. The handling of these topics takes a little over a page, but the book gives a useful overview with code examples that clearly illustrate the points made. It is one of the clearest and most concise treatments of these three topics available.
The chapters in Part II include an introduction, diagrams, and sections for each class in the package. The sections for each class can be very informative, as in the discussion of the Socket class in the java.net chapter, which includes how to instantiate a Socket object, getting I/O streams from the object you instantiated, and how to alter the behavior of sockets. This discussion, like most in this book, is brief, clear, and to the point.
If you are looking for a Java reference, this is a solid volume that will provide lasting value. --John Keogh
Topics covered: Part I, "Introducing Java," provides broad coverage of Java programming topics, including data types, syntax, classes, and objects; Java file structure; inner classes; interfaces; packages; creating and initializing objects; destroying and finalizing objects; input/output; cryptography; networking; security; threads; JavaBeans; JavaDoc; and tools that come with Java 1.2 SDK.
Part II, "The Java API Quick Reference," includes chapters on the following Java packages: java.beans, java.beans.beancontext, java.io, java.lang, java.lang.ref, java.lang.reflect, java.math, java.net, java.security, java.security.acl, java.security.cert, java.security.interfaces, java.security.spec, java.text, java.util, java.util.jar, java.util.zip, javax.crypto, javax.crypto.interfaces, javax.crypto.spec, and a final chapter, which provides an index for classes, methods, and fields. [via]
More editions of Java in a Nutshell: A Desktop Quick Reference:
› Find signed collectible books: 'Java in a Nutshell: A Desktop Quick Reference for Java Programmers'
Java in a Nutshell is a complete quick-reference guide to Java, the hot new programming language from Sun Microsystems. This comprehensive volume contains descriptions of all of the classes in the Java 1.0 API, with a definitive listing of all methods and variables. It also contains an accelerated introduction to Java for C and C++ programmers who want to learn the language fast.
Java in a Nutshell introduces the Java programming language and contains many practical examples that show programmers how to write Java applications and applets. It is also an indispensable quick reference designed to wait faithfully by the side of every Java programmer's keyboard. It puts all the information Java programmers need right at their fingertips.
Contents include:
More editions of Java in a Nutshell: A Desktop Quick Reference for Java Programmers:
› Find signed collectible books: 'Javascript: The Definitive Guide'
In typical O'Reilly & Associates fashion, this book documents every nuance of the JavaScript 1.1 language specification. It may appear dry on the surface (many pages have the spare style of UNIX online documentation), but this is the book you'll pull off your shelf when you want to know which method returns the primitive value of an object. Flanagan's book comes out ahead of its competitors in a few other areas, too. JavaScript features a useful discussion of the limited JavaScript support found in Microsoft Internet Explorer and provides excellent documentation of LiveConnect, the software that allows JavaScript to communicate with Java applets. It also offers a taste of what's in store for the just-released JavaScript 1.2.
With a relatively small number of examples and no CD-ROM, this guide is more of a reference than a tutorial. It will serve experienced JavaScript programmers far better than those who are just starting out with the language. [via]
More editions of Javascript: The Definitive Guide:
› Find signed collectible books: 'Joel on Software: And on Diverse and Occasionally Related Matters that Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether'
Joel Spolsky began his legendary web log, www.joelonsoftware.com, in March 2000, in order to offer insights for improving the world of programming. Spolsky based these observations on years of personal experience.
The result just a handful of years later? Spolsky's technical knowledge, caustic wit, and extraordinary writing skills have earned him status as a programming guru! His blog has become renowned throughout the programming worldnow linked to more than 600 websites and translated into over 30 languages.
Joel on Software covers every conceivable aspect of software programmingfrom the best way to write code, to the best way to design an office in which to write code! All programmers, all people who want to enhance their knowledge of programmers, and all who are trying to manage programmers will surely relate to Joel's musings.
More editions of Joel on Software: And on Diverse and Occasionally Related Matters that Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether:
› Find signed collectible books: 'Latex: A Documentation Preparation System User's Guide and Reference Manual'
This authoritative user's guide and reference manual for the LATEX computer typesetting system has been revised to document features now available in the new standard software release - LATEX2e. The new edition features additional styles and functions, improved font handling, and enhanced graphics capabilities. Other parts of the book have been revised to reflect user comments and suggestions. Selected sections have been rewritten to explain challenging concepts or functions, and the descriptions of both MakeIndex and BibTEX have been updated. New LATEX users will want to start with this book, and current users, particularly as they upgrade to the LATEX2e software, will be eager to obtain the most up-to-date version of its associated manual. Features *Revised version of the authoritative user's guide and reference manual for the LATEX computer typesetting system. *Features the new standard software release - LATEX2e. *Sections rewritten to explain difficult concepts or functions. 0201529831B04062001 [via]
More editions of Latex: A Documentation Preparation System User's Guide and Reference Manual:

› Find signed collectible books: 'The Latex Document Preparation System: User's Guide & Reference Manual'
More editions of The Latex Document Preparation System: User's Guide & Reference Manual:

› Find signed collectible books: 'Learning GNU Emacs'
More editions of Learning GNU Emacs:
› Find signed collectible books: 'Learning Perl'
In this update of a bestseller, two leading Perl trainers teach you to use the most universal scripting language in the age of the World Wide Web. With a foreword by Larry Wall, the creator of Perl, this smooth, carefully paced book is the "official" guide for both formal (classroom) and informal learning. It is now current for Perl version 5.004. Learning Perl is a hands-on tutorial designed to get you writing useful Perl scripts as quickly as possible. Exercises (with complete solutions) accompany each chapter. A lengthy new chapter in this edition introduces you to CGI programming, while touching also on the use of library modules, references, and Perl's object-oriented constructs. Perl is a language for easily manipulating text, files, and processes. It comes standard on most UNIX platforms and is available free of charge on all other important operating systems. Perl technical support is informally available -- often within minutes -- from a pool of experts who monitor a USENET newsgroup (comp.lang.perl.misc) with tens of thousands of readers. Contents include: A quick tutorial stroll through Perl basics Systematic, topic-by-topic coverage of Perl's broad capabilities Lots of brief code examples Programming exercises for each topic, with fully worked-out answers How to execute system commands from your Perl program How to manage DBM databases using Perl An introduction to CGI programming for the Web [via]
› Find signed collectible books: 'Learning Perl : Making Easy Things Easy and Hard Things Possible'
If you ask Perl programmers today what book they relied on most when they were learning Perl, you'll find that an overwhelming majority will name Learning Perl--also known affectionately as "the Llama." The first edition of Learning Perl appeared in 1993 and has been a bestseller ever since. Written by two of the most prominent and active members of the Perl community, this book is the quintessential tutorial for the Perl programming language.
Perl began as a tool for Unix system administrators, used for countless small tasks throughout the workday. It has since blossomed into a full-featured programming language on practically every computing platform, and is used for web programming, database manipulation, XML processing, and (of course) system administration--all this while still remaining the perfect tool for the small daily tasks it was designed for. Perl is quick, fun, and eminently useful. Many people start using Perl because they need it, but they continue to use Perl because they love it.
The third edition of Learning Perl has not only been updated for Perl 5.6, but has also been rewritten from the ground up to reflect the needs of programmers learning Perl today. Informed by their years of success at teaching Perl as consultants, the authors have re-engineered the book to better match the pace and scope appropriate for readers trying to get started with Perl, while retaining the detailed discussion, thorough examples, and eclectic wit for which the book is famous.
This edition of the Llama includes an expanded and more gently-paced introduction to regular expressions, new exercises and solutions designed so readers can practice what they've learned while it's still fresh in their minds, and an overall reworking to bring Learning Perl into the new millennium.
Perl is a language for getting your job done. Other books may teach you to program in Perl, but this book will turn you into a Perl programmer.
More editions of Learning Perl : Making Easy Things Easy and Hard Things Possible:
› Find signed collectible books: 'Linux in a Nutshell: A Desktop Quick Reference'
Linux in a Nutshell incorporates all the typical characteristics of a command reference. On the positive side, there's no extraneous narrative gunk to get between you and the specific piece of information you're searching for. On the negative side, there's no entry-level instruction here to guide the uninitiated. While that's not a bad thing, it should serve as a warning to Linux newbies: supplement this book with another if you don't know what you're doing.
Hekman devotes about a third of the book to Linux user commands that aren't part of specific shells, programming languages, applications, or the set of administrator commands. These commands are presented as straight man-page-style documentation in table form, listing commands, their switches, and succinct descriptions alphabetically. The author then goes on to document the three Linux shells--bash, csh, and tcsh--and the GNU utilities. The book's coverage of emacs, vi, pattern matching (regular expressions), sed, and gawk distinguishes it from its competitors. Hekman wraps up with more man-page-style documentation of programming commands and Linux's complete complement of administrator commands. [via]
More editions of Linux in a Nutshell: A Desktop Quick Reference:
› Find signed collectible books: 'Linux in a Nutshell: A Desktop Quick Reference'
Linux in a Nutshell: A Desktop Quick Reference is a 612-page command and program reference guide for this red-hot Unix derivative. While Linux couldn't be easier to get--it's a free download from the Web--clear and concise documentation is key to successful application.
Linux in a Nutshell: A Desktop Quick Reference is only a minimal introduction to this remarkable operating system; the book's real strength lies in the simple alphabetical table of Linux commands that runs for more than 150 pages. Each command is documented with its various switches including occasional examples and brief overviews of especially interesting commands. Author Ellen Siever dedicates a section of the book to covering three common shell programs for Linux: bash, csh, and tcsh. In the short introduction to shells, Siever lists the commands that are common to all three as well as those that differ. This is followed by individual references for each.
Coverage of the Emacs, ex, sed, and vi programs and command sets comprise the material on Linux text editors. The gawk scripting language is also represented, as well as sections detailing programming commands and the RCS and CVS file-versioning programs. The book also covers Perl, system administration commands, and dual booting.
While Linux can be lots of fun, no one should dive in ill equipped. Using Linux in a Nutshell: A Desktop Quick Reference will help you navigate this OS safely. --Stephen Plain [via]
More editions of Linux in a Nutshell: A Desktop Quick Reference:

› Find signed collectible books: 'Mastering Algorithms With Perl'
More editions of Mastering Algorithms With Perl:
› Find signed collectible books: 'Mastering Regular Expressions'
Regular expressions are a central element of UNIX utilities like egrep and programming languages such as Perl. But whether you're a UNIX user or not, you can benefit from a better understanding of regular expressions since they work with applications ranging from validating data-entry fields to manipulating information in multimegabyte text files. Mastering Regular Expressions quickly covers the basics of regular-expression syntax, then delves into the mechanics of expression-processing, common pitfalls, performance issues, and implementation-specific differences. Written in an engaging style and sprinkled with solutions to complex real-world problems, Mastering Regular Expressions offers a wealth information that you can put to immediate use. [via]
More editions of Mastering Regular Expressions:
› Find signed collectible books: 'Mastering Regular Expressions: Powerful Techniques for Perl and Other Tools'
Regular expressions are a central element of UNIX utilities like egrep and programming languages such as Perl. But whether you're a UNIX user or not, you can benefit from a better understanding of regular expressions since they work with applications ranging from validating data-entry fields to manipulating information in multimegabyte text files. Mastering Regular Expressions quickly covers the basics of regular-expression syntax, then delves into the mechanics of expression-processing, common pitfalls, performance issues, and implementation-specific differences. Written in an engaging style and sprinkled with solutions to complex real-world problems, Mastering Regular Expressions offers a wealth information that you can put to immediate use. [via]
More editions of Mastering Regular Expressions: Powerful Techniques for Perl and Other Tools:
› Find signed collectible books: 'Microserfs'
Microserfs is not about Microsoft--it's about programmers who are searching for lives. A hilarious but frighteningly real look at geek life in the '90's, Coupland's book manifests a peculiar sense of how technology affects the human race and how it will continue to affect all of us. Microserfs is the hilarious journal of Dan, an ex-Microsoft programmer who, with his coder comrades, is on a quest to find purpose in life. This isn't just fodder for techies. The thoughts and fears of the not-so-stereotypical characters are easy for any of us to relate to, and their witty conversations and quirky view of the world make this a surprisingly thought-provoking book.
" ... just think about the way high-tech cultures purposefully protract out the adolescence of their employees well into their late 20s, if not their early 30s," muses one programmer. "I mean, all those Nerf toys and free beverages! And the way tech firms won't even call work 'the office,' but instead, 'the campus.' It's sick and evil." [via]
› Find signed collectible books: 'The Mythical Man-Month: Essays on Software Engineering'
Classic book on the human elements of software engineering. [via]
More editions of The Mythical Man-Month: Essays on Software Engineering:
› Find signed collectible books: 'Patterns of Enterprise Application Architecture'
Patterns of Enterprise Application Architecture [Hardcover] by Fowler, Martin [via]
More editions of Patterns of Enterprise Application Architecture:
› Find signed collectible books: 'Patterns of Software: Tales from the Software Community'
A wide-ranging set of essays by a long-time Silicon Valley insider. Gabriel muses on software development, factors that have led to the success or failure of software companies, the nature of successful programming languages, and more. Evidently, Gabriel is currently writing poetry, and his concern for language and the well-turned phrase shows up in this book as well. [via]
More editions of Patterns of Software: Tales from the Software Community:
› Find signed collectible books: 'Peopleware: Productive Projects and Teams'
Peopleware asserts that most software development projects fail because of failures within the team running them. This strikingly clear, direct book is written for software development team leaders and managers, but it's filled with enough common-sense wisdom to appeal to anyone working in technology. Authors Tom DeMarco and Timothy Lister include plenty of illustrative, often amusing anecdotes; their writing is light, conversational, and filled with equal portions of humour and wisdom, and there is a refreshing absence of "new age" terms and multi-step programmes. The advice is presented straightforwardly and ranges from simple issues of prioritisation to complex ways of engendering harmony and productivity in your team. Peopleware is a short read that delivers more than many books on the subject twice its size. --Jake Bond [via]
More editions of Peopleware: Productive Projects and Teams:
› Find signed collectible books: 'Perl Cookbook'
When the second edition of Programming Perl was released, the authors omitted two chapters: "Common Tasks with Perl" and "Real Perl Programs." Publisher O'Reilly & Associates soon realized that there would be too many pages in Programming Perl if it put updated recipes in the new edition. Instead, O'Reilly chose to release the many Perl code examples as a separate entity: The Perl Cookbook.
The recipes are well documented and the examples aren't too arcane; even beginners will be able to pick up the lessons taught here. The authors write in relatively easy-to-understand language (for a technical guide). Through this book and its arsenal of recipes, you will learn many new things about Perl to help you through your toughest projects. The next time you're working on a project at 2 a.m., you'll thank yourself for the guidance and direction The Perl Cookbook provides. --Doug Beaver [via]
› Find signed collectible books: 'The Pragmatic Programmer: From Journeyman to Master'
Programmers are craftspeople trained to use a certain set of tools (editors, object managers, version trackers) to generate a certain kind of product (programs) that will operate in some environment (operating systems on hardware assemblies). Like any other craft, computer programming has spawned a body of wisdom, most of which isn't taught at universities or in certification classes. Most programmers arrive at the so-called tricks of the trade over time, through independent experimentation. In The Pragmatic Programmer, Andrew Hunt and David Thomas codify many of the truths they've discovered during their respective careers as designers of software and writers of code.
Some of the authors' nuggets of pragmatism are concrete, and the path to their implementation is clear. They advise readers to learn one text editor, for example, and use it for everything. They also recommend the use of version-tracking software for even the smallest projects, and promote the merits of learning regular expression syntax and a text-manipulation language. Other (perhaps more valuable) advice is more light-hearted. In the debugging section, it is noted that, "if you see hoof prints think horses, not zebras." That is, suspect everything, but start looking for problems in the most obvious places. There are recommendations for making estimates of time and expense, and for integrating testing into the development process. You'll want a copy of The Pragmatic Programmer for two reasons: it displays your own accumulated wisdom more cleanly than you ever bothered to state it, and it introduces you to methods of work that you may not yet have considered. Working programmers will enjoy this book. --David Wall
Topics covered: A useful approach to software design and construction that allows for efficient, profitable development of high-quality products. Elements of the approach include specification development, customer relations, team management, design practices, development tools, and testing procedures. This approach is presented with the help of anecdotes and technical problems. [via]
More editions of The Pragmatic Programmer: From Journeyman to Master:
› Find signed collectible books: 'Programming Perl'
This is the authoritative guide to the hottest new UNIX utility in years, coauthored by its creator, Larry Wall. Perl is a language for easily manipulating text, files, and processes. Perl provides a more concise and readable way to do many jobs that were formerly accomplished (with difficulty) by programming in the C language or one of the shells. Even though Perl is not yet a standard part of UNIX, it is likely to be available wherever you choose to work. And if it isn't, you can get it and install it easily and free of charge. Contents include: An introduction to Perl Common tasks with Perl Real Perl programs; includes database manipulation, programming aids, system administration, text and filename manipulation, interprocess communication, and more Perl syntax Perl functions Other oddments; invocation options, debugging, efficiency, the Perl library, linking in C subroutines, etc. Also includes a pull-out quick-reference card (designed and created by Johan Vromans). [via]
› Find signed collectible books: 'Programming Perl'
The second edition of the Camel Book is more than 600 pages long and full of excellent instruction and sound advice. Topics include all the good stuff from the first edition plus Perl 5 features such as nested data structures (ever made a hash of arrays of hashes?), modules, and objects. From "Howdy World"
More editions of Programming Perl:
› Find signed collectible books: 'Programming Ruby: The Pragmatic Programmer's Guide'
"Big in Japan" was a pejorative term for failed pop musicians, but it accurately describes the Ruby language, designed by Yukihiro Matsumoto. The authors--who wrote The Pragmatic Programmer--feel it deserves a wider exposure in the English-speaking world.
Ruby is fully object oriented with a simple and consistent syntax. It is Open Source and freely available from ftp:ftp.netlab.co.jp/pub/lang/ruby as well as many mirrors. In Programming Ruby the authors set out to show that Ruby can and should replace languages such as Perl, Python, SmallTalk and C++; from which it takes all the best features--even Perl's excellent regular expression support.
The book is in four parts: a tutorial; a section on installing and running it in various environments; a section on the inner workings and interrelationships of the language; and, finally, a huge library reference. The authors make their case for the language's simplicity, predictability and flexibility. Unlike languages which have grown by accretion, such as Perl, it is remarkably clean.
Clearly a labour of love, Programming Ruby is equally clean and the authors' enthusiasm for it drips from the pages. Certainly, if you are passionate about efficient, error-free coding Ruby is hard to beat. There are, though, an awful lot of languages available already.
Ruby is certainly worth a look just to see how simple and accessible an object-oriented language can be when its author can draw on the best and throw away the rest. Working programmers will decide whether Ruby gains widespread acceptance but in Programming Ruby it has a powerful and convincing advocate. --Steve Patient [via]
More editions of Programming Ruby: The Pragmatic Programmer's Guide:
› Find signed collectible books: 'Rapid Development'
I can hear some of you exclaiming, "How can you possibly recommend a book about software scheduling published by Microsoft Press and written by a consultant to Microsoft?!" Well, put aside any preconceived biases. This is a tremendous book on effective scheduling software development, and it drinks deeply from the wisdom of all the classics in the field such as Brook's Mythical Man Month -- and is likely well-informed by McConnell's experiences, good and bad, in Redmond.
The nine page section entitled "Classic Mistakes Enumerated" is alone worth the price of admission and should be required reading for all developers, leads, and managers. Here are some types of the 36 classic mistakes that McConnell describes in detail:
I suspect that if you've ever been involved in software development, you winced after reading each of these nine points. And you will learn a great deal from the remaining 640 pages about concrete solutions.
My only substantive gripe: cheesy Powerpoint graphics. Nonetheless, this book is Very Highly Recommended. [via]
More editions of Rapid Development:
› Find signed collectible books: 'Rapid Development: Taming Wild Software Schedules'
I can hear some of you exclaiming, "How can you possibly recommend a book about software scheduling published by Microsoft Press and written by a consultant to Microsoft?!" Well, put aside any preconceived biases. This is a tremendous book on effective scheduling software development, and it drinks deeply from the wisdom of all the classics in the field such as Brook's Mythical Man Month -- and is likely well-informed by McConnell's experiences, good and bad, in Redmond.
The nine page section entitled "Classic Mistakes Enumerated" is alone worth the price of admission and should be required reading for all developers, leads, and managers. Here are some types of the 36 classic mistakes that McConnell describes in detail:
I suspect that if you've ever been involved in software development, you winced after reading each of these nine points. And you will learn a great deal from the remaining 640 pages about concrete solutions.
My only substantive gripe: cheesy Powerpoint graphics. Nonetheless, this book is Very Highly Recommended. [via]
More editions of Rapid Development: Taming Wild Software Schedules:
› Find signed collectible books: 'Refactoring: Improving the Design of Existing Code'
Your class library works, but could it be better? Refactoring: Improving the Design of Existing Code shows how refactoring can make object-oriented code simpler and easier to maintain. Today refactoring requires considerable design know-how, but once tools become available, all programmers should be able to improve their code using refactoring techniques.
Besides an introduction to refactoring, this handbook provides a catalog of dozens of tips for improving code. The best thing about Refactoring is its remarkably clear presentation, along with excellent nuts-and-bolts advice, from object expert Martin Fowler. The author is also an authority on software patterns and UML, and this experience helps make this a better book, one that should be immediately accessible to any intermediate or advanced object-oriented developer. (Just like patterns, each refactoring tip is presented with a simple name, a "motivation," and examples using Java and UML.)
Early chapters stress the importance of testing in successful refactoring. (When you improve code, you have to test to verify that it still works.) After the discussion on how to detect the "smell" of bad code, readers get to the heart of the book, its catalog of over 70 "refactorings"--tips for better and simpler class design. Each tip is illustrated with "before" and "after" code, along with an explanation. Later chapters provide a quick look at refactoring research.
Like software patterns, refactoring may be an idea whose time has come. This groundbreaking title will surely help bring refactoring to the programming mainstream. With its clear advice on a hot new topic, Refactoring is sure to be essential reading for anyone who writes or maintains object-oriented software. --Richard Dragan
Topics Covered: Refactoring, improving software code, redesign, design tips, patterns, unit testing, refactoring research, and tools. [via]
More editions of Refactoring: Improving the Design of Existing Code:
› Find signed collectible books: 'Running Linux'
One of the best books on Linux, the UNIX-compatible operating system for personal computers. In the tradition of all O'Reilly books, Running Linux features clear, step-by-step instructions that always seem to provide just the right amount of information: covers everything you need in order to understand, install, and use the Linux operating system, including X Windows, TCP/IP, Perl, Tcl/TK, the gcc C and C++ compilers, and most Internet services such as email, SLIP, and WWW. For intermediate to advanced users. [via]
› Find signed collectible books: 'Software Project Survival Guide'
More editions of Software Project Survival Guide:
› Find signed collectible books: 'Software Project Survival Guide: How to Be Sure Your First Important Project Isn't Your Last'
Equip yourself with SOFTWARE PROJECT SURVIVAL GUIDE. It's for everyone with a stake in the outcome of a development project--and especially for those without formal software project management training. That includes top managers, executives, clients, investors, end-user representatives, project managers, and technical leads.
Here you'll find guidance from the acclaimed author of the classics CODE COMPLETE and RAPID DEVELOPMENT. Steve McConnell draws on solid research and a career's worth of hard-won experience to map the surest path to your goal--what he calls "one specific approach to software development that works pretty well most of the time for most projects." Nineteen chapters in four sections cover the concepts and strategies you need for mastering the development process, including planning, design, management, quality assurance, testing, and archiving. For newcomers and seasoned project managers alike, SOFTWARE PROJECT SURVIVAL GUIDE draws on a vast store of techniques to create an elegantly simplified and reliable framework for project management success.
So don't worry about wandering among complex sets of project management techniques that require years to sort out and master. SOFTWARE PROJECT SURVIVAL GUIDE goes straight to the heart of the matter to help your projects succeed. And that makes it a required addition to every professional's bookshelf.
More editions of Software Project Survival Guide: How to Be Sure Your First Important Project Isn't Your Last:
› Find signed collectible books: 'Uml Distilled: A Brief Guide to the Standard Object Modeling Language'
The second edition of Martin Fowler's bestselling UML Distilled provides updates to the Unified Modeling Language (UML) without changing its basic formula for success. It is still arguably the best resource for quick, no-nonsense explanations of using UML.
The major strength of UML Distilled is its short, concise presentation of the essentials of UML and where it fits within today's software development process. The book describes all the major UML diagram types, what they're for, and the basic notation involved in creating and deciphering them. These diagrams include use cases; class and interaction diagrams; collaborations; and state, activity, and physical diagrams. The examples are always clear, and the explanations cut to the fundamental design logic.
For the second edition, the material has been reworked for use cases and activity diagrams, plus there are numerous small tweaks throughout, including the latest UML v. 1.3 standard. An appendix even traces the evolution of UML versions.
Working developers often don't have time to keep up with new innovations in software engineering. This new edition lets you get acquainted with some of the best thinking about efficient object-oriented software design using UML in a convenient format that will be essential to anyone who designs software professionally. --Richard Dragan
Topics covered: UML basics, analysis and design, outline development (software development process), inception, elaboration, managing risks, construction, transition, use case diagrams, class diagrams, interaction diagrams, collaborations, state diagrams, activity diagrams, physical diagrams, patterns, and refactoring basics. [via]
More editions of Uml Distilled: A Brief Guide to the Standard Object Modeling Language:

› Find signed collectible books: 'Uml Distilled: Applying the Standard Object Modeling Language'
More editions of Uml Distilled: Applying the Standard Object Modeling Language:
› Find signed collectible books: 'User Interface Design for Programmers'
Most programmers' fear of user interface (UI) programming comes from their fear of doing UI design. They think that UI design is like graphic designthe mysterious process by which creative, latte-drinking, all-black-wearing people produce cool-looking, artistic pieces. Most programmers see themselves as analytic, logical thinkers insteadstrong at reasoning, weak on artistic judgment, and incapable of doing UI design.
In this brilliantly readable book, author Joel Spolsky proposes simple, logical rules that can be applied without any artistic talent to improve any user interface, from traditional GUI applications to websites to consumer electronics. Spolsky's primary axiom, the importance of bringing the program model in line with the user model, is both rational and simple.
In a fun and entertaining way, Spolky makes user interface design easy for programmers to grasp. After reading User Interface Design for Programmers, you'll know how to design interfaces with the user in mind. You'll learn the important principles that underlie all good UI design, and you'll learn how to perform usability testing that works.
[via]More editions of User Interface Design for Programmers:
› Find signed collectible books: 'What the World Needs Now'
Ever wanted a chair that converts into a rowing machine? Sunglasses that serve as a wallet? A car with a sundeck so you can work on your tan on those long road trips? Well, inventor and illustrator Steven Johnson has designed these marvels and many, many more, spurred on by a truly insatiable imagination. His wacky, wonderful concepts could very well change the world-that is, if someone was ever bold enough to build them. From clothing to dining technology, home furnishings to appliances, and gardening gadgets to survival gear, WHAT THE WORLD NEEDS NOW is a sourcebook of revolutionary designs that prove how far our techno-culture has yet to go. Ģ Includes a three-step plan for inventing useful and useless things. [via]
More editions of What the World Needs Now:
