Designing Data-Intensive Applications


Martin Kleppmann - 2015
    Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures

Exam Ref 70-486: Developing ASP.NET MVC 4 Web Applications


William Penberthy - 2013
    Designed for experienced developers ready to advance their status, Exam Ref focuses on the critical-thinking and decision-making acumen needed for success at the Microsoft Specialist level.Focus on the expertise measured by these objectives:Design the application architectureDesign the user experienceDevelop the user experienceTroubleshoot and debug web applicationsDesign and implement securityThis Microsoft Exam Ref:Organizes its coverage by exam objectives.Features strategic, what-if scenarios to challenge you.Includes a 15% exam discount from Microsoft. (Limited time offer)

The Grapes of Math: How Life Reflects Numbers and Numbers Reflect Life


Alex Bellos - 2014
    He sifts through over 30,000 survey submissions to uncover the world’s favourite number, and meets a mathematician who looks for universes in his garage. He attends the World Mathematical Congress in India, and visits the engineer who designed the first roller-coaster loop. Get hooked on math as Alex delves deep into humankind’s turbulent relationship with numbers, and reveals how they have shaped the world we live in.

Building Evolutionary Architectures: Support Constant Change


Neal Ford - 2017
    Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves. This practical guide ties those parts together with a new way to think about architecture and time.

Haley's Cleaning Hints


Graham Haley - 2001
    The authors of Haley's Hints offer tips for cleaning around the home using common household products with multiples uses, presenting more than one thousand ingenious, economical solutions to help clean, unclutter, organize, and deodorize the home with such common products as toothpaste and vinegar.

How Computers Work


Ron White - 1992
    The full-color, detailed illustrations will take you deep inside your PC and show you just how intricate it is. This latest edition has been updated with information on all of the latest technologies, including: PCI Express Bus Serial ATA Connections Digital Photography Software TiVos, Gas Plasma Screens, iPods, and Other Home Entertainment Equipment Google and eBay 3D Game Development, Two-Slot Video Cards, and Overclocking How Computers Work has sold over two million copies world wide. But don't take our word for it � get your copy today!

The Traditional Bowyer's Bible, Volume 2


Jim Hamm - 1993
    The second volume in The Traditional Bowyer's Bible series covers ancient European bows, Eastern Woodland bows, recurves, strings, steel points, quivers, and much more.

The Quantum Universe: Everything That Can Happen Does Happen


Brian Cox - 2011
    Cox and Forshaw's contention? There is no need for quantum mechanics to be viewed this way. There is a lot of mileage in the 'weirdness' of the quantum world, and it often leads to confusion and, frankly, bad science. The Quantum Universe cuts through the Wu Li and asks what observations of the natural world made it necessary, how it was constructed, and why we are confident that, for all its apparent strangeness, it is a good theory.The quantum mechanics of The Quantum Universe provide a concrete model of nature that is comparable in its essence to Newton’s laws of motion, Maxwell’s theory of electricity and magnetism, and Einstein’s theory of relativity.

An Introduction to Functional Programming Through Lambda Calculus


Greg Michaelson - 1989
    This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions.

Essentials of Statistics


Mario F. Triola - 2001
    What do you want to learn? Discover the Power of Real Data Mario Triola remains the market-leading statistics author by engaging readers of each edition with an abundance of real data in the examples, applications, and exercises. Statistics is all around us, and Triola helps readers understand how this course will impact their lives beyond the classroom–as consumers, citizens, and professionals. Essentials of Statistics, Fourth Edition is a more economical and streamlined introductory statistics text. Drawn from Triola’s Elementary Statistics, Eleventh Edition, this text provides the same student-friendly approach with material presented in a real-world context. The Fourth Edition contains more than 1,700 exercises (18% more than the previous edition); 89% are new and 81% use real data. The book also contains hundreds of examples; 86% are new and 92% use real data. By analyzing real data, readers are able to connect abstract concepts to the world at large, teaching them to think statistically and apply their conceptual understanding using the same methods that professional statisticians employ. Datasets and other resources (where applicable) for this book are available here.

The Practice of System and Network Administration


Thomas A. Limoncelli - 2001
    Whether you use Linux, Unix, or Windows, this newly revised edition describes the essential practices previously handed down only from mentor to protege. This wonderfully lucid, often funny cornucopia of information introduces beginners to advanced frameworks valuable for their entire career, yet is structured to help even the most advanced experts through difficult projects.The book's four major sections build your knowledge with the foundational elements of system administration. These sections guide you through better techniques for upgrades and change management, catalog best practices for IT services, and explore various management topics. Chapters are divided into The Basics and The Icing. When you get the Basics right it makes every other aspect of the job easier--such as automating the right things first. The Icing sections contain all the powerful things that can be done on top of the basics to wow customers and managers.Inside, you'll find advice on topics such asThe key elements your networks and systems need in order to make all other services run better Building and running reliable, scalable services, including web, storage, email, printing, and remote access Creating and enforcing security policies Upgrading multiple hosts at one time without creating havoc Planning for and performing flawless scheduled maintenance windows Managing superior helpdesks and customer care Avoiding the -temporary fix- trap Building data centers that improve server uptime Designing networks for speed and reliability Web scaling and security issues Why building a backup system isn't about backups Monitoring what you have and predicting what you will need How technically oriented workers can maintain their job's technical focus (and avoid an unwanted management role) Technical management issues, including morale, organization building, coaching, and maintaining positive visibility Personal skill techniques, including secrets for getting more done each day, ethical dilemmas, managing your boss, and loving your job System administration salary negotiation It's no wonder the first edition received Usenix SAGE's 2005 Outstanding Achievement Award!This eagerly anticipated second edition updates this time-proven classic:Chapters reordered for easier navigationThousands of updates and clarifications based on reader feedbackPlus three entirely new chapters: Web Services, Data Storage, and Documentation

Mental Floss Presents Forbidden Knowledge: A Wickedly Smart Guide to History's Naughtiest Bits (Mental Floss Presents)


Will Pearson - 2005
    The brainiac team at "mental_floss", creators of the hit magazine and last year's Condensed Knowledge, have scoured the darkest, dirtiest corners of history and the globe to gather this ultimate collection of the bad stuff you're not supposed to know and you certainly never learned in school.Organized by theme, with chapters for each of the seven deadly sins, the book includes feuds, plagiarists, hoaxes, lies, schemes, scandals, evil dictators, mob bosses, acts of revenge, angry queens, cannibals and much more, all organized into bite-sized—albeit foul-tasting—lists (i.e."The Fascist Style Guide: Five Dictator Grooming Tips", “Four Biblical Girls Gone Wild" and “Three Delicious Animals We Charbroiled Into Extinction."). It's the perfect way to add some spice to a dull conversation and proves that learning can be not only easy, but exquisitely sinful.

The Go Programming Language


Alan A.A. Donovan - 2015
    It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.

Cambridge International AS and A Level Chemistry Coursebook with CD-ROM (Cambridge International Examinations)


Roger Norris - 2011
    Written by highly experienced authors and Cambridge examiners, this book offers full support to students. Simple and clear language, colourful photos and international examples make this book accessible to students from around the world. Exam-style questions at the end of each chapter reinforce knowledge and skills and offer thorough exam practice. This book comes fully endorsed by Cambridge. The coursebook comes with a free CD-ROM which offers guidance on practicals, useful tips to help in revision and interactive material to engage students

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.