Python, PyGame, and Raspberry Pi Game DevelopmentExpand your basic knowledge of Python and use PyGame to create fast-paced video games with great graphics and sounds. This second edition shows how you can integrate electronic components with your games using the build-in general purpose input/output (GPIO) pins and some Python code to create two new games.
You'll learn about object-oriented programming (OOP) as well as design patterns, such as model-view-controller (MVC) and finite-state machines (FSMs). Whether using Windows, macOS, Linux, or a Raspberry Pi, you can unleash the power of Python and PyGame to create great looking games.
The book also includes complete code listings and explanations for Bricks, Snake, and Invaders - three fully working games. These allow you to get started in making your own great games and then modify them or build your own exciting titles. The concepts are further explained using games such as Copycat, where the player must concentrate and repeat the sequence of lights and sounds, and Couch Q ...
Small, Sharp Software ToolsThe command-line interface is making a comeback. That's because developers know that all the best features of your operating system are hidden behind a user interface designed to help average people use the computer. But you're not the average user, and the CLI is the most efficient way to get work done fast. Turn tedious chores into quick tasks: read and write files, manage complex directory hierarchies, perform network diagnostics, download files, work with APIs, and combine individual programs to create your own workflows. Put down that mouse, open the CLI, and take control of your software development environment.
No matter what language or platform you're using, you can use the CLI to create projects, run servers, and manage files. You can even create new tools that fit right in with grep, sed, awk, and xargs. You'll work with the Bash shell and the most common command-line utilities available on macOS, Windows 10, and many flavors of Linux.
Create files without opening a te ...
Raspberry Pi Projects for KidsThe Raspberry Pi is an inexpensive, pocket-sized computer that will help you build and code your own hardware projects.
Raspberry Pi Projects for Kids will show you how to harness the power of the Raspberry Pi to create 12 cool projects using simple code and common materials like a webcam, microphone, and LED lights. Step-by-step instructions and detailed diagrams guide you through each project.
After a brief introduction to the Python programming language, you'll learn how to: Create an LED night-light that turns itself on and off; Set up a Raspberry Pi camera to take selfies and videos; Set up a webcam to stream video to your cell phone; Manipulate environments in Minecraft; Hijack local radio waves to play your own songs and recordings; Configure Raspberry Pi to send texts to a cell phone; Track your family members locations via wi-fi and Bluetooth; Create an MP3 player; Set up a camera to take motion-triggered photos of wildlife; Control the electronics in your home with your ...
Learn to Program with App InventorYou'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 w ...
Autotools, 2nd EditionThe 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 porta ...
PowerShell for SysadminsPowerShell 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 ...
Black Hat GoBlack Hat Go explores the darker side of Go, the popular programming language revered by hackers for its simplicity, efficiency, and reliability. It provides an arsenal of practical tactics from the perspective of security practitioners and hackers to help you test your systems, build and automate tools to fit your needs, and improve your offensive security skillset, all using the power of Go.
You'll begin your journey with a basic overview of Go's syntax and philosophy and then start to explore examples that you can leverage for tool development, including common network protocols like HTTP, DNS, and SMB. You'll then dig into various tactics and problems that penetration testers encounter, addressing things like data pilfering, packet sniffing, and exploit development. You'll create dynamic, pluggable tools before diving into cryptography, attacking Microsoft Windows, and implementing steganography.
You'll Learn how to: Make performant tools that can be used for your own securit ...
Beginning BazelDiscover Bazel, a new build and software test set of tools for today's programmers and developers. This book shows you how to speed up your builds and tests, and how to use Bazel in the context of your favorite programming language. You'll see that the languages and SDKs supported include Java, Android, iOS, and Go.
Use Bazel as a build tool; Test software with Bazel; Work with Java, C++, Android, iOS, Go, and other programming languages; Run Bazel on Linux, macOS, and Windows; Scale and extend Bazel to other languages and platforms. ...
C# 8 Quick Syntax Reference, 3rd editionThis quick C# 8 guide is a condensed code and syntax reference to the C# programming language, updated with the latest features of C# 8 for .NET and Windows 10. This book presents the essential C# 8 syntax in a well-organized format that can be used as a handy reference. Specifically, it covers nullable reference types, async streams, ranges and indices, default implementations of interface members, recursive patterns, switch expressions, target-typed new-expressions, platform dependencies and more.
In the C# 8 Quick Syntax Reference, you will find a concise reference to the C# language syntax: short, simple, and focused code examples; a well laid out table of contents; and a comprehensive index allowing easy review. You won't find any technical jargon, bloated samples, drawn-out history lessons, or witty stories. What you will find is a language reference that is to the point and highly accessible. The book is packed with useful information and is a must-have for any C# programmer ...
C# 8.0 and .NET Core 3.0 : Modern Cross-Platform Development, 4th EditionIn C# 8.0 and .NET Core 3.0 - Modern Cross-Platform Development, Fourth Edition, expert teacher Mark J. Price gives you everything you need to start programming C# applications.
This latest edition uses the popular Visual Studio Code editor to work across all major operating systems. It is fully updated and expanded with new chapters on Content Management Systems (CMS) and machine learning with ML.NET.
The book covers all the topics you need. Part 1 teaches the fundamentals of C#, including object-oriented programming, and new C# 8.0 features such as nullable reference types, simplified switch pattern matching, and default interface methods. Part 2 covers the .NET Standard APIs, such as managing and querying data, monitoring and improving performance, working with the filesystem, async streams, serialization, and encryption. Part 3 provides examples of cross-platform applications you can build and deploy, such as web apps using ASP.NET Core or mobile apps using Xamarin.Forms. The ...