The Hardware Hacking HandbookEmbedded devices are chip-size microcomputers small enough to be included in the structure of the object they control, and they're everywhere - in phones, cars, credit cards, laptops, medical equipment, even critical infrastructure. This means understanding their security is critical. The Hardware Hacking Handbook takes you deep inside different types of embedded systems, revealing the designs, components, security limits, and reverse-engineering challenges you need to know for executing effective hardware attacks.
Written with wit and infused with hands-on lab experiments, this handbook puts you in the role of an attacker interested in breaking security to do good. Starting with a crash course on the architecture of embedded devices, threat modeling, and attack trees, you'll go on to explore hardware interfaces, ports and communication protocols, electrical signaling, tips for analyzing firmware images, and more. Along the way, you'll use a home testing lab to perform fault-injecti ...
Windows 11 Made EasyGet started with Windows 11. This book shows you how to set up and personalize your PC in order to get the best experience from your documents, photos, and your time online. The book introduces you to the new desktop, start menu, and settings panel. It covers everything that's been changed, added, or removed.
Next you will learn how to personalize and customize your PC, laptop, and tablet and how to make Windows 11 safer to use for your children and family. The book takes you through how to keep your personal information safe and secure, and how to make sure your precious documents and photos are backed-up with OneDrive.
The book shows you how to use accessibility tools to make Windows 11 easier to use, see, hear, and touch, and how to have fun with Android apps and Xbox gaming. You will also learn how to become more productive, how to connect to your college or workplace, and how you can use multiple desktops and snap layouts to get stuff done.
After reading this book, you wi ...
Mastering the Microsoft KinectKnow how to program the Microsoft Kinect and use the device for applications that interact directly with humans through gestures and motion. This book covers the mathematics and theoretical background needed for depth sensing, motion tracking, and object recognition while maintaining a practical focus on getting things done. You will learn to track the human body in three-dimensional space, analyze the human motion, and remove the background to isolate the person being tracked. You will see how to recognize objects and voice, and transform between the three-dimensional physical space and a computer's two-dimensional screen.
The book is written with real-world applications in mind. It provides step-by-step tutorials and source code for common use cases. The author has worked with startups and Fortune 500 companies, and all of the examples are taken directly from the industry. The book's practical focus simplifies the core principles, removes the clutter, and allows developers to star ...
Pro iPhone Development with SwiftUI, 3rd EditionYou know the basics. Your Swift code flows with logic and ease. This isn't your first time building a workable app for iOS platforms. Now, it's time to build a magical app for iOS platforms! Move beyond what you mastered in the best-selling Beginning iPhone Development with SwiftUI. Debug Swift code, use multi-threaded programming with Grand Central Dispatch, pass data between view controllers, and design apps functional in multiple languages.
Not only will your apps run like magic under the hood but, with the new standard of SwiftUI, you'll add animations, scaling, multiscreen support, and so much more to your interfaces. You'll also see how to integrate audio and video files in your apps, access the camera and send pictures to and from the Photos library, use location services to pinpoint your user's position on a map, and display web pages in-app. Don't just stop at flawless code and stickily engaging interfaces. Give your apps a mind with Apple's advanced frameworks for machine ...
How to Code in HTML5 and CSS3"How to Code in HTML5 and CSS3" is a free e-book about making websites in HTML5 and CSS for absolute beginners. It doesn't require any experience in IT to start. The aim of this book is to show the art of making websites using a plain language which is full of practical analogies. After reading over 100 pages you will get to know basic concepts and techniques of web development and be able to build your first website ever! ...
Linux Device Driver Development, 2nd EditionLinux 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 a ...
Full Stack Development with Angular and GraphQLAngular is one of the most popular JavaScript frameworks in modern web app development allowing developers to not only build apps and reuse the code but also develop apps for any deployment target. For web, mobile web, native mobile, and native desktop, GraphQL is the modern and REST alternative for querying web APIs. Using Angular, TypeScript and GraphQL will give you a future-proof and scalable stack you can start building apps around.
This book shows you how to build apps using cutting-edge technologies. You'll learn how to solve common web development problems with GraphQL and Apollo, such as database access, authentication, and image uploads.
The book starts by introducing you to building full stack apps with Angular and GraphQL. Next, you'll learn how to create a monorepo project with Lerna and NPM Workspaces and configure a Node.js app to use GraphQL with Express and Apollo Server. You'll also understand the basics of Angular architecture and routing. Later, the book demon ...
Beginning Rust, 2nd EditionLearn to program with Rust 2021 Edition, in an easy, step-by-step manner on Unix, the Linux shell, macOS, and the Windows command line. As you read this book, you'll build on the knowledge you gained in previous chapters and see what Rust has to offer.
Beginning Rust starts with the basics of Rust, including how to name objects, control execution flow, and handle primitive types. You'll see how to do arithmetic, allocate memory, use iterators, and handle input/output. Once you have mastered these core skills, you'll work on handling errors and using the object-oriented features of Rust to build robust Rust applications in no time.
Only a basic knowledge of programming is required, preferably in C or C++. To understand this book, it's enough to know what integers and floating-point numbers are, and to distinguish identifiers from string literals. After reading this book, you'll be ready to build Rust applications. ...
Portable Python ProjectsDiscover easy ways to control your home with the powerful new Raspberry Pi hardware. Program short Python scripts that will detect changes in your home and react with the instructions you code. Use new add-on accessories to monitor a variety of measurements, from light intensity and temperature to motion detection and water leakage. Expand the base projects with your own custom additions to perfectly match your own home setup. Most projects in the book can be completed in under an hour, giving you more time to enjoy and tweak your autonomous creations. No breadboard or electronics knowledge required!
Get to know the latest Raspberry Pi hardware, and create awesome automation solutions for home or work that don't require an electronics degree, cumbersome add-ons, or expensive third-party subscription services. Create easy-to-run Python scripts on your own that make your Pi do things that would have required a team of automation experts to build only a few years ago.
Connect to and ...
Bash GuideThis guide aims to aid people interested in learning to work with BASH. It aspires to teach good practice techniques for using BASH, and writing simple scripts.
This guide is targeted at beginning users. It assumes no advanced knowledge - just the ability to login to a Unix-like system and open a command-line (terminal) interface. It will help if you know how to use a text editor; we will not be covering editors, nor do we endorse any particular editor choice. Familiarity with the fundamental Unix tool set, or with other programming languages or programming concepts, is not required, but those who have such knowledge may understand some of the examples more quickly. ...