Building Telegram Bots
Learn about bot programming using all the latest and greatest programming languages, including Python, Go, and Clojure, so you can feel at ease writing your Telegram bot in a way that suits you.
This book shows how you can use bots for just about everything: they connect, they respond, they enhance your job search chances, they do technical research for you, they remind you about your last train, they tell the difference between a horse and a zebra, they can tell jokes, and they can cheer you up in the middle of the night.
Bots used to be hard to set up and enhance, but with the help of Building Telegram Bots you'll see how the Telegram platform is now making bot creation easier than ever. You will begin by writing a simple bot at the start and then gradually build upon it. The simple yet effective Telegram Bot API makes it very easy to develop bots in a number of programming languages. Languages featured in the book include Node.js, Java, Rust, and Elixir. ...
Explore Twisted, the Python-based event-driven networking engine, and review several of its most popular application projects. It is written by community leaders who have contributed to many of the projects covered, and share their hard-won insights and experience.
Expert Twisted starts with an introduction to event-driven programming explaining it in the context of what makes Twisted unique. It shows how Twisted's design emphasizes testability as a solution to common challenges of reliability, debugging, and start-to-finish causality that are inherent in event-driven programming. It also explains asynchronous programming and the importance of functions, deferreds, and coroutines. It then uses two popular applications, treq and klein, to demonstrate calling and writing Web APIs with Twisted.
The second part of the book dives into Twisted projects, in each case explaining how the project fits into the Twisted ecosystem and what it does, and offers several examples to ...
Developing 2D Games with Unity
Follow a walkthrough of the Unity Engine and learn important 2D-centric lessons in scripting, working with image assets, animations, cameras, collision detection, and state management. In addition to the fundamentals, you'll learn best practices, helpful game-architectural patterns, and how to customize Unity to suit your needs, all in the context of building a working 2D game.
While many books focus on 3D game creation with Unity, the easiest market for an independent developer to thrive in is 2D games. 2D games are generally cheaper to produce, more feasible for small teams, and more likely to be completed. If you live and breathe games and want to create them then 2D games are a great place to start.
By focusing exclusively on 2D games and Unity's ever-expanding 2D workflow, this book gives aspiring independent game developers the tools they need to thrive. Various real-world examples of independent games are used to teach fundamental concepts of developing 2D games in Unity, ...
Raspbian OS Programming with the Raspberry Pi
Master the command line and Raspbian Linux as well as the physical connections of the Pi. With this book you'll develop skills applicable to other real world applications in both hardware and software development all while working on simple and fun IoT projects that you can do yourself.
You'll learn to build programs on the top of Raspbian OS in Raspberry Pi boards. Start by using Raspbian shells to develop programs.Then follow projects and samples step-by-step to get new experiences in Raspbian OS development. You'll also learn the Wolfram Language and Mathematica, Scratch, IoT programs and IoT middleware, Node-RED, Interactive Data Visualization with Jupyter Notebook, and more.
There are many features in Raspbian OS and on Raspberry Pi boards perfect for building an IoT program to suite various scenarios. The GPIO pins on your Raspberry Pi allow it to scale further to accomplish all kinds of projects and tasks. Raspbian OS Programming with the Raspberry Pi is your pathw ...
Functional Programming in C++
Functional Programming in C++ teaches developers the practical side of functional programming and the tools that C++ provides to develop software in the functional style. This in-depth guide is full of useful diagrams that help you understand FP concepts and begin to think functionally.
Well-written code is easier to test and reuse, simpler to parallelize, and less error prone. Mastering the functional style of programming can help you tackle the demands of modern apps and will lead to simpler expression of complex program logic, graceful error handling, and elegant concurrency. C++ supports FP with templates, lambdas, and other core language features, along with many parts of the STL.
Functional Programming in C++ helps you unleash the functional side of your brain, as you gain a powerful new perspective on C++ coding. You'll discover dozens of examples, diagrams, and illustrations that break down the functional concepts you can apply in C++, includin ...
Unity Artificial Intelligence Programming, 4th Edition
Developing Artificial Intelligence (AI) for game characters in Unity 2018 has never been easier. Unity provides game and app developers with a variety of tools to implement AI, from the basic techniques to cutting-edge machine learning-powered agents. Leveraging these tools via Unity's API or built-in features allows limitless possibilities when it comes to creating your game's worlds and characters.
This fourth edition with Unity will help you break down AI into simple concepts to give you a fundamental understanding of the topic to build upon. Using a variety of examples, the book then takes those concepts and walks you through actual implementations designed to highlight key concepts and features related to game AI in Unity.
Further on, you'll learn how to distinguish the state machine pattern and implement one of your own. This is followed by learning how to implement a basic sensory system for your AI agent and coupling it with a Finite State Machine (FSM).
Next, you'll l ...
As you make your way through the chapters, you'll learn how to build an API server to interact with your blockchain and how to host your blockchain on a decentralized network. You'll also build a consensus algorithm and use it to verify data and keep the entire blockchain network synchronized. In the concluding chapters, you'll finish building your blockchain prototype and gain a thorough understanding of why blockchain technology is so secure and valuable.
By the end of this book, you'll understand how d ...
As with previous editions, Haverbeke continues to teach through extensive examples and immerses you in code from the start, while exercises and full-chapter projects give you hands-on experience with wr ...
Modern X86 Assembly Language Programming, 2nd Edition
Gain the fundamentals of x86 64-bit assembly language programming and focus on the updated aspects of the x86 instruction set that are most relevant to application software development. This book covers topics including x86 64-bit programming and Advanced Vector Extensions (AVX) programming.
The focus in this second edition is exclusively on 64-bit base programming architecture and AVX programming. Modern X86 Assembly Language Programming's structure and sample code are designed to help you quickly understand x86 assembly language programming and the computational capabilities of the x86 platform. After reading and using this book, you'll be able to code performance-enhancing functions and algorithms using x86 64-bit assembly language and the AVX, AVX2 and AVX-512 instruction set extensions.
Discover details of the x86 64-bit platform including its core architecture, data types, registers, memory addressing modes, and the basic instruction set; Use the ...
Practical Quantum Computing for Developers
Write algorithms and program in the new field of quantum computing. This book covers major topics such as the physical components of a quantum computer: qubits, entanglement, logic gates, circuits, and how they differ from a traditional computer. Also, Practical Quantum Computing for Developers discusses quantum computing in the cloud using IBM Q Experience including: the composer, quantum scores, experiments, circuits, simulators, real quantum devices, and more. You'll be able to run experiments in the cloud on a real quantum device.
Furthermore, this book shows you how to do quantum programming using the QISKit (Quantum Information Software Kit), Python SDK, and other APIs such as QASM (Quantum Assembly). You'll learn to write code using these languages and execute it against simulators (local or remote) or a real quantum computer provided by IBM's Q Experience. Finally, you'll learn the current quantum algorithms for entanglement, random number generation, linear search, i ...
Learn Robotics Programming
We live in an age where the most difficult human tasks are now automated. Smart and intelligent robots, which will perform different tasks precisely and efficiently, are the requirement of the hour. A combination of Raspberry Pi and Python works perfectly when making these kinds of robots.
Learn Robotics Programming starts by introducing you to the basic structure of a robot, along with how to plan, build, and program it. As you make your way through the book, you will gradually progress to adding different outputs and sensors, learning new building skills, and writing code for interesting behaviors with sensors. You'll also be able to update your robot, and set up web, phone, and Wi-Fi connectivity in order to control it.
By the end of the book, you will have built a clever robot that can perform basic artificial intelligence (AI) operations. ...