Wydawca: Packt Publishing
Kaiwan N Billimoria
Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization is an ideal companion guide to the Linux Kernel Programming book. This book provides a comprehensive introduction for those new to Linux device driver development and will have you up and running with writing misc class character device driver code (on the 5.4 LTS Linux kernel) in next to no time.You'll begin by learning how to write a simple and complete misc class character driver before interfacing your driver with user-mode processes via procfs, sysfs, debugfs, netlink sockets, and ioctl. You'll then find out how to work with hardware I/O memory. The book covers working with hardware interrupts in depth and helps you understand interrupt request (IRQ) allocation, threaded IRQ handlers, tasklets, and softirqs. You'll also explore the practical usage of useful kernel mechanisms, setting up delays, timers, kernel threads, and workqueues. Finally, you'll discover how to deal with the complexity of kernel synchronization with locking technologies (mutexes, spinlocks, and atomic/refcount operators), including more advanced topics such as cache effects, a primer on lock-free techniques, deadlock avoidance (with lockdep), and kernel lock debugging techniques.By the end of this Linux kernel book, you'll have learned the fundamentals of writing Linux character device driver code for real-world projects and products.
Linux Networking Cookbook. Over 40 recipes to help you set up and configure Linux networks
Gregory Boyce
Linux can be configured as a networked workstation, a DNS server, a mail server, a firewall, a gateway router, and many other things. These are all part of administration tasks, hence network administration is one of the main tasks of Linux system administration. By knowing how to configure system network interfaces in a reliable and optimal manner, Linux administrators can deploy and configure several network services including file, web, mail, and servers while working in large enterprise environments.Starting with a simple Linux router that passes traffic between two private networks, you will see how to enable NAT on the router in order to allow Internet access from the network, and will also enable DHCP on the network to ease configuration of client systems. You will then move on to configuring your own DNS server on your local network using bind9 and tying it into your DHCP server to allow automatic configuration of local hostnames. You will then future enable your network by setting up IPv6 via tunnel providers.Moving on, we’ll configure Samba to centralize authentication for your network services; we will also configure Linux client to leverage it for authentication, and set up a RADIUS server that uses the directory server for authentication.Toward the end, you will have a network with a number of services running on it, and will implement monitoring in order to detect problems as they occur.
Jonathan Hobson, William Leemans, Uday Sawant, Oliver...
Linux servers are frequently selected over other server operating systems for their stability, security and flexibility advantages.This Learning Path will teach you how to get up and running with three of the most popular Linux server distros: Ubuntu Server, CentOS 7 Server, and RHEL 7 Server. We will begin with the Ubuntu Server and show you how to make the most of Ubuntu’s advanced functionalities. Moving on, we will provide you with all the knowledge that will give you access to the inner workings of the latest CentOS version 7. Finally, touching RHEL 7, we will provide you with solutions to common RHEL 7 Server challenges.This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:1)Ubuntu Server Cookbook2)CentOS 7 Linux Server Cookbook, Second Edition 3)Red Hat Enterprise Linux Server Cookbook
Donald A. Tevault
Linux Service Management Made Easy with systemd will provide you with an in-depth understanding of systemd, so that you can set up your servers securely and efficiently.This is a comprehensive guide for Linux administrators that will help you get the best of systemd, starting with an explanation of the fundamentals of systemd management.You’ll also learn how to edit and create your own systemd units, which will be particularly helpful if you need to create custom services or timers and add features or security to an existing service. Next, you'll find out how to analyze and fix boot-up challenges and set system parameters. An overview of cgroups that'll help you control system resource usage for both processes and users will also be covered, alongside a practical demonstration on how cgroups are structured, spotting the differences between cgroups Version 1 and 2, and how to set resource limits on both. Finally, you'll learn about the systemd way of performing time-keeping, networking, logging, and login management. You'll discover how to configure servers accurately and gather system information to analyze system security and performance. By the end of this Linux book, you’ll be able to efficiently manage all aspects of a server running the systemd init system.
Linux Shell Scripting Bootcamp. The fastest way to learn Linux shell scripting
James K Lewis
Linux Shell Scripting Bootcamp is all about learning the essentials of script creation, validating parameters, and checking for the existence of files and other items needed by the script.We will use scripts to explore iterative operations using loops and learn different types of loop statements, with their differences. Along with this, we will also create a numbered backup script for backup files.Further, you will get well-versed with how variables work on a Linux system and how they relate to scripts. You’ll also learn how to create and call subroutines in a script and create interactive scripts. The most important archive commands, zip and tar, are also discussed for performing backups. Later, you will dive deeper by understanding the use of wget and curl scripts and the use of checksum and file encryption in further chapters.Finally, you will learn how to debug scripts and scripting best practices that will enable you to write a great code every time! By the end of the book, you will be able to write shell scripts that can dig data from the web and process it efficiently.
Clif Flynt, Sarath Lakshman, Shantanu Tushar
The shell is the most powerful tool your computer provides. Despite having it at their fingertips, many users are unaware of how much the shell can accomplish.Using the shell, you can generate databases and web pages from sets of files, automate monotonous admin tasks such as system backups, monitor your system's health and activity, identify network bottlenecks and system resource hogs, and more.This book will show you how to do all this and much more.This book, now in its third edition, describes the exciting new features in the newest Linux distributions to help you accomplish more than you imagine. It shows how to use simple commands to automate complex tasks, automate web interactions, download videos, set up containers and cloud servers, and even get free SSL certificates.Starting with the basics of the shell, you will learn simple commands and how to apply them to real-world issues. From there, you'll learn text processing, web interactions, network and system monitoring, and system tuning.Software engineers will learn how to examine system applications, how to use modern software management tools such as git and fossil for their own work, and how to submit patches to open-source projects.Finally, you'll learn how to set up Linux Containers and Virtual machines and even run your own Cloud server with a free SSL Certificate from letsencrypt.org.
Sarath Lakshman, Shantanu Tushar, Shantanu Tushar
The shell remains one of the most powerful tools on a computer system — yet a large number of users are unaware of how much one can accomplish with it. Using a combination of simple commands, we will see how to solve complex problems in day to day computer usage.Linux Shell Scripting Cookbook, Second Edition will take you through useful real-world recipes designed to make your daily life easy when working with the shell. The book shows the reader how to effectively use the shell to accomplish complex tasks with ease.The book discusses basics of using the shell, general commands and proceeds to show the reader how to use them to perform complex tasks with ease.Starting with the basics of the shell, we will learn simple commands with their usages allowing us to perform operations on files of different kind. The book then proceeds to explain text processing, web interaction and concludes with backups, monitoring and other sysadmin tasks.Linux Shell Scripting Cookbook, Second Edition serves as an excellent guide to solving day to day problems using the shell and few powerful commands together to create solutions.
Linux Shell Scripting for Hackers. Automate and scale your hacking process with bash scripting
Valentine (Traw) Nachi, Donald A. Tevault
Mastering bash scripting is a powerful skill that separates professional hackers from the rest. This comprehensive guide explores bash scripting in depth, equipping you with the knowledge and tools you need to automate complex tasks, streamline workflows, and craft custom utilities.The book takes you on a journey through advanced scripting techniques, while helping you master the command line and use practical examples that showcase real-world applications. From automating reconnaissance processes to creating custom exploitation tools, this book provides you with the skills to tackle even the most daunting challenges. You’ll discover how to utilize bash, awk, sed, and regular expressions to manipulate data, parse logs, and extract valuable information. A dedicated section also focuses on network scripting, helping you craft scripts that interact with remote systems, scan, and gather information.By the end of this bash scripting book, you’ll be able to apply your newfound knowledge to tackle realistic scenarios, honing your skills and preparing for the front lines of cybersecurity.
Jack-Benny Persson
Linux is the world's most popular open source operating system (OS). Linux System Programming Techniques will enable you to extend the Linux OS with your own system programs and communicate with other programs on the system.The book begins by exploring the Linux filesystem, its basic commands, built-in manual pages, the GNU compiler collection (GCC), and Linux system calls. You'll then discover how to handle errors in your programs and will learn to catch errors and print relevant information about them. The book takes you through multiple recipes on how to read and write files on the system, using both streams and file descriptors. As you advance, you'll delve into forking, creating zombie processes, and daemons, along with recipes on how to handle daemons using systemd. After this, you'll find out how to create shared libraries and start exploring different types of interprocess communication (IPC). In the later chapters, recipes on how to write programs using POSIX threads and how to debug your programs using the GNU debugger (GDB) and Valgrind will also be covered.By the end of this Linux book, you will be able to develop your own system programs for Linux, including daemons, tools, clients, and filters.
Tina Woods, Andrew Scott
Live Longer with AI examines how the latest cutting-edge developments are helping us to live longer, healthier and better too. It compels us to stop thinking that health is about treating disease and start regarding it as our greatest personal and societal asset to protect.The book discusses the impact that AI has on understanding the cellular basis of aging and how our genes are influenced by our environment – with the pandemic highlighting the interconnectedness of human and planetary health.Author Tina Woods, founder and CEO of Collider Health and Collider Science, and the co-founder of Longevity International, has curated a panel of deeply insightful interviews with some of today’s brightest and most innovative thought leaders at the crossroads of health, technology and society. Read what leading experts in health and technology are saying about the book:This is a handbook for the revolution!—Sir Muir Gray, Director, Optimal AgeingYou can live longer and be happier if you make some changes – that isthe theme of this book. Well-written and compelling.—Ben Page, CEO, Ipsos MoriTina's book is a must-read for those who want to discover the future of health.—José Luis Cordeiro, Fellow, World Academy of Art & Science;Director, The Millennium Project; Vice Chair, Humanity Plus; Co-Author of The Death of DeathAbout the consultant editorMelissa Ream is a leading health and care strategist in the UK, leveraging user-driven design and artificial intelligence to design systems and support people to live healthier, longer lives.
Joel W Gerdeen, Joel Gerdeen, Colin Holgate
Colin Holgate
LiveCode is a tool for developing mobile apps designed for those who don't want to use Objective-C, C++ or Java. Although it is a tool full of rich features to create apps it can be challenging to get beyond the basics and build interactive and fun apps. Using this book, you can develop various apps and this book guides you through till you upload the apps in the appstore.LiveCode Mobile Development Beginner's Guide will explain how to create applications with the easiest, most practical cross platform framework available, Livecode Mobile and upload the apps to the appstore with minimal effort.Throughout the book, you'll learn details that will help you become a pro at mobile app development using LiveCode. You begin with simple calculator application and quickly enhance it using LiveCode Mobile. Start by learning the interface controls for videos and images of LiveCode's environment. Dig into configuring devices, building user interfaces, and making rich media applications, then finish by uploading the mobile applications to App Stores. You will learn how to build apps for devices such as iPhone, Android with the recently developed LiveCode Mobile through sample applications of increasing complexity.
LLM Design Patterns. A Practical Guide to Building Robust and Efficient AI Systems
Ken Huang
This practical guide for AI professionals enables you to build on the power of design patterns to develop robust, scalable, and efficient large language models (LLMs). Written by a global AI expert and popular author driving standards and innovation in Generative AI, security, and strategy, this book covers the end-to-end lifecycle of LLM development and introduces reusable architectural and engineering solutions to common challenges in data handling, model training, evaluation, and deployment.You’ll learn to clean, augment, and annotate large-scale datasets, architect modular training pipelines, and optimize models using hyperparameter tuning, pruning, and quantization. The chapters help you explore regularization, checkpointing, fine-tuning, and advanced prompting methods, such as reason-and-act, as well as implement reflection, multi-step reasoning, and tool use for intelligent task completion. The book also highlights Retrieval-Augmented Generation (RAG), graph-based retrieval, interpretability, fairness, and RLHF, culminating in the creation of agentic LLM systems.By the end of this book, you’ll be equipped with the knowledge and tools to build next-generation LLMs that are adaptable, efficient, safe, and aligned with human values.
Paul Iusztin, Maxime Labonne, Julien Chaumond, Hamza...
Artificial intelligence has undergone rapid advancements, and Large Language Models (LLMs) are at the forefront of this revolution. This LLM book offers insights into designing, training, and deploying LLMs in real-world scenarios by leveraging MLOps best practices. The guide walks you through building an LLM-powered twin that’s cost-effective, scalable, and modular. It moves beyond isolated Jupyter notebooks, focusing on how to build production-grade end-to-end LLM systems.Throughout this book, you will learn data engineering, supervised fine-tuning, and deployment. The hands-on approach to building the LLM Twin use case will help you implement MLOps components in your own projects. You will also explore cutting-edge advancements in the field, including inference optimization, preference alignment, and real-time data processing, making this a vital resource for those looking to apply LLMs in their projects.By the end of this book, you will be proficient in deploying LLMs that solve practical problems while maintaining low-latency and high-availability inference capabilities. Whether you are new to artificial intelligence or an experienced practitioner, this book delivers guidance and practical techniques that will deepen your understanding of LLMs and sharpen your ability to implement them effectively.
LLM Prompt Engineering for Developers. The Art and Science of Unlocking LLMs' True Potential
Aymen El Amri
LLM Prompt Engineering For Developers begins by laying the groundwork with essential principles of natural language processing (NLP), setting the stage for more complex topics. It methodically guides readers through the initial steps of understanding how large language models work, providing a solid foundation that prepares them for the more intricate aspects of prompt engineering.As you proceed, the book transitions into advanced strategies and techniques that reveal how to effectively interact with and utilize these powerful models. From crafting precise prompts that enhance model responses to exploring innovative methods like few-shot and zero-shot learning, this resource is designed to unlock the full potential of language model technology.This book not only teaches the technical skills needed to excel in the field but also addresses the broader implications of AI technology. It encourages thoughtful consideration of ethical issues and the impact of AI on society. By the end of this book, readers will master the technical aspects of prompt engineering & appreciate the importance of responsible AI development, making them well-rounded professionals ready to focus on the advancement of this cutting-edge technology.
Ahmed Menshawy, Mahmoud Fahmy
The integration of large language models (LLMs) into enterprise applications is transforming how businesses use AI to drive smarter decisions and efficient operations. LLMs in Enterprise is your practical guide to bringing these capabilities into real-world business contexts. It demystifies the complexities of LLM deployment and provides a structured approach for enhancing decision-making and operational efficiency with AI.Starting with an introduction to the foundational concepts, the book swiftly moves on to hands-on applications focusing on real-world challenges and solutions. You’ll master data strategies and explore design patterns that streamline the optimization and deployment of LLMs in enterprise environments. From fine-tuning techniques to advanced inferencing patterns, the book equips you with a toolkit for solving complex challenges and driving AI-led innovation in business processes.By the end of this book, you’ll have a solid grasp of key LLM design patterns and how to apply them to enhance the performance and scalability of your generative AI solutions.
LLVM Code Generation. A deep dive into compiler backend development
Quentin Colombet, Kristof Beyls
The LLVM infrastructure is a popular compiler ecosystem widely used in the tech industry and academia. This technology is crucial for both experienced and aspiring compiler developers looking to make an impact in the field. Written by Quentin Colombet, a veteran LLVM contributor and architect of the GlobalISel framework, this book provides a primer on the main aspects of LLVM, with an emphasis on its backend infrastructure; that is, everything needed to transform the intermediate representation (IR) produced by frontends like Clang into assembly code and object files.You’ll learn how to write an optimizing code generator for a toy backend in LLVM. The chapters will guide you step by step through building this backend while exploring key concepts, such as the ABI, cost model, and register allocation. You’ll also find out how to express these concepts using LLVM's existing infrastructure and how established backends address these challenges. Furthermore, the book features code snippets that demonstrate the actual APIs.By the end of this book, you’ll have gained a deeper understanding of LLVM. The concepts presented are expected to remain stable across different LLVM versions, making this book a reliable quick reference guide for understanding LLVM.
Mayur Pandey, Suyog Sarda, David Farago
LLVM is currently the point of interest for many firms, and has a very active open source community. It provides us with a compiler infrastructure that can be used to write a compiler for a language. It provides us with a set of reusable libraries that can be used to optimize code, and a target-independent code generator to generate code for different backends. It also provides us with a lot of other utility tools that can be easily integrated into compiler projects.This book details how you can use the LLVM compiler infrastructure libraries effectively, and will enable you to design your own custom compiler with LLVM in a snap.We start with the basics, where you’ll get to know all about LLVM. We then cover how you can use LLVM library calls to emit intermediate representation (IR) of simple and complex high-level language paradigms. Moving on, we show you how to implement optimizations at different levels, write an optimization pass, generate code that is independent of a target, and then map the code generated to a backend. The book also walks you through CLANG, IR to IR transformations, advanced IR block transformations, and target machines. By the end of this book, you’ll be able to easily utilize the LLVM libraries in your own projects.
Min-Yih Hsu
Every programmer or engineer, at some point in their career, works with compilers to optimize their applications. Compilers convert a high-level programming language into low-level machine-executable code. LLVM provides the infrastructure, reusable libraries, and tools needed for developers to build their own compilers. With LLVM’s extensive set of tooling, you can effectively generate code for different backends as well as optimize them.In this book, you’ll explore the LLVM compiler infrastructure and understand how to use it to solve different problems. You’ll start by looking at the structure and design philosophy of important components of LLVM and gradually move on to using Clang libraries to build tools that help you analyze high-level source code. As you advance, the book will show you how to process LLVM IR – a powerful way to transform and optimize the source program for various purposes. Equipped with this knowledge, you’ll be able to leverage LLVM and Clang to create a wide range of useful programming language tools, including compilers, interpreters, IDEs, and source code analyzers.By the end of this LLVM book, you’ll have developed the skills to create powerful tools using the LLVM framework to overcome different real-world challenges.
LMMS: A Complete Guide to Dance Music Production
David Earl
You've scoured the forums, watched the tutorial videos, and done everything you can to learn the secrets of the art of making dance music. Everyone is saying something different about how to get into producing your own projects. This book will help connect the dots and lay a solid foundation of knowledge so you can get beats banging out of LMMS.This book will show you the ins and outs of making Dance music with LMMS. Do you make house, trance, techno or down-tempo? After this book you'll be able to make a song that stands out from the masses, using time honoured tricks of the trade. From inception to conception, this book will help give you a workflow to channel your muse using LMMS.Readers will be given a brief lesson on the best of dance music history, then learn how to recreate it using the Open Source digital workstation - LMMS. The reader will be guided through creating a project from start to finish. By the end of this book, the reader will know how to create a full dance track in LMMS and make it ready for distribution.Along the way, readers will take short stops into music theory, song arranging, recording, and other related information to give them a good foundation for making dance music with depth as well as power. Reading LMMS: A Complete Guide to Dance Music Production will not just teach the reader how to use LMMS, but also how good dance music is crafted. The reader will not just be taught how to make decisions in LMMS, but when and why. After devouring this book, the reader should be able to focus on his or her creativity, with LMMS as a co-conspirator in the process of making great dance music.