Bulletproof Ajax


Jeremy Keith - 2003
    Uses progressive enhancement techniques to ensure graceful degradation (which makes sites usable in all browsers). Shows readers how to write their own Ajax scripts instead of relying on third-party libraries. Web site designers love the idea of Ajax--of creating Web pages in which information can be updated without refreshing the entire page. But for those who aren't hard-core programmers, enhancing pages using Ajax can be a challenge. Even more of a challenge is making sure those pages work for all users. In Bulletproof Ajax, author Jeremy Keith demonstrates how developers comfortable with CSS and (X)HTML can build Ajax functionality without frameworks, using the ideas of graceful degradation and progressive enhancement to ensure that the pages work for all users. Throughout this step-by-step guide, his emphasis is on best practices with an approach to building Ajax pages called Hijax, which improves flexibility and avoids worst-case scenarios.

How Buildings Learn: What Happens After They're Built


Stewart Brand - 1994
    How Buildings Learn is a masterful new synthesis that proposes that buildings adapt best when constantly refined and reshaped by their occupants, and that architects can mature from being artists of space to becoming artists of time. From the connected farmhouses of New England to I.M. Pei's Media Lab, from "satisficing" to "form follows funding," from the evolution of bungalows to the invention of Santa Fe Style, from Low Road military surplus buildings to a High Road English classic like Chatsworth—this is a far-ranging survey of unexplored essential territory.More than any other human artifacts, buildings improve with time—if they're allowed to. How Buildings Learn shows how to work with time rather than against it.

Patterns of Enterprise Application Architecture


Martin Fowler - 2002
    Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include - Dividing an enterprise application into layers - The major approaches to organizing business logic - An in-depth treatment of mapping between objects and relational databases - Using Model-View-Controller to organize a Web presentation - Handling concurrency for data that spans multiple transactions - Designing distributed object interfaces

Site Reliability Engineering: How Google Runs Production Systems


Betsy Beyer - 2016
    So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use

CNC Programming Handbook


Peter Smid - 2000
    Used in hundreds of educational institutions around the world as the primary text for CNC courses, and used daily by many in-field CNC programmers and machine operators, this book literally defines CNC programming. Written with careful attention to detail, there are no compromises. Many of the changes in this new Third Edition are the direct result of comments and suggestions received from many CNC professionals in the field. This extraordinarily comprehensive work continues to be packed with over one thousand illustrations, tables, formulas, tips, shortcuts, and practical examples.The enclosed CD-ROM now contains a fully functional 15-day shareware version of CNC tool path editor/simulator, NCPlot™. This powerful, easy-to-learn software includes an amazing array of features, many not found in competitive products. NCPlot offers an unmatched combination of simplicity of use and richness of features. Support for many advanced control options is standard, including a macro interpreter that simulates Fanuc and similar macro programs.The CD-ROM also offers many training exercises based on individual chapters, along with solutions and detailed explanations. Special programming and machining examples are provided as well, in form of complete machine files, useful as actual programming resources. Virtually all files use Adobe PDF format and are set to high resolution printing.FEATURES Fully functional shareware version of CNC toolpath simulator/editor, NCPlot(TM), included on the CD-ROM. This powerful software includes an amazing array of features, including those not found in competitive products. Support for many advanced features is standard, and the included macro interpreter can simulate Fanuc and compatible macro toolpath programs Detailed section on CNC lathes with live tooling, including examples Image files of many actual parts, used as examples More programming examples (both in printed text and on the CD-ROM) Optimized for the latest Fanuc and related control systems Additional formulas, calculations and handy reference material Fourth axis programming (indexing and rotary) CD-ROM based projects, including several as interactive PDF forms Improved index for better search of topics

Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

Film Is Not Dead: A Digital Photographer's Guide to Shooting Film


Jonathan Canlas - 2012
    The reality is that film has never gone away, and in recent years has experienced a surging, renewed popularity-sometimes simply for its retro, analog status, but mostly for film's ability to create a look and feel that many believe digital can still not achieve. If anyone can attest to this, it's Utah photographer Jonathan Canlas, who exclusively shoots with film, and has both an extremely successful wedding photography business as well as a series of popular workshops held numerous times per year around the world. In "Film Is Not Dead: A Digital Photographer's Guide to Shooting Film, " Canlas teams up with co-author Kristen Kalp to open the doors for anyone who wants to begin-or return to-shooting film. Casual, irreverent, fun, inspiring, and beautiful, this unique 10x8 hardcover book teaches the reader the basics of film, cameras, and shooting in this medium. Whether it's discussing the different tone and color characteristics of different films (Kodak, Fuji, etc.), how to load a medium-format camera back, how to create proper exposures, how and where to get film processed, or how Jonathan uses fun, plastic cameras like the Holga in his commercial and personal work, "Film Is Not Dead "appeals to anyone who is searching to finally begin creating that film look, but until now hasn't known where to start.

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

The Great Good Place: Cafes, Coffee Shops, Bookstores, Bars, Hair Salons, and Other Hangouts at the Heart of a Community


Ray Oldenburg - 1989
    They are the heart of a community's social vitality and the grassroots of a democracy. Author Ray Oldenburg portrays, probes, and promotes th4ese great good places--coffee houses, cafes, bookstores, hair salons, bars, bistros, and many others both past and present--and offers a vision for their revitalization.Eloquent and visionary, this is a compelling argument for these settings of informal public life as essential for the health both of our communities and ourselves. And its message is being heard: Today, entrepreneurs from Seattle to Florida are heeding the call of The Great Good Place--opening coffee houses, bookstores, community centers, bars, and other establishments and proudly acknowledging their indebtedness to this book.

Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)


Michael T. Nygard - 2007
    Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?If you're a developer and don't want to be on call for 3AM for the rest of your life, this book will help.In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You'll learn how to design your application for maximum uptime, performance, and return on investment.Mike explains that many problems with systems today start with the design.

Creativity For Sale: How I Made $1,000,000 Wearing T-Shirts and How You Can Turn Your Passion Into Profit, Too


Jason SurfrApp - 2014
    Creativity For Sale is the story of how Jason took a crazy idea (IWearYourShirt) and turned it into social media marketing empire that generated over $1M in revenue in just a few short years. Whether you work at a 9-5 desk job, currently own your own business, or are an aspiring creative entrepreneur, this book will serve as a practical guide to helping you make money doing what you love. Jason shares his exact strategies, tips, tricks, and processes that have helped him create profitable businesses that get noticed by the likes of The Today Show, CNBC, Wall Street Journal, The New York Times, and many more media outlets. In Creativity For Sale, Jason shares stories of realigning his values and goals in life to become happier, healthier, and more focused. The world of online marketing and social media are noisy and crowded, this book will help you learn how to stand out from the crowd.

Humans Are Underrated: Proving Your Value in the Age of Brilliant Technology


Geoff Colvin - 2015
    In a world like that, how will we and our children achieve a rising standard of living?The real issue is what we humans are hardwired to do for and with one another, arising from our deepest, most essentially human abilities—empathy, social sensitivity, storytelling, humor, forming relationships, creativity. These are how we create value that all people hunger for, that is unique and not easily quantified.Individuals and companies are already discovering that these high-value abilities create tremendous competitive advantage—more devoted customers, stronger cultures, breakthrough ideas, more effective teams. They’re discovering also that while many of us regard these abilities as innate traits—“he’s a real people person,” “she’s naturally creative”—it turns out they can all be developed and are being developed in far-sighted organizations from software firms to the U.S. Army to the Cleveland Clinic. To a far greater degree than most of us ever imagined, we already have what it takes.

Age of Context: Mobile, Sensors, Data and the Future of Privacy


Robert Scoble - 2013
    Six years later they have teamed up again to report that social media is but one of five converging forces that promise to change virtually every aspect of our lives. You know these other forces already: mobile, data, sensors and location-based technology. Combined with social media they form a new generation of personalized technology that knows us better than our closest friends. Armed with that knowledge our personal devices can anticipate what we’ll need next and serve us better than a butler or an executive assistant. The resulting convergent superforce is so powerful that it is ushering in a era the authors call the Age of Context. In this new era, our devices know when to wake us up early because it snowed last night; they contact the people we are supposed to meet with to warn them we’re running late. They even find content worth watching on television. They also promise to cure cancer and make it harder for terrorists to do their damage. Astoundingly, in the coming age you may only receive ads you want to see. Scoble and Israel have spent more than a year researching this book. They report what they have learned from interviewing more than a hundred pioneers of the new technology and by examining hundreds of contextual products. What does it all mean? How will it change society in the future? The authors are unabashed tech enthusiasts, but as they write, an elephant sits in the living room of our book and it is called privacy. We are entering a time when our technology serves us best because it watches us; collecting data on what we do, who we speak with, what we look at. There is no doubt about it: Big Data is watching you. The time to lament the loss of privacy is over. The authors argue that the time is right to demand options that enable people to reclaim some portions of that privacy.

Arduino Projects Book


Scott Fitzgerald - 2012
    Whether you're a rocket scientist or a poet, whether you're ten years old or ninety, we want to make it possible for you to build great projects using computers and electronics.The parts in this kit and the projects explained here form the skeleton of your projects. Arduino can make your projects responsive. It's up to you to make them beautiful.

Information is Beautiful


David McCandless - 2001
    We need a brand new way to take it all in. 'Information is Beautiful' transforms the ideas surrounding and swamping us into graphs and maps that anyone can follow at a single glance.