Operating Systems and MiddlewareSuppose you sit down at your computer to check your email. One of the messages includes an attached document, which you are to edit. You click the attachment, and it opens up in another window. After you start editing the document, you realize you need to leave for a trip. You save the document in its partially edited state and shut down the computer to save energy while you are gone. Upon returning, you boot the computer back up, open the document, and continue editing.
This scenario illustrates that computations interact. In fact, it demonstrates at least three kinds of interactions between computations. In each case, one computation provides data to another. First, your email program retrieves new mail from the server, using the Internet to bridge space. Second, your email program provides the attachment to the word processor, using the operating system's services to couple the two application pro grams. Third, the invocation of the word processor that is running before your trip ...
The Design and Implementation of the Anykernel and Rump KernelsThe mission of the first edition of this book was to introduce the anykernel and rump kernels and motivate their existence. Additionally, we explored the characteristics of the technology through various experiments. The paramount, often criminally overlooked experiment was the one hiding in plain sight: is it possible to construct the system in a sustainable, real-world compatible fashion. That paramount experiment was shown to be a success, and that result has not changed since the original publication, only strengthened. The core technology is still almost identical to the one described in the original book.
This new edition has been written to account for the practical experiences from new use cases, many of which were proposed in the first edition, but which have since become reality.
To start off, we will look at operating systems in general: what one is, how they developed throughout history, where they are now, what the problem is, and why the time is now ripe for change. ...
Game Design ResearchDesign research, or design studies as it is also called, has been gaining momentum as a field of academic inquiry since the beginning of 20th century. Originally, design research focused on design methods and processes but it has moved to cover more varied research questions related to design. Current research topics include, for example, how to study design and what methods can be used to study design along with the more fundamental questions such as what is design in the first place and what kinds of knowledge design research produces. The topics of design research have also become more wide and varied with active research on architecture, information systems, product, service, graphic, and interaction design to name a few. Game design research, however, has received surprisingly little attention regardless of the large body of work in the more general design research.
The main aim of this book is to situate game design research within and alongside general design research. ...
Learning TypeScriptTypeScript has conquered the world of JavaScript: it's one of the world's fastest growing and most popular languages across developer surveys, widely used in consumer and business companies alike, and frequently credited for helping massive web applications scale. But what is TypeScript? How does it work, why does it work, and how can we use it?
Learning TypeScript takes beginner to intermediate JavaScript programmers from knowing nothing about "types" or a "type system" to full mastery of the fundamentals of TypeScript. It's more than a means to find bugs and typos - it's a useful system for declaring the way our JavaScript should work and helping us stick to it.
You'll learn how TypeScript: interacts with JavaScript; analyzes and understands code; augments your existing development pattern; helps you document your code; works with IDEs to provide refactoring tools; assists local development in refactoring code; helps you develop more quickly with fewer bugs. ...
Designing Machine Learning SystemsMachine learning systems are both complex and unique. Complex because they consist of many different components and involve many different stakeholders. Unique because they're data dependent, with data varying wildly from one use case to the next. In this book, you'll learn a holistic approach to designing ML systems that are reliable, scalable, maintainable, and adaptive to changing environments and business requirements.
Author Chip Huyen, co-founder of Claypot AI, considers each design decision-such as how to process and create training data, which features to use, how often to retrain models, and what to monitor-in the context of how it can help your system as a whole achieve its objectives. The iterative framework in this book uses actual case studies backed by ample references.
This book will help you tackle scenarios such as: Engineering data and choosing the right metrics to solve a business problem; Automating the process for continually developing, evaluating, deploying ...
Essential Math for Data ScienceMaster the math needed to excel in data science, machine learning, and statistics. In this book author Thomas Nield guides you through areas like calculus, probability, linear algebra, and statistics and how they apply to techniques like linear regression, logistic regression, and neural networks. Along the way you'll also gain practical insights into the state of data science and how to use those insights to maximize your career.
Learn how to: Use Python code and libraries like SymPy, NumPy, and scikit-learn to explore essential mathematical concepts like calculus, linear algebra, statistics, and machine learning; Understand techniques like linear regression, logistic regression, and neural networks in plain English, with minimal mathematical notation and jargon; Perform descriptive statistics and hypothesis testing on a dataset to interpret p-values and statistical significance; Manipulate vectors and matrices and perform matrix decomposition; Integrate and build upon incremental ...
Designing Autonomous AIEarly rules-based artificial intelligence demonstrated intriguing decision-making capabilities but lacked perception and didn't learn. AI today, primed with machine learning perception and deep reinforcement learning capabilities, can perform superhuman decision-making for specific tasks. This book shows you how to combine the practicality of early AI with deep learning capabilities and industrial control technologies to make robust decisions in the real world.
Using concrete examples, minimal theory, and a proven architectural framework, author Kence Anderson demonstrates how to teach autonomous AI explicit skills and strategies. You'll learn when and how to use and combine various AI architecture design patterns, as well as how to design advanced AI without needing to manipulate neural networks or machine learning algorithms. Students, process operators, data scientists, machine learning algorithm experts, and engineers who own and manage industrial processes can use the methodolo ...
Introduction to Python for Computational Science and EngineeringThis book summarises a number of core ideas relevant to Computational Engineering and Scientific Computing using Python. The emphasis is on introducing some basic Python (programming) concepts that are relevant for numerical algorithms. The later chapters touch upon numerical libraries such as numpy and scipy each of which deserves much more space than provided here. We aim to enable the reader to learn independently how to use other functionality of these libraries using the available documentation (online and through the packages itself). ...
How to Lead in Data ScienceHow to Lead in Data Science is full of techniques for leading data science at every seniority level - from heading up a single project to overseeing a whole company's data strategy. Authors Jike Chong and Yue Cathy Chang share hard-won advice that they've developed building data teams for LinkedIn, Acorns, Yiren Digital, large asset-management firms, Fortune 50 companies, and more. You'll find advice on plotting your long-term career advancement, as well as quick wins you can put into practice right away. Carefully crafted assessments and interview scenarios encourage introspection, reveal personal blind spots, and highlight development areas.
Lead your data science teams and projects to success! To make a consistent, meaningful impact as a data science leader, you must articulate technology roadmaps, plan effective project strategies, support diversity, and create a positive environment for professional growth. This book delivers the wisdom and practical skills you need to thrive a ...
Grokking Machine LearningGrokking Machine Learning teaches you how to apply ML to your projects using only standard Python code and high school-level math. No specialist knowledge is required to tackle the hands-on exercises using Python and readily available machine learning tools. Packed with easy-to-follow Python-based exercises and mini-projects, this book sets you on the path to becoming a machine learning expert.
Discover powerful machine learning techniques you can understand and apply using only high school math! Put simply, machine learning is a set of techniques for data analysis based on algorithms that deliver better results as you give them more data. ML powers many cutting-edge technologies, such as recommendation systems, facial recognition software, smart speakers, and even self-driving cars. This unique book introduces the core concepts of machine learning, using relatable examples, engaging exercises, and crisp illustrations.
Grokking Machine Learning presents machine learning algorithm ...