Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability


Steve Krug - 2000
    And it’s still short, profusely illustrated…and best of all–fun to read.If you’ve read it before, you’ll rediscover what made Don’t Make Me Think so essential to Web designers and developers around the world. If you’ve never read it, you’ll see why so many people have said it should be required reading for anyone working on Web sites.

Decolonizing Museums: Representing Native America in National and Tribal Museums


Amy Lonetree - 2012
    However, a shift is occurring, giving Indigenous people a larger role in determining exhibition content. In Decolonizing Museums, Amy Lonetree examines the complexities of these new relationships with an eye toward exploring how museums can grapple with centuries of unresolved trauma as they tell the stories of Native peoples. She investigates how museums can honor an Indigenous worldview and way of knowing, challenge stereotypical representations, and speak the hard truths of colonization within exhibition spaces to address the persistent legacies of historical unresolved grief in Native communities.Lonetree focuses on the representation of Native Americans in exhibitions at the Smithsonian's National Museum of the American Indian, the Mille Lacs Indian Museum in Minnesota, and the Ziibiwing Center of Anishinabe Culture and Lifeways in Michigan. Drawing on her experiences as an Indigenous scholar and museum professional, Lonetree analyzes exhibition texts and images, records of exhibition development, and interviews with staff members. She addresses historical and contemporary museum practices and charts possible paths for the future curation and presentation of Native lifeways.

Editing by Design: For Designers, Art Directors, and Editors--the Classic Guide to Winning Readers


Jan V. White - 1974
    Brimming with hundreds of illustrations, Editing by Design presents proven solutions to such design issues as columns and grids, margins, spacing, captions, covers and color, type, page symmetry, and much more. A must-have resource for designers, writers, and art directors looking to give their work visual flair and a competitive edge!• Explains sophisticated concepts insimple words and pictures • A perfect desk reference for every kind of publishing medium • Vast audience, with equal appeal to designers, writers, publishers, teachers, and students

The C Programming Language


Brian W. Kernighan - 1978
    It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller. This second edition brings the classic original up to date to include the ANSI standard. From the Preface: We have tried to retain the brevity of the first edition. C is not a big language, and it is not well served by a big book. We have improved the exposition of critical features, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa. As before, all examples have been tested directly from the text, which is in machine-readable form. As we said in the first preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that way. We hope that this book will help you to learn C and use it well.

Cradle to Cradle: Remaking the Way We Make Things


William McDonough - 2002
    But as architect William McDonough and chemist Michael Braungart point out in this provocative, visionary book, such an approach only perpetuates the one-way, "cradle to grave" manufacturing model, dating to the Industrial Revolution, that creates such fantastic amounts of waste and pollution in the first place. Why not challenge the belief that human industry must damage the natural world? In fact, why not take nature itself as our model for making things? A tree produces thousands of blossoms in order to create another tree, yet we consider its abundance not wasteful but safe, beautiful, and highly effective.Waste equals food. Guided by this principle, McDonough and Braungart explain how products can be designed from the outset so that, after their useful lives, they will provide nourishment for something new. They can be conceived as "biological nutrients" that will easily reenter the water or soil without depositing synthetic materials and toxins. Or they can be "technical nutrients" that will continually circulate as pure and valuable materials within closed-loop industrial cycles, rather than being "recycled" -- really, downcycled -- into low-grade materials and uses. Drawing on their experience in (re)designing everything from carpeting to corporate campuses, McDonough and Braungart make an exciting and viable case for putting eco-effectiveness into practice, and show how anyone involved with making anything can begin to do as well.

The Culture Map: Breaking Through the Invisible Boundaries of Global Business


Erin Meyer - 2014
    Renowned expert Erin Meyer is your guide through this subtle, sometimes treacherous terrain where people from starkly different backgrounds are expected to work harmoniously together.When you have Americans who precede anything negative with three nice comments; French, Dutch, Israelis, and Germans who get straight to the point (“your presentation was simply awful”); Latin Americans and Asians who are steeped in hierarchy; Scandinavians who think the best boss is just one of the crowd—the result can be, well, sometimes interesting, even funny, but often disastrous.Even with English as a global language, it’s easy to fall into cultural traps that endanger careers and sink deals when, say, a Brazilian manager tries to fathom how his Chinese suppliers really get things done, or an American team leader tries to get a handle on the intra-team dynamics between his Russian and Indian team members.In The Culture Map, Erin Meyer provides a field-tested model for decoding how cultural differences impact international business. She combines a smart analytical framework with practical, actionable advice for succeeding in a global world.

Code Complete


Steve McConnell - 1993
    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: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Civilizing Rituals: Inside Public Art Museums


Carol Duncan - 1995
    Illustrated with over fifty photos, Civilizing Rituals merges contemporary debates with lively discussion and explores central issues involved in the making and displaying of art as industry and how it is presented to the community.Carol Duncan looks at how nations, institutions and private individuals present art, and how art museums are shaped by cultural, social and political determinants.Civilizing Rituals is ideal reading for students of art history and museum studies, and professionals in the field will also find much of interest here.

Test-Driven Development: By Example


Kent Beck - 2002
    While some fear is healthy (often viewed as a conscience that tells programmers to be careful!), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who are unable to absorb constructive criticism. When programming teams buy into TDD, they immediately see positive results. They eliminate the fear involved in their jobs, and are better equipped to tackle the difficult challenges that face them. TDD eliminates tentative traits, it teaches programmers to communicate, and it encourages team members to seek out criticism However, even the author admits that grumpiness must be worked out individually! In short, the premise behind TDD is that code should be continually tested and refactored. Kent Beck teaches programmers by example, so they can painlessly and dramatically increase the quality of their work.

History Wars: The Enola Gay and Other Battles for the American Past


Edward T. Linethal - 1996
    What kind of history Americans should read, see, or fund is no longer merely a matter of professional interest to teachers, historians, and museum curators. Everywhere now, history is increasingly being held hostage, but to what end and why? In History Wars, eight prominent historians consider the angry swirl of emotions that now surrounds public memory. Included are trenchant essays by Paul Boyer, John W. Dower, Tom Engelhardt, Richard H. Kohn, Edward Linenthal, Micahel S. Sherry, Marilyn B. Young, and Mike Wallace.

Sorting Things Out: Classification and Its Consequences


Geoffrey C. Bowker - 1999
    Bowker and Susan Leigh Star explore the role of categories and standards in shaping the modern world. In a clear and lively style, they investigate a variety of classification systems, including the International Classification of Diseases, the Nursing Interventions Classification, race classification under apartheid in South Africa, and the classification of viruses and of tuberculosis.The authors emphasize the role of invisibility in the process by which classification orders human interaction. They examine how categories are made and kept invisible, and how people can change this invisibility when necessary. They also explore systems of classification as part of the built information environment. Much as an urban historian would review highway permits and zoning decisions to tell a city's story, the authors review archives of classification design to understand how decisions have been made. Sorting Things Out has a moral agenda, for each standard and category valorizes some point of view and silences another. Standards and classifications produce advantage or suffering. Jobs are made and lost; some regions benefit at the expense of others. How these choices are made and how we think about that process are at the moral and political core of this work. The book is an important empirical source for understanding the building of information infrastructures.

Effective Java


Joshua Bloch - 2001
    The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util

The Copyeditor's Handbook: A Guide for Book Publishing and Corporate Communications, with Exercises and Answer Keys


Amy Einsohn - 2000
    Addressed to copyeditors in book publishing and corporate communications, this thoughtful handbook explains what copyeditors do, what they look for when they edit a manuscript, and how they develop the editorial judgment needed to make sound decisions.This revised edition reflects the most recent editions of The Chicago Manual of Style (15th ed.), the Publication Manual of the American Psychological Association (5th ed.), and Merriam-Webster's Collegiate Dictionary (11th ed.).

The Pragmatic Programmer: From Journeyman to Master


Andy Hunt - 1999
    It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Working Effectively with Legacy Code


Michael C. Feathers - 2004
    This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.