Distributed Systems: Concepts and Design


George Coulouris - 1988
    Distributed Systems provides students of computer science and engineering with the skills they will need to design and maintain software for distributed applications. It will also be invaluable to software engineers and systems designers wishing to understand new and future developments in the field. From mobile phones to the Internet, our lives depend increasingly on distributed systems linking computers and other devices together in a seamless and transparent way. The fifth edition of this best-selling text continues to provide a comprehensive source of material on the principles and practice of distributed computer systems and the exciting new developments based on them, using a wealth of modern case studies to illustrate their design and development. The depth of coverage will enable readers to evaluate existing distributed systems and design new ones.

Designing Games


Tynan Sylvester - 2013
    You’ll learn principles and practices for crafting games that generate emotionally charged experiences—a combination of elegant game mechanics, compelling fiction, and pace that fully immerses players.In clear and approachable prose, design pro Tynan Sylvester also looks at the day-to-day process necessary to keep your project on track, including how to work with a team, and how to avoid creative dead ends. Packed with examples, this book will change your perception of game design.Create game mechanics to trigger a range of emotions and provide a variety of playExplore several options for combining narrative with interactivityBuild interactions that let multiplayer gamers get into each other’s headsMotivate players through rewards that align with the rest of the gameEstablish a metaphor vocabulary to help players learn which design aspects are game mechanicsPlan, test, and analyze your design through iteration rather than deciding everything up frontLearn how your game’s market positioning will affect your design

Undeniably His (A Billionaire Love Story)


Amanda Chayse - 2014
     When I interviewed for a job at Kalin Davis's advertising firm, I didn't think I would interview with him personally. I sure didn't think I would spend a night at his beach home, lying naked in his bed with his arms around me. And I definitely didn't think I'd end up crouched behind a bar, clutching a gun, listening to the cold steps of a killer approach me. One betrayal leads to another, and in the end we're both questioning who we can trust…even each other. Full-length, stand alone romance suspense novel approx. 86,000 words.

Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis


Adam Tornhill - 2018
    And that’s just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code!

Software Architecture in Practice


Len Bass - 2003
    Distinct from the details of implementation, algorithm, and data representation, an architecture holds the key to achieving system quality, is a reusable asset that can be applied to subsequent systems, and is crucial to a software organization's business strategy.Drawing on their own extensive experience, the authors cover the essential technical topics for designing, specifying, and validating a system. They also emphasize the importance of the business context in which large systems are designed. Their aim is to present software architecture in a real-world setting, reflecting both the opportunities and constraints that companies encounter. To that end, case studies that describe successful architectures illustrate key points of both technical and organizational discussions.Topics new to this edition include: Architecture design and analysis, including the Architecture Tradeoff Analysis Method (ATAM) Capturing quality requirements and achieving them through quality scenarios and tactics Using architecture reconstruction to recover undocumented architectures Documenting architectures using the Unified Modeling Language (UML) New case studies, including Web-based examples and a wireless Enterprise JavaBeans™ (EJB) system designed to support wearable computers The financial aspects of architectures, including use of the Cost Benefit Analysis Method (CBAM) to make decisions If you design, develop, or manage the building of large software systems (or plan to do so), or if you are interested in acquiring such systems for your corporation or government agency, use Software Architecture in Practice, Second Edition, to get up to speed on the current state of software architecture.

Professional Test Driven Development with C#: Developing Real World Applications with Tdd


James Bender - 2011
    This hands-on guide provides invaluable insight for creating successful test-driven development processes. With source code and examples featured in both C# and .NET, the book walks you through the TDD methodology and shows how it is applied to a real-world application. You'll witness the application built from scratch and details each step that is involved in the development, as well as any problems that were encountered and the solutions that were applied.Clarifies the motivation behind test-driven development (TDD), what it is, and how it works Reviews the various steps involved in developing an application and the testing that is involved prior to implementing the functionality Discusses unit testing and refactoring Professional Test-Driven Development with C# shows you how to create great TDD processes right away.

Machine Learning for Dummies


John Paul Mueller - 2016
    Without machine learning, fraud detection, web search results, real-time ads on web pages, credit scoring, automation, and email spam filtering wouldn't be possible, and this is only showcasing just a few of its capabilities. Written by two data science experts, Machine Learning For Dummies offers a much-needed entry point for anyone looking to use machine learning to accomplish practical tasks.Covering the entry-level topics needed to get you familiar with the basic concepts of machine learning, this guide quickly helps you make sense of the programming languages and tools you need to turn machine learning-based tasks into a reality. Whether you're maddened by the math behind machine learning, apprehensive about AI, perplexed by preprocessing data--or anything in between--this guide makes it easier to understand and implement machine learning seamlessly.Grasp how day-to-day activities are powered by machine learning Learn to 'speak' certain languages, such as Python and R, to teach machines to perform pattern-oriented tasks and data analysis Learn to code in R using R Studio Find out how to code in Python using Anaconda Dive into this complete beginner's guide so you are armed with all you need to know about machine learning!

Game Project Completed: How Successful Indie Game Developers Finish Their Projects


Thomas Schwarzl - 2014
    They teach you how to make games. This book does not show you how to make games. It shows you how to take your game project to the finish line. Many game projects never make it beyond the alpha state.Game Development Success Is All About The Inner Game.Being a successful game developer does not (just) mean being a great programmer, a smart game designer or a gifted artist. It means dominating the inner game of game making. This separates the pros from the wannabes. It's the knowledge of how to stay focused, motivated and efficient during your game projects. It's the skillset of keeping things simple and avoiding misleading dreams of the next overnight success. Finally it's about thinking as a salesperson, not just as a designer, programmer or artist.

Los Heroes y Los Dioses: Relatos de La Iliada y La Guerra de Troya


Andres Montanes - 2009
    The simple and straightforward text is paired with illustrations that capture daily life in ancient Greece to make for a fast-paced read. A final section explores the characteristics of the epic narrative, and themes such as heroism, justice, and cultural identity.

The Object-Oriented Thought Process


Matt Weisfeld - 2000
    Readers will learn to understand object-oriented design with inheritance or composition, object aggregation and association, and the difference between interfaces and implementations. Readers will also become more efficient and better thinkers in terms of object-oriented development." This revised edition focuses on interoperability across various technologies, primarily using XML as the communication mechanism. A more detailed focus is placed on how business objects operate over networks, including client/server architectures and web services.

Netaji: Living Dangerously


Kingshuk Nag - 2016
    Did Netaji Subhas Chandra Bose die in an air crash in Taihoku (Taipei, Taiwan) on 18 August 1945? Was he sent off to Siberia by Joseph Stalin? Did he die there? Or did he escape? Or was he let off, eventually to make his way back to India? Was he the mysterious Gumnami Baba of Faizabad, Uttar Pradesh? If so, how did he find his way back? Why did Bose leave India when he did? Was it on account of his political approach, which was opposed by the then high command of the Congress party that wanted a quick transfer of power from the British?The past comes alive as journalist and author Kingshuk Nag seeks answers to these and related questions at a time when there is a considerable renewal of interest in Netaji’s fate with old records tumbling out, the latest being the declassification of files by the government.Netaji: Living Dangerously is a riveting account of the life of one of India’s most charismatic leaders and an in-depth analysis of one of the world’s best kept secrets.

Systems Performance: Enterprise and the Cloud


Brendan Gregg - 2013
    Now, internationally renowned performance expert Brendan Gregg has brought together proven methodologies, tools, and metrics for analyzing and tuning even the most complex environments. Systems Performance: Enterprise and the Cloud focuses on Linux(R) and Unix(R) performance, while illuminating performance issues that are relevant to all operating systems. You'll gain deep insight into how systems work and perform, and learn methodologies for analyzing and improving system and application performance. Gregg presents examples from bare-metal systems and virtualized cloud tenants running Linux-based Ubuntu(R), Fedora(R), CentOS, and the illumos-based Joyent(R) SmartOS(TM) and OmniTI OmniOS(R). He systematically covers modern systems performance, including the "traditional" analysis of CPUs, memory, disks, and networks, and new areas including cloud computing and dynamic tracing. This book also helps you identify and fix the "unknown unknowns" of complex performance: bottlenecks that emerge from elements and interactions you were not aware of. The text concludes with a detailed case study, showing how a real cloud customer issue was analyzed from start to finish. Coverage includes - Modern performance analysis and tuning: terminology, concepts, models, methods, and techniques - Dynamic tracing techniques and tools, including examples of DTrace, SystemTap, and perf - Kernel internals: uncovering what the OS is doing - Using system observability tools, interfaces, and frameworks - Understanding and monitoring application performance - Optimizing CPUs: processors, cores, hardware threads, caches, interconnects, and kernel scheduling - Memory optimization: virtual memory, paging, swapping, memory architectures, busses, address spaces, and allocators - File system I/O, including caching - Storage devices/controllers, disk I/O workloads, RAID, and kernel I/O - Network-related performance issues: protocols, sockets, interfaces, and physical connections - Performance implications of OS and hardware-based virtualization, and new issues encountered with cloud computing - Benchmarking: getting accurate results and avoiding common mistakes This guide is indispensable for anyone who operates enterprise or cloud environments: system, network, database, and web admins; developers; and other professionals. For students and others new to optimization, it also provides exercises reflecting Gregg's extensive instructional experience.

Computer Networking: A Top-Down Approach


James F. Kurose - 2000
    Building on the successful top-down approach of previous editions, this fourth edition continues with an early emphasis on application-layer paradigms and application programming interfaces, encouraging a hands-on experience with protocols and networking concepts.

Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer)


John Mongan - 2000
    This classic book uncovers what interviews are really like at America's top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent technical interviews. 50 interview scenarios are presented along with in-depth analysis of the possible solutions. The problem-solving process is clearly illustrated so you'll be able to easily apply what you've learned during crunch time. You'll also find expert tips on what questions to ask, how to approach a problem, and how to recover if you become stuck. All of this will help you ace the interview and get the job you want.What you will learn from this bookTips for effectively completing the job application Ways to prepare for the entire programming interview process How to find the kind of programming job that fits you best Strategies for choosing a solution and what your approach says about you How to improve your interviewing skills so that you can respond to any question or situation Techniques for solving knowledge-based problems, logic puzzles, and programming problems Who this book is for This book is for programmers and developers applying for jobs in the software industry or in IT departments of major corporations.Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

Paper Prototyping: The Fast and Easy Way to Design and Refine User Interfaces


Carolyn Snyder - 2003
    Written by a usability engineer with a long and successful paper prototyping history, this book is a practical, how-to guide that will prepare you to create and test paper prototypes of all kinds of user interfaces. You'll see how to simulate various kinds of interface elements and interactions. You'll learn about the practical aspects of paper prototyping, such as deciding when the technique is appropriate, scheduling the activities, and handling the skepticism of others in your organization. Numerous case studies and images throughout the book show you real world examples of paper prototyping at work.Learn how to use this powerful technique to develop products that are more useful, intuitive, efficient, and pleasing:* Save time and money - solve key problems before implementation begins * Get user feedback early - use it to focus the development process * Communicate better - involve development team members from a variety of disciplines * Be more creative - experiment with many ideas before committing to one