We've ranked the best system design books using expert recommendations, sales data, and millions of reader ratings. At Shortform, we know books. Our book guides are the best in the world. Learn why.
Ray Dalio, one of the world’s most successful investors and entrepreneurs, shares the unconventional principles that he’s developed, refined, and used over the past forty years to create unique results in both life and business—and which any person or organization can adopt to help achieve their goals.
In 1975, Ray Dalio founded an investment firm, Bridgewater Associates, out of his two-bedroom apartment in New York City. Forty years later, Bridgewater has made more money for its clients than any other hedge fund in history and grown into the fifth most important private company in the United States, according to Fortune magazine. Dalio himself has been named to Time magazine’s list of the 100 most influential people in the world. Along the way, Dalio discovered a set of unique principles that have led to Bridgewater’s exceptionally effective culture, which he describes as “an idea meritocracy that strives to achieve meaningful work and meaningful relationships through radical transparency.” It is these principles, and not anything special about Dalio—who grew up an ordinary kid in a middle-class Long Island neighborhood—that he believes are the reason behind his success.
In Principles, Dalio shares what he’s learned over the course of his remarkable career. He argues that life, management, economics, and investing can all be systemized into rules and understood like machines. The book’s hundreds of practical lessons, which are built around his cornerstones of “radical truth” and “radical transparency,” include Dalio laying out the most effective ways for individuals and organizations to make decisions, approach challenges, and build strong teams. He also describes the innovative tools the firm uses to bring an idea meritocracy to life, such as creating “baseball cards” for all employees that distill their strengths and weaknesses, and employing computerized decision-making systems to make believability-weighted decisions. While the book brims with novel ideas for organizations and institutions, Principles also offers a clear, straightforward approach to decision-making that Dalio believes anyone can apply, no matter what they’re seeking to achieve.
Here is a rare opportunity to gain proven advice unlike anything you’ll find in the conventional business press.
I found it to be truly extraordinary. Every page is full of so many principles of distinction and insights—and I love how Ray incorporates his history and his life in such an elegant way. [source]
Cover unavailable
2
Designing Data-Intensive Applications
Martin Kleppmann
4.9
Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need to be fast and nimble in the face of change.
Proven approaches such as service-oriented and event-driven architectures are joined by newer techniques such as microservices, reactive architectures, DevOps, and stream processing. Many of these patterns are successful by themselves, but as this practical ebook demonstrates, they provide a more holistic and compelling approach when applied together.
Author Ben Stopford explains how service-based architectures and stream processing tools such as Apache Kafka® can help you build business-critical systems.
* Learn why streaming beats request-response based architectures in complex, contemporary use cases * Understand why replayable logs such as Kafka provide a backbone for both service communication and shared datasets * Explore how event collaboration and event sourcing patterns increase safety and recoverability with functional, event-driven approaches * Apply patterns including Event Sourcing and CQRS, and how to build multi-team systems with microservices and SOA using patterns such as “inside out databases” and “event streams as a source of truth” * Build service ecosystems that blend event-driven and request-driven interfaces using a replayable log and Kafka's Streams API * Scale beyond individual teams into larger, department- and company-sized architectures, using event streams as a source of truth
Meadows’ Thinking in Systems, is a concise and crucial book offering insight for problem solving on scales ranging from the personal to the global. Edited by the Sustainability Institute’s Diana Wright, this essential primer brings systems thinking out of the realm of computers and equations and into the tangible world, showing readers how to develop the systems-thinking skills that thought leaders across the globe consider critical for 21st-century life.
Some of the biggest problems facing the world—war, hunger, poverty, and environmental degradation—are essentially system failures. They cannot be solved by fixing one piece in isolation from the others, because even seemingly minor details have enormous power to undermine the best efforts of too-narrow thinking.
While readers will learn the conceptual tools and methods of systems thinking, the heart of the book is grander than methodology. Donella Meadows was known as much for nurturing positive outcomes as she was for delving into the science behind global dilemmas. She reminds readers to pay attention to what is important, not just what is quantifiable, to stay humble, and to stay a learner.
In a world growing ever more complicated, crowded, and interdependent, Thinking in Systems helps readers avoid confusion and helplessness, the first step toward finding proactive and effective solutions.
…
Recommended by Tobi Lütke, Kate Raworth, and Mira Kirshenbaum.
Tobi Lütke
Founder & CEO/Shopify
Tobi Lütke recommended this book on the podcast "The Knowledge Project". [source]
It was a real revelation for me to discover such a different approach to thinking and analysing challenges. [source]
Mira Kirshenbaum
A nice overview of how initial conditions lead to patterns that determine what the relationship feels like to the people in it [source]
Cover unavailable
4
Database Internals: A deep-dive into how distributed data systems work
Alex Petrov
4.5
When it comes to choosing, using, and maintaining a database, understanding its internals is essential. But with so many distributed databases and tools available today, it’s often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals.
Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed.
This book examines:
Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable log structured storage engines, with differences and use-cases for each Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns, from UDP to reliable consensus protocols Database clusters: Discover how to achieve consistent models for replicated data
…
Cover unavailable
5
Patterns of Enterprise Application Architecture
Martin Fowler
4.5
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. 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
Out of Control: The New Biology of Machines, Social Systems, and the Economic World
Kevin Kelly
4.5
Out of Control chronicles the dawn of a new era in which the machines and systems that drive our economy are so complex and autonomous as to be indistinguishable from living things.
Recommended by Ev Williams, Steve Jurvetson, Cynthia Johnson, and 1 others.
Steve Jurvetson
The single book that’s had the most influence on me my entire life. … It started my life long fascination of the biological metaphors in technology. [source]
Cynthia Johnson
This book was the basis of The Matrix. It goes down this rabbit hole of where machines begin and end, and where we fit into that. The entire idea is that as we move into this revolutionary, technology-driven world, we then also become parts of that. [source]
Geoffrey Miller
@kevin2kelly Love that book. Read it in grad school. Inspired my evolutionary robotics and artificial life research. [source]
Cover unavailable
7
The Mythical Man-Month: Essays on Software Engineering
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.
The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."
From "The Everything Store", written by Brad Stone “An influential computer scientist makes the counterintuitive argument that small groups of engineers are more effective than larger ones at handling complex software projects. The book lays out the theory behind Amazon’s two pizza teams,” Stone writes. [source]
An early look and experience with timeless truths (and gotchas) from systems building with teams [source]
Cover unavailable
8
Clean Architecture
Robert C. Martin
4.5
Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design. As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Martin offers direct, no-nonsense answers to key architecture and design questions like:
What are the best high level structures for different kinds of applications, including web, database, thick-client, console, and embedded apps?
What are the core principles of software architecture?
What is the role of the architect, and what is he/she really trying to achieve?
What are the core principles of software design?
How do designs and architectures go wrong, and what can you do about it?
What are the disciplines and practices of professional architects and designers?
Clean Architecture is essential reading for every software architect, systems analyst, system designer, and software manager -- and for any programmer who aspires to these roles or is impacted by their work.
…
Cover unavailable
9
Head First Design Patterns
Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
4.4
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.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
…
Cover unavailable
10
Swipe to Unlock: The Primer on Technology and Business Strategy
Neel Mehta
4.4
An alternative cover edition for this ISBN can be found here.
Authored by Product Managers at Google, Microsoft, and Facebook, Swipe to Unlock is a guide which enables anyone to understand the core concepts of tech and the business strategy behind it in order to succeed in the tech industry or even just be an informed digital citizen and consumer.
This #1 Amazon Business Bestseller has been featured in Business Insider and was touted as "our generation's Rosetta Stone for enabling non-engineers to peer into the technology changing everyday life" by Jeremy Schifeling.
You probably search on Google every day. But have you ever wondered how Google makes billions of dollars while providing search, email, and maps for free? How do they figure out which ads perfectly capture your interests? And how do they search the entire internet so quickly, anyway?
By answering real-world questions like this, Swipe to Unlock gives you a peek under the hood of the technology you use every day, decodes technologists' weirdest buzzwords, and shows you how technology is changing the society we live in for better or for worse. Unlock the answers you need to become a better-educated consumer, digital citizen, or technology professional.
…
Cover unavailable
11
Building Microservices: Designing Fine-Grained Systems
Sam Newman
4.4
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.
Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.
Discover how microservices allow you to align your system design with your organization's goals Learn options for integrating a service with the rest of your system Take an incremental approach when splitting monolithic codebases Deploy individual microservices through continuous integration Examine the complexities of testing and monitoring distributed services Manage security with user-to-service and service-to-service models Understand the challenges of scaling microservice architectures
…
Cover unavailable
12
RTL Modeling with SystemVerilog for Simulation and Synthesis: Using SystemVerilog for ASIC and FPGA Design
Stuart Sutherland
4.4
This book is both a tutorial and a reference for engineers who use the SystemVerilog Hardware Description Language (HDL) to design ASICs and FPGAs. The book shows how to write SystemVerilog models at the Register Transfer Level (RTL) that simulate and synthesize correctly, with a focus on proper coding styles and best practices. SystemVerilog is the latest generation of the original Verilog language, and adds many important capabilities to efficiently and more accurately model increasingly complex designs. This book reflects the SystemVerilog-2012/2017 standards. This book is for engineers who already know, or who are learning, digital design engineering. The book does not present digital design theory; it shows how to apply that theory to write RTL models that simulate and synthesize correctly. The creator of the original Verilog Language, Phil Moorby says about this book (an excerpt from the book's Foreword): "Many published textbooks on the design side of SystemVerilog assume that the reader is familiar with Verilog, and simply explain the new extensions. It is time to leave behind the stepping-stones and to teach a single consistent and concise language in a single book, and maybe not even refer to the old ways at all! If you are a designer of digital systems, or a verification engineer searching for bugs in these designs, then SystemVerilog will provide you with significant benefits, and this book is a great place to learn the design aspects of SystemVerilog."
…
Cover unavailable
13
The Elements of Computing Systems: Building a Modern Computer from First Principles
Noam Nisan and Shimon Schocken
4.4
In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.
Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.
Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only pre-requisite being a programming experience.
The book's web site provides all tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.
…
Cover unavailable
14
Design Patterns: Elements of Reusable Object-Oriented Software
Erich; Helm John Gamma
4.4
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.
The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently.
Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.
…
Cover unavailable
15
Refactoring: Improving the Design of Existing Code
Martin Fowler
4.4
Fully Revised and Updated-Includes New Refactorings and Code Examples"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --M. Fowler (1999) For more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand. This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes. Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use. Understand the process and general principles of refactoring Quickly apply useful refactorings to make a program easier to comprehend and change Recognize "bad smells" in code that signal opportunities to refactor Explore the refactorings, each with explanations, motivation, mechanics, and simple examples Build solid tests for your refactorings Recognize tradeoffs and obstacles to refactoring Includes free access to the canonical web edition, with even more refactoring resources. (See inside the book for details about how to access the web edition.)
This is next on my list of technical books to read! Refactoring is one of two programming books that I’ve read multiple times (the other is Smalltalk Best Practice Patterns), and I’m due for another reading. What perfect time then to dive into Martin Fowler’s long anticipated 2nd edition, now using JavaScript rather than Java for the code examples. Like the stoic books, I read Refactoring and that Smalltalk book again and again not because I’m going to learn something new, per se, but because I want to be reminded about what I already know. And what better time to reread than just as we’re kicking off a new major project that needs a fresh architectural foundation. Also, these two books just remind every time of how much I love the craft of programming. It’s not just having the programs, it’s not just solving problems, it’s simply using my hands and head to program that in and of itself is sublime. [source]
Cover unavailable
16
An Elegant Puzzle: Systems of Engineering Management
Will Larson
4.4
Recommended by Charity Majors and Jeff Morris Jr..
Charity Majors
Holy fuckola. I got ~4 pages through @lethain's new book before realizing "this might be the best book I have ever read on engineering teams" and by page 42 I knew for sure. Every engineer should read this. Not just managers. https://t.co/cNI53wS4bK [source]
Jeff Morris Jr.
@briannekimmel @Lethain Great book — highly recommend. [source]
Cover unavailable
17
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric Evans
4.3
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "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.
6th Grade Common Core Math: Daily Practice Workbook - Part I: Multiple Choice | 1000+ Practice Questions and Video Explanations | Argo Brothers
Argo Brothers
4.3
Cover unavailable
19
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Michael T. Nygard
4.3
Whether it's in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. 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.
…
Cover unavailable
20
Working Effectively with Legacy Code
Michael Feathers
4.3
Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.
In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. 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 structure
This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.
…
Cover unavailable
21
The Resilient Farm and Homestead: An Innovative Permaculture and Whole Systems Design Approach
Ben Falk
4.3
"The Resilient Homestead" is a manual for developing durable, beautiful, and highly functional human habitat systems fit to handle an age of rapid transition.Ben Falk is a land designer and site developer whose permaculture-research farm has drawn national attention. The site is a terraced paradise on a hillside in Vermont that would otherwise be overlooked by conventional farmers as unworthy farmland. Falk's wide array of fruit trees, rice paddies(relatively unheard of in the Northeast), ducks, nuts, and earth-inspired buildings is a hopeful image for the future of regenerative agriculture and modern homesteading.The book covers nearly every strategy Falk and his team have been testing at the Whole Systems Research Farm over the past decade, as well as experiments from other sites Falk has designed through his off-farm consulting business. The book includes detailed information on earthworks; gravity-fed water systems; species composition; the site-design process; site management; fuelwood hedge production and processing; human health and nutrient-dense production strategies; rapid topsoil formation and remineralization; agroforestry/silvopasture/grazing; ecosystem services, especially regarding flood mitigation; fertility management; human labor and social-systems aspects; tools/equipment/appropriate technology; and much more, complete with gorgeous photography and detailed design drawings."The Resilient Homestead" is more than just a book of tricks and techniques for regenerative site development, but offers actual working results in living within complex farm-ecosystems based on research from the "great thinkers" in permaculture, and presents a viable home-scale model for an intentional food-producing ecosystem in cold climates, and beyond. Inspiring to would-be homesteaders everywhere, but especially for those who find themselves with "unlikely" farming land, Falk is an inspiration in what can be done by imitating natural systems, and making the most of what we have by re-imagining what's possible. A gorgeous case study for the homestead of the future.
…
Cover unavailable
22
Practical Electronics for Inventors
Paul Scherz and Simon Monk
4.3
A Fully-Updated, No-Nonsense Guide to Electronics
Advance your electronics knowledge and gain the skills necessary to develop and construct your own functioning gadgets. Written by a pair of experienced engineers and dedicated hobbyists, Practical Electronics for Inventors, Fourth Edition, lays out the essentials and provides step-by-step instructions, schematics, and illustrations. Discover how to select the right components, design and build circuits, use microcontrollers and ICs, work with the latest software tools, and test and tweak your creations. This easy-to-follow book features new instruction on programmable logic, semiconductors, operational amplifiers, voltage regulators, power supplies, digital electronics, and more. Practical Electronics for Inventors, Fourth Edition, covers:
Resistors, capacitors, inductors, and transformers Diodes, transistors, and integrated circuits Optoelectronics, solar cells, and phototransistors Sensors, GPS modules, and touch screens Op amps, regulators, and power supplies Digital electronics, LCD displays, and logic gates Microcontrollers and prototyping platforms Combinational and sequential programmable logic DC motors, RC servos, and stepper motors Microphones, audio amps, and speakers Modular electronics and prototypes
…
Cover unavailable
23
Game Engine Architecture
Jason Gregory, Jeff Lander, Matt Whiting
4.3
This book covers both the theory and practice of game engine software development, bringing together complete coverage of a wide range of topics. The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.
Intended as the text for a college level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.
…
Cover unavailable
24
Rainwater Harvesting for Drylands and Beyond, Volume 1: Guiding Principles to Welcome Rain Into Your Life and Landscape
Brad Lancaster
4.3
Turn water scarcity into water abundance!
"Rainwater Harvesting for Drylands and Beyond, Volume 1, 3rd Edition" is the best-selling, award-winning guide on how to conceptualize, design, and implement life-enhancing water-, sun-, wind-, and shade-harvesting systems for your home, landscape, and community. This book enables you to assess your on-site resources, gives you a diverse array of strategies to maximize their potential, and empowers you with guiding principles to create an integrated, multi-functional plan specific to your site and needs.
Clearly written with more than 290 illustrations, this full-color edition helps bring your site to life, reduce your cost of living, endow yourself and your community with skills of self-reliance and cooperation, and create living air conditioners of vegetation growing beauty, food, and wildlife habitat. Stories of people who are successfully welcoming rain into their life and landscape will invite you to do the same.
…
Cover unavailable
25
Elements of Programming Interviews in Python: The Insiders' Guide
Adnan Aziz, Tsung-Hsien Lee, et al.
4.3
This is the Python version of our book. See the website for links to the C++ and Java version.Have you ever...
Wanted to work at an exciting futuristic company? Struggled with an interview problem thatcould have been solved in 15 minutes? Wished you could study real-world computing problems? If so, you need to read Elements of Programming Interviews (EPI).
EPI is your comprehensive guide to interviewing for software development roles.
The core of EPI is a collection of over 250 problems with detailed solutions. The problems are representative of interview questions asked at leading software companies. The problems are illustrated with 200 figures, 300 tested programs, and 150 additional variants.
The book begins with a summary of the nontechnical aspects of interviewing, such as strategies for a great interview, common mistakes, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI. We also provide a summary of data structures, algorithms, and problem solving patterns.
Coding problems are presented through a series of chapters on basic and advanced data structures, searching, sorting, algorithm design principles, and concurrency. Each chapter stars with a brief introduction, a case study, top tips, and a review of the most important library methods. This is followed by a broad and thought-provoking set of problems.
A practical, fun approach to computer science fundamentals, as seen through the lens of common programming interview questions. Jeff Atwood/Co-founder, Stack Overflow and Discourse
…
Cover unavailable
26
Sound Systems: Design and Optimization: Modern Techniques and Tools for Sound System Design and Alignment
Bob McCarthy
4.3
Sound Systems: Design and Optimization provides an accessible and unique perspective on the behavior of sound systems in the practical world. The third edition reflects current trends in the audio field thereby providing readers with the newest methodologies and techniques.
In this greatly expanded new edition, you'll find clearer explanations, a more streamlined organization, increased coverage of current technologies and comprehensive case studies of the author's award-winning work in the field.
As the only book devoted exclusively to modern tools and techniques in this emerging field, Sound Systems: Design and Optimization provides the specialized guidance needed to perfect your design skills. This book helps you:
Improve your design and optimization decisions by understanding how audiences perceive reinforced sound
Use modern analyzers and prediction programs to select speaker placement, equalization, delay and level settings based on how loudspeakers interact in the space
Define speaker array configurations and design strategies that maximize the potential for spatial uniformity
Gain a comprehensive understanding of the tools and techniques required to generate a design that will create a successful transmission/reception model
…
Cover unavailable
27
Automotive Wiring and Electrical Systems Vol. 2: Projects
Tony Candela
4.3
Countless collector car owners are skilled at performing mechanical work, but for many of them, electrical work seems like a mystery, too complicated and too confusing. However, electrical upgrades are absolutely essential for a high-performance classic car or a modified car to perform at its best. With a firm understanding of the fundamentals, you can take this comprehensive guide and complete a wide range of electrical projects that enhance the performance and functionality of a vehicle. In this revised edition (formerly titled Automotive Electrical Performance Projects) brilliant color photos and explanatory step-by-step captions detail the installation of the most popular, functional, and beneficial upgrades for enthusiasts of varying skill levels. Just a few of the projects included are: maximizing performance of electric fans; installing electronic gauges; upgrading charging systems; and installing a complete aftermarket wiring harness, which is no small task. Each facet is covered in amazing detail.
Veteran author Tony Candela, who wrote CarTech's previous best-selling title Automotive Wiring and Electrical Systems, moves beyond the theoretical and into real-world applications with this exciting and detailed follow-up. This Volume 2 is essential for any enthusiast looking to upgrade his or her classic vehicle to modern standards, and for putting all the knowledge learned in Automotive Wiring and Electrical Systems into practice. This book is a 2015 International Automotive Media Competition (IAMC) Silver Medal Winner.
…
Cover unavailable
28
Modern C++ Design: Generic Programming and Design Patterns Applied
Andrei Alexandrescu
4.3
In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. This book introduces the concept of generic components--reusable design templates that produce boilerplate code for compiler consumption--all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include: Policy-based design for flexibility Partial template specialization Typelists--powerful type manipulation structures Patterns such as Visitor, Singleton, Command, and Factories Multi-method engines For each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution. In addition, an accompanying Web site, http: //www.awl.com/cseng/titles/0-201-70431-5, makes the code implementations available for the generic components in the book and provides a free, downloadable C++ library, called Loki, created by the author. Loki provides out-of-the-box functionality for virtually any C++ project. Get a value-added service! Try out all the examples from this book at www.codesaw.com. CodeSaw is a free online learning tool that allows you to experiment with live code from your book right in your browser.
…
Cover unavailable
29
Adult Coloring Books by Kendall Rae: Ultimate Relaxation Motivational Adult Coloring Book
Kendall Rae
4.3
Cover unavailable
30
Automotive Wiring and Electrical Systems
Tony Candela
4.3
Often, wiring and electrical work intimidate automotive do-it-yourselfers more than anything else. It's not mechanical, and therefore, it's unfamiliar territory. Electrons are invisible, and to an untrained enthusiast they can do unpredictable things. Finally, here is an enthusiast's guide that takes the mysteries and misunderstandings out of automotive electrical design, modification, diagnostics, and repair. Automotive Wiring and Electrical Systems is the perfect book to unshroud the mysteries of automotive electrics and electronic systems. The basics of electrical principles, including voltage, amperage, resistance, and Ohm's law, are revealed in clear and concise detail so the enthusiast understands what these mean in the construction and repair of automotive electrical circuits. All the tools and the proper equipment required for automotive electrical tasks are covered. In addition, this in-depth guide explains how to perform more complex tasks, such as adding new circuits, installing aftermarket electronics, repairing existing circuits, and troubleshooting. It also explains how to complete popular wiring projects, such as adding late-model electronic accessories and convenience items to earlier-model cars, installing relay systems, designing and assembling multi-function circuits and harnesses, and much more.
With this book in hand, you will be able to assemble, design, and build single- and multi-function circuits and harnesses, troubleshoot and repair existing circuits, and install aftermarket systems and electronics. Automotive Wiring and Electrical Systems is the perfect book for wiring a hot rod from scratch, modifying muscle car electrical circuits for cooling fans and/or power windows, or adding a big stereo and other conveniences to modern performance cars.
…
Cover unavailable
31
The Scientist and Engineer's Guide to Digital Signal Processing
Steven W. Smith
4.3
Cover unavailable
32
Anatomy of LISP
John Allen
4.2
McGraw-Hill Computer Science Series.
McGraw-Hill Series in Artificial Intelligence.
Cover unavailable
33
The Design and Implementation of the FreeBSD Operating System
Marshall Kirk McKusick
4.2
The most complete, authoritative technical guide to the FreeBSD kernel's internal structure has now been extensively updated to cover all major improvements between Versions 5 and 11. Approximately one-third of this edition's content is completely new, and another one-third has been extensively rewritten. Three long-time FreeBSD project leaders begin with a concise overview of the FreeBSD kernel's current design and implementation. Next, they cover the FreeBSD kernel from the system-call level down-from the interface to the kernel to the hardware. Explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing each significant system facility, including process management, security, virtual memory, the I/O system, filesystems, socket IPC, and networking. This Second Edition - Explains highly scalable and lightweight virtualization using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualization - Describes new security features such as Capsicum sandboxing and GELI cryptographic disk protection - Fully covers NFSv4 and Open Solaris ZFS support - Introduces FreeBSD's enhanced volume management and new journaled soft updates - Explains DTrace's fine-grained process debugging/profiling - Reflects major improvements to networking, wireless, and USB support Readers can use this guide as both a working reference and an in-depth study of a leading contemporary, portable, open source operating system. Technical and sales support professionals will discover both FreeBSD's capabilities and its limitations. Applications developers will learn how to effectively and efficiently interface with it; system administrators will learn how to maintain, tune, and configure it; and systems programmers will learn how to extend, enhance, and interface with it. Marshall Kirk McKusick writes, consults, and teaches classes on UNIX- and BSD-related subjects. While at the University of California, Berkeley, he implemented the 4.2BSD fast filesystem. He was research computer scientist at the Berkeley Computer Systems Research Group (CSRG), overseeing development and release of 4.3BSD and 4.4BSD. He is a FreeBSD Foundation board member and a long-time FreeBSD committer. Twice president of the Usenix Association, he is also a member of ACM, IEEE, and AAAS. George V. Neville-Neil hacks, writes, teaches, and consults on security, networking, and operating systems. A FreeBSD Foundation board member, he served on the FreeBSD Core Team for four years. Since 2004, he has written the "Kode Vicious" column for "Queue" and "Communications of the ACM." He is vice chair of ACM's Practitioner Board and a member of Usenix Association, ACM, IEEE, and AAAS. Robert N.M. Watson is a University Lecturer in systems, security, and architecture in the Security Research Group at the University of Cambridge Computer Laboratory. He supervises advanced research in computer architecture, compilers, program analysis, operating systems, networking, and security. A FreeBSD Foundation board member, he served on the Core Team for ten years and has been a committer for fifteen years. He is a member of Usenix Association and ACM.
…
Cover unavailable
34
DIY Hydroponic Gardens: How to Design and Build an Inexpensive System for Growing Plants in Water
Tyler Baras
4.2
With practical information aimed at home DIYers, author Tyler Baras (Farmer Tyler to his fans) shows exactly how to build, plant, and maintain over a dozen unique hydroponic systems, some costing just a few dollars to make.
No soil? No sunlight? No problem. A hydroponic growing system gives you the power to grow plants anywhere. Even if you live in an area where water is scarce, a hydroponic system is the answer you’ve been looking for. Hydroponic systems are sealed and do not allow evaporation, making water loss virtually nonexistent. Simply suspend your essential nutrients in a water-based solution and circulate them to the plant roots in a contained network of vessels and tubes. This accessible guide provides the solid information you need for hydroponic gardening success.
Farmer Tyler shows you, with detailed step-by-step photos, precisely how to create these systems, and how to plant and maintain them. All the information you need to get started with your home hydroponic system is included: Recipes for nutrient solutions Light and ventilation sources Comprehensive equipment guide Growing and maintenance instructions 12+ hydroponic system builds Complete crop selection charts
DIY Hydroponic Gardens is the best resource available for getting started in hydroponics.
…
Cover unavailable
35
Growing Object-Oriented Software, Guided by Tests
Steve Freeman, Nat Pryce
4.2
Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows." --Ward Cunningham "At last, a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes - Implementing TDD effectively: getting started, and maintaining your momentum throughout the project - Creating cleaner, more expressive, more sustainable code - Using tests to stay relentlessly focused on sustaining quality - Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project - Using Mock Objects to guide object-oriented designs - Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency
…
Cover unavailable
36
Fundamentals of Software Architecture: An Engineering Approach
Mark Richards
4.2
Although salary surveys worldwide regularly identify software architect as one of the top ten best jobs, no decent guides exist to help developers become architects. Until now. This practical guide provides the first comprehensive overview of software architecture's many aspects. You'll examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics.
Authors Neal Ford and Mark Richards help you learn through examples in a variety of popular programming languages, such as Java, C#, JavaScript, and others. You'll focus on architecture principles with examples that apply across all technology stacks.
…
Cover unavailable
37
Refactoring to Patterns
Joshua Kerievsky
4.2
In 1994, "Design Patterns" changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, "Refactoring" revolutionized design by introducing an effective process for improving code. With the highly anticipated " Refactoring to Patterns ," Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.
This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.
Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book s refactorings General information and new insights about patterns and refactoringDetailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern and when to use each Practical ways to get started even if you have little experience with patterns or refactoring
"Refactoring to Patterns" reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you re focused on legacy or greenfield development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively. "
…
Cover unavailable
38
Microservice Patterns
Chris Richardson, Aiden Humphreys, et al
4.2
The monolithic architecture works well for small, simple applications. However, successful applications have a habit of growing. Eventually the development team ends up in what is known as monolithic hell. All aspects of software development and deployment become painfully slow. The solution is to adopt the microservice architecture, which structures an application as a services, organized around business capabilities. This architecture accelerates software development and enables continuous delivery and deployment of complex software applications.
Microservice Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather than simply advocating for the use the microservice architecture, this clearly-written guide takes a balanced, pragmatic approach. You'll discover that the microservice architecture is not a silver bullet and has both benefits and drawbacks. Along the way, you'll learn a pattern language that will enable you to solve the issues that arise when using the microservice architecture. This book also teaches you how to refactor a monolithic application to a microservice architecture.
…
Cover unavailable
39
The Architecture of Open Source Applications, Volume II
Amy Brown, Greg Wilson
4.2
Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well - usually programs they wrote themselves - and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes. This second volume of The Architecture of Open Source Applications aims to change that. In it, the authors of twenty-four open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to this book provide unique insights into how they think.
…
Cover unavailable
40
Tinyml: Machine Learning with Tensorflow Lite on Arduino and Ultra-Low-Power Microcontrollers
Pete Warden
4.2
Neural networks are getting smaller. Much smaller. The OK Google team, for example, has run machine learning models that are just 14 kilobytes in size--small enough to work on the digital signal processor in an Android phone. With this practical book, you'll learn about TensorFlow Lite for Microcontrollers, a miniscule machine learning library that allows you to run machine learning algorithms on tiny hardware.
Authors Pete Warden and Daniel Situnayake explain how you can train models that are small enough to fit into any environment, including small embedded devices that can run for a year or more on a single coin cell battery. Ideal for software and hardware developers who want to build embedded devices using machine learning, this guide shows you how to create a TinyML project step-by-step. No machine learning or microcontroller experience is necessary.
Learn practical machine learning applications on embedded devices, including simple uses such as speech recognition and gesture detection Train models such as speech, accelerometer, and image recognition, you can deploy on Arduino and other embedded platforms Understand how to work with Arduino and ultralow-power microcontrollers Use techniques for optimizing latency, energy usage, and model and binary size
…
Cover unavailable
41
Inside the Machine
Jon Stokes
4.2
Computers perform countless tasks ranging from the business critical to the recreational, but regardless of how differently they may look and behave, they're all amazingly similar in basic function. Once you understand how the microprocessor-or central processing unit (CPU)-works, you'll have a firm grasp of the fundamental concepts at the heart of all modern computing.
Inside the Machine, from the co-founder of the highly respected Ars Technica website, explains how microprocessors operate-what they do and how they do it. The book uses analogies, full-color diagrams, and clear language to convey the ideas that form the basis of modern computing. After discussing computers in the abstract, the book examines specific microprocessors from Intel, IBM, and Motorola, from the original models up through today's leading processors. It contains the most comprehensive and up-to-date information available (online or in print) on Intel's latest processors: the Pentium M, Core, and Core 2 Duo. Inside the Machine also explains technology terms and concepts that readers often hear but may not fully understand, such as "pipelining," "L1 cache," "main memory," "superscalar processing," and "out-of-order execution."
Includes discussion of:
Parts of the computer and microprocessor Programming fundamentals (arithmetic instructions, memory accesses, control flow instructions, and data types) Intermediate and advanced microprocessor concepts (branch prediction and speculative execution) Intermediate and advanced microprocessor concepts (branch prediction and speculative execution) Intermediate and advanced computing concepts (instruction set architectures, RISC and CISC, the memory hierarchy, and encoding and decoding machine language instructions) 64-bit computing vs. 32-bit computing Caching and performance Inside the Machine is perfect for students of science and engineering, IT and business professionals, and the growing community of hardware tinkerers who like to dig into the guts of their machines.
…
Cover unavailable
42
Typographic Systems of Design: Frameworks for Type Beyond the Grid (Graphic Design Book on Typography Layouts and Fundamentals)
Kimberly Elam
4.2
Typographic organization has always been a complex system in that there are so many elements at play, such as hierarchy, order of reading, legibility, and contrast. In Typographic Systems, Kim Elam, author of our bestselling books, Geometry of Design and Grid Systems, explores eight major structural frameworks beyond the gridincluding random, radial, modular, and bilateralsystems. By taking the reader through exercises, student work, and professional examples, Elam offers a broad range of design solutions. Once essential visual organization systems are understood the designer can fluidly organize words or images within a structure, combination of structures, or a variation of a structure. With clarity and substance, each systemfrom the structured axis to the nonhierarchical radial arrayis explained and explored so that the reader comes away with a better understanding of these intricate complex arrangements. Typographic Systems is the seventh title in our bestselling Design Briefs series, which has sold more than 100,000 copies worldwide.
…
Cover unavailable
43
Essential Rainwater Harvesting: A Guide to Home-Scale System Design
Rob Avis P. Eng
4.2
Design a rainwater harvesting system for any home in any climate.
Water is a crucial resource increasingly under stress. Yet rainfall, even in arid climates, can make up a sizable portion of any home, acreage, or farm's water requirements if harvested and utilized with care. The key is appropriate planning and high-quality site- and climate-specific design.
Essential Rainwater Harvesting is a comprehensive manual for designing, building, and maintaining water harvesting systems for the warm and cold climates of the world. Presenting design considerations and approaches for the most common household rainwater supply scenarios - primary, supplemental, and off-grid supply - this step-by-step approach covers:
Considerations for full-property water security Demand planning and conservation strategies Supply calculations and design implications for extreme rainfall and drought Materials selection and water quality System and site assessment Sizing and design of gutters, conveyance, tanks, and pumps Pre-filtration, filtration, and disinfection options System maintenance and upkeep This practical resource provides DIYers, trades, and rainwater practitioners with the essential tools, methods, and technical know-how to design, build, and maintain rainwater harvesting systems anywhere.
Rob Avis, P.Eng and Michelle Avis, P.Eng own and operate Adaptive Habitat, a leading edge property design firm for resilient homes, acreages, and farms and Verge Permaculture, a globally recognized award-winning education business. They have over 20 years of combined experience in project management, ecological design, and sustainable technologies, which they share at vergepermaculture.ca from their suburban house and yard that they've transformed into a model of cold climate urban permaculture in Calgary, Alberta.
…
Cover unavailable
44
UX Design Process
Csaba Ház
4.2
User Experience (UX) design isn't a new field. But sometimes new approaches lead to new perspectives. In this book, you'll learn how lean UX has made the whole discipline more approachable and attractive to startups, and you'll see that UX issues aren't just a quick fix, but should also address big-picture issues. Sometimes, the solution to a problem is to fix a broken UX; other times, you will need to constantly fine-tune in order to keep up with changing demands. You'll also look at wireframing alternatives, research planning and design bias.
…
Cover unavailable
45
Cisco CCNA Command Guide: An Introductory Guide for CCNA & Computer Networking Beginners
Ramon Nastase
4.2
The "Cisco CCNA Command Guide" is the Complete Cisco CCNA Routing & Switching Command Guide for Passing your CCNA Exam. A guide that will cover everything in Cisco Routing and Switching Command, including Subnetting, vlsm and Supernetting. You will be able pass your CCNA (Cisco Certified Networking Associate) exam and become a Cisco technology specialist sooner than you expected. The book is structured on 4 modules, which are exactly the ones you need for CCNA. Every command you have to know is presented and explained here. After you'll read this book, you'll be able to:
How to manage and configure Cisco devices (Routers, Switches) How to troubleshoot with key commands How can you apply this knowledge in a practical scenario Written for simplicity so that you can learn Cisco IOS quickly and effectively. You'll learn computer networking while executing commands. The book includes configuration scenarios such as: Basic configurations on Routers and Switches
Routing Protocols (OSPF, EIGRP, eBGP, RIP)
Switching (VLANs, STPs, VTPs)
Redundancy (HSRP, EtherChannel)
Security (ACL, Security Switching, VPN), etc. Becoming a professional networking engineer is now easier than ever. If you get this book NOW, you'll shortly see that Cisco Routing and Command are something anyone can understand with a little bit of practice.
Neural Networks and Deep Learning is a free online book. The book will teach you about: * Neural networks, a beautiful biologically-inspired programming paradigm which enables a computer to learn from observational data * Deep learning, a powerful set of techniques for learning in neural networks
Neural networks and deep learning currently provide the best solutions to many problems in image recognition, speech recognition, and natural language processing. This book will teach you the core concepts behind neural networks and deep learning.
…
Cover unavailable
47
IoT and Edge Computing for Architects: Implementing edge and IoT systems from sensors to clouds with communication systems, analytics, and security, 2nd Edition
Perry Lea
4.2
Cover unavailable
48
Security Engineering: A Guide to Building Dependable Distributed Systems 2ed
Ross J. Anderson
4.2
The world has changed radically since the first edition of this book was published in 2001. Spammers, virus writers, phishermen, money launderers, and spies now trade busily with each other in a lively online criminal economy and as they specialize, they get better. In this indispensable, fully updated guide, Ross Anderson reveals how to build systems that stay dependable whether faced with error or malice. Here's straight talk on critical topics such as technical engineering basics, types of attack, specialized protection mechanisms, security psychology, policy, and more.
…
Recommended by Ben Goldacre.
Ben Goldacre
@szbalint it's such a great book, i've always said @rossjanderson should release it in chunks as pop science books. the massive textbook shape doesn't do its accessibility, readability and content justice! [source]
Cover unavailable
49
Burn Your Turtleneck: A Guide to Succeeding as a Creative Professional
Michael Janda Janda
4.2
Recommended by Fabio Sasso.
Cover unavailable
50
Control System Design: An Introduction to State-Space Methods
Bernard Friedland
4.2
Introduction to state-space methods covers feedback control; state-space representation of dynamic systems and dynamics of linear systems; frequency-domain analysis; controllability and observability; and shaping the dynamic response. Additional subjects encompass linear observers; compensator design by the separation principle; linear, quadratic optimum control; random processes; and Kalman filters. 1986 edition.
…
Cover unavailable
51
Digital Design and Computer Architecture
David Harris, Sarah Harris
4.2
Digital Design and Computer Architecture is designed for courses that combine digital logic design with computer organization/architecture or that teach these subjects as a two-course sequence. Digital Design and Computer Architecture begins with a modern approach by rigorously covering the fundamentals of digital logic design and then introducing Hardware Description Languages (HDLs). Featuring examples of the two most widely-used HDLs, VHDL and Verilog, the first half of the text prepares the reader for what follows in the second: the design of a MIPS Processor. By the end of Digital Design and Computer Architecture, readers will be able to build their own microprocessor and will have a top-to-bottom understanding of how it works--even if they have no formal background in design or architecture beyond an introductory class. David Harris and Sarah Harris combine an engaging and humorous writing style with an updated and hands-on approach to digital design.
Unique presentation of digital logic design from the perspective of computer architecture using a real instruction set, MIPS. Side-by-side examples of the two most prominent Hardware Design Languages--VHDL and Verilog--illustrate and compare the ways the each can be used in the design of digital systems. Worked examples conclude each section to enhance the reader's understanding and retention of the material.
…
Cover unavailable
52
Building Construction Illustrated
Francis D. K. Ching, Cassandra Adams
4.2
A professional architect presents an update to the classic manual on residential and light construction techniques and includes increased coverage of environmentally friendly materials--plus the latest data on concrete, steel and glazing technology, energy efficiency in buildings, moisture and thermal protection, natural lighting, and masonry. 100+ line drawings.
Cover unavailable
53
Compilers: Principles, Techniques, and Tools
Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman
4.2
This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.
…
Cover unavailable
54
The Old New Thing: Practical Development Throughout the Evolution of Windows
Raymond Chen
4.2
"Raymond Chen is the original raconteur of Windows."
--Scott Hanselman, ComputerZen.com
"Raymond has been at Microsoft for many years and has seen many nuances of Windows that others could only ever hope to get a glimpse of. With this book, Raymond shares his knowledge, experience, and anecdotal stories, allowing all of us to get a better understanding of the operating system that affects millions of people every day. This book has something for everyone, is a casual read, and I highly recommend it!"
--Jeffrey Richter, Author/Consultant, Cofounder of Wintellect
"Very interesting read. Raymond tells the inside story of why Windows is the way it is."
--Eric Gunnerson, Program Manager, Microsoft Corporation
"Absolutely essential reading for understanding the history of Windows, its intricacies and quirks, and why they came about."
--Matt Pietrek, MSDN Magazine's Under the Hood Columnist
"Raymond Chen has become something of a legend in the software industry, and in this book you'll discover why. From his high-level reminiscences on the design of the Windows Start button to his low-level discussions of GlobalAlloc that only your inner-geek could love, The Old New Thing is a captivating collection of anecdotes that will help you to truly appreciate the difficulty inherent in designing and writing quality software."
--Stephen Toub, Technical Editor, MSDN Magazine
Why does Windows work the way it does? Why is Shut Down on the Start menu? (And why is there a Start button, anyway?) How can I tap into the dialog loop? Why does the GetWindowText function behave so strangely? Why are registry files called "hives"?
Many of Windows' quirks have perfectly logical explanations, rooted in history. Understand them, and you'll be more productive and a lot less frustrated. Raymond Chen--who's spent more than a decade on Microsoft's Windows development team--reveals the "hidden Windows" you need to know.
Chen's engaging style, deep insight, and thoughtful humor have made him one of the world's premier technology bloggers. Here he brings together behind-the-scenes explanations, invaluable technical advice, and illuminating anecdotes that bring Windows to life--and help you make the most of it.
A few of the things you'll find inside:
What vending machines can teach you about effective user interfaces A deeper understanding of window and dialog management Why performance optimization can be so counterintuitive A peek at the underbelly of COM objects and the Visual C++ compiler Key details about backwards compatibility--what Windows does and why Windows program security holes most developers don't know about How to make your program a better Windows citizen
…
Cover unavailable
55
Manual D - Residential Duct Systems
Hank Rutkowski and Air Conditioning Contractors of America
4.2
Cover unavailable
56
Turbo: Real World High-Performance Turbocharger Systems
Jay Miller
4.2
Turbochargers are incredibly appealing to performance enthusiasts because of their ability to add free horsepower - and lots of it - to almost any engine or vehicle. Today, it seems easier than ever for the average gearhead to harness the incredible power-building capability of turbochargers. Those who want to increase the performance of their existing turbo system, or those who want to add a turbo to an existing engine, have never had so many components, vendors, and information resources to choose from. Unfortunately, this wealth of options and opinions can be hard to understand and navigate. That's where Turbo: Real World High-Performance Turbocharger Systems comes in. This book is the most complete, detailed, up-to-date resource on anything and everything to do with turbochargers. Whether you're running gas or diesel, 4, 6, 8, or more cylinders, this book will teach you to design, test, install, and maintain your high-performance turbo system. You'll learn how turbochargers work, how to choose the right turbo or turbos for your engine by reading flow maps, and how to tune your engine to run perfectly with your turbo system.
Author Jay Miller uses more than 300 photos and the perfect blend of technical and common-sense information to help you build boost fast and make more horsepower and torque. He discusses the various components of a turbocharger and explains how to decode complicated turbocharger model numbers, compressor maps, and other specs. If you run into problems with your turbo system, there's also a detailed chapter on failure analysis to help you figure out what went wrong and how to fix it.
…
Cover unavailable
57
Ti Tiva Arm Programming for Embedded Systems: Programming Arm Cortex-M4 Tm4c123g with C
Muhammad Ali Mazidi, Shujen Chen, et al.
4.2
1) Our ARM book series The ARM CPU is licensed and produced by hundreds of companies. The ARM Assembly language instructions and architectures are standardized and all the licensees must follow them. The first volume of this series (ARM Assembly Language Programming & Architecture by Mazidi & Naimi) covers the Assembly language programming, instructions, and architecture of the ARM and can be used with any ARM chip, regardless of the chip maker. Since the licensees are free to design and implement their own peripherals, the peripherals of ARM chips vary greatly among the licensees. For this reason, we have dedicated a separate volume to each licensee. This volume covers the peripheral programming of Texas Instruments (TI) ARM Tiva C series. Throughout the book, we use C language to program the Tiva C Series TM4C123G chip peripherals. We use TM4C123G LaunchPad(TM) Evaluation Kit which is based on ARM(R) Cortex(R)-M4F MCU. See our website for tutorials and support materials: http: //www.MicroDigitalEd.com/ARM/TI_ARM_boo... 2) Who will use our ARM textbooks? The primary audience of our textbook on ARM is undergraduate and graduate engineering students in Electrical and Computer Engineering departments. We assume no background in microcontroller and embedded systems programming. It can also be used by embedded system programmers who want to move away from 8- and 16-bit legacy chips such as the 8051, AVR, PIC, and HCS08/12 family of microcontrollers to ARM. Designers of the x86-based systems wanting to design ARM-based embedded systems can also benefit from this series. See our website for other titles for ARM Programming and Embedded Systems: http: //www.MicroDigitalEd.com/ARM/ARM_books.htm
…
Cover unavailable
58
Photovoltaic Design & Installation for Dummies
Ryan Mayfield
4.2
Photovoltaic Design and Installation For Dummies (9781119544357) was previously published as Photovoltaic Design and Installation For Dummies (9780470598931). While this version features a new Dummies cover and design, the content is the same as the prior release and should not be considered a new or updated product.
The fun and easy way to get a grip on photovoltaic design and installation
Designing and installing solar panel systems is a trend that continues to grow. With 'green collar' jobs on the rise and homeowners looking for earth-friendly ways to stretch their dollars and lesson their carbon imprint, understanding photovoltaic design and installation is on the rise.
Photovoltaic Design & Installation For Dummies gives you a comprehensive overview of the history, physics, design, installation, and operation of home-scale solar-panel systems. You'll also get an introduction to the foundational mathematic and electrical concepts you need to understand and work with photovoltaic systems.
Covers all aspects of home-scale solar-power systems Viable resource for professionals, students, and technical laymen Can be used to study for the NABCEP exam Whether you're a building professional looking to expand your business and skills to meet the growing demand for solar power installation or are seeking a career in this rapidly expanding field, Photovoltaic Design & Installation For Dummies has you covered!
…
Cover unavailable
59
Black Magic (Black Magic, #1)
Howard Johnson and Martin Graham
4.1
When High Paladin Sorin discovers the brutally dismembered body of his cousin Alfrey, a much loved priest in the royal palace, he is left baffled as to who would do so terrible a thing to so good a man. But to find the answer to that question, he must cooperate with one of the highly despised necromancers, men who practice black magic, sleep in graveyards and feed upon souls …
The necromancer Koray, however, is far from what he expected. He is beautiful, stubborn, and possessed of a tongue sharp enough to cut down even the High Paladin himself. Koray is also possessed of a strength like nothing Sorin has ever encountered, and the power of the Goddess herself.
It does not take them long to realize that solving a murder is the easiest challenge they must face, and in order to save a kingdom they must first unravel centuries of lies and misunderstandings.
…
Cover unavailable
60
Designing and Tuning High-Performance Fuel Injection Systems
Greg Banish
4.1
So you've decided that fuel injection is for you, but want to know more. Many questions surround what appears to many as more of a black art than science. Engine tuning used to be the hallowed ground of vehicle engineers and cutting-edge hot rodders. For years, the carburetor filled the needs of enthusiasts and provided simple adjustments at the end of a flat-bladed screwdriver. But today, electronic controls for engines are the norm. Even the casual enthusiast who actually drives his favorite hot rod on the streets can easily see the benefit of increased precision when he fires the car up for the first time each spring. A properly tuned EFI system rarely needs anything more than the turn of the key to come to life. Following up his best-selling title, Engine Management: Advanced Tuning, author Greg Banish goes in-depth on the combustion basics of fuel injection as well as benefits and limitations of standalone. Learn useful formulas, VE equation and airflow estimation, and more. Also covered are setups and calibration, creating VE tables, creating timing maps, auxiliary output controls, start to finish calibration examples with screen shots to document the process. Useful appendixes include glossary and a special resources guide with standalone manufacturers and test equipment manufacturers.
Aftermarket standalone systems are a great way to dial in performance and reliability. Designing and Tuning High-Performance Fuel-Injection Systems is the book you need to become an expert in this popular modification.
…
Cover unavailable
61
PIC Microcontroller and Embedded Systems: Using Assembly and C for Pic18
Muhammad Ali Mazidi, Danny Causey, et al.
4.1
The PIC microcontroller from Microchip is one of the most widely used 8-bit microcontrollers in the world. In this book, the authors use a step-by-step and systematic approach to show the programming of the PIC18 chip. Examples in both Assembly language and C show how to program many of the PIC18 features such as timers, serial communication, ADC, and SPI.
Cover unavailable
62
An Introduction to Systems Biology: Design Principles of Biological Circuits
Uri Alon
4.1
Written for students and researchers in systems biology, the second edition of this best-selling textbook continues to offer a clear presentation of design principles that govern the structure and behavior of biological networks, highlighting simple, recurring circuit elements that make up the network. Rigorously classroom-tested, it contains new additions as well as corrections and revisions for better flow. This edition includes four new chapters: Perfect Robustness, Scaling in Development, Noise and Variability in Biological Circuits, and Evolution of Modularity. It also doubles the number of exercises and adds an appendix.
…
Cover unavailable
63
Reactive Microsystems
Jun-ichi Yoshida
4.1
If you want your application to provide millisecond response times and close to 100% uptime, traditional architectures with single SQL databases and thread-per-request models simply cannot compete with microservices. This report discusses strategies and techniques for building scalable and resilient microservices, and helps you work your way through the evolution of a scalable microservices-based system. When it comes to development speed, time-to-market, and continuous delivery, microservices can do wonders for your organization. Author Jonas Bonér, Founder and CTO of Lightbend and author of Reactive Microservices Architecture (O’Reilly), demonstrates how to refactor a monolithic application step-by-step. You’ll briefly land at single instance microliths (micro monoliths) before working your way toward a scalable and resilient microsystem. This report will help you: - Examine the essential traits of an individual reactive microservice - Understand why monolithic architectures are a problem - Manage the hard part of microservice design: the space between individual services - Shift the focus from domain objects to events in domain-driven design - Make services more efficient, performant, and stable by applying reactive programming techniques - Make the services work together, collaboratively, as a single reactive system - Move beyond CRUD towards Event Sourcing/CQRS to scale state in an event-based design - Leverage fast data in microservices to manage real-time data at scale
…
Cover unavailable
64
1st grade Math workbook: CommonCore Math Workbook
Ace Academic Publishing
4.1
1st Grade Common Core Math: Practice Workbook - Practice Questions, Answers & Explanations - Recommended by Teachers - Ace Academic Publishing-Based on Common Core State Standards: Similar to a standardized exam, you can find questions of all types, including multiple-choice, fill-in-the-blank, true or false, match the correct answer and free-response questions.-High Standards of Questions: Each of these questions are divided into Chapters and Sub-Topics. The contents of this Math workbook include multiple chapters and units covering all the required Common Core Standards for this grade level.-Recommended by Teachers: These carefully written questions aim to help students reason abstractly and quantitatively using various models, strategies, and problem-solving techniques.-Identifying trouble spots and fixing it: This workbook will help students overcome any deficiencies in their understanding of critical concepts and also will help you identify the specific topic that students may require additional practice.-Practice all types of questions including free response: The book is comprised of multiple tests for each topic so that your child can have an abundant amount of test on the same topic.-Includes 2 Comprehensive Full-Length Tests: to practice the entire syllabus to prepare for the common core standardized exams.-Includes detailed step-by-step answers: The detailed answer explanations in the back of the book help the students understand the topics and gain confidence in solving similar problems and take the Common Core Standardized Exam with Confidence.
…
Cover unavailable
65
Even Faster Web Sites
Steve Souders
4.1
Performance is critical to the success of any web site, and yet today's web applications push browsers to their limits with increasing amounts of rich content and heavy use of Ajax. In this book, Steve Souders, web performance evangelist at Google and former Chief Performance Yahoo!, provides valuable techniques to help you optimize your site's performance.
Souders' previous book, the bestselling High Performance Web Sites, shocked the web development world by revealing that 80% of the time it takes for a web page to load is on the client side. In Even Faster Web Sites, Souders and eight expert contributors provide best practices and pragmatic advice for improving your site's performance in three critical categories:
JavaScript-Get advice for understanding Ajax performance, writing efficient JavaScript, creating responsive applications, loading scripts without blocking other components, and more. Network-Learn to share resources across multiple domains, reduce image size without loss of quality, and use chunked encoding to render pages faster. Browser-Discover alternatives to iframes, how to simplify CSS selectors, and other techniques. Speed is essential for today's rich media web sites and Web 2.0 applications. With this book, you'll learn how to shave precious seconds off your sites' load times and make them respond even faster.
This book contains six guest chapters contributed by Dion Almaer, Doug Crockford, Ben Galbraith, Tony Gentilcore, Dylan Schiemann, Stoyan Stefanov, Nicole Sullivan, and Nicholas C. Zakas.
…
Cover unavailable
66
Embedded C Programming: Techniques and Applications of C and PIC MCUS
Mark Siegesmund
4.1
This book provides a hands-on introductory course on concepts of C programming using a PIC(R) microcontroller and CCS C compiler. Through a project-based approach, this book provides an easy to understand method of learning the correct and efficient practices to program a PIC(R) microcontroller in C language. Principles of C programming are introduced gradually, building on skill sets and knowledge. Early chapters emphasize the understanding of C language through experience and exercises, while the latter half of the book covers the PIC(R) microcontroller, its peripherals, and how to use those peripherals from within C in great detail.
This book demonstrates the programming methodology and tools used by most professionals in embedded design, and will enable you to apply your knowledge and programming skills for any real-life application. Providing a step-by-step guide to the subject matter, this book will encourage you to alter, expand, and customize code for use in your own projects.
…
Cover unavailable
67
Making Embedded Systems: Design Patterns for Great Software
Elecia White
4.1
Interested in developing embedded systems? Since they don’t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements.
Written by an expert who’s created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.
Optimize your system to reduce cost and increase performance Develop an architecture that makes your software robust in resource-constrained environments Explore sensors, motors, and other I/O devices Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption Learn how to update embedded code directly in the processor Discover how to implement complex mathematics on small processors Understand what interviewers look for when you apply for an embedded systems job "Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. It’s very well written—entertaining, even—and filled with clear illustrations." —Jack Ganssle, author and embedded system expert.
A Project Guide to UX Design: For User Experience Designers in the Field or in the Making
Russ Unger, Carolyn Chandler
4.1
"If you are a young designer entering or contemplating entering the UX field this is a canonical book. If you are an organization that really needs to start grokking UX this book is also for you. " -- Chris Bernard, User Experience Evangelist, Microsoft User experience design is the discipline of creating a useful and usable Web site or application--one that's easily navigated and meets the needs of both the site owner and its users. But there's a lot more to successful UX design than knowing the latest Web technologies or design trends: It takes diplomacy, project management skills, and business savvy. That's where this book comes in. Authors Russ Unger and Carolyn Chandler show you how to integrate UX principles into your project from start to finish. - Understand the various roles in UX design, identify stakeholders, and enlist their support - Obtain consensus from your team on project objectives - Define the scope of your project and avoid mission creep - Conduct user research and document your findings - Understand and communicate user behavior with personas - Design and prototype your application or site - Make your product findable with search engine optimization - Plan for development, product rollout, and ongoing quality assurance
…
Cover unavailable
70
Advanced Game Design: A Systems Approach
Michael Sellers
4.1
In Advanced Game Design, pioneering game designer and instructor Michael Sellers situates game design practices in a strong theoretical framework of systems thinking, enabling designers to think more deeply and clearly about their work, so they can produce better, more engaging games for any device or platform. Sellers offers a deep unifying framework in which practical game design best practices and proven systems thinking theory reinforce each other, helping game designers understand what they are trying to accomplish and the best ways to achieve it. Drawing on 20+ years of experience designing games, launching game studios, and teaching game design, Sellers explains: What games are, and how systems thinking can help you think about them more clearly How to systematically promote engagement, interactivity, and fun What you can learn from MDA and other game design frameworks How to create gameplay and core loops How to design the entire player experience, and how to build game mechanics that work together to create that experience How to capture your game's "big idea" and Unique Selling Proposition How to establish high-level and background design and translate it into detailed design How to build, playtest, and iterate early prototypes How to build your game design career in a field that keeps changing at breakneck speed
…
Cover unavailable
71
Scalability Rules: 50 Principles for Scaling Web Sites
Martin L. Abbott, Michael T. Fisher
4.1
"Once again, Abbott and Fisher provide a book that I'll be giving to our engineers. It's an essential read for anyone dealing with scaling an online business."--Chris Lalonde, VP, Technical Operations and Infrastructure Architecture, Bullhorn "Abbott and Fisher again tackle the difficult problem of scalability in their unique and practical manner. Distilling the challenges of operating a fast-growing presence on the Internet into 50 easy-to understand rules, the authors provide a modern cookbook of scalability recipes that guide the reader through the difficulties of fast growth."--Geoffrey Weber, Vice President, Internet Operations, Shutterfly "Abbott and Fisher have distilled years of wisdom into a set of cogent principles to avoid many nonobvious mistakes."--Jonathan Heiliger, VP, Technical Operations, Facebook "In "The Art of Scalability," the AKF team taught us that scale is not just a technology challenge. Scale is obtained only through a combination of people, process, "and "technology. With "Scalability Rules," Martin Abbott and Michael Fisher fill our scalability toolbox with easily implemented and time-tested rules that once applied will enable massive scale."--Jerome Labat, VP, Product Development IT, Intuit "When I joined Etsy, I partnered with Mike and Marty to hit the ground running in my new role, and it was one of the best investments of time I have made in my career. The indispensable advice from my experience working with Mike and Marty is fully captured here in this book. Whether you're taking on a role as a technology leader in a new company or you simply want to make great technology decisions, "Scalability Rules "will be the go-to resource on your bookshelf."--Chad Dickerson, CTO, Etsy ""Scalability Rules "provides an essential set of practical tools and concepts anyone can use when designing, upgrading, or inheriting a technology platform. It's very easy to focus on an immediate problem and overlook issues that will appear in the future. This book ensures strategic design principles are applied to everyday challenges."--Robert Guild, Director and Senior Architect, Financial Services "An insightful, practical guide to designing and building scalable systems. A must-read for both product-building and operations teams, this book offers concise and crisp insights gained from years of practical experience of AKF principals. With the complexity of modern systems, scalability considerations should be an integral part of the architecture and implementation process. Scaling systems for hypergrowth requires an agile, iterative approach that is closely aligned with product features; this book shows you how."--Nanda Kishore, Chief Technology Officer, ShareThis "For organizations looking to scale technology, people, and processes rapidly or effectively, the twin pairing of "Scalability Rules "and "The Art of Scalability "are unbeatable. The rules-driven approach in "Scalability Rules "makes this not only an easy reference companion, but also allows organizations to tailor the Abbott and Fisher approach to their specific needs both immediately and in the future!"--Jeremy Wright, CEO, BNOTIONS.ca and Founder, b5media 50 Powerful, Easy-to-Use Rules for Supporting Hypergrowth in Any Environment "Scalability Rules" is the easy-to-use scalability primer and reference for every architect, developer, web professional, and manager. Authors Martin L. Abbott and Michael T. Fisher have helped scale more than 200 hypergrowth Internet sites through their consulting practice. Now, drawing on their unsurpassed experience, they present 50 clear, proven scalability rules-and practical guidance for applying them. Abbott and Fisher transform scalability from a "black art" to a set of realistic, technology-agnostic best practices for supporting hypergrowth in nearly any environment, including both frontend and backend systems. For architects, they offer powerful new insights for creating and evaluating designs. For developers, they share specific techniques for handling everything from databases to state. For managers, they provide invaluable help in goal-setting, decision-making, and interacting with technical teams. Whatever your role, you'll find practical risk/benefit guidance for setting priorities-and getting maximum "bang for the buck." - Simplifying architectures and avoiding "over-engineering"- Scaling via cloning, replication, separating functionality, and splitting data sets- Scaling out, not up- Getting more out of databases without compromising scalability- Avoiding unnecessary redirects and redundant double-checking- Using caches and content delivery networks more aggressively, without introducing unacceptable complexity- Designing for fault tolerance, graceful failure, and easy rollback- Striving for statelessness when you can; efficiently handling state when you must- Effectively utilizing asynchronous communication- Learning quickly from mistakes, and much more
…
Cover unavailable
72
Large-Scale C++ Software Design
John Lakos
4.1
This is the definitive book for all C++ software professionals involved in large development efforts such as databases, operating systems, compilers, and frameworks. It is the first C++ book that actually demonstrates how to design large systems, and one of the few books on object-oriented design specifically geared to practical aspects of the C++ programming language. In this book, Lakos explains the process of decomposing large systems into physical (not inheritance) hierarchies of smaller, more manageable components. Such systems with their acyclic physical dependencies are fundamentally easier and more economical to maintain, test, and reuse than tightly interdependent systems. In addition to explaining the motivation for following good physical as well as logical design practices, Lakos provides you with a catalog of specific techniques designed to eliminate cyclic, compile-time, and link-time (physical) dependencies. He then extends these concepts from large to very large systems. The book concludes with a comprehensive top-down approach to the logical design of individual components. Appendices include a valuable design pattern Protocol Hierarchy designed to avoid fat inte
…
Cover unavailable
73
Computer Organization & Design: The Hardware/Software Interface
David A. Patterson, John L. Hennessy
4.1
The performance of software systems is dramatically affected by how well software designers understand the basic hardware technologies at work in a system. Similarly, hardware designers must understand the far-reaching effects their design decisions have on software applications. For readers in either category, this classic introduction to the field provides a look deep into the computer. It demonstrates the relationships between the software and hardware and focuses on the foundational concepts that are the basis for current computer design.
…
Recommended by Vicki Boykis.
Vicki Boykis
This is a textbook that covers how computers work from the ground up. It includes hardware, software, and operating systems. It’s a really thick book, but also a really good one! This is the book I’d recommend reading if you missed out on a formal computer science education. [source]
Cover unavailable
74
How to Design Programs: An Introduction to Programming and Computing
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi
4.1
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills--critical reading, analytical thinking, creative synthesis, and attention to detail--that are important for everyone, not just future computer programmers. The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks.
All the book's support materials are available for free on the Web. The Web site includes the environment, teacher guides, exercises for all levels, solutions, and additional projects.
A second edition is now available.
…
Cover unavailable
75
Operating System Design: The Xinu Approach
Douglas Comer
4.1
An Update of the Most Practical A-to-Z Operating System Book
Widely lauded for avoiding the typical black box approach found in other operating system textbooks, the first edition of this bestselling book taught readers how an operating system works and explained how to build it from the ground up.
Continuing to follow a logical pattern for system design, Operating System Design: The Xinu Approach, Second Edition removes the mystery from operating system design and consolidates the body of material into a systematic discipline. It presents a hierarchical design paradigm that organizes major operating system components in an orderly, understandable manner.
The book guides readers through the construction of a conventional process-based operating system using practical, straightforward primitives. It gives the implementation details of one set of primitives, usually the most popular set. Once readers understand how primitives can be implemented on conventional hardware, they can then easily implement alternative versions.
The text begins with a bare machine and proceeds step-by-step through the design and implementation of Xinu, which is a small, elegant operating system that supports dynamic process creation, dynamic memory allocation, network communication, local and remote file systems, a shell, and device-independent I/O functions. The Xinu code runs on many hardware platforms. This second edition has been completely rewritten to contrast operating systems for RISC and CISC processors. Encouraging hands-on experimentation, the book provides updated code throughout and examples for two low-cost experimenter boards: BeagleBone Black from ARM and Galileo from Intel.
…
Cover unavailable
76
Computer Architecture: A Quantitative Approach
John L. Hennessy, David A. Patterson
4.1
The computing world today is in the middle of a revolution: mobile clients and cloud computing have emerged as the dominant paradigms driving programming and hardware innovation today. The Fifth Edition of Computer Architecture focuses on this dramatic shift, exploring the ways in which software and technology in the cloud are accessed by cell phones, tablets, laptops, and other mobile computing devices. Each chapter includes two real-world examples, one mobile and one datacenter, to illustrate this revolutionary change.
Updated to cover the mobile computing revolution Emphasizes the two most important topics in architecture today: memory hierarchy and parallelism in all its forms. Develops common themes throughout each chapter: power, performance, cost, dependability, protection, programming models, and emerging trends ("What's Next") Includes three review appendices in the printed text. Additional reference appendices are available online. Includes updated Case Studies and completely new exercises.
…
Cover unavailable
77
Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems
Heather Adkins, Betsy Beyer, Paul Blankinship, Piotr Lewandowski, Ana Oprea, Adam Stubblefield
4.1
Can a system be considered truly reliable if it isn't fundamentally secure? Or can it be considered secure if it's unreliable? Security is crucial to the design and operation of scalable systems in production, as it plays an important part in product quality, performance, and availability. In this book, experts from Google share best practices to help your organization design scalable and reliable systems that are fundamentally secure.
Two previous O'Reilly books from Google--Site Reliability Engineering and The Site Reliability Workbook--demonstrated how and why a commitment to the entire service lifecycle enables organizations to successfully build, deploy, monitor, and maintain software systems. In this latest guide, the authors offer insights into system design, implementation, and maintenance from practitioners who specialize in security and reliability. They also discuss how building and adopting their recommended best practices requires a culture that is supportive of such change.
You'll learn about secure and reliable systems through:
Design strategies Recommendations for coding, testing, and debugging practices Strategies to prepare for, respond to, and recover from incidents Cultural best practices that help teams across your organization collaborate effectively
…
Cover unavailable
78
Building Design Systems: Unify User Experiences Through a Shared Design Language
Sarrah Vesselov and Taurie Davis
4.1
Learn how to build a design system framed within the context of your specific business needs. This book guides you through the process of defining a design language that can be understood across teams, while also establishing communication strategies for how to sell your system to key stakeholders and other contributors.
With a defined set of components and guidelines, designers can focus their efforts on solving user needs rather than recreating elements and reinventing solutions. You'll learn how to use an interface inventory to surface inconsistencies and inefficient solutions, as well as how to establish a component library by documenting existing patterns and creating new ones. You'll also see how the creation of self-documenting styles and components will streamline your UX process.
Building Design Systems provides critical insights into how to set up a design system within your organization, measure the effectiveness of that system, and maintain it over time. You will develop the skills needed to approach your design process systematically, ensuring that your design system achieves the purpose of your organization, your product, and your team.
What You'll Learn
Develop communication strategies necessary to gain buy-in from key stakeholders and other teams
Establish principles based on your specific needs
Design, build, implement, and maintain a design system from the ground up
Measure the effectiveness of your system over time
Who This Book Is For All teams, large and small, seeking to unify their design language through a cohesive design system and create buy-in for design thinking within their organization; UX, visual, and interaction designers, as well as product managers and front-end developers will benefit from a systematic approach to design.
…
Cover unavailable
79
Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design
Michael J. Hernandez
4.1
Learn database design the easy, common-sense way! For years, Michael J. Hernandez's best selling Database Design for Mere Mortals® has earned worldwide respect as the clearest, most straightforward, software-independent tutorial on the basic principles of relational database design. Now, he's thoroughly updated this hands-on best-seller, making it even easier to understand and use, while thoroughly updating its coverage for today's databases and design best practices. Database Design for Mere Mortals, Third Edition opens with a completely new first chapter, and text and figures have been revised throughout for even greater clarity and simplicity. Updates also include new content explaining normalization and showing how to transparently incorporate it into database design; updated and improved coverage of data types; and extensive new support for instructional use, including spec sheets in the form of Word document templates; PowerPoint slide decks; and new test questions for instructors. Database Design for Mere Mortals, Third Edition delivers foundational, software-independent knowledge you can use immediately to start solving real-world problems immediately, and offers a smooth learning curve that prepares you to learn more advanced skills whenever you're ready!
…
Cover unavailable
80
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise
Martin L. Abbott, Michael T. Fisher
4.1
A Comprehensive, Proven Approach to IT Scalability from Two Veteran Software, Technology, and Business Executives In "The Art of Scalability, " AKF Partners cofounders Martin L. Abbott and Michael T. Fisher cover everything IT and business leaders must know to build technology infrastructures that can scale smoothly to meet any business requirement. Drawing on their unparalleled experience managing some of the world s highest-transaction-volume Web sites, the authors provide detailed models and best-practice approaches available in no other book. Unlike previous books on scalability, "The Art of Scalability" doesn t limit its coverage to technology. Writing for both technical and nontechnical decision-makers, this book covers everything that impacts scalability, including architecture, processes, people, and organizations. Throughout, the authors address a broad spectrum of real-world challenges, from performance testing to IT governance. Using their tools and guidance, organizations can systematically overcome obstacles to scalability and achieve unprecedented levels of technical and business performance. Coverage includes Staffing the scalable organization: essential organizational, management, and leadership skills for technical leaders Building processes for scale: process lessons from hyper-growth companies, from technical issue resolution to crisis management Making better build versus buy decisions Architecting scalable solutions: powerful proprietary models for identifying scalability needs and choosing the best approaches to meet them Optimizing performance through caching, application and database splitting, and asynchronous design Scalability techniques for emerging technologies, including clouds and grids Planning for rapid data growth and new data centers Evolving monitoring strategies to tightly align with customer requirements "
…
Cover unavailable
81
Learning Computer Architecture with Raspberry Pi
Eben Upton
4.1
Use your Raspberry Pi to get smart about computing fundamentals
In the 1980s, the tech revolution was kickstarted by a flood of relatively inexpensive, highly programmable computers like the Commodore. Now, a second revolution in computing is beginning with the Raspberry Pi. Learning Computer Architecture with the Raspberry Pi is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities.
Now, students, hackers, and casual users alike can discover how computers work with Learning Computer Architecture with the Raspberry Pi. This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You'll also learn how programming works and how the operating system relates to the Raspberry Pi's physical components.
Co-authored by Eben Upton, one of the creators of the Raspberry Pi, this is a companion volume to the Raspberry Pi User Guide An affordable solution for learning about computer system design considerations and experimenting with low-level programming Understandable descriptions of the functions of memory storage, Ethernet, cameras, processors, and more Gain knowledge of computer design and operation in general by exploring the basic structure of the Raspberry Pi The Raspberry Pi was created to bring forth a new generation of computer scientists, developers, and architects who understand the inner workings of the computers that have become essential to our daily lives. Learning Computer Architecture with the Raspberry Pi is your gateway to the world of computer system design.
…
Cover unavailable
82
Digital Signal Processing
Alan V. Oppenheim, Ronald W. Schafer
4.1
Written by 2 foremost authorities, this well-respected reference discusses the processing of signals using digital techniques. Includes many useful applications.
Cover unavailable
83
Hdl Chip Design: A Practical Guide for Designing, Synthesizing & Simulating Asics & Fpgas Using Vhdl or Verilog
Douglas J. Smith
4.1
With this book learn how to: make chip design easier improve your design productivity design efficient synthesizable models write good HDL test harnesses acquire good design and modeling pratices
Cover unavailable
84
Raspberry Pi Project Handbook
Rui Santos and Sara Santos
4.1
Twenty projects using the Raspberry Pi, a tiny and affordable computer, for beginners looking to make cool things right away. Projects are explained with full-color visuals and simple step-by-step instructions.
Raspberry Pi Project Handbook is a beginner-friendly collection of electronics projects, perfectly suited for kids, parents, educators, and hobbyists looking to level up their hardware skills.
After a crash course to get you set up with your Raspberry Pi, you'll learn how to build interactive projects like a digital drum set; a WiFi controlled robot; a Pong game; an intruder alarm that sends email notifications; a gas leak detector; a weather forecaster; and IoT gadgets that control electronics around the house. Along the way, you'll work with core components like LCD screens, cameras, sensors, and even learn how to set up your own server.
Each project provides step-by-step instructions, full-color photos and circuit diagrams, and the complete code to bring your build to life. If you're ready to hit the ground running and make something interesting, let Raspberry Pi Project Handbook be your guide.
…
Cover unavailable
85
Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOA&D
Brett D. McLaughlin, Gary Pollice, Dave West
4.1
"Head First Object Oriented Analysis and Design is a refreshing look at subject of OOAD. What sets this book apart is its focus on learning. The authors have made the content of OOAD accessible, usable for the practitioner."
Ivar Jacobson, Ivar Jacobson Consulting
"I just finished reading HF OOA&D and I loved it! The thing I liked most about this book was its focus on why we do OOA&D-to write great software!"
Kyle Brown, Distinguished Engineer, IBM
"Hidden behind the funny pictures and crazy fonts is a serious, intelligent, extremely well-crafted presentation of OO Analysis and Design. As I read the book, I felt like I was looking over the shoulder of an expert designer who was explaining to me what issues were important at each step, and why."
Edward Sciore, Associate Professor, Computer Science Department, Boston College
Tired of reading Object Oriented Analysis and Design books that only makes sense after you're an expert? You've heard OOA&D can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy.
But how?
Head First Object-Oriented Analysis & Design shows you how to analyze, design, and write serious object-oriented software: software that's easy to reuse, maintain, and extend; software that doesn't hurt your head; software that lets you add new features without breaking the old ones. Inside you will learn how to:
Use OO principles like encapsulation and delegation to build applications that are flexible Apply the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) to promote reuse of your code Leverage the power of design patterns to solve your problems more efficiently Use UML, use cases, and diagrams to ensure that all stakeholders are communicating clearly to help you deliver the right software that meets everyone's needs.
By exploiting how your brain works, Head First Object-Oriented Analysis & Design compresses the time it takes to learn and retain complex information. Expect to have fun, expect to learn, expect to be writing great software consistently by the time you're finished reading this!
…
Cover unavailable
86
Design for a Brain
W. Ross Ashby
4.1
THE book is not a treatise on aIl cerebral mechanisms but a pro poscd solution of a specific problem: the origin of the nervous system's unique ability to produce adaptive behaviour. The work has as basis the fact that the nervous system behaves adap tively and the hypothesis that it is essentiaIly mechanistic; it proceeds on the assumption that these two data are not irrecon cilable. It attempts to deduce from the observed facts what sort of a mechanism it must be that behaves so differently from any machinc made so far. Other proposed solutions have usuaIly left open the question whether so me different theory might not fit the facts equaIly weIl: I have attempted to deduce what is necessary, what properties the nervous system must have if it is to behave at once mechanisticaIly and adaptively. For the deduction to be rigorous, an adequately developed logic of mechanism is essential. Until recently, discussions of mechan ism were carried on almost entirely in terms of so me particular embodiment-the mechanical, the electronic, the neuronie, and so on. Those days are past. There now exists a weIl-developed logic of pure mechanism, rigorous as geometry, and likely to play the same fundamental part, in our understanding of the complex systems of biology, that geometry does in astronomy. Only by the dcvelopment of this basic logic has thc work in this book been made possible."
…
Cover unavailable
87
System Design Interview – An insider’s guide
Ale
4.0
Cover unavailable
88
Domain-Specific Languages
Martin Fowler
4.0
When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages, noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications. This book's techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format. Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs--and, where appropriate, gain the significant technical and business benefits they offer. The topics covered include: - How DSLs compare to frameworks and libraries, and when those alternatives are sufficient - Using parsers and parser generators, and parsing external DSLs - Understanding, comparing, and choosing DSL language constructs - Determining whether to use code generation, and comparing code generation strategies - Previewing new language workbench tools for creating DSLs
…
Cover unavailable
89
Industrial Automated Systems: Instrumentation and Motion Control
Terry L.M. Bartelt
4.0
Cover unavailable
90
Operating Systems: Internals and Design Principles
William Stallings
4.0
For one- or two-semester undergraduate courses in operating systems for computer science, computer engineering, and electrical engineering majorsAn introduction to operating systems with up-to-date and comprehensive coverage Now in its 9th Edition, Operating Systems: Internals and Design Principles provides a comprehensive, unified introduction to operating systems topics for readers studying computer science, computer engineering, and electrical engineering. Author William Stallings emphasizes both design issues and fundamental principles in contemporary systems, while providing readers with a solid understanding of the key structures and mechanisms of operating systems. He discusses design trade-offs and the practical decisions affecting design, performance and security. The text illustrates and reinforces design concepts, tying them to real-world design choices with case studies in Linux, UNIX, Android, and Windows 10. With an unparalleled degree of support for project integration, plus comprehensive coverage of the latest trends and developments in operating systems, including cloud computing and the Internet of Things (IoT), the text provides everything readers need to keep pace with a complex and rapidly changing field. The 9th Edition has been extensively revised and contains new material, new projects, and updated chapters.
…
Cover unavailable
91
Install Your Own Solar Panels: Designing and Installing a Photovoltaic System to Power Your Home
Joseph Burdick and Philip Schmidt
4.0
Labor and related costs account for more than half of the price of the average home solar installation. But homeowners can save thousands of dollars with this user-friendly manual, which follows the same process professional contractors use. Through detailed directions and step-by-step photos, veteran solar installer Joseph Burdick and seasoned builder Philip Schmidt teach you how to determine the size, placement, and type of installation you’ll need. This comprehensive DIY guide covers everything from assembling rooftop racking or building a ground-mount structure to setting up the electrical connections and making a battery bank for off-grid systems.
…
Cover unavailable
92
Power System Analysis and Design
J. Duncan Glover, Mulukutla S. Sarma
4.0
Introduce the basic concepts of power systems as well as the tools students need to apply these skills to real world situations with POWER SYSTEM ANALYSIS AND DESIGN, 6E. This new edition highlights physical concepts while also giving necessary attention to mathematical techniques. The authors develop both theory and modeling from simple beginnings so students are prepared to readily extend these principles to new and complex situations. Software tools including PowerWorld Simulation, and the latest content throughout this edition aid students with design issues while reflecting the most recent trends in the field.
…
Cover unavailable
93
Raspberry Pi: A Comprehensive Beginner's Guide to Setup, Programming(Concepts and techniques) and Developing Cool Raspberry Pi Projects
Joe Grant
4.0
Cover unavailable
94
The Maker's Guide to the Zombie Apocalypse: Defend Your Base with Simple Circuits, Arduino, and Raspberry Pi
Simon Monk
4.0
Where will you be when the zombie apocalypse hits? Trapping yourself in the basement? Roasting the family pet? Beheading reanimated neighbors?
No way. You'll be building fortresses, setting traps, and hoarding supplies, because you, savvy survivor, have snatched up your copy of The Maker's Guide to the Zombie Apocalypse before it's too late. This indispensable guide to survival after Z-day, written by hardware hacker and zombie anthropologist Simon Monk, will teach you how to generate your own electricity, salvage parts, craft essential electronics, and out-survive the undead.
Take charge of your environment:
Monitor zombie movement with trip wires and motion sensors Keep vigilant watch over your compound with Arduino and Raspberry Pi surveillance systems Power zombie defense devices with car batteries, bicycle generators, and solar power Escape imminent danger: Repurpose old disposable cameras for zombie-distracting flashbangs Open doors remotely for a successful sprint home Forestall subplot disasters with fire and smoke detectorsown electricity, salvage parts, craft essential electronics, and out-survive the undead.
Communicate with other survivors: Hail nearby humans using Morse code Pass silent messages with two-way vibration walkie-talkies Fervently scan the airwaves with a frequency hopper For anyone from the budding maker to the keen hobbyist, The Maker's Guide to the Zombie Apocalypse is an essential survival tool.
…
Cover unavailable
95
Foundation and Anchor Design Guide for Metal Building Systemfoundation and Anchor Design Guide for Metal Building Systems S
Alexander Newman
4.0
This practical guide serves as the industry standard for foundation design of metal building systems. Developed in association with the Metal Building Manufacturers Association (MBMA), "Foundation and Anchor Design for Metal Building Systems" fills the knowledge void in foundation design and construction by exploring the most common design solutions for pre-engineered building foundations, illustrating their design, and explaining the complex issues involved.
The book describes a variety of possible designs, ranging from the most reliable (and often most expensive) foundation systems to less reliable (and typically less expensive) solutions. It aids structural engineers and contractors in the selection of the most appropriate and cost-effective system for any building. By explicitly recognizing the design differences between the foundations for metal building systems and conventional construction, the book helps owners and contractors develop realistic cost expectations for projects and avoid surprises. Building officials and plan checkers will be able to detect potentially inadequate foundation proposals prepared by those who do not fully grasp the complexities of designing pre-engineered building foundations. Owners and facility managers will understand the risks involved in accepting some lowest-cost foundation solutions that make the building difficult to renovate in the future.
An authoritative guide to contemporary foundation systems for metal building systemsStep-by-step design examples for common foundation systemsDiscusses working details and reliability vs. cost All foundation ties covered
In-depth coverage Foundation Design Basics; Foundations for Metal Building Systems; Design of Isolated Column Footings; Foundation Walls and Wall Footings; Tie Rods, Hairpins, and Slab Ties; Moment-Resisting Foundations; Slab with Haunch, Trench Footings, Mats; Deep Foundations; Anchor Bolts and Other Embedments; Foundation Reactions
…
Cover unavailable
96
Just Enough Software Architecture: A Risk-Driven Approach
George H. Fairbanks
4.0
This practical guide seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties.
Cover unavailable
97
Arduino Cookbook: Recipes to Begin, Expand, and Enhance Your Projects
Michael Margolis
4.0
Want to create devices that interact with the physical world? This cookbook is perfect for anyone who wants to experiment with the popular Arduino microcontroller and programming environment. You'll find more than 200 tips and techniques for building a variety of objects and prototypes such as IoT solutions, environmental monitors, location and position-aware systems, and products that can respond to touch, sound, heat, and light.
Updated for the Arduino 1.8 release, the recipes in this third edition include practical examples and guidance to help you begin, expand, and enhance your projects right away--whether you're an engineer, designer, artist, student, or hobbyist.
Get up to speed on the Arduino board and essential software concepts quickly Learn basic techniques for reading digital and analog signals Use Arduino with a variety of popular input devices and sensors Drive visual displays, generate sound, and control several types of motors Connect Arduino to wired and wireless networks Learn techniques for handling time delays and time measurement Apply advanced coding and memory-handling techniques
…
Cover unavailable
98
The Designer's Guide to the Cortex-M Processor Family: A Tutorial Approach
Trevor Martin
4.0
The Designer's Guide to the Cortex M Family is a tutorial based book giving the key concepts required to begin development with a Cortex M- based processor. The book begins with an overview of the Cortex M family, giving architectural descriptions supported with practical examples, enabling the engineer to develop basic C programs to run on the Cortex M0/M3 and M4. It then examines the more advanced features of the Cortex architecture such as memory protection, operating modes and dual stack. For those used to 8 and 16 bit architectures, advice is given on how to do RTOS development on a Cortex-M architecture.
…
Cover unavailable
99
Digital Signal Processing: Principles, Algorithms, and Applications
John G. Proakis, Dimitris K Manolakis
4.0
A significant revision of a best-selling text for the introductory digital signal processing course. This book presents the fundamentals of discrete-time signals, systems, and modern digital processing and applications for students in electrical engineering, computer engineering, and computer science.The book is suitable for either a one-semester or a two-semester undergraduate level course in discrete systems and digital signal processing. It is also intended for use in a one-semester first-year graduate-level course in digital signal processing.
…
Cover unavailable
100
Raspberry Pi Projects for Dummies
Mike Cook
4.0
Join the Raspberry revolution with these fun and easy Pi projects
The Raspberry Pi has opened up a whole new world of innovation for everyone from hardware hackers and programmers to students, hobbyists, engineers, and beyond. Featuring a variety of hands-on projects, this easy-to-understand guide walks you through every step of the design process and will have you creating like a Raspberry Pi pro in no time. You'll learn how to prepare your workspace, assemble the necessary tools, work with test equipment, and find your way around the Raspberry Pi before moving on to a series of fun, lively projects that brings some power to your plain ol' Pi.Introduces Raspberry Pi basics and gives you a solid understanding of all the essentials you'll need to take on your first projectIncludes an array of fun and useful projects that show you how to do everything from creating a magic light wand to enhancing your designs with Lego sensors, installing and writing games for the RISC OS, building a transistor tester, and moreProvides an easy, hands-on approach to learning more about electronics, programming, and interaction design for Makers and innovators of all ages
Bring the power of Pi to your next cool creation with "Raspberry Pi Projects For Dummies!"