/dev/reading
Category

Operating Systems

64 books, 7 subcategories
Order by
View
by Matt Goldman

Build cross-platform apps with .NET MAUI! This exciting new technology helps you create mobile and desktop apps using a common set of .NET tools.

In .NET MAUI in Action you will learn how to:

  • Set up your environment for cross-platform development
  • Write an interactive UI in XAML using out-of-the-box controls
  • Apply the MVVM pattern to build maintainable code
  • Extend your control library with custom controls
  • Structure your app using common navigation paradigms
  • Use common device features like GPS
  • Use DevOps tools to automate deployment and testing

.NET MAUI in Action shows you how you can use the cutting-edge MAUI framework to write apps that will run on Windows, Android, macOS, and iOS platforms using your existing .NET development skills. This book reveals essential MAUI development techniques through hands-on example applications in every chapter. You’ll learn cross-platform development quickly as you start building your own rich apps, from to-do list apps, to a movie recommender app, and eventually a full-stack solution using enterprise architecture patterns. You’ll also learn how to use GitHub Actions to deploy robust, testable, and maintainable apps; and how to deliver a consistent look and feel across platforms. Throughout, you’ll use the built-in controls of .NET MAUI and learn how to develop your own custom solutions.

by Mark G. Sobell and Matthew Helmke

Linux is today’s dominant Internet server platform. System administrators and Web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only guide with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and has created an outstanding day-to-day reference, updated with assistance from new coauthor Matthew Helmke.

This title is 100 percent distribution and release agnostic. Packed with hundreds of high-quality, realistic examples, it presents Linux from the ground up: the clearest explanations and most useful information about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions.

Use a Mac? You’ll find coverage of the macOS command line, including macOS-only tools and utilities that other Linux/UNIX titles ignore.

A Practical Guide to Linux® Commands, Editors, and Shell Programming, Fourth Edition, is the only guide to deliver

  • A MariaDB chapter to get you started with this ubiquitous relational database management system (RDBMS)
  • A masterful introduction to Python for system administrators and power users
  • In-depth coverage of the bash and tcsh shells, including a complete discussion of environment, inheritance, and process locality, plus coverage of basic and advanced shell programming
  • Practical explanations of core utilities, from aspell to xargs, including printf and sshfs/curlftpfs, PLUS macOS—specific utilities from ditto to SetFile
  • Expert guidance on automating remote backups using rsync
  • Dozens of system security tips, including step-by-step walkthroughs of implementing secure communications using ssh and scp
  • Tips and tricks for customizing the shell, including step values, sequence expressions, the eval builtin, and implicit command-line continuation
  • High-productivity editing techniques using vim and emacs
  • A comprehensive, 300-plus-page command reference section covering 102 utilities, including find, grep, sort, and tar
  • Instructions for updating systems using apt-get and dnf
  • And much more, including coverage of BitTorrent, gawk, sed, find, sort, bzip2, and regular expressions
The Complete Guide to FreeBSD
by Michael W. Lucas

FreeBSD is the muscle behind companies like Netflix and EMC. Any place where someone does heavy lifting on the Internet, you’ll find FreeBSD. This newly revised edition of Absolute FreeBSD brings FreeBSD’s strengths to bear on your problems and covers FreeBSD's newest features, all in the inimitable style that has made author Michael W. Lucas' system administration books so popular.

Any computer system is only as good as the system administrator’s knowledge. Absolute FreeBSD teaches you everything you need to know about managing FreeBSD systems, from installation, configuration, and taking the system from “just working” to “working well.” A cohesive focus on service delivery and best practice means that you can apply much of the book to other operating systems.

Absolute FreeBSD dives deep into server management, taking you beyond just making things work and into understanding why they work.

You’ll learn:

  • How to best install FreeBSD to meet your needs
  • Which filesystem to use in your environment
  • How to back up and restore critical data
  • How to tweak the kernel, and when not to
  • Network configuration, from activating interfaces to selecting congestion control algorithms
  • How to manage UFS, ZFS, and other critical filesystems
  • FreeBSD’s software packaging system, including how to build your own package repository
  • How and when to upgrade
  • Techniques to build your own FreeBSD
  • Advanced security features like blacklistd and packet filtering
  • How to monitor and adjust performance
  • Container-style virtualization with jails
  • Diskless systems
  • Panic management and bug reporting

With Absolute FreeBSD you will get the solid introduction you need; and if you're a fan of the earlier editions, you will expand your skills even further.

Unix for the Practical Paranoid
by Michael W. Lucas

OpenBSD, the elegant, highly secure Unix-like operating system, is widely used as the basis for critical DNS servers, routers, firewalls, and more. This long-awaited second edition of Absolute OpenBSD maintains author Michael Lucas's trademark straightforward and practical approach that readers have enjoyed for years. You'll learn the intricacies of the platform, the technical details behind certain design decisions, and best practices, with bits of humor sprinkled throughout. This edition has been completely updated for OpenBSD 5.3, including new coverage of OpenBSD's boot system, security features like W^X and ProPolice, and advanced networking techniques.

You'll learn how to:

  • Manage network traffic with VLANs, trunks, IPv6, and the PF packet filter
  • Make software management quick and effective using the ports and packages system
  • Give users only the access they need with groups, sudo, and chroots
  • Configure OpenBSD's secure implementations of SNMP, DHCP, NTP, hardware sensors, and more
  • Customize the installation and upgrade processes for your network and hardware, or build a custom OpenBSD release Whether you're a new user looking for a complete introduction to OpenBSD or an experienced sysadmin looking for a refresher, Absolute OpenBSD, 2nd Edition will give you everything you need to master the intricacies of the world's most secure operating system.
by W. Richard Stevens and Stephen A. Rago

For more than twenty years, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens’ Advanced Programming in the UNIX® Environment. Now, once again, Rich’s colleague Steve Rago has thoroughly updated this classic work. The new third edition supports today’s leading platforms, reflects new technical advances and best practices, and aligns with Version 4 of the Single UNIX Specification.

Steve carefully retains the spirit and approach that have made this book so valuable. Building on Rich’s pioneering work, he begins with files, directories, and processes, carefully laying the groundwork for more advanced techniques, such as signal handling and terminal I/O. He also thoroughly covers threads and multithreaded programming, and socket-based IPC.

This edition covers more than seventy new interfaces, including POSIX asynchronous I/O, spin locks, barriers, and POSIX semaphores. Most obsolete interfaces have been removed, except for a few that are ubiquitous. Nearly all examples have been tested on four modern platforms: Solaris 10, Mac OS X version 10.6.8 (Darwin 10.8.0), FreeBSD 8.0, and Ubuntu version 12.04 (based on Linux 3.2).

As in previous editions, you’ll learn through examples, including more than ten thousand lines of downloadable, ISO C source code. More than four hundred system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you’ve learned, the book presents several chapter-length case studies, each reflecting contemporary environments.

Advanced Programming in the UNIX® Environment has helped generations of programmers write code with exceptional power, performance, and reliability. Now updated for today’s systems, this third edition will be even more valuable.

The Big Nerd Ranch Guide
by Bryan Sills, Brian Gardner, Kristin Marsicano and Chris Stewart

Android Programming: The Big Nerd Ranch Guide is an introductory Android book for programmers with Kotlin experience.

Based on Big Nerd Ranch's popular Android Bootcamp, this guide will lead you through the wilderness using hands-on example apps combined with clear explanations of key concepts and APIs. This book focuses on practical techniques for developing apps in Kotlin compatible with Android 5.0 (Lollipop) through Android 8.1 (Oreo) and beyond.

Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.

An In-Depth Guide to Android's Security Architecture
by Nikolay Elenkov

There are more than one billion Android devices in use today, each one a potential target. Unfortunately, many fundamental Android security features have been little more than a black box to all but the most elite security professionals—until now.

In Android Security Internals, top Android security expert Nikolay Elenkov takes us under the hood of the Android security sys­tem. Elenkov describes Android security archi­tecture from the bottom up, delving into the imple­mentation of major security-related components and subsystems, like Binder IPC, permissions, cryptographic providers, and device administration.

You’ll learn:

  • How Android permissions are declared, used, and enforced
  • How Android manages application packages and employs code signing to verify their authenticity
  • How Android implements the Java Cryp­­­tog­raphy Architecture (JCA) and Java Secure Socket Extension (JSSE) frameworks
  • About Android’s credential storage system and APIs, which let applications store cryptographic keys securely
  • About the online account management framework and how Google accounts integrate with Android
  • About the implementation of verified boot, disk encryption, lockscreen, and other device security features
  • How Android’s bootloader and recovery OS are used to perform full system updates, and how to obtain root access

With its unprecedented level of depth and detail, Android Security Internals is a must-have for any security-minded Android developer.

The Team That Built the Android Operating System
by Chet Haase

In 2004, Android was two people who wanted to build camera software but couldn't get investors interested. Today, Android is a large team at Google, delivering an operating system (including camera software) to over 3 billion devices worldwide. This is the inside story, told by the people who made it happen.

Androids: The Team that Built the Android Operating System is a first-hand chronological account of how the startup began, how the team came together, and how they all built an operating system from the kernel level to its applications and everything in between. It describes the tenuous beginnings of this ambitious project as a tiny startup, then as a small acquisition by Google that took on an industry with strong, entrenched competition. Author Chet Haase joined the Android team at Google in May 2010 and later recorded conversations with team members to preserve the early days of Android's history leading to the launch of 1.0. This engaging and accessible book captures the developers' stories in their own voices to answer the question: How did Android succeed?

Beginning iPhone and iPad programming
by Wendy L. Wise

Do you have a fantastic idea for an iPhone app but no idea how to bring it to life? Great news! With the right tools and a little practice, anyone can create an app. This book will get you started, even if you've never written a line of computer code.

Build practical projects with Blazor, .NET MAUI, gRPC, GraphQL, and other enterprise technologies
by Mark J. Price

Elevate your practical C# and .NET skills to the next level with this new edition of Apps and Services with .NET 8.

With chapters that put a variety of technologies into practice, including Web API, gRPC, GraphQL, and SignalR, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. You’ll dive into the new unified model for Blazor Full Stack and leverage .NET MAUI to develop mobile and desktop apps.

This new edition introduces the latest enhancements, including the seamless implementation of web services with ADO.NET SqlClient's native Ahead-of-Time (AOT) support. Popular library coverage now includes Humanizer and Noda Time. There’s also a brand-new chapter that delves into service architecture, caching, queuing, and robust background services.

By the end of this book, you’ll have a wide range of best practices and deep insights under your belt to help you build rich apps and efficient services.

What you will learn

  • Familiarize yourself with a variety of technologies to implement services, such as gRPC and GraphQL
  • Store and manage data locally and cloud-natively with SQL Server and Cosmos DB
  • Use ADO.NET SqlClient to implement web services with native AOT publish support
  • Leverage Dapper for improved performance over EF Core
  • Implement popular third-party libraries such as Serilog, FluentValidation, Humanizer, and Noda Time
  • Explore the new unified hosting model of Blazor Full Stack

Who this book is for

This book is for .NET developers interested in exploring more specialized libraries and implementation fundamentals behind building services and apps. You’ll need to know your way around .NET and C# quite well before you can dive in, so if you want to work your way up to this book, you can pick up Mark’s other .NET book, C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals, first.

A Practitioner's Guide to GNU Autoconf, Automake, and Libtool
by John Calcote

The GNU Autotools make it easy for developers to create software that is portable across many Unix-like operating systems, and even Windows. Although the Autotools are used by thousands of open source software packages, they have a notoriously steep learning curve.

Autotools is the first book to offer programmers a tutorial-based guide to the GNU build system. Author John Calcote begins with an overview of high-level concepts and a hands-on tour of the philosophy and design of the Autotools. He then tackles more advanced details, like using the M4 macro processor with Autoconf, extending the framework provided by Automake, and building Java and C# sources. He concludes with solutions to frequent problems encountered by Autotools users.

This thoroughly revised second edition has been updated to cover the latest versions of the Autotools. It includes five new chapters on topics like pkg-config, unit and integration testing with Autotest, internationalizing with GNU tools, the portability of gnulib, and using the Autotools with Windows. As with the first edition, you'll focus on two projects: Jupiter, a simple “Hello, world!” program, and FLAIM, an existing, complex open source effort containing four separate but interdependent projects. Follow along as the author takes Jupiter’s build system from a basic makefile to a full-fledged Autotools project, and then as he converts the FLAIM projects from complex, hand-coded makefiles to the powerful and flexible GNU build system.

Learn how to:

  • Master the Autotools build system to maximize your software’s portability
  • Generate Autoconf configuration scripts to simplify the compilation process
  • Produce portable makefiles with Automake
  • Build cross-platform software libraries with Libtool
  • Write your own Autoconf macros

This detailed introduction to the GNU Autotools is indispensable for developers and programmers looking to gain a deeper understanding of this complex suite of tools. Stop fighting against the system and make sense of it all with the second edition of Autotools!

A No-Nonsense Guide to the OpenBSD Firewall
by Peter N. M. Hansteen

OpenBSD’s stateful packet filter, PF, is the heart of the OpenBSD firewall. With more and more services placing high demands on bandwidth and an increasingly hostile Internet environment, no sysadmin can afford to be without PF expertise.

The third edition of The Book of PF covers the most up-to-date developments in PF, including new content on IPv6, dual stack configurations, the “queues and priorities” traffic-shaping system, NAT and redirection, wireless networking, spam fighting, failover provisioning, logging, and more.

You’ll also learn how to:

  • Create rule sets for all kinds of network traffic, whether crossing a simple LAN, hiding behind NAT, traversing DMZs, or spanning bridges or wider networks
  • Set up wireless networks with access points, and lock them down using authpf and special access restrictions
  • Maximize flexibility and service availability via CARP, relayd, and redirection
  • Build adaptive firewalls to proactively defend against attackers and spammers
  • Harness OpenBSD’s latest traffic-shaping system to keep your network responsive, and convert your existing ALTQ configurations to the new system
  • Stay in control of your traffic with monitoring and visualization tools (including NetFlow)

The Book of PF is the essential guide to building a secure network with PF. With a little effort and this book, you’ll be well prepared to unlock PF’s full potential.

"This book left me totally impressed at the breadth of capabilities offered by PF...I can recommend it to anyone with an interest (professional or otherwise) in network management." —Computing Reviews

Modern Cross-Platform Development Fundamentals
by Mark J. Price

This latest edition of the bestselling Packt series will give you a solid foundation to start building projects using modern C# and .NET with confidence.

You'll learn about object-oriented programming; writing, testing, and debugging functions; and implementing interfaces. You'll take on .NET APIs for managing and querying data, working with the fi lesystem, and serialization. As you progress, you'll explore examples of cross-platform projects you can build and deploy, such as websites and services using ASP.NET Core.

This latest edition integrates .NET 8 enhancements into its examples: type aliasing and primary constructors for concise and expressive code. You'll handle errors robustly through the new built-in guard clauses and explore a simplified implementation of caching in ASP.NET Core 8.

If that's not enough, you'll also see how native ahead-of-time (AOT) compiler publish lets web services reduce memory use and run faster. You'll work with the seamless new HTTP editor in Visual Studio 2022 to enhance the testing and debugging process. You'll even get introduced to Blazor Full Stack with its new unified hosting model for unparalleled web development flexibility.

What you will learn

  • Discover C# 12's new features, including aliasing any type and primary constructors
  • Try out the native AOT publish capability for ASP.NET Core 8 Minimal APIs web services
  • Build rich web experiences using Blazor Full Stack, Razor Pages, and other ASP.NET Core features
  • Integrate and update databases in your apps using Entity Framework Core models
  • Query and manipulate data using LINQ
  • Build and consume powerful services using Web API and Minimal API

Who this book is for

This book is for beginners as well as intermediate-level C# and .NET programmers who have worked with C# in the past and want to catch up with the changes made in the last few years. Prior exposure to C# or .NET is not a prerequisite. A general understanding of programming will help you to work through the book more comfortably, though the content is suitable for those completely new to programming. If you already have some C# and .NET skills and want to focus on developing practical apps, you can pick up Mark’s other .NET book, Apps and Services with .NET 8, instead.

by Dino Esposito

Understand what to do at any point in developing a clean .NET architecture

Master advanced .NET techniques with a focus on actual value delivered by working within a modular, clean architecture. Microsoft Data Platform MVP Dino Esposito explains key clean architecture concepts with a mix of pragmatism and design discipline and helps you solidify your knowledge through a real-world project. Starting with an explanation of the quest for modular software architecture continuing through the methodology of domain-driven design (DDD), Esposito emphasizes the role that modularization plays in managing complexity in software development. Breaking down the layers of an architecture that is modular and maintainable, he presents a sample project that is not simply another to-do list, but an actual tool for the reader. Ultimately, an exploration of common dilemmas for both developers and operations brings together historical developments with real solutions for today.

Microsoft Data Platform MVP Dino Esposito helps you:

  • Understand the relevance of modular software architecture in the history of software
  • Review domain-driven design concepts both, strategic and practical
  • Apply modular analysis techniques to your development
  • Make the most of layered architecture
  • Make the most of layered architecture that is modular and maintainable
  • Explore in detail the individual layerspresentation, application, domain and infrastructure
  • Make sense of domain services to separate raw persistence from persistence-related business tasks
  • Make your way through a series of C# best-practices for modeling classes from real-world entities
  • Understand the benefits of microservices versus modular monoliths
  • Understand the analysis of technical shortcuts and benefits of long-term technical investment
  • Understand client-side, server-side and other common deployment dilemmas
  • Set up your architecture, test your conclusions, and find even more help
Modern patterns of concurrent and parallel programming
by Riccardo Terrell

Concurrency in .NET teaches you how to build concurrent and scalable programs in .NET using the functional paradigm. This intermediate-level guide is aimed at developers, architects, and passionate computer programmers who are interested in writing code with improved speed and effectiveness by adopting a declarative and pain-free programming style.

by Leander Kahney

There is no product on the planet that enjoys the devotion of a Macintosh computer. Famously dedicated to their machines, many Mac fans eat, sleep, and breathe Macintosh. The Cult of Mac is the first book about Macintosh culture, arguably the largest distinct subculture in computing.

Written by Wired News managing editor Leander Kahney, The Cult of Mac is an in-depth look at Mac users and their unique, creative, and often very funny culture. Like fans of a football team or a rock group, Macintosh fans have their own customs, with clearly defined obsessions, rites and passages. From people who get Mac tattoos and haircuts, to those who furnish their apartments with empty Mac boxes, this book details Mac fandom in all of its forms.

An Introduction to Kernel Hacking
by Joseph Kong

Though rootkits have a fairly negative image, they can be used for both good and evil. Designing BSD Rootkits arms you with the knowledge you need to write offensive rootkits, to defend against malicious ones, and to explore the FreeBSD kernel and operating system in the process.

Organized as a tutorial, Designing BSD Rootkits will teach you the fundamentals of programming and developing rootkits under the FreeBSD operating system. Author Joseph Kong's goal is to make you smarter, not to teach you how to write exploits or launch attacks. You'll learn how to maintain root access long after gaining access to a computer and how to hack FreeBSD.

Kong's liberal use of examples assumes no prior kernel-hacking experience but doesn't water down the information. All code is thoroughly described and analyzed, and each chapter contains at least one real-world application.

Included:

  • The fundamentals of FreeBSD kernel module programming
  • Using call hooking to subvert the FreeBSD kernel
  • Directly manipulating the objects the kernel depends upon for its internal record-keeping
  • Patching kernel code resident in main memory; in other words, altering the kernel's logic while it’s still running
  • How to defend against the attacks described

Hack the FreeBSD kernel for yourself!

A Gentle Introduction to Computer Systems
by Suzanne J. Matthews, Tia Newhall and Kevin C. Webb

Dive Into Systems is a vivid introduction to computer organization, architecture, and operating systems that is already being used as a classroom textbook at more than 25 universities.

This textbook is a crash course in the major hardware and software components of a modern computer system. Designed for use in a wide range of introductory-level computer science classes, it guides readers through the vertical slice of a computer so they can develop an understanding of the machine at various layers of abstraction.

Early chapters begin with the basics of the C programming language often used in systems programming. Other topics explore the architecture of modern computers, the inner workings of operating systems, and the assembly languages that translate human-readable instructions into a binary representation that the computer understands. Later chapters explain how to optimize code for various architectures, how to implement parallel computing with shared memory, and how memory management works in multi-core CPUs. Accessible and easy to follow, the book uses images and hands-on exercise to break down complicated topics, including code examples that can be modified and executed.

Boost Your Command-Line Skills
by Daniel J. Barrett

Take your Linux skills to the next level! Whether you're a system administrator, software developer, site reliability engineer, or enthusiastic hobbyist, this practical, hands-on book will help you work faster, smarter, and more efficiently. You'll learn how to create and run complex commands that solve real business problems, process and retrieve information, and automate manual tasks.

You'll also truly understand what happens behind the shell prompt, so no matter which commands you run, you can be more successful in everyday Linux use and more competitive on the job market.

As you build intermediate to advanced command-line skills, you'll learn how to:

  • Choose or construct commands that get your work done quickly
  • Run commands efficiently and navigate the Linux filesystem with ease
  • Build powerful, complex commands out of simpler ones
  • Transform text files and query them like databases to achieve business goals
  • Control Linux point-and-click features from the command line
by Jon P Smith

Entity Framework Core in Action, Second Edition is an in-depth guide to reading and writing databases with EF Core. Revised from the bestselling original edition, it’s filled with over 100 diagrams, code snippets, and examples—including building and scaling your own bookselling web application. Learn from author Jon Smith’s extensive experience working with EF Core in production, as you discover time-saving patterns and best practices for security, performance tuning, and unit testing. All of the book’s code is available on GitHub.

A Guide for the Intrepid
by Joseph Kong

Device drivers make it possible for your software to communicate with your hardware, and because every operating system has specific requirements, driver writing is nontrivial. When developing for FreeBSD, you've probably had to scour the Internet and dig through the kernel sources to figure out how to write the drivers you need. Thankfully, that stops now. In FreeBSD Device Drivers, Joseph Kong will teach you how to master everything from the basics of building and running loadable kernel modules to more complicated topics like thread synchronization. After a crash course in the different FreeBSD driver frameworks, extensive tutorial sections dissect real-world drivers like the parallel port printer driver.

You'll learn:

  • All about Newbus, the infrastructure used by FreeBSD to manage the hardware devices on your system
  • How to work with ISA, PCI, USB, and other buses
  • The best ways to control and communicate with the hardware devices from user space
  • How to use Direct Memory Access (DMA) for maximum system performance
  • The inner workings of the virtual null modem terminal driver, the USB printer driver, the Intel PCI Gigabit Ethernet adapter driver, and other important drivers
  • How to use Common Access Method (CAM) to manage host bus adapters (HBAs)

Concise descriptions and extensive annotations walk you through the many code examples. Don't waste time searching man pages or digging through the kernel sources to figure out how to make that arcane bit of hardware work with your system. FreeBSD Device Drivers gives you the framework that you need to write any driver you want, now.

by John Graham-Cumming

GNU make is the most widely used build automation tool, but it can be challenging to master and its terse language can be tough to parse for even experienced programmers. Those who run into difficulties face a long, involved struggle, often leaving unsolved problems behind and GNU make's vast potential untapped.

The GNU Make Book demystifies GNU make and shows you how to use its best features. You'll find a fast, thorough rundown of the basics of variables, rules, targets, and makefiles. Learn how to fix wastefully long build times and other common problems, and gain insight into more advanced capabilities, such as complex pattern rules. With this utterly pragmatic manual and cookbook, you'll make rapid progress toward becoming a more effective user.

You'll also learn how to:

  • Master user-defined functions, variables, and path handling
  • Weigh the pitfalls and advantages of GNU make parallelization
  • Handle automatic dependency generation, rebuilding, and non-recursive make
  • Modify the GNU make source and take advantage of the GNU Make Standard Library
  • Create makefile assertions and debug makefiles

GNU make is known for being tricky to use, but it doesn't have to be. If you’re looking for a deeper understanding of this indispensable tool, you'll find The GNU Make Book to be an indispensable guide.

A Learner's Guide to Real-World Programming with C# and .NET Core
by Andrew Stellman and Jennifer Greene

Dive into C# and create apps, user interfaces, games, and more using this fun and highly visual introduction to C#, .NET Core, and Visual Studio. With this completely updated guide, which covers C# 8.0 and Visual Studio 2019, beginning programmers like you will build a fully functional game in the opening chapter. Then you'll learn how to use classes and object-oriented programming, create 3D games in Unity, and query data with LINQ. And you'll do it all by solving puzzles, doing hands-on exercises, and building real-world applications. By the time you're done, you'll be a solid C# programmer--and you'll have a great time along the way!

Based on the latest research in cognitive science and learning theory, Head First C# uses a visually rich format to engage your mind rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multisensory learning experience is designed for the way your brain really works.

What Every Superuser Should Know
by Brian Ward

Unlike some operating systems, Linux doesn’t try to hide the important bits from you—it gives you full control of your computer. But to truly master Linux, you need to understand its internals, like how the system boots, how networking works, and what the kernel actually does.

In this third edition of the bestselling How Linux Works, author Brian Ward peels back the layers of this well-loved operating system to make Linux internals accessible. This edition has been thoroughly updated and expanded with added coverage of Logical Volume Manager (LVM), virtualization, and containers.

You'll learn:

  • How Linux boots, from boot loaders to init (systemd)
  • How the kernel manages devices, device drivers, and processes
  • How networking, interfaces, firewalls, and servers work
  • How development tools work and relate to shared libraries
  • How to write effective shell scripts

You’ll also explore the kernel and examine key system tasks inside user-space processes, including system calls, input and output, and filesystem maintenance. With its combination of background, theory, real-world examples, and thorough explanations, How Linux Works, 3rd Edition will teach you what you need to know to take control of your operating system.

NEW TO THIS EDITION:

  • Hands-on coverage of the LVM, journald logging system, and IPv6
  • Additional chapter on virtualization, featuring containers and cgroups
  • Expanded discussion of systemd

Covers systemd-based installations

Breaking Windows
by Sparc Flow

Step into the shoes of a master hacker and break into an intelligent, highly defensive Windows environment. You’ll be infiltrating the suspicious (fictional) offshoring company G & S Trust and their hostile Microsoft stronghold. While the target is fictional, the corporation’s vulnerabilities are based on real life weaknesses in today’s advanced Windows defense systems. You’ll experience all the thrills, frustrations, dead-ends, and eureka moments of the mission first-hand, while picking up practical, cutting-edge techniques for evading Microsoft’s best security systems.

The adventure starts with setting up your elite hacking infrastructure complete with virtual Windows system. After some thorough passive recon, you’ll craft a sophisticated phishing campaign to steal credentials and gain initial access. Once inside you’ll identify the security systems, scrape passwords, plant persistent backdoors, and delve deep into areas you don’t belong. Throughout your task you’ll get caught, change tack on a tee, dance around defensive monitoring systems, and disable tools from the inside. Sparc Flow’s clever insights, witty reasoning, and stealth maneuvers teach you to be patient, persevere, and adapt your skills at the drop of a hat.  You’ll learn how to:

  • Identify and evade Microsoft security systems like Advanced Threat Analysis, QRadar, MDE, and AMSI
  • Seek out subdomains and open ports with Censys, Python scripts, and other OSINT tools
  • Scrape password hashes using Kerberoasting
  • Plant camouflaged C# backdoors and payloads
  • Grab victims’ credentials with more advanced techniques like reflection and domain replication

Like other titles in the How to Hack series, this book is packed with interesting tricks, ingenious tips, and links to useful resources to give you a fast-paced, hands-on guide to penetrating and bypassing Microsoft security systems.

The Definitive Guide for Hackers and Developers
by David Thiel

Eliminating security holes in iOS apps is critical for any developer who wants to protect their users from the bad guys. In iOS Application Security, mobile security expert David Thiel reveals common iOS coding mistakes that create serious security problems and shows you how to find and fix them.

After a crash course on iOS application structure and Objective-C design patterns, you’ll move on to spotting bad code and plugging the holes. You’ll learn about:

  • The iOS security model and the limits of its built-in protections
  • The myriad ways sensitive data can leak into places it shouldn’t, such as through the pasteboard
  • How to implement encryption with the Keychain, the Data Protection API, and CommonCrypto
  • Legacy flaws from C that still cause problems in modern iOS applications
  • Privacy issues related to gathering user data and how to mitigate potential pitfalls

Don’t let your app’s security leak become another headline. Whether you’re looking to bolster your app’s defenses or hunting bugs in other people’s code, iOS Application Security will help you get the job done well.

by Craig Grummitt

iOS Development with Swift is a hands-on guide to creating apps for iPhone and iPad using the Swift language. Inside, you'll be guided through every step of the process for building an app, from first idea to App Store. This book fully covers Swift 4, Xcode 9, and iOS 11.

This book is perfect alongside Craig's iOS Development with Swift in Motion video course, each offering unique exercises, examples, and more to get you learning!

by Richard Siddaway

Learn Active Directory Management in a Month of Lunches is a practical, hands-on tutorial designed for IT pros new to Active Directory. It skips the theory and concentrates on the day-to-day administration tasks you need to know to keep your network running smoothly. Just set aside an hour a day for a month — lunchtime would be perfect — and you'll be comfortable and productive with Active Directory before you know it.

by Steven Ovadia

Learn Linux in a Month of Lunches shows you how to install and use Linux for all the things you do with your OS, like connecting to a network, installing software, and securing your system. Whether you're just curious about Linux or have to get up and running for your job, you'll appreciate how this book concentrates on the tasks you need to know how to do in 23 easy lessons.

Covers SCCM 1511 and Windows 10
by James C. Bannan

Learn System Center Configuration Manager in a Month of Lunches is a super-practical guide to Microsoft System Center Configuration Manager. In this book, you'll cut to the chase and learn the administrative procedures and techniques that will keep your systems humming smoothly.

A Visual Introduction to Building Apps
by Lyra Blizzard Logan

Build a mobile phone app!

You've swiped and tapped your way through countless apps, but have you ever created one? Now you can, thanks to Learn to Program with App Inventor. In less than an hour, you'll be able to build and run your first app!

App Inventor is a free software for making Android apps. All you need is a PC with an Internet connection to build your app, and a mobile phone for testing. You'll use a simple drag-and-drop interface, which minimizes errors and avoids too much typing.

A certified App Inventor Master Trainer, Logan breaks down each project into logical steps, lists the components you'll need, and then shows you how to create screen designs, control program flow with conditionals and loops, and store data in variables and lists. Once you've tested the app on your phone, you can test what you learned with challenges at the end of each chapter.

You'll build cool apps like:

  • Hi, World!: Use your voice to send a text message
  • Practice Makes Perfect: Rehearse a speech or dance routine with this video recording app
  • Fruit Loot: Catch randomly failing fruit in this exciting game
  • Beat the Bus: Track a friend’s journey using location services and maps
  • Virtual Shades: Take a selfie, then try on some virtual sunglasses

Join the 10 million people who have tried App Inventor, and make the journey from app user to app inventor.

by Jason C. Helmick

Learn Windows IIS in a Month of Lunches is an innovative tutorial designed for busy administrators. Even if you have no prior exposure to IIS, you can follow the crisp explanations, examples, and exercises in this concise, easy-to-read book. Just set aside one hour a day -- lunchtime would be perfect -- for a month, and you'll be managing, securing, and automating IIS administrative tasks faster than you thought possible.

A Handbook for the Cloud Native Practitioner
by Michael Hausenblas

If you use Linux in development or operations and need a structured approach to help you dive deeper, this book is for you. Author Michael Hausenblas also provides tips and tricks for improving your workflow with this open source operating system. Whether you're a developer, software architect, or site reliability engineer, this hands-on guide focuses on ways to use Linux for your everyday needs, from development to office-related tasks.

Along the way, you'll gain hands-on experience with modern Linux terminals and shells, and learn how to manage your workloads. You'll understand how to run Linux applications by using containers, systemd, modern filesystems, and immutable distros such as Flatcar and Bottlerocket.

  • Use Linux as a modern work environment, rather than just from an admin perspective
  • Learn critical components such as the Linux kernel, terminal multiplexer, human-friendly shells, and portable shell scripting
  • Become familiar with access control, from file permissions to capabilities, and understand the role of filesystems as a fundamental building block
  • Learn about application dependency management and containers
  • Gain hands-on experience with the Linux networking stack and tooling, including DNS
  • Apply modern operating system observability to manage your workloads
  • Become familiar with interprocess communication, virtual machines, and selected security topics
Getting Started with Networking, Scripting, and Security in Kali
by OccupyTheWeb

If you’re getting started along the exciting path of hacking, cybersecurity, and pentesting, Linux Basics for Hackers is an excellent first step. Using Kali Linux, an advanced penetration testing distribution of Linux, you’ll learn the basics of using the Linux operating system and acquire the tools and techniques you’ll need to take control of a Linux environment.

First, you’ll learn how to install Kali on a virtual machine and get an introduction to basic Linux concepts. Next, you’ll tackle broader Linux topics like manipulating text, controlling file and directory permissions, and managing user environment variables. You’ll then focus in on foundational hacking concepts like security and anonymity and learn scripting skills with bash and Python. Practical tutorials and exercises throughout will reinforce and test your skills as you learn how to:

  • Cover your tracks by changing your network information and manipulating the rsyslog logging utility
  • Write a tool to scan for network connections, and connect and listen to wireless networks
  • Keep your internet activity stealthy using Tor, proxy servers, VPNs, and encrypted email
  • Write a bash script to scan open ports for potential targets
  • Use and abuse services like MySQL, Apache web server, and OpenSSH
  • Build your own hacking tools, such as a remote video spy camera and a password cracker Hacking is complex, and there is no single way in. Why not start at the beginning with Linux Basics for Hackers?

Covers Kali Linux and Python 3

"If you're just getting started or working your way to expert level, getting a copy of this book might be one of the best things you can do to develop your cybersecurity skills." —Sandra Henry-Stocker, Network World

"The information provided can help even a general user to get more comfortable with the Linux operating system without feeling overwhelmed by more complex, security-related topics and usage. While we could all benefit from more attention to security, Linux Basics for Hackers just might inspire the next crop of budding techies into the security rock stars of tomorrow." —Tim Everson, The Ethical Hacker Network

"Linux Basics for Hackers is immediately practical. Its quick and dirty approach to exploring and using a Linux system was welcome." —Jesse Smith, DistroWatch Weekly

"If you are starting out in Computer Science and want to get up to speed quickly on Linux and Unix like operating systems, working through this book will put you well ahead of your fellow students, and quickly." —Greg Laden, Greg Laden's Blog

Everything you need to start with device driver development for Linux kernel and embedded Linux
by John Madieu

Linux is by far the most-used kernel on embedded systems. Thanks to its subsystems, the Linux kernel supports almost all of the application fields in the industrial world. This updated second edition of Linux Device Driver Development is a comprehensive introduction to the Linux kernel world and the different subsystems that it is made of, and will be useful for embedded developers from any discipline.

You'll learn how to configure, tailor, and build the Linux kernel. Filled with real-world examples, the book covers each of the most-used subsystems in the embedded domains such as GPIO, direct memory access, interrupt management, and I2C/SPI device drivers. This book will show you how Linux abstracts each device from a hardware point of view and how a device is bound to its driver(s). You'll also see how interrupts are propagated in the system as the book covers the interrupt processing mechanisms in-depth and describes every kernel structure and API involved. This new edition also addresses how not to write device drivers using user space libraries for GPIO clients, I2C, and SPI drivers.

By the end of this Linux book, you'll be able to write device drivers for most of the embedded devices out there.

What you will learn

  • Download, configure, build, and tailor the Linux kernel
  • Describe the hardware using a device tree
  • Write feature-rich platform drivers and leverage I2C and SPI buses
  • Get the most out of the new concurrency managed workqueue infrastructure
  • Understand the Linux kernel timekeeping mechanism and use time-related APIs
  • Use the regmap framework to factor the code and make it generic
  • Offload CPU for memory copies using DMA
  • Interact with the real world using GPIO, IIO, and input subsystems

Who this book is for

This Linux OS book is for embedded system and embedded Linux enthusiasts/developers who want to get started with Linux kernel development and leverage its subsystems. Electronic hackers and hobbyists interested in Linux kernel development as well as anyone looking to interact with the platform using GPIO, IIO, and input subsystems will also find this book useful.

by Jonathan Corbet, Alessandro Rubini and Greg Kroah-Hartman

Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices.Over the years the book has helped countless programmers learn:

  • how to support computer peripherals under the Linux operating system
  • how to develop and write software for new hardware under Linux
  • the basics of Linux operation even if they are not expecting to write a driver

The new edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more.Best of all, you don't have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware.

Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you're writing device drivers, you'll want this book. In fact, you'll wonder how drivers are ever written without it.

Develop customized drivers for embedded Linux
by John Madieu

Learn to develop customized device drivers for your embedded Linux system

About This Book

  • Learn to develop customized Linux device drivers
  • Learn the core concepts of device drivers such as memory management, kernel caching, advanced IRQ management, and so on.
  • Practical experience on the embedded side of Linux

Who This Book Is For

This book will help anyone who wants to get started with developing their own Linux device drivers for embedded systems. Embedded Linux users will benefit highly from this book.

This book covers all about device driver development, from char drivers to network device drivers to memory management.

What You Will Learn

  • Use kernel facilities to develop powerful drivers
  • Develop drivers for widely used I2C and SPI devices and use the regmap API
  • Write and support devicetree from within your drivers
  • Program advanced drivers for network and frame buffer devices
  • Delve into the Linux irqdomain API and write interrupt controller drivers
  • Enhance your skills with regulator and PWM frameworks
  • Develop measurement system drivers with IIO framework
  • Get the best from memory management and the DMA subsystem
  • Access and manage GPIO subsystems and develop GPIO controller drivers
Attack Detection and Response with iptables, psad, and fwsnort
by Michael Rash

System administrators need to stay ahead of new security vulnerabilities that leave their networks exposed every day. A firewall and an intrusion detection systems (IDS) are two important weapons in that fight, enabling you to proactively deny access and monitor network traffic for signs of an attack.

Linux Firewalls discusses the technical details of the iptables firewall and the Netfilter framework that are built into the Linux kernel, and it explains how they provide strong filtering, Network Address Translation (NAT), state tracking, and application layer inspection capabilities that rival many commercial tools. You'll learn how to deploy iptables as an IDS with psad and fwsnort and how to build a strong, passive authentication layer around iptables with fwknop.

Concrete examples illustrate concepts such as firewall log analysis and policies, passive network authentication and authorization, exploit packet traces, Snort ruleset emulation, and more with coverage of these topics:

  • Passive network authentication and OS fingerprinting
  • iptables log analysis and policies
  • Application layer attack detection with the iptables string match extension
  • Building an iptables ruleset that emulates a Snort ruleset
  • Port knocking vs. Single Packet Authorization (SPA)
  • Tools for visualizing iptables logs

Perl and C code snippets offer practical examples that will help you to maximize your deployment of Linux firewalls. If you're responsible for keeping a network secure, you'll find Linux Firewalls invaluable in your attempt to understand attacks and use iptables—along with psad and fwsnort—to detect and even prevent compromises.

by David Clinton

Linux in Action is a task-based tutorial that will give you the skills and deep understanding you need to administer a Linux-based system. This hands-on book guides you through 12 real-world projects so you can practice as you learn. Each chapter ends with a review of best practices, new terms, and exercises.

A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization
by Kaiwan N Billimoria

The 2nd Edition of Linux Kernel Programming is an updated, comprehensive guide for new programmers to the Linux kernel. This book uses the recent 6.1 Long-Term Support (LTS) Linux kernel series, which will be maintained until Dec 2026, and also delves into its many new features. Further, the Civil Infrastructure Project has pledged to maintain and support this 6.1 Super LTS (SLTS) kernel right until August 2033, keeping this book valid for years to come!

You’ll begin this exciting journey by learning how to build the kernel from source. In a step by step manner, you will then learn how to write your first kernel module by leveraging the kernel’s powerful Loadable Kernel Module (LKM) framework. With this foundation, you will delve into key kernel internals topics including Linux kernel architecture, memory management, and CPU (task) scheduling. You’ll finish with understanding the deep issues of concurrency, and gain insight into how they can be addressed with various synchronization/locking technologies (e.g., mutexes, spinlocks, atomic/refcount operators, rw-spinlocks and even lock-free technologies such as per-CPU and RCU).

By the end of this book, you’ll have a much better understanding of the fundamentals of writing the Linux kernel and kernel module code that can straight away be used in real-world projects and products.

What you will learn

  • Configure and build the 6.1 LTS kernel from source
  • Write high-quality modular kernel code (LKM framework) for 6.x kernels
  • Explore modern Linux kernel architecture
  • Get to grips with key internals details regarding memory management within the kernel
  • Understand and work with various dynamic kernel memory alloc/dealloc APIs
  • Discover key internals aspects regarding CPU scheduling within the kernel, including cgroups v2
  • Gain a deeper understanding of kernel concurrency issues
  • Learn how to work with key kernel synchronization primitives

Who this book is for

This book is for beginner Linux programmers and developers looking to get started with the Linux kernel, providing a knowledge base to understand required kernel internal topics and overcome frequent and common development issues. A basic understanding of Linux CLI and C programming is assumed.

Essential Commands
by Daniel J. Barrett

If you use Linux in your day-to-day work, then Linux Pocket Guide is the perfect on-the-job reference. This thoroughly updated 20th anniversary edition explains more than 200 Linux commands, including new commands for file handling, package management, version control, file format conversions, and more.

In this concise guide, author Daniel Barrett provides the most useful Linux commands grouped by functionality. Whether you're a novice or an experienced user, this practical book is an ideal reference for the most important Linux commands.

You'll learn:

  • Essential concepts—commands, shells, users, and the filesystem
  • File commands-creating, organizing, manipulating, and processing files of all kinds
  • Sysadmin basics-superusers, processes, user management, and software installation
  • Filesystem maintenance-disks, RAID, logical volumes, backups, and more
  • Networking commands-working with hosts, network connections, email, and the web
  • Getting stuff done-everything from math to version control to graphics and audio
A Linux and UNIX System Programming Handbook
by Michael Kerrisk

The Linux Programming Interface (TLPI) is the definitive guide to the Linux and UNIX programming interface—the interface employed by nearly every application that runs on a Linux or UNIX system.

In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs.

You'll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams. You'll learn how to:

  • Read and write files efficiently
  • Use signals, clocks, and timers
  • Create processes and execute programs
  • Write secure programs
  • Write multithreaded programs using POSIX threads
  • Build and use shared libraries
  • Perform interprocess communication using pipes, message queues, shared memory, and semaphores
  • Write network applications with the sockets API

While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.

The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.

by Kevin Hazzard and Jason Bock

Metaprogramming in .NET is designed to help readers understand the basic concepts, advantages and potential pitfalls of metaprogramming. It introduces core concepts in clear, easy-to-follow language and then it takes you on a deep dive into the tools and techniques you'll use to implement them in your .NET code. You'll explore plenty of real-world examples that reinforce key concepts. When you finish, you'll be able to build high-performance, metaprogramming-enabled software with confidence.

by Christian Horsdal Gammelgaard

In Microservices in .NET, Second Edition you will learn how to:

  • Build scalable microservices that are reliable in production
  • Optimize microservices for continuous delivery
  • Design event-based collaboration between microservices
  • Deploy microservices to Kubernetes
  • Set up Kubernetes in Azure

Microservices in .NET, Second Edition is a comprehensive guide to building microservice applications using the .NET stack. After a crystal-clear introduction to the microservices architectural style, it teaches you practical microservices development skills using ASP.NET. This second edition of the bestselling original has been revised with up-to-date tools for the .NET ecosystem, and more new coverage of scoping microservices and deploying to Kubernetes.

by Abraham Silberschatz, Peter B. Galvin and Greg Gagne

Operating System Concepts, now in its ninth edition, continues to provide a solid theoretical foundation for understanding operating systems. The ninth edition has been thoroughly updated to include contemporary examples of how operating systems function. The text includes content to bridge the gap between concepts and actual implementations. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. A new Virtual Machine provides interactive exercises to help engage students with the material.

Embrace Oracle Linux and master Linux Server Management
by Erik Benner, Erik B. Thomsen and Jonathan Spindel

Discover the power of Oracle Linux 8, the free and enterprise-grade Linux distribution designed for use in any environment, with this recipe-style book.

Starting with instructions on how to obtain Oracle Linux for both X86 and ARM-based platforms, this book walks you through various installation methods, from running it as a Windows service to installing it on a Raspberry Pi. It unravels advanced topics such as system upgrades using Leapp for major version transitions and using a PXE server and kickstart files for more advanced installations. The book then delves into swapping kernels to take advantage of Oracle’s UEK, exploring boot options, managing software with DNF, and achieving high availability. Detailed recipes involving security topics will assist with tasks such as data encryption, both at rest and in motion.

For developers, it offers guidance on building RPM files, using Docker and Podman in a containerized environment, working with AppStreams, and more. For large-scale deployments, the book introduces Oracle Linux Automation Manager for enterprise-level Ansible utilization, from setting up the Ansible server to basic playbook writing. Finally, you’ll discover strategies for cloud migration.

By the end of this book, you’ll possess a comprehensive toolkit that will elevate your skills as a Linux administrator.

What you will learn

  • Master the use of DNF for package management and stream-specific installations
  • Implement high availability services through Podman and Oracle Linux Automation Manager
  • Secure your system with Secure Boot and at-rest disk encryption techniques
  • Achieve rebootless system updates using the Ksplice technology
  • Optimize large-scale deployments with Oracle Linux Automation Manager and Ansible
  • Gain practical insights into storage management using Btrfs and LVM

Who this book is for

This book is for existing Oracle Linux system administrators and CentOS or RHEL admins contemplating a migration to Oracle Linux 8. A foundation of basic sysadmin skills is assumed as this is not an entry-level book; it's a cookbook focused on complex and lesser-known configurations specifically for Oracle Linux 8.

Workflow Automation Made Easy
by Adam Bertram

PowerShell® is both a scripting language and an administrative shell that lets you control and automate nearly every aspect of IT. In PowerShell for Sysadmins, five-time Microsoft® MVP “Adam the Automator” Bertram shows you how to use PowerShell to manage and automate your desktop and server environments so that you can head out for an early lunch.

You'll learn how to:

  • Combine commands, control flow, handle errors, write scripts, run scripts remotely, and test scripts with the PowerShell testing framework, Pester
  • Parse structured data like XML and JSON, work with common domains (like Active Directory, Azure, and Amazon Web Services), and create a real-world server inventory script
  • Design and build a PowerShell module to demonstrate PowerShell isn’t just about ad-hoc scripts
  • Use PowerShell to create a hands-off, completely automated Windows deployment
  • Build an entire Active Directory forest from nothing but a Hyper-V host and a few ISO files
  • Create endless Web and SQL servers with just a few lines of code!

Real-world examples throughout help bridge the gap between theory and actual system, and the author’s anecdotes keep things lively.

Stop with the expensive software and fancy consultants. Learn how to manage your own environment with PowerShell for Sysadmins and make everyone happy.

Covers Windows PowerShell v5.1

A Guide for Digital Investigators
by Bruce Nikkel

Practical Linux Forensics dives into the technical details of analyzing postmortem forensic images of Linux systems that have been misused, abused, or the target of malicious attacks. This essential practitioner’s guide will show you how to locate and interpret digital evidence found on Linux desktops, servers, and IoT devices, draw logical conclusions, and reconstruct timelines of past activity after a crime or security incident. It's a book written for investigators with varying levels of Linux experience, and the techniques shown are independent of the forensic analysis platform and tools used.

Early chapters provide an overview of digital forensics as well as an introduction to the Linux operating system and popular distributions. From there, the book describes the analysis of storage, filesystems, files and directories, installed software packages, and logs. Special focus is given to examining human user activity such as logins, desktop environments and artifacts, home directories, regional settings, and peripheral devices used.

You’ll learn how to:

  • Analyze partition tables, volume management, Linux filesystems, and directory layout
  • Reconstruct the Linux startup process, from system boot and kernel initialization, to systemd unit files leading up to a graphical login
  • Perform historical analysis of power, temperature, and physical environment, and find evidence of sleep, hibernation, shutdowns, reboots, and crashes
  • Analyze network configuration, including interfaces, addresses, network managers, DNS, wireless artifacts, VPNs, firewalls, and proxy settings
  • Perform analysis of time and locale settings, internationalization (language and keyboard settings), and Linux geolocation services
  • Reconstruct user login sessions, analyze desktop artifacts, and identify traces of attached peripheral devices, including disks, printers, and mobile devices
A Guide to Installation, Configuration, and Management
by Kenneth Hess

This essential guide covers all aspects of Linux system administration, from user maintenance, backups, filesystem housekeeping, storage management, and network setup to hardware and software troubleshooting and some application management. It's both a practical daily reference manual for sysadmins and IT pros and a handy study guide for those taking Linux certification exams.

You'll turn to it frequently, not only because of the sheer volume of valuable information it provides but because of the real-world examples within and the clear, useful way the information is presented. With this book at your side, you'll be able to:

  • Install Linux and perform initial setup duties, such as connecting to a network
  • Navigate the Linux filesystem via the command line
  • Install software from repositories and source and satisfy dependencies
  • Set permissions on files and directories
  • Create, modify, and remove user accounts
  • Set up networking
  • Format and mount filesystems
  • Perform basic troubleshooting on hardware and software
  • Create and manage logical volumes
  • Work with SELinux
  • Manage a firewall and iptables
  • Shut down, reboot, and recover a system
  • Perform backups and restores
Developing iOS and Android apps with JavaScript
by Nader Dabit

React Native in Action gives iOS, Android, and web developers the knowledge and confidence they need to begin building high-quality iOS and Android apps using the React Native framework.

Reversing Modern Malware and Next Generation Threats
by Alex Matrosov, Eugene Rodionov and Sergey Bratus

Rootkits and Bootkits will teach you how to understand and counter sophisticated, advanced threats buried deep in a machine’s boot process or UEFI firmware.

With the aid of numerous case studies and professional research from three of the world’s leading security experts, you’ll trace malware development over time from rootkits like TDL3 to present-day UEFI implants and examine how they infect a system, persist through reboot, and evade security software. As you inspect and dissect real malware, you’ll learn:

  • How Windows boots—including 32-bit, 64-bit, and UEFI mode—and where to find vulnerabilities
  • The details of boot process security mechanisms like Secure Boot, including an overview of Virtual Secure Mode (VSM) and Device Guard
  • Reverse engineering and forensic techniques for analyzing real malware, including bootkits like Rovnix/Carberp, Gapz, TDL4, and the infamous rootkits TDL3 and Festi
  • How to perform static and dynamic analysis using emulation and tools like Bochs and IDA Pro
  • How to better understand the delivery stage of threats against BIOS and UEFI firmware in order to create detection capabilities
  • How to use virtualization tools like VMware Workstation to reverse engineer bootkits and the Intel Chipsec tool to dig into forensic analysis

Cybercrime syndicates and malicious actors will continue to write ever more persistent and covert attacks, but the game is not lost. Explore the cutting edge of malware analysis with Rootkits and Bootkits.

Covers boot processes for Windows 32-bit and 64-bit operating systems.

by Tamir Dresher

Rx.NET in Action teaches developers how to build event-driven applications using the Reactive Extensions (Rx) library.

by Timo Tuominen

RxJava for Android Developers teaches you how to build fast, fluid, and reactive mobile apps for Android with RxJava.

by Dale Dougherty and Arnold Robbins

sed & awk describes two text processing programs that are mainstays of the UNIX programmer's toolbox.sed is a "stream editor" for editing streams of text that might be too large to edit as a single file, or that might be generated on the fly as part of a larger data processing step. The most common operation done with sed is substitution, replacing one block of text with another.awk is a complete programming language. Unlike many conventional languages, awk is "data driven" -- you specify what kind of data you are interested in and the operations to be performed when that data is found. awk does many things for you, including automatically opening and closing data files, reading records, breaking the records up into fields, and counting the records. While awk provides the features of most conventional programming languages, it also includes some unconventional features, such as extended regular expression matching and associative arrays. sed & awk describes both programs in detail and includes a chapter of example sed and awk scripts.This edition covers features of sed and awk that are mandated by the POSIX standard. This most notably affects awk, where POSIX standardized a new variable, CONVFMT, and new functions, toupper() and tolower(). The CONVFMT variable specifies the conversion format to use when converting numbers to strings (awk used to use OFMT for this purpose). The toupper() and tolower() functions each take a (presumably mixed case) string argument and return a new version of the string with all letters translated to the corresponding case.In addition, this edition covers GNU sed, newly available since the first edition. It also updates the first edition coverage of Bell Labs nawk and GNU awk (gawk), covers mawk, an additional freely available implementation of awk, and briefly discusses three commercial versions of awk, MKS awk, Thompson Automation awk (tawk), and Videosoft (VSAwk).

A guide for building beautiful and interactive SwiftUI apps
by Juan C. Catalan

SwiftUI is the modern way to build user interfaces for iOS, macOS, and watchOS. It provides a declarative and intuitive way to create beautiful and interactive user interfaces. The new edition of this comprehensive cookbook includes a fully updated repository for SwiftUI 5, iOS 17, Xcode 15, and Swift 5.9. With this arsenal, it teaches you everything you need to know to build beautiful and interactive user interfaces with SwiftUI 5, from the basics to advanced topics like custom modifiers, animations, and state management.

In this new edition, you will dive into the world of creating powerful data visualizations with a new chapter on Swift Charts and how to seamlessly integrate charts into your SwiftUI apps. Further, you will be able to unleash your creativity with advanced controls, including multi-column tables and two-dimensional layouts. You can explore new modifiers for text, images, and shapes that give you more control over the appearance of your views.

You will learn how to develop apps for multiple platforms, including iOS, macOS, watchOS, and more.

With expert insights, real-world examples, and a recipe-based approach, you’ll be equipped to build remarkable SwiftUI apps that stand out in today’s competitive market.

What you will learn

  • Create stunning, user-friendly apps for iOS 17, macOS 14, and watchOS 10 with SwiftUI 5
  • Use the advanced preview capabilities of Xcode 15
  • Use async/await to write concurrent and responsive code
  • Create powerful data visualizations with Swift Charts
  • Enhance user engagement with modern animations and transitions
  • Implement user authentication using Firebase and Sign in with Apple
  • Learn about advanced topics like custom modifiers, animations, and state management
  • Build multi-platform apps with SwiftUI

Who this book is for

This book is for mobile developers who want to learn SwiftUI as well as experienced iOS developers transitioning from UIKit to SwiftUI. The book assumes knowledge of the Swift programming language. Knowledge of object-oriented design and data structures will be useful but not necessary. You'll also find this book to be a helpful resource if you're looking for reference material regarding the implementation of various features in SwiftUI.

Enterprise and the Cloud
by Brendan Gregg

Systems Performance, Second Edition, covers concepts, strategy, tools, and tuning for operating systems and applications, using Linux-based operating systems as the primary example. A deep understanding of these tools and techniques is critical for developers today. Implementing the strategies described in this thoroughly revised and updated edition can lead to a better end-user experience and lower costs, especially for cloud computing environments that charge by the OS instance.

Systems performance expert and best-selling author Brendan Gregg summarizes relevant operating system, hardware, and application theory to quickly get professionals up to speed even if theyve never analyzed performance before. Gregg then provides in-depth explanations of the latest tools and techniques, including extended BPF, and shows how to get the most out of cloud, web, and large-scale enterprise systems. Key topics covered include

  • Hardware, kernel, and application internals, and how they perform
  • Methodologies for rapid performance analysis of complex systems
  • Optimizing CPU, memory, file system, disk, and networking usage
  • Sophisticated profiling and tracing with perf, Ftrace, and BPF (BCC and bpftrace)
  • Performance challenges associated with cloud computing hypervisors
  • Benchmarking more effectively

Featuring up-to-date coverage of Linux operating systems and environments, Systems Performance, Second Edition, also addresses issues that apply to any computer system. The book will be a go-to reference for many years to come and, like the first edition, required reading at leading tech companies.

Detection and Analysis by Human and Machine
by Qian Han, Salvador Mandujano, Sebastian Porst, V.S. Subrahmanian, Sai Deep Tetali and Yanhai Xiong

This groundbreaking guide to Android malware distills years of research by machine learning experts in academia and members of Meta and Google’s Android Security teams into a comprehensive introduction to detecting common threats facing the Android eco-system today.

Explore the history of Android malware in the wild since the operating system first launched and then practice static and dynamic approaches to analyzing real malware specimens. Next, examine machine learning techniques that can be used to detect malicious apps, the types of classification models that defenders can implement to achieve these detections, and the various malware features that can be used as input to these models. Adapt these machine learning strategies to the identification of malware categories like banking trojans, ransomware, and SMS fraud.

You’ll:

  • Dive deep into the source code of real malware
  • Explore the static, dynamic, and complex features you can extract from malware for analysis
  • Master the machine learning algorithms useful for malware detection
  • Survey the efficacy of machine learning techniques at detecting common Android malware categories

The Android Malware Handbook’s team of expert authors will guide you through the Android threat landscape and prepare you for the next wave of malware to come.

The Guide to Analyzing Malicious Software
by Patrick Wardle

Defenders must fully understand how malicious software works if they hope to stay ahead of the increasingly sophisticated threats facing Apple products today. The Art of Mac Malware: The Guide to Analyzing Malicious Software is a comprehensive handbook to cracking open these malicious programs and seeing what’s inside.

Discover the secrets of nation state backdoors, destructive ransomware, and subversive cryptocurrency miners as you uncover their infection methods, persistence strategies, and insidious capabilities. Then work with and extend foundational reverse-engineering tools to extract and decrypt embedded strings, unpack protected Mach-O malware, and even reconstruct binary code. Next, using a debugger, you’ll execute the malware, instruction by instruction, to discover exactly how it operates. In the book’s final section, you’ll put these lessons into practice by analyzing a complex Mac malware specimen on your own.

You’ll learn to:

  • Recognize common infections vectors, persistence mechanisms, and payloads leveraged by Mac malware
  • Triage unknown samples in order to quickly classify them as benign or malicious
  • Work with static analysis tools, including disassemblers, in order to study malicious scripts and compiled binaries
  • Leverage dynamical analysis tools, such as monitoring tools and debuggers, to gain further insight into sophisticated threats
  • Quickly identify and bypass anti-analysis techniques aimed at thwarting your analysis attempts

A former NSA hacker and current leader in the field of macOS threat analysis, Patrick Wardle uses real-world examples pulled from his original research. The Art of Mac Malware: The Guide to Analyzing Malicious Software is the definitive resource to battling these ever more prevalent and insidious Apple-focused threats.

by Donald W. Jones and Melissa Januszko

The DSC Book teaches you everything you need to know to implement DSC today! You’ll learn DSC’s basic architecture, how to write configurations, and how to author your own DSC resources.

A Complete Introduction
by William Shotts

The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell (or command line). Along the way you'll learn the timeless skills handed down by generations of experienced, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more.

In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore.

As you make your way through the book's short, easily-digestible chapters, you'll learn how to:

  • Create and delete files, directories, and symlinks
  • Administer your system, including networking, package installation, and process management
  • Use standard input and output, redirection, and pipelines
  • Edit files with Vi, the world's most popular text editor
  • Write shell scripts to automate common or boring tasks
  • Slice and dice text files with cut, paste, grep, patch, and sed

Once you overcome your initial "shell shock," you'll find that the command line is a natural and expressive way to communicate with your computer. Just don't be surprised if your mouse starts to gather dust.

"For those looking to master the Linux command line and get an essential understand of the core Linux command line tools, this book is a highly effective and useful guide." —Ben Rothke, RSA Conference

by Daniel P. Bovet and Marco Cesati

In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.

The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.

This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:

  • Memory management, including file buffering, process swapping, and Direct memory Access (DMA)
  • The Virtual Filesystem layer and the Second and Third Extended Filesystems
  • Process creation and scheduling
  • Signals, interrupts, and the essential interfaces to device drivers
  • Timing
  • Synchronization within the kernel
  • Interprocess Communication (IPC)
  • Program execution

Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.

101 Scripts for Linux, OS X, and UNIX Systems
by Dave Taylor and Brandon Perry

Shell scripts are an efficient way to interact with your machine and manage your files and system operations. With just a few lines of code, your computer will do exactly what you want it to do. But you can also use shell scripts for many other essential (and not-so-essential) tasks.

This second edition of Wicked Cool Shell Scripts offers a collection of useful, customizable, and fun shell scripts for solving common problems and personalizing your computing environment. Each chapter contains ready-to-use scripts and explanations of how they work, why you’d want to use them, and suggestions for changing and expanding them. You’ll find a mix of classic favorites, like a disk backup utility that keeps your files safe when your system crashes, a password manager, a weather tracker, and several games, as well as 23 brand-new scripts, including:

  • A ZIP code lookup tool that reports the city and state
  • A Bitcoin address information retriever
  • A suite of tools for working with cloud services like Dropbox and iCloud
  • Tools for renaming and applying commands to files in bulk
  • Image processing and editing tools

Whether you want to save time managing your system or just find new ways to goof off, these scripts are wicked cool!

System architecture, processes, threads, memory management, and more
by Pavel Yosifovich, Alex Ionescu, Mark E. Russinovich and David A. Solomon

The definitive guide–fully updated for Windows 10 and Windows Server 2016

Delve inside Windows architecture and internals, and see how core components work behind the scenes. Led by a team of internals experts, this classic guide has been fully updated for Windows 10 and Windows Server 2016.

This book will help you:

* Understand the Window system architecture and its most important entities, such as processes and threads * Examine how processes manage resources and threads scheduled for execution inside processes * Observe how Windows manages virtual and physical memory

  • Dig into the Windows I/O system and see how device drivers work and integrate with the rest of the system * Go inside the Windows security model to see how it manages access, auditing, and authorization, and learn about the new mechanisms in Windows 10 and Server 2016