The authors have deliberately developed Foundations for Designing User-Centered Systems to appeal to system designers and developers, as well as to students who are taking courses in system design and HCI. The book reflects the authors’ backgrounds in computer science, cognitive science, psychology and human factors. The material in the book is based on their collective experience which adds up to almost 90 years of working in academia and both with, and within, industry; covering domains that include aviation, consumer Internet, defense, eCommerce, enterprise system design, health care, and industrial process control.
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 goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Winner of the National Academy of Sciences Best Book Award in 2012
Selected by the New York Times Book Review as one of the ten best books of 2011
A Globe and Mail Best Books of the Year 2011 Title
One of The Economist's 2011 Books of the Year
One of The Wall Street Journal's Best Nonfiction Books of the Year 2011
2013 Presidential Medal of Freedom Recipient
Kahneman's work with Amos Tversky is the subject of Michael Lewis's The Undoing Project: A Friendship That Changed Our Minds
In the international bestseller, Thinking, Fast and Slow, Daniel Kahneman, the renowned psychologist and winner of the Nobel Prize in Economics, takes us on a groundbreaking tour of the mind and explains the two systems that drive the way we think. System 1 is fast, intuitive, and emotional; System 2 is slower, more deliberative, and more logical. The impact of overconfidence on corporate strategies, the difficulties of predicting what will make us happy in the future, the profound effect of cognitive biases on everything from playing the stock market to planning our next vacation—each of these can be understood only by knowing how the two systems shape our judgments and decisions.
Engaging the reader in a lively conversation about how we think, Kahneman reveals where we can and cannot trust our intuitions and how we can tap into the benefits of slow thinking. He offers practical and enlightening insights into how choices are made in both our business and our personal lives—and how we can use different techniques to guard against the mental glitches that often get us into trouble. Winner of the National Academy of Sciences Best Book Award and the Los Angeles Times Book Prize and selected by The New York Times Book Review as one of the ten best books of 2011, Thinking, Fast and Slow is destined to be a classic.
Beginning with digital logic gates and progressing to the design of combinational and sequential circuits, this book uses these fundamental building blocks as the basis for designing an ARM processor. SystemVerilog and VHDL are integrated throughout the text in examples illustrating the methods and techniques for CAD-based circuit design. The companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors.
This book will be a valuable resource for students taking a course that combines digital logic and computer architecture or students taking a two-quarter sequence in digital logic and computer organization/architecture.Covers the fundamentals of digital logic design and reinforces logic concepts through the design of an ARM microprocessor.Features side-by-side examples of the two most prominent Hardware Description Languages (HDLs)—SystemVerilog and VHDL—which illustrate and compare the ways each can be used in the design of digital systems.Includes examples throughout the text that enhance the reader’s understanding and retention of key concepts and techniques.The Companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors. The Companion website also includes appendices covering practical digital design issues and C programming as well as links to CAD tools, lecture slides, laboratory projects, and solutions to exercises.
This guide shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in depth. This revised edition contains more parallel programming examples, commonly-used libraries such as Thrust, and explanations of the latest tools. It also provides new coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more; increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism; and two new case studies (on MRI reconstruction and molecular visualization) that explore the latest applications of CUDA and GPUs for scientific research and high-performance computing.
This book should be a valuable resource for advanced students, software engineers, programmers, and hardware engineers.New coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and moreIncreased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelismTwo new case studies (on MRI reconstruction and molecular visualization) explore the latest applications of CUDA and GPUs for scientific research and high-performance computing
Whether it's called physical computing, ubiquitous computing, or the Internet of Things, it's a hot topic in technology: how to channel your inner Steve Jobs and successfully combine hardware, embedded software, web services, electronics, and cool design to create cutting-edge devices that are fun, interactive, and practical. If you'd like to create the next must-have product, this unique book is the perfect place to start.
Both a creative and practical primer, it explores the platforms you can use to develop hardware or software, discusses design concepts that will make your products eye-catching and appealing, and shows you ways to scale up from a single prototype to mass production.Helps software engineers, web designers, product designers, and electronics engineers start designing products using the Internet-of-Things approach Explains how to combine sensors, servos, robotics, Arduino chips, and more with various networks or the Internet, to create interactive, cutting-edge devices Provides an overview of the necessary steps to take your idea from concept through production
If you'd like to design for the future, Designing the Internet of Things is a great place to start.
Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform’s simple, declarative programming language to deploy and manage infrastructure with just a few commands. Whether you’re a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers.Compare Terraform to other IAC tools, such as Chef, Puppet, Ansible, and Salt StackUse Terraform to deploy server clusters, load balancers, and databasesLearn how Terraform manages the state of your infrastructure and how it impacts file layout, isolation, and lockingCreate reusable infrastructure with Terraform modulesTry out advanced Terraform syntax to implement loops, if-statements, and zero-downtime deploymentUse Terraform as a team, including best practices for writing, testing, and versioning Terraform code
In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design
Compare distributed apps (dapps) to web apps
Write Ethereum smart contracts in Solidity
Deploy your own dapp, coin, and blockchain
Work with basic and intermediate smart contracts
Who This Book Is For
Experts will find the advanced sample projects in this book rewarding because of the power of Solidity
Presenting material refined over more than a decade of teaching parallel computing, author Gerassimos Barlas minimizes the challenge with multiple examples, extensive case studies, and full source code. Using this book, you can develop programs that run over distributed memory machines using MPI, create multi-threaded applications with either libraries or directives, write optimized applications that balance the workload between available computing resources, and profile and debug programs targeting multicore machines.Comprehensive coverage of all major multicore programming tools, including threads, OpenMP, MPI, and CUDADemonstrates parallel programming design patterns and examples of how different tools and paradigms can be integrated for superior performanceParticular focus on the emerging area of divisible load theory and its impact on load balancing and distributed systemsDownload source code, examples, and instructor support materials on the book's companion website
You believe you are a rational, logical being who sees the world as it really is, but journalist David McRaney is here to tell you that you're as deluded as the rest of us. But that's OK- delusions keep us sane. You Are Not So Smart is a celebration of self-delusion. It's like a psychology class, with all the boring parts taken out, and with no homework.
Based on the popular blog of the same name, You Are Not So Smart collects more than 46 of the lies we tell ourselves everyday, including:Dunbar's Number - Humans evolved to live in bands of roughly 150 individuals, the brain cannot handle more than that number. If you have more than 150 Facebook friends, they are surely not all real friends. Hindsight bias - When we learn something new, we reassure ourselves that we knew it all along. Confirmation bias - Our brains resist new ideas, instead paying attention only to findings that reinforce our preconceived notions. Brand loyalty - We reach for the same brand not because we trust its quality but because we want to reassure ourselves that we made a smart choice the last time we bought it.
Packed with interesting sidebars and quick guides on cognition and common fallacies, You Are Not So Smart is a fascinating synthesis of cutting-edge psychology research to turn our minds inside out.
Design and implement an agile service-oriented enterprise computing infrastructure using the detailed information in this Oracle Press guide. Written by an Oracle ACE director, Oracle SOA Suite 11g Handbook uses a hands-on case study to illustrate each programming, management, and governance concept. Get expert techniques for modeling and implementing complex business processes and deploying and securing Web services, while maximizing decoupling and code reuse.Install Oracle SOA Suite 11g or migrate from a previous version Design and develop composite applications using SCA and SDO Model processes using BPEL, BPMN, and human task components Connect components through mapping and filtering with Oracle Mediator Apply the principles of event-driven architecture through complex event processing, the event delivery network, and Oracle Business Activity Monitoring server Benefit from the power of Java through the Spring component and the interaction with Oracle Validate, enrich, transform, route, and operate on data using the Oracle Service Bus Deploy, test, and manage composite applications from the Oracle Enterprise Manager control console
In this sparkling and provocative new book, the renowned neuroscientist David Eagleman navigates the depths of the subconscious brain to illuminate surprising mysteries: Why can your foot move halfway to the brake pedal before you become consciously aware of danger ahead? Why do you hear your name being mentioned in a conversation that you didn’t think you were listening to? What do Ulysses and the credit crunch have in common? Why did Thomas Edison electrocute an elephant in 1916? Why are people whose names begin with J more likely to marry other people whose names begin with J? Why is it so difficult to keep a secret? And how is it possible to get angry at yourself—who, exactly, is mad at whom?
Taking in brain damage, plane spotting, dating, drugs, beauty, infidelity, synesthesia, criminal law, artificial intelligence, and visual illusions, Incognito is a thrilling subsurface exploration of the mind and all its contradictions.
From the Hardcover edition.
Arduino is a programmable circuit board that is being used by everyone from scientists, programmers, and hardware hackers to artists, designers, hobbyists, and engineers in order to add interactivity to objects and projects and experiment with programming and electronics. This easy-to-understand book is an ideal place to start if you are interested in learning more about Arduino's vast capabilities. Featuring an array of cool projects, this Arduino beginner guide walks you through every step of each of the featured projects so that you can acquire a clear understanding of the different aspects of the Arduino board.Introduces Arduino basics to provide you with a solid foundation of understanding before you tackle your first project Features a variety of fun projects that show you how to do everything from automating your garden's watering system to constructing a keypad entry system, installing a tweeting cat flap, building a robot car, and much more Provides an easy, hands-on approach to learning more about electronics, programming, and interaction design for Makers of all ages
Arduino Projects For Dummies is your guide to turning everyday electronics and plain old projects into incredible innovations.
Get Connected! To find out more about Brock Craft and his recent Arduino creations, visit www.facebook.com/ArduinoProjectsForDummies
Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, Heterogeneous Computing with OpenCL explores memory spaces, optimization techniques, graphics interoperability, extensions, and debugging and profiling. It includes detailed examples throughout, plus additional online exercises and other supporting materials that can be downloaded at http://www.heterogeneouscompute.org/?page_id=7
This book will appeal to software engineers, programmers, hardware engineers, and students/advanced students.Explains principles and strategies to learn parallel programming with OpenCL, from understanding the four abstraction models to thoroughly testing and debugging complete applications.Covers image processing, web plugins, particle simulations, video editing, performance optimization, and more.Shows how OpenCL maps to an example target architecture and explains some of the tradeoffs associated with mapping to various architecturesAddresses a range of fundamental programming techniques, with multiple examples and case studies that demonstrate OpenCL extensions for a variety of hardware platforms
Provide superior data protection, availability, and disaster recovery using the tested techniques in this Oracle Press guide. Cowritten by a team of Oracle experts, Oracle Data Guard 11g Handbook provides a sound architectural foundation along with best practices for configuration, monitoring, maintenance, and troubleshooting. You will get full details on implementing deployment architectures to address requirements that extend beyond disaster recovery. This invaluable resource also includes a complete set of monitoring scripts available for download.Develop a disaster recovery plan for your Oracle database to meet your organization's requirements Configure and deploy Oracle Data Guard for your environment Tune and troubleshoot your physical and logical standby databases Implement the Oracle Data Guard Broker management framework Integrate with Oracle Grid Control Monitor your Oracle Data Guard environment Enable read-only services and disaster recovery with Oracle Active Data Guard Configure seamless database and application failover Minimize planned downtime using Oracle Data Guard switchover Handle backup and recovery with Oracle Recovery Manager
Filled with actionable advice you can use immediately, the authors introduce Agile and the Lean mindset in a manner that the people in your business and technology departments can easily understand. Ideal for executives in both the commercial and nonprofit sectors, it includes two case studies: one about a commercial family business that thrived to become a multi-million-dollar company and the other about a nonprofit association based in New York City that fights against child illiteracy.
This book covers object technology; object-oriented analysis and design; and implementation of objects with Java. It includes two case studies dealing with library applications. The UML has been incorporated into a graphical design tool called ROME, which can be downloaded from the book's website. This object modelling environment allows readers to prepare and edit various UML diagrams. ROME can be used alongside a Java compiler to generate Java code from a UML class diagram then compile and run the resulting application for hands-on learning.
This text would be a valuable resource for undergraduate students taking courses on O-O analysis and design, O-O modelling, Java programming, and modelling with UML.* Integrates design and implementation, using Java and UML
* Includes case studies and exercises
* Bridges the gap between programming texts and high level analysis books on design
The book begins with the basics of virtualization, including the role of virtualization in the changing landscape of the traditional data center and its benefits, and the strategies of virtualization. It presents the step-by-step process used to build a Windows 2008 server and the process of configuring and managing a Hyper-V infrastructure. Microsoft's approach to high availability and the combination of Microsoft tools to provide a very reliable and highly available virtualization infrastructure are discussed. The chapters also cover the migration of physical servers to virtual servers; the Dynamic Data Center concept; creating and publishing a virtual application within App-V; and desktop virtualization.
This book was intended for seasoned system administrators and engineers who grew up in and still manage primarily a hardware-based server environment containing a large assortment of both newer and legacy applications.Covers Microsoft virtualization products completely, including Hyper-V Includes a special section on securing virtual infrastructure Gives hands-on instructions to help understand and implement Microsoft solutions
The book targets Linux and system administrators and professionals working in IT teams who would like to design and implement an enterprise-quality virtualized environment using Proxmox.Knowledge of networking and virtualization concepts is assumed.What You Will LearnInstall the basic Proxmox VE nodesGet to know the Proxmox Graphical User Interface (GUI)See and understand Proxmox's internal structure and mechanicsCreate and manage KVM- or LXC-based virtual machinesUnderstand advanced virtual networksLeverage the power of the built-in Proxmox firewall to provide protection at any levelConfigure high availability Proxmox nodesLearn different backup strategies and to restore a VM in the event of a disaster to ensure data safetyMonitor a Proxmox cluster and all of its components using ZabbixPlan large virtual environments for mission critical virtual environmentsWork through real-world scenarios to troubleshoot ProxmoxIn Detail
Proxmox is an open source server virtualization solution that has enterprise-class features to manage virtual machines, to be used for storage, and to virtualize both Linux and Windows application workloads.
You begin with refresher on the advanced installation features and the Proxmox GUI to familiarize yourself with the Proxmox VE hypervisor. You then move on to explore Proxmox under the hood, focusing on the storage systems used with Proxmox. Moving on, you will learn to manage KVM Virtual Machines and Linux Containers and see how networking is handled in Proxmox. You will then learn how to protect a cluster or a VM with a firewall and explore the new HA features introduced in Proxmox VE 4 along with the brand new HA simulator.
Next, you will dive deeper into the backup/restore strategy followed by learning how to properly update and upgrade a Proxmox node. Later, you will learn how to monitor a Proxmox cluster and all of its components using Zabbix. By the end of the book, you will become an expert at making Proxmox environments work in production environments with minimum downtime.Style and approach
This book walks you through every aspect of virtualization using Proxmox using a practical, scenario-based approach that features best practices and all the weaponry you need to succeed when building virtual environments with Proxmox 4.
Samsung's announcement of the new ARTIK modules for IoT has generated tremendous interest in the developer market for wearable and other consumer or industrial devices. This book provides the perfect tutorial-based introduction to the ARTIK family of “Systems on Modules,” which integrate powerful microprocessors, memory, wireless connectivity, and enhanced security on to very small form factor boards.
With Beginning Samsung ARTIK as your guide, take the next steps to creating great solutions with an ARTIK.
What You'll Learn
Establish Wi-Fi connectivity with a wireless network
Upgrade the operating system and install additional software
Bring up Eclipse IDE and create a cross-compiler toolchain on Mac OS X
Cross-compile for the ARM processors in the ARTIK modules using Arduino IDE with libArduino to C
Use C to access the ARTIK hardware via a file based API
Use Node.js and Python inside the ARTIK moduleIntegrate applications with the Samsung SAMI data aggregation hub
Use Temboo to generate IoT software solutions that can be downloaded and compiled natively inside the ARTIK
Debug applications with software and hardware probesWho This Book Is For
Moderately experienced developers wanting to understand ARTIK and how to interact with it from within their own apps or web services.
WPF is the new presentation framework for Windows Vista that also works with Windows XP. It's a cornucopia of new technologies, which includes a new graphics engine that supports 3-D graphics, animation, and more; an XML-based markup language, called XAML, for declaring the structure of your Windows UI; and a radical new model for controls.
This second edition includes new chapters on printing, XPS, 3-D, navigation, text and documents, along with a new appendix that covers Microsoft's new WPF/E platform for delivering richer UI through standard web browsers -- much like Adobe Flash. Content from the first edition has been significantly expanded and modified. Programming WPF includes:Scores of C# and XAML examples that show you what it takes to get a WPF application up and running, from a simple "Hello, Avalon" program to a tic-tac-toe gameInsightful discussions of the powerful new programming styles that WPF brings to Windows development, especially its new model for controlsA color insert to better illustrate WPF support for 3-D, color, and other graphics effectsA tutorial on XAML, the new HTML-like markup language for declaring Windows UIAn explanation and comparison of the features that support interoperability with Windows Forms and other Windows legacy applications
WPF represents the best of the control-based Windows world and the content-based web world. Programming WPF helps you bring it all together.
Author David Greenberg shows you how Mesos manages your entire datacenter as a single logical entity, eliminating the need to assign fixed sets of machines to applications. You’ll quickly discover why Mesos is the ultimate DevOps tool.Understand Mesos architecture, and learn how it manages CPU, memory, and other resources across a clusterBuild an application on top of Mesos with Marathon, a platform for hosting services on MesosCreate new, production-ready frameworks for MesosWrite a custom executor to provide richer interaction between the Mesos scheduler and workersDive into advanced topics, including the reconciliation process, Docker integration, dynamic reservations, and persistent volumesLearn about today’s Mesos initiatives that will likely become tomorrow’s features
The authors of Social Engineering Penetration Testing show you hands-on techniques they have used at RandomStorm to provide clients with valuable results that make a real difference to the security of their businesses. You will learn about the differences between social engineering pen tests lasting anywhere from a few days to several months. The book shows you how to use widely available open-source tools to conduct your pen tests, then walks you through the practical steps to improve defense measures in response to test results.Understand how to plan and execute an effective social engineering assessment Learn how to configure and use the open-source tools available for the social engineer Identify parts of an assessment that will most benefit time-critical engagements Learn how to design target scenarios, create plausible attack situations, and support various attack vectors with technology Create an assessment report, then improve defense measures in response to test results
Organized into subareas to provide a more intuitive flow to the reader, this second edition adds more than a hundred pages of new content, including inductance models for interdigitated structures, design strategies for multi-layer power grids, advanced methods for efficient power grid design and analysis, and methodologies for simultaneously placing on-chip multiple power supplies and decoupling capacitors. The emphasis of this additional material is on managing the complexity of on-chip power distribution networks.
Raspberry Pi User Guide, 3rdEdition contains everything you need to know to get up and running with Raspberry Pi. This book is the go-to guide for Noobs who want to dive right in. This updated third edition covers the model B+ Raspberry Pi and its software, additional USB ports, and changes to the GPIO, including new information on Arduino and Minecraft on the Pi. You’ll find clear, step-by-step instruction for everything from software installation and configuration to customizing your Raspberry Pi with capability-expanding add-ons. Learn the basic Linux SysAdmin and flexible programming languages that allow you to make your Pi into whatever you want it to be.
The Raspberry Pi was created by the UK Non-profit Raspberry Pi Foundation to help get kids interested in programming. Affordable, portable, and utterly adorable, the Pi exceeded all expectations, introducing millions of people to programming since its creation. The Raspberry Pi User Guide, 3rd Edition helps you and your Pi get acquainted, with clear instruction in easy to understand language.Install software, configure, and connect your Raspberry Pi to other devices Master basic Linux System Admin to better understand nomenclature and conventions Write basic productivity and multimedia programs in Scratch and Python Extend capabilities with add-ons like Gertboard, Arduino, and more
The Raspberry Pi has become a full-fledged phenomenon, popular with tinkerers, hackers, experimenters, and inventors. If you want to get started but aren’t sure where to begin, Raspberry Pi User Guide, 3rd Edition contains everything you need.
This book is not only about what simulation is and why it is important, it will also cover the methods of building and using simulators for computer-based systems. Inside you’ll find a comprehensive book about simulation best practice and design patterns, using Simics as its base along with real-life examples to get the most out of your Simics implementation. You’ll learn about: Simics architecture, model-driven development, virtual platform modelling, networking, contiguous integration, debugging, reverse execution, simulator integration, workflow optimization, tool automation, and much more.Distills decades of experience in using and building virtual platforms to help readers realize the full potential of virtual platform simulationCovers modeling related use-cases including devices, systems, extensions, and fault injectionExplains how simulations can influence software development, debugging, system configuration, networking, and moreDiscusses how to build complete full-system simulation systems from a mix of simulators
This book is perfect for developers and administrators who are familiar with Ansible and Python programming, but have no knowledge of how to customize Ansible.What You Will LearnGet a thorough understanding of Ansible modulesFind out everything about plugins that fit in the Ansible architectureGet to grips with designing modules and handling errorsWork with data structuresDistribute Ansible extensions using PyPi and Git submodulesGet to know the various distribution methods of modules and pluginsIn Detail
Ansible is an IT automation tool that lets you manage your Infrastructure as a Code. It helps you deploy your applications and manage configurations, thus making life easier. Ansible, in most ways, is self sufficient to address most of your requirements.
Ideally, standard modules, libraries, or plugins are used to automate a given IT platform. Customizing Ansible can be done by custom module and plugin development.
This book shows you how to automate most of the tasks in your IT environment, thus minimizing the need to manually perform scheduled tasks and extend your Ansible implementation by developing customized modules and plugins.
You'll begin by getting an understanding of the fundamental aspects of extending the Ansible framework, such as custom functions and reusable modules. You'll then progress to building custom plugins and extensions using the fundamental building blocks explained earlier. We'll also show you how to automate some tasks using scripts. Finally, we'll demonstrate how these extensions can be seamlessly integrated into existing Ansible installations and explain how to conduct unit testing on these extensions to ensure they work as desired.Style and approach
This book is a learning book on the fundamentals of Ansible framework and how it can be leveraged to extend it using the modules and plugins.
Circuit design using microcontrollers is both a science and an art. This book covers it all. It details all of the essential theory and facts to help an engineer design a robust embedded system. Processors, memory, and the hot topic of interconnects (I/O) are completely covered. Our authors bring a wealth of experience and ideas; this is a must-own book for any embedded designer.
*A 360 degree view from best-selling authors including Jack Ganssle, Tammy Noergard, and Fred Eady
*Key facts, techniques, and applications fully detailed
*The ultimate hard-working desk reference: all the essential information, techniques, and tricks of the trade in one volume
This new edition is an ideal resource for professional digital system designers, programmers, application developers, and system software developers. It will also be of interest to undergraduate students in Computer Science, Computer Engineering and Electrical Engineering courses in Computer Organization, Computer Design, ranging from Sophomore required courses to Senior Electives.Winner of a 2014 Texty Award from the Text and Academic Authors AssociationIncludes new examples, exercises, and material highlighting the emergence of mobile computing and the cloudCovers parallelism in depth with examples and content highlighting parallel hardware and software topics Features the Intel Core i7, ARM Cortex-A8 and NVIDIA Fermi GPU as real-world examples throughout the book Adds a new concrete example, "Going Faster," to demonstrate how understanding hardware can inspire software optimizations that improve performance by 200 timesDiscusses and highlights the "Eight Great Ideas" of computer architecture: Performance via Parallelism; Performance via Pipelining; Performance via Prediction; Design for Moore's Law; Hierarchy of Memories; Abstraction to Simplify Design; Make the Common Case Fast; and Dependability via RedundancyIncludes a full set of updated and improved exercises
See Additional Notes at the back of the book for instructions to download the accompanying interactive App which brings the 250+ topics to life by allowing you to insert your own values. Visually on a phone or tablet it looks almost identical to the eBook pages, except you can edit the inputs to update the graphics and calculations to reflect those changes.
There is also a comprehensive PC version to download with even more features both applications can be unlocked with your eBook purchase receipt for no additional charge.
Education Bundle: eBook + PC software + App at a tiny fraction of the previously published price.
Beginning with digital logic gates and progressing to the design of combinational and sequential circuits, the book uses these fundamental building blocks as the basis for the design of an actual MIPS processor. It provides practical examples of how to interface with peripherals using RS232, SPI, motor control, interrupts, wireless, and analog-to-digital conversion. SystemVerilog and VHDL are integrated throughout the text in examples illustrating the methods and techniques for CAD-based circuit design. There are also additional exercises and new examples of parallel and advanced architectures, practical I/O applications, embedded systems, and heterogeneous computing, plus a new appendix on C programming to strengthen the connection between programming and processor architecture.
This new edition will appeal to professional computer engineers and to students taking a course that combines digital logic and computer architecture.Updated based on instructor feedback with more exercises and new examples of parallel and advanced architectures, practical I/O applications, embedded systems, and heterogeneous computingPresents digital system design examples in both VHDL and SystemVerilog (updated for the second edition from Verilog), shown side-by-side to compare and contrast their strengthsIncludes a new chapter on C programming to provide necessary prerequisites and strengthen the connection between programming and processor architectureCompanion Web site includes links to Xilinx CAD tools for FPGA design, lecture slides, laboratory projects, and solutions to exercisesInstructors can also register at textbooks.elsevier.com for access to: Solutions to all exercises (PDF), Lab materials with solutions, HDL for textbook examples and exercise solutions, Lecture slides (PPT), Sample exams, Sample course syllabus, Figures from the text (JPG, PPT)
Lanza and Marinescu demystify the design metrics used to assess the size, quality and complexity of object-oriented software systems. Based on statistical information from many industrial projects and generally accepted semantics they deduce many single and combined threshold values. They show in detail how to identify collaboration and classification disharmony patterns in code, how to visualize their results using the freely available CodeCrawler visualization tool, and how to devise possible remedies.
The combination of theoretically sound results and practically tested procedures and solution paths makes this book an ideal companion for professional software architects, developers and quality engineers. The pattern-oriented description of disharmonies offers easy access to detecting shortcomings and applying solution strategies.
"This well-written book is an important piece of work that takes the seemingly forgotten art of object-oriented metrics to the next level in terms of relevance and usefulness." Richard C. Gronback, Chief Scientist, Borland Software Corporation.
Linux with Operating System Concepts merges conceptual operating system (OS) and Unix/Linux topics into one cohesive textbook for undergraduate students. The book can be used for a one- or two-semester course on Linux or Unix. It is complete with review sections, problems, definitions, concepts, and relevant introductory material, such as binary and Boolean logic, OS kernels, and the role of the CPU and memory hierarchy.
Details for Introductory and Advanced Users
The book covers Linux from both the user and system administrator positions. From a user perspective, it emphasizes command line interaction. From a system administrator perspective, the text reinforces shell scripting with examples of administration scripts that support the automation of administrator tasks.
Thorough Coverage of Concepts and Linux Commands
The author incorporates OS concepts not found in most Linux/Unix textbooks, including kernels, file systems, storage devices, virtual memory, and process management. He also introduces computer science topics, such as computer networks and TCP/IP, binary numbers and Boolean logic, encryption, and the GNUs C compiler. In addition, the text discusses disaster recovery planning, booting, and Internet servers.
Some of the engineers in this book reveal how they developed a specific project, including decisions they faced and tradeoffs they made. Others take a step back to investigate how certain architectural aspects have influenced computing as a whole. With this book, you'll discover:
How Facebook's architecture is the basis for a data-centric application ecosystemThe effect of Xen's well-designed architecture on the way operating systems evolveHow community processes within the KDE project help software architectures evolve from rough sketches to beautiful systemsHow creeping featurism has helped GNU Emacs gain unanticipated functionalityThe magic behind the Jikes RVM self-optimizable, self-hosting runtimeDesign choices and building blocks that made Tandem the choice platform in high-availability environments for over two decadesDifferences and similarities between object-oriented and functional architectural viewsHow architectures can affect the software's evolution and the developers' engagement
Go behind the scenes to learn what it takes to design elegant software architecture, and how it can shape the way you approach your own projects, with Beautiful Architecture.
Whether you're an aspiring manager, a current manager, or just wondering what the heck a manager does all day, there is a story in this book that will speak to you—and help you survive and prosper amid the general craziness of dysfunctional bright people caught up in the chase of riches and power. Scattered in repose among these manic misfits are managers, an even stranger breed of people who, through a mystical organizational ritual, have been given power over the futures and the bank accounts of many others.
Lopp's straight-from-the-hip style is unlike that of any other writer on management and leadership. He pulls no punches and tells stories he probably shouldn't. But they are magically instructive and yield Lopp’s trenchant insights on leadership that cut to the heart of the matter—whether it's dealing with your boss, handling a slacker, hiring top guns, or seeing a knotty project through to completion.
Writing code is easy. Managing humans is not. You need a book to help you do it, and this is it.What You'll Learn
Manage your boss
Discover how to say no
Understand different engineering personalities
Build effective teamsRun a meeting wellScale teams“/div>divWho This Book Is Fordiv
Managers and would-be managers staring at the role of a manager wondering why they would ever leave the safe world of bits and bytes for the messy world of managing humans. The book covers handling conflict, managing wildly differing personality types, infusing innovation into insane product schedules, and figuring out how to build a lasting and useful engineering culture.
Grid Computing: The Savvy Manager's Guide examines the technology from a rigorous business perspective, equipping you with the practical knowledge you need to assess your options and determine what grid computing approach is right for your enterprise. This book is heavy on real-world experience, distilling from a rich assortment of case studies the best practices currently at work in a variety of industries. Always attentive to grid computing’s many competitive advantages, it is also realistic about the challenges of selling the idea to staff and making it a part of your company’s culture.Sketches the history of grid computing, showing how it made the leap from academia to business.Examines the criteria you'll need to meet to make your network "grid-enabled."Explains how a grid-based solution can be made to meet key organizational requirements, including security, scheduling, data storage, and fault-tolerance.Surveys the approaches currently available and helps you choose the one that will best meet your needs, both now and in the future.Focuses heavily on the competitive advantages you can reap from grid computing, and provides advice on convincing your organization to adopt grid computing and making a successful transition.
Govern a unified platform for agile, intelligent business applications using the detailed information contained in this Oracle Press book. Oracle Fusion Middleware 11g Architecture and Management explains the entire suite of Oracle Fusion Middleware components and lays out core use cases, best practices, and step-by-step administrative instructions. Discover how to provision servers and clusters, configure Web services, manage portals, and optimize the performance of the full stack of Oracle Fusion Middleware components. Monitoring, diagnosing, and security are also covered in this definitive resource.Understand key architectural concepts behind Oracle Fusion Middleware 11g Create and deploy Oracle WebLogic Server domains and clusters Set up and manage applications built using Oracle Application Development Framework Maximize the value of your Oracle SOA Suite environments Manage portals and Enterprise 2.0 services from Oracle WebCenter Secure deployments with Oracle Platform Security Services and Oracle Identity Management Understand Oracle Exalogic and Oracle Virtual Assembly Builder
Pro T–SQL 2008 Programmer’s Guide is every developer’s key to making full use of SQL Server 2008’s powerful, built–in Transact–SQL language. Transact–SQL is the language developers and DBAs use to interact with SQL Server. It’s used for everything from querying data, to writing stored procedures, to managing the database. New features in SQL Server 2008 include a spatial data type, SQLCLR integration, the MERGE statement, a dramatically improved and market–leading XML feature set, and support for encryption—all of which are covered in this book
• Why are lovers quicker to forgive their partners for infidelity than for leaving dirty dishes in the sink?
• Why will sighted people pay more to avoid going blind than blind people will pay to regain their sight?
• Why do dining companions insist on ordering different meals instead of getting what they really want?
• Why do pigeons seem to have such excellent aim; why can’t we remember one song while listening to another; and why does the line at the grocery store always slow down the moment we join it?
In this brilliant, witty, and accessible book, renowned Harvard psychologist Daniel Gilbert describes the foibles of imagination and illusions of foresight that cause each of us to misconceive our tomorrows and misestimate our satisfactions. With penetrating insight and sparkling prose, Gilbert explains why we seem to know so little about the hearts and minds of the people we are about to become.
From the Trade Paperback edition.
Embedded design expert Robert Ashby will guide you through the entire PSoC world, providing thorough coverage of device feature, design, programming and development of the software-reconfigurable PSoC. He shares his best tips, tricks, and techniques that will help you to utilize the flexible and inexpensive PSoC to its greatest potential, with a minimum of heartaches and late nights.
With its emphasis on designing for adaptability – a feature of the utmost importance in today’s fast-paced and cost-pressured design cycles – this book will bring you up to speed quickly on everything PSoC, from memory management to interconnects. You will add brains and capable signal conditioning to a design with one chip, giving you extreme flexibility for a relatively low price. Specific application examples highlighting the PSoC’s unique capabilities are included throughout the text, with the supporting sample source code.The first independent technical reference available on the PSoC, a product line experiencing explosive growth in the embedded design worldApplication examples, sample code, and design tips and techniques will get readers get up-to-speed quickly
Throughout the book, author Peter McGowan provides a combination of theoretical information and practical coding examples to help you learn the Automate object model. With this CloudForms feature, you can create auto-scalable cloud applications, eliminate manual decisions and operations when provisioning virtual machines and cloud instances, and manage your complete virtual machine lifecycle.
In six parts, this book helps you:Learn the objects and concepts for developing automation scripts with CloudForms AutomateCustomize the steps and workflows involved in provisioning virtual machinesCreate and use service catalogs, items, dialogs, objects, bundles, and hierarchiesUse CloudForm’s updated workflow to retire and delete virtual machines and servicesOrchestrate and coordinate with external services as part of a workflowExplore distributed automation processing as well as argument passing and handling
Building an Enterprise Architecture Practice provides practical advice on how to develop your enterprise architecture practice. The authors developed different tools and models to support organizations in implementing and professionalizing an enterprise architecture function. The application of these tools and models in many different organizations forms the basis for this book. The result is a hands-on book that will help you to avoid certain pitfalls and achieve success with enterprise architecture.
A lot of organizations nowadays have a team of enterprise architects at work but struggle with questions like:
• How do I show the added value of enterprise architecture?
• How do I determine what specific architectures are necessary for my organization?
• What steps do I need to take to improve my enterprise architecture practice?
• How do I fulfill the role of enterprise architect?
These questions are answered in this book and illustrated with a lot of best practices.
After reading the book the reader will have a better understanding of what makes enterprise architecture successful and will possess the tools to analyse his own situation and build an enterprise architecture practice accordingly.
This book clearly describes how to establish an architecture practice that delivers value for an organization. The authors demonstrate a wealth of experience and a deep understanding of the multifaceted nature of this challenging task and they provide sound advice on how to avoid the many pitfalls that may be encountered along the way.
Recognising that there is no 'one-size-fits-all' approach, they show how to deploy a range of practical tools and approaches that will enable each organization to create its own road map to success. In particular, their Maturity Matrix is invaluable for balancing architecture priorities and targeting improvements. The book makes a significant contribution to the professionalization of the architect role.
Sally Bean, Enterprise Architecture Consultant
Too many books on enterprise architecture leave one in a state of mental fuzziness: After reading them, the reader has learned a lot of impressive words but still does not know how to design an enterprise architecture. This step by step guide to DYA is different.
It provides pragmatic guidelines for developing enterprise architecture and presents a maturity model that helps the users of DYA to state realistic goals and to outline feasible steps to achieve these goals. Particularly useful is the emphasis on a coherent enterprise architecture vision, including the value added by the architecture. I warmly recommend this book to practicing enterprise architects.
Prof. Dr. Roel Wieringa, Universiteit Twente
Building on the success of the first edition, this considerably expanded second edition now comprises four parts. Part I contains the foundational concepts, as well as a new first chapter that explains the central role of queues in successful performance analysis. Part II provides the basics of queueing theory in a highly intelligible style for the non-mathematician; little more than high-school algebra being required. Part III presents many practical examples of how PDQ can be applied. The PDQ manual has been relegated to an appendix in Part IV, along with solutions to the exercises contained in each chapter.Throughout, the Perl code listings have been newly formatted to improve readability. The PDQ code and updates to the PDQ manual are available from the author's web site at www.perfdynamics.com