Explore Software Defined RadioDo you want to be able to receive satellite images using nothing but your computer, an old TV antenna, and a $20 USB stick? Now you can. At last, the technology exists to turn your computer into a super radio receiver, capable of tuning in to FM, shortwave, amateur "ham," and even satellite frequencies, around the world and above it. Listen to police, fire, and aircraft signals, both in the clear and encoded. And with the book's advanced antenna design, there's no limit to the signals you can receive.
Combine your desktop or laptop computer with easy-to-find Software Defined Radio (SDR) equipment, and tune in a wide range of signals in no time at all. Then, go one step further by converting a Raspberry Pi into your own dedicated SDR device.
SDR USB dongles are usually designed to receive and decode high-definition digital television broadcasts, but the rising popularity of SDR has led to several of these devices being specifically made for - and marketed to - the software radio ...
Principles of Programming LanguagesIn this open book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages. Languages are easy to learn, it is the concepts behind them that are difficult. The basic features we study in turn include higher-order functions, data structures in the form of records and variants, mutable state, exceptions, objects and classes, and types. We also study language implementations, both through language interpreters and language compilers. Throughout the book we write small interpreters for toy languages, and in Chapter 8 we write a principled compiler. We define type checkers to define which programs are well-typed and which are not. We also take a more precise, mathematical view of interpreters and type checkers, via the concepts of operational semantics and type systems. These last two concepts have historically evolved from the logician's view of programming.
The material has evolved from lecture notes used in a program ...
Understanding the DOMJavaScript is the de facto programming language of the web, but the language itself does not include any built-in method for working with input/output (I/O), such as graphics display and sound. Instead, the web browser provides an API for accessing the HTML document in a tree structure known as the Document Object Model (DOM). The combination of JavaScript and the DOM is what allows us to create interactive, dynamic websites.
Many modern frameworks, such as React, Vue, and Svelte abstract away much of the DOM from the developer, but frameworks also use the DOM under the hood. The JavaScript library jQuery was also created to make working with the DOM easier, but the modern development practice is to work with the DOM directly. In order to be a proficient web developer, having a deep understanding of what the DOM is and how to work with it is essential. The goal of this book is to provide a base understanding of the DOM, as well as explore examples of the most common and useful metho ...
Advancing into AnalyticsData analytics may seem daunting, but if you're an experienced Excel user, you have a unique head start. With this hands-on guide, intermediate Excel users will gain a solid understanding of analytics and the data stack. By the time you complete this book, you'll be able to conduct exploratory data analysis and hypothesis testing using a programming language.
Exploring and testing relationships are core to analytics. By using the tools and frameworks in this book, you'll be well positioned to continue learning more advanced data analysis techniques. Author George Mount, founder and CEO of Stringfest Analytics, demonstrates key statistical concepts with spreadsheets, then pivots your existing knowledge about data manipulation into R and Python programming.
This practical book guides you through:
- Foundations of analytics in Excel: Use Excel to test relationships between variables and build compelling demonstrations of important concepts in statistics and analytics;
- From Excel ...
Practical C++20 Financial Programming, 2nd EditionApply C++ to programming problems in the financial industry using this hands-on book, updated for C++20. It explains those aspects of the language that are more frequently used in writing financial software, including the Standard Template Library (STL), templates, and various numerical libraries. Practical C++20 Financial Programming also describes many of the important problems in financial engineering that are part of the day-to-day work of financial programmers in large investment banks and hedge funds. The author has extensive experience in the New York City financial industry that is now distilled into this handy guide.
Focus is on providing working solutions for common programming problems. Examples are plentiful and provide value in the form of ready-to-use solutions that you can immediately apply in your day-to-day work. You'll see examples of matrix manipulations, curve fitting, histogram generation, numerical integration, and differential equation analysis, and you'll le ...
MongoDB Performance TuningUse this fast and complete guide to optimize the performance of MongoDB databases and the applications that depend on them. You will be able to turbo-charge the performance of your MongoDB applications to provide a better experience for your users, reduce your running costs, and avoid application growing pains. MongoDB is the world's most popular document database and the foundation for thousands of mission-critical applications. This book helps you get the best possible performance from MongoDB.
MongoDB Performance Tuning takes a methodical and comprehensive approach to performance tuning that begins with application and schema design and goes on to cover optimization of code at all levels of an application. The book also explains how to configure MongoDB hardware and cluster configuration for optimal performance. The systematic approach in the book helps you treat the true causes of performance issues and get the best return on your tuning investment. Even when you're under pressu ...
Software Architecture with C++Software architecture refers to the high-level design of complex applications. It is evolving just like the languages we use. Modern C++ allows developers to write high-performance apps in a high-level language without sacrificing readability and maintainability. If you're working with modern C++, this practical guide will help you put your knowledge to work and design distributed, large-scale apps. You'll start by getting up to speed with architectural concepts, including established patterns and rising trends. The book will then explain what software architecture is and help you explore its components. Next, you'll discover the design concepts involved in application architecture and the patterns in software development, before going on to learn how to build, package, integrate, and deploy your components. In the concluding chapters, you'll explore different architectural qualities, such as maintainability, reusability, testability, performance, scalability, and security. Finally, yo ...
Classical Object-Oriented Programming with ECMAScriptECMAScript (more popularly known by the name "JavaScript") is the language of the web. In the decades past, it has been used to augment web pages with trivial features and obnoxious gimmicks. Today, the language is used to write full-featured web applications that rival modern desktop software in nearly every regard and has even expanded to create desktop and server software. With increased usage, there is a desire to apply more familiar development paradigms while continuing to take advantage of the language's incredibly flexible functional and prototypal models. Of all of the modern paradigms, one of the most influential and widely adopted is the Classical Object-Oriented paradigm, as represented in languages such as Java, C++, Python, Perl, PHP and others.
ECMAScript, as an object-oriented language, contains many features familiar to Classical OO developers. However, certain features remain elusive. This paper will detail the development of a classical object-oriented framework f ...
Learning Perl, 8th EditionIf you're just getting started with Perl, this is the book you want—whether you're a programmer, system administrator, or web hacker. Nicknamed "the Llama" by two generations of users, this best seller closely follows the popular introductory Perl course taught by the authors since 1991. This eighth edition covers recent changes to the language up to version 5.34.
Perl is suitable for almost any task on almost any platform, from short fixes to complete web applications. Learning Perl teaches you the basics and shows you how to write simple, single-file programs—roughly 90% of the Perl programs in use today. And each chapter includes exercises to help you practice what you've just learned. Other books may teach you to program in Perl, but this book will turn you into a Perl programmer.
Topics include: Perl data and variable types; Subroutines; File operations; Regular expressions; String manipulation (including Unicode); Lists and sorting; Process management; Use of third-part ...
Self-Sovereign IdentityIn a world of changing privacy regulations, identity theft, and online anonymity, identity is a precious and complex concept. Self-Sovereign Identity (SSI) is a set of technologies that move control of digital identity from third party "identity providers" directly to individuals, and it promises to be one of the most important trends for the coming decades. Now in Self-Sovereign Identity, privacy and personal data experts Drummond Reed and Alex Preukschat lay out a roadmap for a future of personal sovereignty powered by the Blockchain and cryptography. Cutting through the technical jargon with dozens of practical use cases from experts across all major industries, it presents a clear and compelling argument for why SSI is a paradigm shift, and shows how you can be ready to be prepared for it.
Trust on the internet is at an all-time low. Large corporations and institutions control our personal data because we've never had a simple, safe, strong way to prove who we are online. Self-s ...