Book picks similar to
An Engineer's Guide to Solving Problems by Bob Schmidt
engineering
design
tech
technology
The Architecture of Open Source Applications
Amy Brown - 2011
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 book's goal is to change that. In it, the authors of twenty-five 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.If you are a junior developer, and want to learn how your more experienced colleagues think, this book is the place to start. If you are an intermediate or senior developer, and want to see how your peers have solved hard design problems, this book can help you too.
ZooKeeper: Distributed process coordination
Flavio Junqueira - 2013
This practical guide shows how Apache ZooKeeper helps you manage distributed systems, so you can focus mainly on application logic. Even with ZooKeeper, implementing coordination tasks is not trivial, but this book provides good practices to give you a head start, and points out caveats that developers and administrators alike need to watch for along the way.In three separate sections, ZooKeeper contributors Flavio Junqueira and Benjamin Reed introduce the principles of distributed systems, provide ZooKeeper programming techniques, and include the information you need to administer this service.Learn how ZooKeeper solves common coordination tasksExplore the ZooKeeper API’s Java and C implementations and how they differUse methods to track and react to ZooKeeper state changesHandle failures of the network, application processes, and ZooKeeper itselfLearn about ZooKeeper’s trickier aspects dealing with concurrency, ordering, and configurationUse the Curator high-level interface for connection managementBecome familiar with ZooKeeper internals and administration tools
Comptia A+ 220-801 and 220-802 Exam Cram
David L. Prowse - 2012
Limited Time Offer: Buy CompTIA(R) A+ 220-801 and 220-802 Exam Cram and receive a 10% off discount code for the CompTIA A+ 220-801 and 220-802 exams. To receive your 10% off discount code:Register your product at pearsonITcertification.com/registerFollow the instructionsGo to your Account page and click on "Access Bonus Content" CompTIA(R) A+ 220-801 and 220-802 Exam Cram, Sixth Edition is the perfect study guide to help you pass CompTIA's A+ 220-801 and 220-802 exams. It provides coverage and practice questions for every exam topic, including substantial new coverage of Windows 7, new PC hardware, tablets, smartphones, and professional-level networking and security. The book presents you with an organized test preparation routine through the use of proven series elements and techniques. Exam topic lists make referencing easy. Exam Alerts, Sidebars, and Notes interspersed throughout the text keep you focused on what you need to know. Cram Quizzes help you assess your knowledge, and the Cram Sheet tear card is the perfect last minute review. Covers the critical information you'll need to know to score higher on your CompTIA A+ 220-801 and 220-802 exams!Deploy and administer desktops and notebooks running Windows 7, Vista, or XPUnderstand, install, and troubleshoot motherboards, processors, and memoryTest and troubleshoot power-related problemsUse all forms of storage, including new Blu-ray and Solid State (SSD) devicesWork effectively with mobile devices, including tablets and smartphonesInstall, configure, and troubleshoot both visible and internal laptop componentsConfigure Windows components and applications, use Windows administrative tools, and optimize Windows systemsRepair damaged Windows environments and boot errorsWork with audio and video subsystems, I/O devices, and the newest peripheralsInstall and manage both local and network printersConfigure IPv4 and understand TCP/IP protocols and IPv6 changesInstall and configure SOHO wired/wireless networks and troubleshoot connectivityImplement secure authentication, prevent malware attacks, and protect data Companion CDThe companion CD contains a digital edition of the Cram Sheet and the powerful Pearson IT Certification Practice Test engine, complete with hundreds of exam-realistic questions and two complete practice exams. The assessment engine offers you a wealth of customization options and reporting features, laying out a complete assessment of your knowledge to help you focus your study where it is needed most. Pearson IT Certifcation Practice Test Minimum System RequirementsWindows XP (SP3), WIndows Vista (SP2), or Windows 7Microsoft .NET Framework 4.0 ClientPentium-class 1 GHz processor (or equivalent)512 MB RAM650 MB disk space plus 50 MB for each downloaded practice exam David L. Prowse is an author, computer network specialist, and technical trainer. Over the past several years he has authored several titles for Pearson Education, including the well-received CompTIA A+ Exam Cram and CompTIA Security+ Cert Guide. As a consultant, he installs and secures the latest in computer and networking technology. He runs the website www.davidlprowse.com, where he gladly answers questions from students and readers.
Field Guide to Understanding Human Error
Sidney Dekker - 2002
You think you can solve your human error problem by telling people to be more careful, by reprimanding the miscreants, by issuing a new rule or procedure. These are all expressions of 'The Bad Apple Theory', where you believe your system is basically safe if it were not for those few unreliable people in it. This old view of human error is increasingly outdated and will lead you nowhere. The new view, in contrast, understands that a human error problem is actually an organizational problem. Finding a 'human error' by any other name, or by any other human, is only the beginning of your journey, not a convenient conclusion. The new view recognizes that systems are inherent trade-offs between safety and other pressures (for example: production). People need to create safety through practice, at all levels of an organization. Breaking new ground beyond its successful predecessor, The Field Guide to Understanding Human Error guides you through the traps and misconceptions of the old view. It explains how to avoid the hindsight bias, to zoom out from the people closest in time and place to the mishap, and resist the temptation of counterfactual reasoning and judgmental language. But it also helps you look forward. It suggests how to apply the new view in building your safety department, handling questions about accountability, and constructing meaningful countermeasures. It even helps you in getting your organization to adopt the new view and improve its learning from failure. So if you are faced by a human error problem, abandon the fallacy of a quick fix. Read this book.
Team Topologies: Organizing Business and Technology Teams for Fast Flow
Matthew Skelton - 2019
But how do you build the best team organization for your specific goals, culture, and needs? Team Topologies is a practical, step-by-step, adaptive model for organizational design and team interaction based on four fundamental team types and three team interaction patterns. It is a model that treats teams as the fundamental means of delivery, where team structures and communication pathways are able to evolve with technological and organizational maturity.In Team Topologies, IT consultants Matthew Skelton and Manuel Pais share secrets of successful team patterns and interactions to help readers choose and evolve the right team patterns for their organization, making sure to keep the software healthy and optimize value streams.Team Topologies is a major step forward in organizational design for software, presenting a well-defined way for teams to interact and interrelate that helps make the resulting software architecture clearer and more sustainable, turning inter-team problems into valuable signals for the self-steering organization.
Microinteractions: Designing with Details
Dan Saffer - 2013
With this practical book, you’ll learn how to design effective microinteractions: the small details that exist inside and around features. How can users change a setting? How do they turn on mute, or know they have a new email message?Through vivid, real-world examples from today’s devices and applications, author Dan Saffer walks you through a microinteraction’s essential parts, then shows you how to use them in a mobile app, a web widget, and an appliance. You’ll quickly discover how microinteractions can change a product from one that’s tolerated into one that’s treasured.Explore a microinteraction’s structure: triggers, rules, feedback, modes, and loopsLearn the types of triggers that initiate a microinteractionCreate simple rules that define how your microinteraction can be usedHelp users understand the rules with feedback, using graphics, sounds, and vibrationsUse modes to let users set preferences or modify a microinteractionExtend a microinteraction’s life with loops, such as “Get data every 30 seconds”
Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives
Nick Rozanski - 2005
This practical, practitioner-oriented guide explains how to design successful architectures for information systems and to see these through to their successful implementation.
Game Engine Architecture
Jason Gregory - 2009
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.
Making Things Move: DIY Mechanisms for Inventors, Hobbyists, and Artists
Dustyn Roberts - 2010
Photographs, illustrations, screen shots, and images of 3D models are included for each project.This unique resource emphasizes using off-the-shelf components, readily available materials, and accessible fabrication techniques. Simple projects give you hands-on practice applying the skills covered in each chapter, and more complex projects at the end of the book incorporate topics from multiple chapters. Turn your imaginative ideas into reality with help from this practical, inventive guide.Discover how to:Find and select materialsFasten and join partsMeasure force, friction, and torqueUnderstand mechanical and electrical power, work, and energyCreate and control motionWork with bearings, couplers, gears, screws, and springsCombine simple machines for work and funProjects include:Rube Goldberg breakfast machineMousetrap powered carDIY motor with magnet wireMotor direction and speed controlDesigning and fabricating spur gearsAnimated creations in paperAn interactive rotating platformSmall vertical axis wind turbineSADbot: the seasonally affected drawing robotMake Great Stuff!TAB, an imprint of McGraw-Hill Professional, is a leading publisher of DIY technology books for makers, hackers, and electronics hobbyists.
Game Programming Patterns
Robert Nystrom - 2011
Commercial game development expert Robert Nystrom presents an array of general solutions to problems encountered in game development. For example, you'll learn how double-buffering enables a player to perceive smooth and realistic motion, and how the service locator pattern can help you provide access to services such as sound without coupling your code to any particular sound driver or sound hardware. Games have much in common with other software, but also a number of unique constraints. Some of the patterns in this book are well-known in other domains of software development. Other of the patterns are unique to gaming. In either case, Robert Nystrom bridges from the ivory tower world of software architecture to the in-the-trenches reality of hardcore game programming. You'll learn the patterns and the general problems that they solve. You'll come away able to apply powerful and reusable architectural solutions that enable you to produce higher quality games with less effort than before. Applies classic design patterns to game programming. Introduces new patterns specific to game programming. Brings abstract software architecture down to Earth with approachable writing and an emphasis on simple code that shows each pattern in practice. What you'll learn Overcome architectural challenges unique to game programming Apply lessons from the larger software world to games. Tie different parts of a game (graphics, sound, AI) into a cohesive whole. Create elegant and maintainable architecture. Achieve good, low-level performance. Gain insight into professional, game development. Who this book is forGame Programming Patterns is aimed at professional game programmers who, while successful in shipping games, are frustrated at how hard it sometimes is to add and modify features when a game is under development. Game Programming Patterns shows how to apply modern software practices to the problem of game development while still maintaining the blazing-fast performance demanded by hard-core gamers. Game Programming Patterns also appeals to those learning about game programming in their spare time. Hobbyists and aspiring professionals alike will find much to learn in this book about pathfinding, collision detection, and other game-programming problem domains.
The Practice of Programming (Addison-Wesley Professional Computing Series)
Brian W. Kernighan - 1999
With the same insight and authority that made their book The Unix programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive.
The Guru's Guide to Transact-Sql
Ken Henderson - 2000
Beginners and intermediate developers will appreciate the comprehensive tutorial that walks step-by-step through building a real client/server database, from concept to deployment and beyond -- and points out key pitfalls to avoid throughout the process. Experienced users will appreciate the book's comprehensive coverage of the Transact-SQL language, from basic to advanced level; detailed ODBC database access information; expert coverage of concurrency control, and more. The book includes thorough, up-to-the-minute guidance on building multi-tier applications; SQL Server performance tuning; and other crucial issues for advanced developers. For all database developers, system administrators, and Web application developers who interact with databases in Microsoft-centric environments.
Networks: A Very Short Introduction
Guido Caldarelli - 2012
It is impossible to understand the spread of an epidemic, a computer virus, large-scale blackouts, or massive extinctions without taking into account the network structure that underlies all these phenomena. In this Very Short Introduction, Guido Caldarelli and Michele Catanzaro discuss the nature and variety of networks, using everyday examples from society, technology, nature, and history to explain and understand the science of network theory. They show the ubiquitous role of networks; how networks self-organize; why the rich get richer; and how networks can spontaneously collapse. They conclude by highlighting how the findings of complex network theory have very wide and important applications in genetics, ecology, communications, economics, and sociology.
More about Software Requirements: Thorny Issues and Practical Advice: Thorny Issues and Practical Advice
Karl Wiegers - 2005
Too often, lessons about requirements engineering processes lack the no-nonsense guidance that supports real-world solutions. Complementing the best practices presented in his book, Software Requirements, Second Edition, requirements engineering authority Karl Wiegers tackles even more of the real issues head-on in this book. With straightforward, professional advice and practical solutions based on actual project experiences, this book answers many of the tough questions raised by industry professionals. From strategies for estimating and working with customers to the nuts and bolts of documenting requirements, this essential companion gives developers, analysts, and managers the cosmic truths that apply to virtually every software development project. Discover how to: - Make the business case for investing in better requirements practices - Generate estimates using three specific techniques - Conduct inquiries to elicit meaningful business and user requirements - Clearly document project scope - Implement use cases, scenarios, and user stories effectively - Improve inspections and peer reviews - Write requirements that avoid ambiguity
Modern Database Management
Jeffrey A. Hoffer - 1994
Intended for professional development programs in introductory database management.