Certified Programming with Dependent Types
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engineering focus. The technology of mechanized program verification can play a supporting role in many kinds of research projects in computer science, and related tools for formal proof-checking are seeing increasing adoption in mathematics and engineering. This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time. Two topics, rarely discussed elsewhere, are covered in detail: effective dependently typed programming (making productive use of a feature at the heart of the Coq system) and construction of domain-specific proof tactics. Almost every subject covered is also relevant to interactive computer theorem proving in general, not just program verification, demonstrated through examples of verified programs applied in many different sorts of formalizations. The book develops a unique automated proof style and applies it throughout; even experienced Coq users may benefit from reading about basic Coq concepts from this novel perspective. The book also offers a library of tactics, or programs that find proofs, designed for use with examples in the book. Readers will acquire the necessary skills to reimplement these tactics in other settings by the end of the book. All of the code appearing in the book is freely available online.
Practical Model-Driven Enterprise Architecture
Bridge the gap between theory and reality by implementing real-world examples using the Sparx EA tool and ArchiMate(R) 3.1 specification to develop sophisticated enterprise architecture models serving every unit in your organization Key Features: Discover the various artifacts that enterprise architects need to develop for stakeholders to make sound decisionsBuild a functional enterprise architecture repository that is rich in information, references, and metamodelsLearn how to use Sparx Enterprise Architect from scratchBook Description: Most organizations face challenges in defining and achieving evolved enterprise architecture practices, which can be a very lengthy process even if implemented correctly. Developers, for example, can build better solutions only if they receive the necessary design information from architects, and decision-makers can make appropriate changes within the organization only if they know the implications of doing so.The book starts by addressing the problems faced by enterprise architecture practitioners and provides solutions based on an agile approach to enterprise architecture, using ArchiMate(R) 3.1 as an industry standard and Sparx EA as the modeling tool. You'll learn with the help of a fictional organization that has three business units, each expecting something different from you as the enterprise architect. You'll build the practice, satisfy the different requirements of each business unit, and share the knowledge with others so they can follow your steps. Toward the end, you'll learn how to put the diagrams and the content that you have developed into documents, presentations, and web pages that can be published and shared with any stakeholder.By the end of this book, you'll be able to build a functional enterprise architecture practice that supports every part of your organization. You'll also have developed the necessary skills to populate your enterprise architecture repository with references and artifacts.What You Will Learn: Discover how enterprise architects can contribute to projects and departments within organizationsUse Sparx Enterprise Architect to build a rich architecture repositoryLearn about the ArchiMate(R) 3.1 specification as you apply it in real-world projectsUse the focused metamodel technique to build the information necessary for maintaining your repository's consistency and accuracyUnderstand the importance of keeping architectural artifacts simple yet eye-catchingDefine an operational model that fits your initial needs and expands as requiredWho this book is for: This book is for enterprise architects at all architectural layers and practices of any maturity level. Many of the artifacts suggested in this book are inspired by The Open Group Architecture Framework (TOGAF(R)); however, familiarity with TOGAF(R) is not required. Whether you work within the business, applications, data, or technology layers, this book covers examples that apply to your work. Although not mandatory, experience modeling in Sparx Systems Enterprise Architect using any modeling language will be helpful. No prior knowledge of ArchiMate(R) is required to get started with this book.
Foundations of PEAR
This book has been carefully constructed to be a one stop resource for locating the right PEAR package. It is the first book that devotes exclusive coverage to PEAR covering key items and topics missing in the online documentation. The most useful and widely used packages have been carefully selected for inclusion in this book. The packages inside have been broken down logically by function. Each package is covered in detail, yet presented in a fashion that allows the reader to quickly jump to the key items needed to implement a solution. To see the packages in action, performing in real world applications four projects have been included in the book that each use a combination of PEAR packages in their implementations. Armed with the knowledge in this book, the reader is set to take their PHP development to a new level.
Ajax and REST Recipes
Ajax is one of the hottest new methodologies on the web, but it requires a lot of coding, and there are some inherent problems with Ajax applications. That's where this book comes in -- it provides more than 50 adaptable recipes for all of the common tasks developers will want to implement on web sites using Ajax, DOM Scripting, and REST techniques, saving them hours of development time. The code examples can be adapted for use in their own applications. The recipes provided here go beyond simple, isolated functions, providing complete solutions for form validation, drag and drop functionality, data sorting, data presentation techniques, application architecture, debugging, performance enhancements, server-side techniques for web services, and much more. The book makes use of REST, and other design patterns, and many popular JavaScript libraries. The authors focus heavily on efficiency, optimization, reusability, and fixing some of the problems inherent with Ajax-style coding.
Genetic Programming
This book constitutes the refereed proceedings of the 25th European Conference on Genetic Programming, EuroGP 2022, held as part of Evo*2021, as Virtual Event, in April 2022, co-located with the Evo*2022 events, EvoCOP, EvoMUSART, and EvoApplications. The 12 revised full papers and 7 short papers presented in this book were carefully reviewed and selected from 35 submissions. The wide range of topics in this volume reflects the current state of research in the field. The collection of papers cover topics including developing new operators for variants of GP algorithms, as well as exploring GP applications to the optimization of machine learning methods and the evolution of complex combinational logic circuits.
Arduino
This book is the all-in-one for beginners, as all the necessary basics for working with an arduino regarding hardware, software & programming are explained in detail.In this course, aimed specifically at beginners, you will learn all the basics you need to know when working with an arduino. By the way, we will work exclusively with the arduino uno in this book, as this arduino model is perfect for beginners. You will find information about:: What is arduino?Why is the use of arduino so popular?Advantages and disadvantages of arduino.Arduino mega server. What is it and how to use it?Arduino ide. What is it and how to use it?Arduino projects that everyone must to try.The text is written in simple language to make it accessible, and every effort has been made to clarify the concepts indispensable for perfect understanding of the process of programming a microcontroller, making it useful to the widest possible audience and thus preparing the foundation that serves as a starting point for further study and the basis for what will follow in the other two volumes that continue the series.
Practical Forensic Analysis of Artifacts on IOS and Android Devices
Leverage foundational concepts and practical skills in mobile device forensics to perform forensically sound criminal investigations involving the most complex mobile devices currently available on the market. Using modern tools and techniques, this book shows you how to conduct a structured investigation process to determine the nature of the crime and to produce results that are useful in criminal proceedings. You'll walkthrough the various phases of the mobile forensics process for both Android and iOS-based devices, including forensically extracting, collecting, and analyzing data and producing and disseminating reports. Practical cases and labs involving specialized hardware and software illustrate practical application and performance of data acquisition (including deleted data) and the analysis of extracted information. You'll also gain an advanced understanding of computer forensics, focusing on mobile devices and other devices not classifiable as laptops, desktops, or servers. This book is your pathway to developing the critical thinking, analytical reasoning, and technical writing skills necessary to effectively work in a junior-level digital forensic or cybersecurity analyst role. What You'll LearnAcquire and investigate data from mobile devices using forensically sound, industry-standard toolsUnderstand the relationship between mobile and desktop devices in criminal and corporate investigationsAnalyze backup files and artifacts for forensic evidenceWho This Book Is ForForensic examiners with little or basic experience in mobile forensics or open source solutions for mobile forensics. The book will also be useful to anyone seeking a deeper understanding of mobile internals.
Mastering the Microsoft Kinect
Know 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 start writing code right away. Also covered is the use of Azure Cognitive Services on Microsoft's cloud platform and their use for object and voice recognition, enabling your applications to "see" objects and respond to their environment. What You Will LearnVisualize color, depth, and body dataCalculate angles between different body jointsAnalyze human motion and create fitness applicationsRecognize objects and voice using cloud-powered artificial intelligenceRemove the background from a scene to create virtual worldsWho This Book Is ForDevelopers who want to build demanding Kinect apps and games, and those who are looking for a careful balance between theoretical knowledge and practical application that favors the practical. Readers should have a basic knowledge of C# and some familiarity with the Unity3D engine.
Rust Atomics and Locks
The Rust programming language is extremely well suited for concurrency, and its ecosystem has many libraries that include lots of concurrent data structures, locks, and more. But implementing those structures correctly can be very difficult. Even in the most well-used libraries, memory ordering bugs are not uncommon. In this practical book, Mara Bos, leader of the Rust library team, helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and memory ordering and how they're combined with basic operating system APIs to build common primitives like mutexes and condition variables. Once you're done, you'll have a firm grasp of how Rust's memory model, the processor, and the role of the operating system all fit together. With this guide, you'll learn: How Rust's type system works exceptionally well for programming concurrency correctly All about mutexes, condition variables, atomics, and memory ordering What happens in practice with atomic operations on Intel and ARM processors How locks are implemented with support from the operating system How to write correct code that includes concurrency, atomics, and locks How to build your own locking and synchronization primitives correctly
BDD in Action, Second Edition
Deliver software that does what it's supposed to do! Behavior-Driven Development guides your software projects to success with collaboration, communication techniques, and concrete requirements you can turn into automated tests. In BDD in Action, Second Edition you'll learn how to: Implement and improve BDD practices Prioritize features from business goals Facilitate an example mapping session Write automated acceptance tests Scale up your automated acceptance tests Deliver accurate reporting and documentation Around half of all software projects fail to deliver on requirements. Behavior-Driven Development (BDD) helps make sure that yours isn't one of them. Behavior-Driven Development in Action, Second Edition teaches you how to ensure that everyone involved in a software project--from developers to non-technical stakeholders--are in agreement on goals and objectives. It lays out the communication skills, collaborative practices, and useful automation tools that will let you seamlessly succeed with BDD. Now in its second edition, this revised bestseller has been extensively updated with new techniques for incorporating BDD into large-scale and enterprise development practices such as Agile and DevOps. Foreword by Daniel Terhorst-North. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Behavior-Driven Development is a collaborative software design technique that organizes examples of an application's desired behavior into a concrete, testable specification. Because the BDD process gathers input from all areas of an organization, it maximizes the likelihood your software will satisfy both end users and business stakeholders. The established collaboration practices and automation strategies in this book will help you maximize the benefits of BDD for your dev team and your business clients. About the Book In BDD in Action, Second Edition, you'll learn to seamlessly integrate BDD into your existing development process. This thoroughly revised new edition now shows how to integrate BDD with DevOps and large-scale Agile systems. Practical examples introduce cross-functional team communication skills, leading a successful requirements analysis, and how to set up automated acceptance criteria. What's Inside How BDD positively affects teamwork, dynamics, and collaboration with stakeholders Help teams discover and analyze requirements, uncover assumptions, and reduce risks Make acceptance, integration, and unit testing more effective Automate reporting and living documentation to improve transparency About the Reader For all development teams. No experience with BDD required. Examples in Java, JavaScript, and TypeScript can be easily expressed in your chosen language. About the Author John Ferguson Smart is the creator of the Serenity BDD framework and founder of the Serenity Dojo training school. Jan Molak is the author of the Serenity/JS testing framework, Jenkins Build Monitor, and other CD and testing tools. Table of Contents PART 1 - FIRST STEPS 1 Building software that makes a difference 2 Introducing Behavior-Driven Development 3 BDD: The whirlwind tour PART 2 - WHAT DO I WANT? DEFINING REQUIREMENTS USING BDD 4 Speculate: From business goals to prioritized features 5 Describing and prioritizing features 6 Illustrating features with examples 7 From examples to executable specifications PART 3 - HOW DO I BUILD IT? CODING THE BDD WAY 8 From executable specifications to automated acceptance tests 9 Writing solid automated acceptance tests 10 Automating acceptance criteria for the UI layer 11 Test automation design patterns for the UI layer 12 Scalable test automation with the Screenplay Pattern 13 BDD and executable specifications for microservices and APIs 14 Executable specificatio
Algorithms for Dummies
Your secret weapon to understanding--and using!--one of the most powerful influences in the world today From your Facebook News Feed to your most recent insurance premiums--even making toast!--algorithms play a role in virtually everything that happens in modern society and in your personal life. And while they can seem complicated from a distance, the reality is that, with a little help, anyone can understand--and even use--these powerful problem-solving tools! In Algorithms For Dummies, you'll discover the basics of algorithms, including what they are, how they work, where you can find them (spoiler alert: everywhere!), who invented the most important ones in use today (a Greek philosopher is involved), and how to create them yourself. You'll also find: Dozens of graphs and charts that help you understand the inner workings of algorithms Links to an online repository called GitHub for constant access to updated code Step-by-step instructions on how to use Google Colaboratory, a zero-setup coding environment that runs right from your browser Whether you're a curious internet user wondering how Google seems to always know the right answer to your question or a beginning computer science student looking for a head start on your next class, Algorithms For Dummies is the can't-miss resource you've been waiting for.
The MySQL Workshop
Learning MySQL just got a whole lot easier, thanks to this hands-on workshop, complete with simple explanations, engaging examples, and realistic exercises that focus on helping you to build and maintain databases effectivelyKey Features: Learn how to set up and maintain a MySQL databaseRun SQL queries to create, retrieve, and manipulate dataUse MySQL effectively with common business applications such as Excel and MS AccessBook Description: Do you want to learn how to create and maintain databases effectively? Are you looking for simple answers to basic MySQL questions as well as straightforward examples that you can use at work? If so, this workshop is the right choice for you.Designed to build your confidence through hands-on practice, this book uses a simple approach that focuses on the practical, so you can get straight down to business without having to wade through pages and pages of dull, dry theory.As you work through bite-sized exercises and activities, you'll learn how to use different MySQL tools to create a database and manage the data within it. You'll see how to transfer data between a MySQL database and other sources, and use real-world datasets to gain valuable experience of manipulating and gaining insights from data. As you progress, you'll discover how to protect your database by managing user permissions and performing logical backups and restores.If you've already tried to teach yourself SQL, but haven't been able to make the leap from understanding simple queries to working on live projects with a real database management system, The MySQL Workshop will get you on the right track.By the end of this MySQL book, you'll have the knowledge, skills, and confidence to advance your career and tackle your own ambitious projects with MySQL.What You Will Learn: Understand the concepts of relational databases and document storesUse SQL queries, stored procedures, views, functions, and transactionsConnect to and manipulate data using MS Access, MS Excel, and Visual Basic for Applications (VBA)Read and write data in the CSV or JSON format using MySQLManage data while running MySQL Shell in JavaScript modeUse X DevAPI to access a NoSQL interface for MySQLManage user roles, credentials, and privileges to keep data securePerform a logical database backup with mysqldump and mysqlpumpWho this book is for: This book is for anyone who wants to learn how to use MySQL in a productive, efficient way. If you're totally new to MySQL, it'll help you get started or if you've used MySQL before, it'll fill in any gaps, consolidate key concepts, and offer valuable hands-on practice. Prior knowledge of simple SQL or basic programming techniques will help you in quickly grasping the concepts covered, but is not necessary.
Cloud Native Apps on Google Cloud Platform
Step-by-step guide for developing cloud native apps on GCP powered by hands-on interactive learningKey FeaturesCutting-edge coverage on Google Cloud Build, Cloud Run, GKE, Kubectl and Anthos.Includes tutorials and exercises to learn designing, deploying and running cloud native apps.Covers Service Mesh, Apps Optimization, logs monitoring and cloud IAM access.DescriptionThe book Cloud Native Apps on Google Cloud Platform teaches the readers how to design, construct, and maintain successful cloud-native apps using the Google Cloud Platform. With interactive tutorials, the book reinforces learning and helps to develop practical skills for working in an Agile and DevOps context. The book provides a step-by-step approach to building and managing cloud-native applications on Google Cloud Platform for Google Cloud Users, DevOps teams, and Cloud-Native Developers.First, you will investigate the advantages and applicability of each Google Serverless Computing option. You'll learn about Cloud Build and how to use it to prepare code files, create microservices, and build container images. The book walks readers through creating and running Docker image containers on Cloud Run and App Engine. You'll learn how to use kubectl to create and manage Kubernetes clusters, as well as how to configure the autoscaler for increased resilience and availability. You'll build a pipeline that uses Cloud Build to automate CI/CD and Pub/Sub to ingest streaming data.Finally, you'll have the opportunity to learn about Anthos, which enables you to manage massive GKE clusters in both Cloud and on-premises environments.What you will learnDistinguish between using containers or microservices for cloud native apps.Build a streaming data pipeline using BigQuery and Dataflow using Pub/Sub.Practice to deploy and optimize cloud native applications on Kubernetes Engine.Build continuous integration/continuous delivery pipelines and improve Kubernetes apps.Learn to protect apps running on GCP from cyberattacks.Who this book is forThis book is meant for the Cloud and DevOps professionals and for those who wish to learn about Google Cloud services and incorporate them into end-to-end cloud applications.Table of Contents1. Introducing Cloud Native Apps2. Developing Cloud Native Apps with Cloud Shell3. Preparing Source-Code with Cloud Build4. Create and Deploy Microservices5. Building and Deploying Containers in Cloud Build6. Create a Serverless Pipeline with Pub/Sub, Dataflow and BigQuery7. Container Orchestration with Google Kubernetes Engine8. Deploying and Managing Kubernetes Applications9. Optimizing Kubernetes Cluster and Apps in GKE10. Deploying a CI/CD Pipeline with Kubernetes and Cloud Build11. Build a Software Delivery Platform with Anthos12. Application Management with Anthos13. Securing Cloud Native Apps in AnthosRead more
Software Quality: The Next Big Thing in Software Engineering and Quality
This book constitutes the refereed proceedings of the 14th Software Quality Days Conference, SWQD 2022, held in Vienna, Austria, during May 17-19, 2022.The Software Quality Days (SWQD) conference started in 2009 and has grown to the biggest conference on software quality in Europe. The program of the SWQD conference is designed to encompass a stimulating mixture of practical presentations and new research topics in scientific presentations. The guiding conference topic of the SWQD 2022 is "What's The Next Big Thing in Software Engineering and Quality?".The 4 full papers presented in this volume were carefully reviewed and selected from 8 submissions. The contributions were organized in two topical sections named: AI in Software Engineering; and Quality Assurance for Software-Intensive Systems. The book also contains two invited talks.
Quantum Computing and Future
Be Prepared for a Revolutionary Transformation with Quantum ComputingKey FeaturesDemystify concepts, working principles, and the process of Quantum Computing.Extensive coverage on various applications of Quantum Computing across industries and sectors.Learn how to harness the power of Quantum Computing and Artificial Intelligence in your business.DescriptionThe book Quantum Computing and Future brings a holistic view of the potential of Quantum Computing across various industries and sectors. This book touches almost every area of application that can be benefitted from the capability of Quantum Computing, thus helping readers to understand how this innovative technology brings agility and transformation across enterprises. This book begins with concepts and principles of Quantum Computing followed by the process of quantum computing functions. It explains how Quantum Computing has led to transformation across sectors, including Healthcare, Banking, Finance, Genomics, Drug Discovery, Aviation, Tourism, Cryptocurrency, and Security. The book describes how an enterprise can leverage the tremendous capabilities of Quantum Computing and put its application in your business infrastructure for its optimal performance. What you will learnExplore Quantum concepts and principles such as Superposition, Entanglement, and Interference.Understand how Quantum Computing is revolutionizing the Healthcare and Medicine fields.Understand how Quantum Computing is transforming the Banking and Finance sectors.Who this book is forThis book is for IT and Non-IT professionals, developers, business analysts, business heads, CXOs, students, and researchers who are interested in Quantum Computing. Anyone who wants to know the latest trends and future of this cutting-edge technology will find this book helpful.Table of Contents1. An Overview of Quantum Computing2. History of Quantum Physics and Dynamics3. Quantum Concepts and Principles (Superposition, Entanglement and Interference)4. Quantum Computing in Healthcare and Medicine5. Quantum Computing in Banking and Finance6. Quantum Computing in Drug Discovery and Research7. Quantum Computing in Aviation, Travel, and Logistics8. Quantum Computing in Crypto and Security9. Quantum Computing in Space Exploration, Astronomical, and Weather Studies10. Quantum Computing for Solving Complex Optimization Problems11. Quantum Computing in Chemistry, Chemical Research and Agriculture12. Quantum Computing in Artificial Intelligence and Machine Learning13. Quantum Computing for Optimizing Big Data14. Quantum Computing for Simulation of Durable Battery Designs15. Quantum Computing and Future of Autonomous Vehicles16. Quantum Computing in Education and Research17. How Quantum and AI Will Revolutionize Defense and Warfare?18. Quantum Computing in Life Science19. Quantum Computing in Cyber Security and Hacking20. Quantum Computing in Movies and Cinemas21. Quantum Computing in Spirituality and Mysticism22. Quantum Computing in Robotics23. Quantum Computing in Nuclear Research and Study of Atoms24. Quantum Computing in Sports and Games25. Quantum Computing in Traffic Optimization26. Quantum Computing in Metaverse27. Quantum Computing in Fintech, AI, and Sustainability28. How Quantum Explains Human Consciousness?Read more
Expert Microsoft Teams Solutions
Written by Microsoft engineers, Expert Microsoft Teams Solutions covers in-depth topics in Teams that are not covered elsewhere and explores tasks that customers frequently rely on Microsoft Partners to accomplishKey Features: Extend the MS Teams experience with this practical guide from Microsoft's technical specialistsDiscover advanced Teams capabilities such as voice, governance, and Power Platform integrationGet to grips with planning resources for voice integration in TeamsBook Description: Microsoft Teams is designed to improve collaboration and integrate components of SharePoint, Exchange, Power Platform, and voice calling into a single platform.Complete with step-by-step explanations of concepts, practical examples, and architecture guidance, you'll learn how to plan and deploy Teams for your organization. As you progress, you'll explore and understand the Teams platform as a whole, from architecture and collaboration through to apps and voice, with the help of examples. The book approaches Teams not only from an end-user perspective but also from an administrator's point of view. You'll be able to understand the challenges around modernization in your organization relating to adopting, implementing, and administering Teams and tackle them effectively. By helping you realize the potential of Teams as a platform, this book will enable you to set up and deploy Teams solutions, leading to modernization in your organization's chat and voice infrastructure.By the end of this book, you'll be able to design and implement the most important and exciting aspects of Microsoft Teams.What You Will Learn: Gain a clear understanding of Microsoft Teams architecture and deployment conceptsBecome well-versed with advanced Teams voice capabilitiesExplore best practices to extend the Teams experience to various apps through collaborationFocus on how to conduct effective meetings, including ad hoc, scheduled, channel, and live eventsIntegrate Power Apps and Power Automate with Microsoft TeamsUnderstand key governance and security concepts in administering Microsoft TeamsWho this book is for: The book is for intermediate-level and experienced Microsoft Teams IT professionals as well as for administrator roles. Intermediate-level knowledge of the Microsoft Teams platform is assumed.
Simulation Tools and Techniques
This proceedings constitutes the refereed post-conference proceedings of the 13th International Conference on Simulation Tools and Techniques, SIMUTools 2021, held in November 2021. Due to COVID-19 pandemic the conference was held virtually. The 63 revised full papers were carefully selected from 143 submissions. The papers focus on new results in the field of system modeling and simulation, software simulation, communication networks' modeling and analysis, AI system simulation and performance analysis, big data simulation analysis, addressing current and future trends in simulation techniques. They are grouped in thematic aspects on wireless communication, big data, modeling and simulation, deep learning, network simulation and life and medical sciences.
Peeking at Call-A.P.P.L.E. 1979
PEEKing at Call-A.P.P.LE.: 1979 Compendium of Magazine Articles represents a nostalgic look back at the early years of the Apple computing revolution through the eyes of the Apple Pugetsound Program Library Exchange (A.P.P.L.E.) user group. Articles from all nine issues from the second year of Call-A.P.P.L.E. magazine are organized into categories such as: Applesoft BASIC, Integer BASIC, Color, Disks, DOS, The Monitor, Printers, and Utilities. Over 190 pages are enhanced and restored, complete with advertisements, and program listings. Relive the earliest days of the Apple II computer through the eyes of the creators and users. Highlights Include: - Articles and programs from Apple computing legends including: Darrell Aldrich, Ron Aldrich, Val Golding, Andy Hertzfeld, Randall Hyde, Bob Huelsdonk, Neil Konzen, Roger Wagner, and Randy Wigginton. - Programming tips and tutorials for Applesoft BASIC and Integer BASIC. - File and programming utilities along with tools and drivers for early printers. - A rundown of Monitor Calls and color graphics on the Apple II and Apple II Plus. - Reviews of Software, Books, Utilities, Hardware and other products.
Peeking at Call-A.P.P.L.E. 1979
PEEKing at Call-A.P.P.LE.: 1979 Compendium of Magazine Articles represents a nostalgic look back at the early years of the Apple computing revolution through the eyes of the Apple Pugetsound Program Library Exchange (A.P.P.L.E.) user group. Articles from all nine issues from the second year of Call-A.P.P.L.E. magazine are organized into categories such as: Applesoft BASIC, Integer BASIC, Color, Disks, DOS, The Monitor, Printers, and Utilities. Over 190 pages are enhanced and restored, complete with advertisements, and program listings. Relive the earliest days of the Apple II computer through the eyes of the creators and users. Highlights Include: - Articles and programs from Apple computing legends including: Darrell Aldrich, Ron Aldrich, Val Golding, Andy Hertzfeld, Randall Hyde, Bob Huelsdonk, Neil Konzen, Roger Wagner, and Randy Wigginton. - Programming tips and tutorials for Applesoft BASIC and Integer BASIC. - File and programming utilities along with tools and drivers for early printers. - A rundown of Monitor Calls and color graphics on the Apple II and Apple II Plus. - Reviews of Software, Books, Utilities, Hardware and other products.
Ethically Hacking an Industrial Control System
Explore to tackle industrial cyber risksKey FeaturesLearn how to defend industrial control systems from an attacking standpoint.Learn about industrial network protocols and threat hunting.Handling of tackle industrial cyber risksDevelop offensive and defensive skills.DescriptionIn recent years, the industrial cybersecurity arena has risen dramatically. Red teams must be used to continually test and exploit the security integrity of a company's people, processes, and products in order to completely safeguard critical infrastructure. This pen testing book takes a different approach than most by assisting you in gaining hands-on experience with equipment you'll encounter in the field. This will allow you to comprehend how industrial equipment interacts and functions in a real-world setting.This book begins by covering the fundamentals of industrial processes, then goes on to learn how to design and break them. It also includes obtaining open-source intelligence to develop a dangerous environment for your potential customer. You'll learn how to install and employ offensive tactics used by skilled hackers as you go. Before eventually launching assaults against systems in an industrial network, you'll learn about industrial equipment, port, and service discovery, pivoting, and much more.You'll not only know how to evaluate and navigate the nuances of an industrial control system (ICS) by the conclusion of this penetration testing book, but you'll also have gained crucial offensive and defensive skills to proactively safeguard industrial networks from current assaults.What you will learnSet up an ICS lab with both physical and virtual equipment using a beginning kit.Perform pre-engagement open-source intel collection to aid in the mapping of your attack landscape.Learn how to do penetration testing on industrial equipment using Standard Operating Procedures (SOPs).Recognize the necessity of listening to customer networks and the concepts of traffic stretching.Learn the fundamentals of ICS communication.Connect engineering workstations and supervisory controlConnect data acquisition (SCADA) software to physical operational technologies.Learn how to map web-based SCADA solutions using directory scanning tools.Who this book is forThis book is intended for an ethical hacker, penetration tester, automation engineer, or IT security expert who wants to keep industrial networks safe from intruders. You'll get the most out of this book if you have a basic grasp of cybersecurity and recent cyber incidents.Table of Contents1. Using Virtualization2. Route the Hardware3. I Love My Bits: Lab Setup4. Open-Source Ninja5. Span Me If You Can6. Packet Deep Dive7. Scanning 1018. Protocols 2029. Ninja 308 10. I Can Do It 42011. Whoot I Have To Go DeepRead more
Fundamental Approaches to Software Engineering
This open access book constitutes the proceedings of the 25th International Conference on Fundamental Approaches to Software Engineering, FASE 2022, which was held during April 4-5, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 17 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. The proceedings also contain 3 contributions from the Test-Comp Competition. The papers deal with the foundations on which software engineering is built, including topics like software engineering as an engineering discipline, requirements engineering, software architectures, software quality, model-driven development, software processes, software evolution, AI-based software engineering, and the specification, design, and implementation of particular classes of systems, such as (self-)adaptive, collaborative, AI, embedded, distributed, mobile, pervasive, cyber-physical, or service-oriented applications.
Automotive Software Architectures
This book introduces the concept of software architecture as one of the cornerstones of software in modern cars. Following a historical overview of the evolution of software in modern cars and a discussion of the main challenges driving that evolution, Chapter 2 describes the main architectural styles of automotive software and their use in cars' software. Chapter 3 details this further by presenting two modern architectural styles, i.e. centralized and federated software architectures. In Chapter 4, readers will find a description of the software development processes used to develop software on the car manufacturers' side. Chapter 5 then introduces AUTOSAR - an important standard in automotive software. Chapter 6 goes beyond simple architecture and describes the detailed design process for automotive software using Simulink, helping readers to understand how detailed design links to high-level design. The new chapter 7 reports on how machine learning is exploited in automotive software e.g. for image recognition and how both on-board and off-board learning are applied. Next, Chapter 8 presents a method for assessing the quality of the architecture - ATAM (Architecture Trade-off Analysis Method) - and provides a sample assessment, while Chapter 9 presents an alternative way of assessing the architecture, namely by using quantitative measures and indicators. Subsequently Chapter 10 dives deeper into one of the specific properties discussed in Chapter 8 - safety - and details an important standard in that area, the ISO/IEC 26262 norm. Lastly, Chapter 11 presents a set of future trends that are currently emerging and have the potential to shape automotive software engineering in the coming years. This book explores the concept of software architecture for modern cars and is intended for both beginning and advanced software designers. It mainly aims at two different groups of audience - professionals working with automotive software who need to understand concepts related to automotive architectures, and students of software engineering or related fields who need to understand the specifics of automotive software to be able to construct cars or their components. Accordingly, the book also contains a wealth of real-world examples illustrating the concepts discussed and requires no prior background in the automotive domain. Compared to the first edition, besides the two new chapters 3 and 7 there are considerable updates in chapters 5 and 8 especially.
Hands-On System Design
The ultimate guide to ace your system designing interviews. Key FeaturesProvides step-by-step solutions to real-world problems related to system design and development.Includes detailed explanations of each OOPs idea and design pattern, along with code snippets in the C++ style.Contains illustrations and demonstrations that describe the technologies enabling modern scalable systems.DescriptionScaling software application is the focus of this book, which takes the reader on an in-depth journey. You'll have a better understanding of how to create a scalable, enterprise-level application after reading this guide.The book discusses system design principles, computer networks, major networking protocols, strategies for scaling data access, and various architectural styles for creating the system. A thorough examination of various technologies such as Cache Memory, CDN, Load Balancers, and Messaging Queues are conducted and their implementation. The book also demonstrates how you can use these combinations of technologies in the best way to build a scalable enterprise-level system. The examination of several architectural styles for system design assists you in choosing the best path for architecting your system. Additionally, the book explores object-oriented programming concepts and design patterns that facilitate the creation of clean, maintainable code. The reader will develop an intuitive knowledge of numerous tools and approaches for creating a scalable system by using several actual system design examples.This book can tackle any system design problem you may meet in your current position or interviews. You'll learn how to design a system from scratch, and the examples in the book will help you to improve your skills.What you will learnAcquaint yourself with the fundamentals of computer networks and major networking protocols.Gain an understanding of various technologies to develop a distributed scalable application.Develop the capacity to approach any system design problem with a unique perspective.Gain insight into programming design patterns and object-oriented principles.Investigate several methods for expanding data access.Discover many architectural styles for system design.Who this book is forThe book is intended for software developers, system design engineers, aspiring system architects, IT professionals and students who want to learn how to construct a scalable application or prepare for system design interviews. Basic knowledge of programming and computer architecture is recommended but not demanded to grasp the book.Table of Contents1. Fundamentals of System Design Principles2. Networking Basics3. Scaling Databases4. System Architecture5. Introduction to Object Oriented Programming6. Design Patterns7. Object Oriented Design Methodology8. Approaching System design problems9. Designing a key-value store10. Designing a video streaming website11. Designing a website like Twitter12. Designing a card authentication system13. Designing an Image Hosting ApplicationRead more
101 Best Excel Tips & Tricks
Learn the Best Excel Tips & Tricks Ever: FORMULAS, MACROS (VBA), PIVOT TABLES, FORMATTING, DATA, MICROSOFT OFFICE 365 plus Many More!With this book, you'll learn to apply the must know Excel features and tricks to make your data analysis & reporting easier and will save time in the process.With this book you get the following: ✔ 101 Best Excel Tips & Tricks To Advance Your Excel Skills & Save You Hours✔ New Excel Tips & Tricks for Microsoft Office 365✔ Easy to Read Step by Step Guide with Screenshots✔ Downloadable Practice Excel Workbooks for each Tip & Trick✔ You also get a FREE BONUS downloadable PDF version of this book!✔ Exclusive to Hardcover: You also get a FREE BONUS 20+ Hour Excel Course with 77 video tutorials!This book is a MUST-HAVE for Beginner to Intermediate Excel users who want to learn Microsoft Excel FAST & stand out from the crowd!
Network Programming with Laboratory Work in C, C++, and Java
The material in this notes is based on lectures taught at Florida Tech for the classes on Network Programming Concepts (CSE 4232) and Network Programming (CSE 5232), as well as in other advanced classes.
Beginning Grpc with ASP.NET Core 6
Broaden your developer experience by learning how to use gRPC and ASP.NET Core together on the Microsoft's developer framework, .NET 6 and discover a new way of developing APIs with gRPC. Beginning gRPC with ASP.NET Core 6 is your guide to quickly and efficiently getting down to the business of building gRPC applications in the Microsoft .NET ecosystem. Readers will dive in and build an application using gRPC and the latest technologies such Angular and ASP.NET Core Razor Pages. This book will teach you how to set up an efficient application using industry best practices such as security, monitoring, logging, and more. You will do this by performing Create, Read, Update, and Delete (CRUD) operations on a SQL Server database with Entity Framework Core. From there you will build web applications using Angular and ASP.NET Core Razor pages combined with gRPC APIs. After reading the book, you'll be able to take advantage of the full range of developer opportunities with gRPC, and come away with any understanding of which usage scenarios are best suited for your projects. And you will possess a solid understanding of the best way to build APIs with ASP.NET Core. What You Will Learn Discover the latest .NET 6 framework Benefit from a new way to design APIs Build modern web applications Migrate easily from WCF to gRPC Become comfortable with latest industry programming standards Who This Book Is ForProfessional developers who are interested in getting started with gRPC and want to learn how to use it to build applications in the .NET ecosystem.
Machine Learning with Python
This book explains how to use the programming language Python to develop machine learning and deep learning tasks. It provides readers with a solid foundation in the fundamentals of machine learning algorithms and techniques. The book covers a wide range of topics, including data preprocessing, supervised and unsupervised learning, model evaluation, and deployment. By leveraging the power of Python, readers will gain the practical skills necessary to build and deploy effective machine learning models, making this book an invaluable resource for anyone interested in exploring the exciting world of artificial intelligence.
Microsoft Azure Virtual Desktop Guide
Modernize your business to make it more agile using Azure Virtual Desktop (AVD). Azure Virtual Desktop is a cloud desktop virtualization platform that securely delivers virtual desktops and remote apps. This book will help you will help you to understand designing, implementing, configuring, and maintaining an Azure Virtual Desktop environment for enterprise and prepare to take the Microsoft AZ-140 certification exam. The book starts with an introduction to Azure Virtual Desktop and its design architecture. You will learn designing Azure Virtual desktop including user identities and profiles. Additionally, you will learn how to implement network for Azure Virtual desktop. Creation and configuration of host pools and session hosts is covered with all steps so that you can understand all options and select appropriate configuration for enterprise deployment. You will also go through session host images creation process and managing the image with image gallery and possible automation options. Managing access and security in AVD is discussed along with the installation, configuration, and management of FSLogix. The book will take you through user experience settings and show you how to configure apps on a session host. You will also learn about disaster recovery and how to automate AVD management tasks. Monitoring and managing performance is included as well as knowing how to use AVD automation to create and delete the host pool and session host. After reading this book, you will understand all aspects of AVD architecture, its implementation, monitoring, and management in preparation to take the AZ-140 exam. What You Will Learn Know what is Azure Virtual Desktop (or AVD) Design the Azure Virtual Desktop architecture for enterprise deployment, user identities, and profiles Plan and implement networking and storage for Azure Virtual Desktop Create, manage, and automate operating system images with image gallery Implement FSLogix Profile Containers and FSLogix Cloud Cache Create and configure host pools and session hosts (all detailed steps)Install and configure apps on a session host including all app publish optionsPlan and implement business continuity and disaster recovery Implement and manage OneDrive, Teams for a multi-session environmentMonitor and manage performance and health of Azure Virtual desktopWho This Book Is ForIT professional, Cloud administrators, support personnel, developers, DevOps engineers, architect, or consultant learning about designing, implementing, and managing Azure Virtual Desktop to improve knowledge or clear Microsoft AZ-140 exam.
Digital transformation with dataverse
Lead the digital transformation wave with Microsoft TeamsKey FeaturesExplore numerous business scenarios to gain a better grasp of Microsoft Dataverse for TeamsBuild your first app with step-by-step instructions and expand features with flows and bots.Find more about the application, environment, and licensing lifecycle management.DescriptionMicrosoft Dataverse for Teams is a low-code data platform built into Microsoft Teams that allows anybody to create and deploy apps, processes, and intelligent chatbots utilizing Power Apps, Power Automate, and Power Virtual Agents (PVA).You will be able to construct apps using step-by-step instructions for building up Teams, generating tables to hold data, and leveraging the data for your digital solutions without having to learn any coding languages. You'll be able to create your first app with Dataverse for Teams in under an hour if you follow the ideas in the book. You will learn how to use Power Automate and Power Virtual Agents to automate repetitive processes and create alerts.As you gain experience constructing these digital solutions, you'll be able to tell when it's time to upgrade from Dataverse for Teams to Dataverse, which includes more advanced features. Finally, you will learn about the administration and governance aspects of Microsoft Dataverse for Teams and PowerApps, as well as the license needs.By the end of the book, you will have acquired the skills necessary to build and implement an enterprise-grade digital solution. The readers will be prepared to lead a digital revolution in your organization.What you will learnCreate enterprise-grade applications for Teams by designing, developing, and deploying them.Build Up Your Strength Using Dataverse for Teams, automate flows, and PVA bots.Learn about the best practices in administration and security.Learn about Microsoft Dataverse's licensing requirements and advanced features.Identify instances in which your citizen development talents can be put to use in your business.Who this book is forThis book is for developers, business experts. Basic understanding of how to use softwares like PowerPoint, Excel is requiredTable of Contents1. Introduction to Digital transformation2. Exploring Microsoft Dataverse for Teams3. Using Microsoft Dataverse for Teams to Create Your First App4. Adding Images, Screens, and File Attachments to Your App5. Understanding Microsoft Dataverse6. Automating using Microsoft Dataverse for Teams7. Creating Effective Virtual Agents Bots for Teams using MicrosoftDataverse8. Managing the Application Life Cycle and the Application Life Cycle in theEnvironment9. Microsoft Dataverse Environment Upgrade10. Security and Governance to Ensure Enterprise Readiness11. Microsoft Dataverse and Dataverse for Teams licensingRead more
Logic-Based Program Synthesis and Transformation
This book constitutes the refereed proceedings of the 31st International Conference on Logic-Based Program Synthesis and Transformation, LOPSTR 2021, which was held during September 7-8, 2021.* The 8 papers presented in this volume were carefully reviewed and selected from a total of 15 reviewed submissions. Additionally, the book also contains 1 full-length invited talk. *Conference was held as a hybrid event due to the COVID-19 pandemic.
Exact and Heuristic Methods in Combinatorial Optimization
In the last decades, algorithmic advances as well as hardware and software improvements have provided an excellent environment to create and develop solving methods to hard optimization problems. Modern exact and heuristic techniques are dramatically enhancing our ability to solve significant practical problems. This monograph sets out state-of-the-art methodologies for solving combinatorial optimization problems, illustrating them with two well-known problems.This second edition of the book extends the first one by adding to the 'linear ordering problem' (LOP), included in the first edition, the 'maximum diversity problem' (MDP). In this way, we provide the reader with the background, elements and strategies to tackle a wide range of different combinatorial optimization problems. The exact and heuristic techniques outlined in these pages can be put to use in any number of combinatorial optimization problems. While the authors employ the LOP and the MDP to illustrate cutting-edge optimization technologies, the book is also a tutorial on how to design effective and successful implementations of exact and heuristic procedures alike. This monograph provides the basic principles and fundamental ideas that will enable students and practitioners to create valuable applications based on both exact and heuristic technologies. Specifically, it is aimed at engineers, scientists, operations researchers, and other applications specialists who are looking for the most appropriate and recent optimization tools to solve particular problems. The book provides a broad spectrum of advances in search strategies with a focus on its algorithmic and computational aspects.
Pharo with Style
Pharo is a modern, dynamically-typed, reflective, and pure object- oriented programming language. It offers strong productivity via a fully live programming environment. It supports Xtreme TDD, a powerful development technique that puts live objects at the center of the coding experience. More information at http: // www.pharo.org. Pharoers are used to say that programmers will never program the same once they coded seriously in Pharo. Learning Pharo is easy. Software developers learn Pharo in a couple of days. In addition, you can follow an excellent online free lecture available at: http: //mooc.pharo.org. Now programming is not only code logic but communicating with other developers via code. Pharo with Style, intended for both students and developers, defines a list of guidelines to help you writing better communicating code. Pharo with Style will bring you fast to the next level: You will code like the pros.
Requirements Engineering: Foundation for Software Quality
This book constitutes the refereed proceedings of the 28th International Working Conference on Requirements Engineering: Foundation for Software Quality, REFSQ 2022, which was held in Aston, Birmingham, UK, during March 21-24, 2022. The 12 full and 7 short papers presented in this volume were carefully reviewed and selected from 45 submissions. They were organized in topical sections as follows: Artificial intelligence and explainability; machine learning; natural language processing; user stories; business, markets, and industrial practice; and cognition and expression. The special theme for REFSQ 2022 was "Explainability in Requirements Engineering".
Wireshark Fundamentals
Understand the fundamentals of the Wireshark tool that is key for network engineers and network security analysts. This book explains how the Wireshark tool can be used to analyze network traffic and teaches you network protocols and features.Author Vinit Jain walks you through the use of Wireshark to analyze network traffic by expanding each section of a header and examining its value. Performing packet capture and analyzing network traffic can be a complex, time-consuming, and tedious task. With the help of this book, you will use the Wireshark tool to its full potential. You will be able to build a strong foundation and know how Layer 2, 3, and 4 traffic behave, how various routing protocols and the Overlay Protocol function, and you will become familiar with their packet structure.Troubleshooting engineers will learn how to analyze traffic and identify issues in the network related to packet loss, bursty traffic, voice quality issues, etc. The book will help you understand the challenges faced in any network environment and how packet capture tools can be used to identify and isolate those issues.This hands-on guide teaches you how to perform various lab tasks. By the end of the book, you will have in-depth knowledge of the Wireshark tool and its features, including filtering and traffic analysis through graphs. You will know how to analyze traffic, find patterns of offending traffic, and secure your network.What You Will LearnUnderstand the architecture of Wireshark on different operating systemsAnalyze Layer 2 and 3 traffic framesAnalyze routing protocol trafficTroubleshoot using Wireshark GraphsWho This Book Is ForNetwork engineers, security specialists, technical support engineers, consultants, and cyber security engineers
Coding for Beginners in Easy Steps
Coding forBeginners in easy steps, 2nd edition will appeal toanyone, of any age, who wants to begin coding computer programs. Use this guideto help you quickly create a programming environment on your computer, then, ineasy steps, learn how to: Write Python code to createyour programs Store information in datastructures Control program flow usingcontrol structures Create re-usable blocks ofprogram code Code powerful algorithms andclasses for Object Oriented Programming (OOP) All features are illustratedusing the Python language color-coding convention, and all code is available todownload free - making it even easier! Includes comparison examples inC, C++ and Java to give you a rounded view of computer coding. Ideal fornewcomers to programming, including youngsters needing to learn coding for theschool curriculum - all in easy steps!
Introducing Software Verification with Dafny Language
Get introduced to software verification and proving correctness using the Microsoft Research-backed programming language, Dafny. While some other books on this topic are quite mathematically rigorous, this book will use as little mathematical symbols and rigor as possible, and explain every concept using plain English. It's the perfect primer for software programmers and developers with C# and other programming language skills.Writing correct software can be hard, so you'll learn the concept of computation and software verification. Then, apply these concepts and techniques to confidently write bug-free code that is easy to understand. Source code will be available throughout the book and freely available via GitHub.After reading and using this book you'll be able write correct, big free software source code applicable no matter which platform and programming language you use. What You Will LearnDiscover the Microsoft Research-backed Dafny programming language Explore Hoare logic, imperative and functional programsWork with pre- and post-conditionsUse data types, pattern matching, and classesDive into verification examples for potential re-use for your own projectsWho This Book Is ForSoftware developers and programmers with at least prior, basic programming experience. No specific language needed. It is also for those with very basic mathematical experience (function, variables).
Patterns of Software Construction
Master how to implement a repeatable software construction system. This book closely examines how a system is designed to tie a series of activities together that are needed when building software-intensive systems. Software construction and operations don't get enough attention as a repeatable system. The world is stuck in agile backlog grooming sessions, and quality is not increasing. Companies' budgets are shrinking, and teams need a way to get more done with less, consistently. This topic is very relevant to our current economic conditions and continuing globalization trends. A reason we constantly need more hands-on-the-keyboards is because of all the waste created in development cycles. We need more literature on how to "do software" not just write software. These goals are accomplished using the concept of evolutions, much like the Navy SEALS train their team members. For LIFT, the evolutions are: Plan, Build, Test, Release, Operate and Manage. The entire purpose of the book is instructing professionals how to use these distinct evolutions while remaining agile. And then, inside of each evolution, to explicitly break down the inputs to the evolution, outputs and series of activities taking place. Patterns of Software Construction clearly outlines how together this becomes the system.What You Will LearnOptimize each evolution of a software delivery cycleReview best practices of planning, highest return in the build cycle, and ignored practices in test, release, and operate Apply the highest return techniques during the software build evolutionWho This Book is ForManagers, developers, tech lead, team lead, aspiring engineer, department leaders in corporations, executives, small business owner, IT Director
Ernst Denert Award for Software Engineering 2020
This open access book provides an overview of the dissertations of the eleven nominees for the Ernst Denert Award for Software Engineering in 2020. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice.The book contains eleven papers that describe the works by Jonathan Brachth瓣user (EPFL Lausanne) entitled What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style, Mojdeh Golagha's (Fortiss, Munich) thesis How to Effectively Reduce Failure Analysis Time?, Nikolay Harutyunyan's (FAU Erlangen-N羹rnberg) work on Open Source Software Governance, Dominic Henze's (TU Munich) research about Dynamically Scalable Fog Architectures, Anne Hess's (Fraunhofer IESE, Kaiserslautern) work on Crossing Disciplinary Borders to Improve Requirements Communication, Istvan Koren's (RWTH Aachen U) thesis DevOpsUse: A Community-Oriented Methodology for Societal Software Engineering, Yannic Noller's (NU Singapore) work on Hybrid Differential Software Testing, Dominic Steinhofel's (TU Darmstadt) thesis entitled Ever Change a Running System: Structured Software Reengineering Using Automatically Proven-Correct Transformation Rules, Peter W瓣gemann's (FAU Erlangen-N羹rnberg) work Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical Systems, Michael von Wenckstern's (RWTH Aachen U) research on Improving the Model-Based Systems Engineering Process, and Franz Zieris's (FU Berlin) thesis on Understanding How Pair Programming Actually Works in Industry: Mechanisms, Patterns, and Dynamics - which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.
Ernst Denert Award for Software Engineering 2020
This open access book provides an overview of the dissertations of the eleven nominees for the Ernst Denert Award for Software Engineering in 2020. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice.The book contains eleven papers that describe the works by Jonathan Brachth瓣user (EPFL Lausanne) entitled What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style, Mojdeh Golagha's (Fortiss, Munich) thesis How to Effectively Reduce Failure Analysis Time?, Nikolay Harutyunyan's (FAU Erlangen-N羹rnberg) work on Open Source Software Governance, Dominic Henze's (TU Munich) research about Dynamically Scalable Fog Architectures, Anne Hess's (Fraunhofer IESE, Kaiserslautern) work on Crossing Disciplinary Borders to Improve Requirements Communication, Istvan Koren's (RWTH Aachen U) thesis DevOpsUse: A Community-Oriented Methodology for Societal Software Engineering, Yannic Noller's (NU Singapore) work on Hybrid Differential Software Testing, Dominic Steinhofel's (TU Darmstadt) thesis entitled Ever Change a Running System: Structured Software Reengineering Using Automatically Proven-Correct Transformation Rules, Peter W瓣gemann's (FAU Erlangen-N羹rnberg) work Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical Systems, Michael von Wenckstern's (RWTH Aachen U) research on Improving the Model-Based Systems Engineering Process, and Franz Zieris's (FU Berlin) thesis on Understanding How Pair Programming Actually Works in Industry: Mechanisms, Patterns, and Dynamics - which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.
Code Like a Pro in Rust
Get ready to code like a pro in Rust with insider techniques used by Rust veterans! Code Like a Pro in Rust dives deep into memory management, asynchronous programming, and the core Rust skills that make you a Rust pro! Plus, you'll find essential productivity techniques for Rust testing, tooling, and project management. You'll soon be writing high-quality code that needs way less maintenance overhead. In Code Like A Pro in Rust, you will learn: Essential Rust tooling Core Rust data structures Memory management Testing in Rust Asynchronous programming for Rust Optimized Rust Rust project management Code Like A Pro in Rust is a fast-track guide to building and delivering professional quality software in Rust. It skips the fluff and gets right to the heart of this powerful modern language. You'll learn how to sidestep common Rust pitfalls and navigate quirks you might never have seen before--even if you've been programming for many years! Plus, discover timeless strategies for navigating the evolving Rust ecosystem and ensure your skills can easily adapt to future changes. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Rust is famous for its safety, performance, and security, but it takes pro skills to make this powerful language shine. This book gets you up to speed fast, so you'll feel confident with low-level systems, web applications, asynchronous programming, concurrency, optimizations, and much more. About the book Code Like a Pro in Rust will make you a more productive Rust programmer. This example-rich book builds on your existing know-how by introducing Rust-specific design patterns, coding shortcuts, and veteran skills like asynchronous programming and integrating Rust with other languages. You'll also meet amazing Rust tools for testing, code analysis, and application lifecycle management. It's all the good stuff in one place! What's inside Core Rust data structures Memory management Creating effective APIs Rust tooling, testing, and more About the reader Assumes you know Rust basics. About the author Brenden Matthews is a software engineer, entrepreneur, and a prolific open source contributor who has been using Rust since the early days of the language. Table of Contents 1 Feelin' Rusty PART 1 2 Project management with Cargo 3 Rust tooling PART 2 4 Data structures 5 Working with memory PART 3 6 Unit testing 7 Integration testing PART 4 8 Async Rust 9 Building an HTTP REST API service 10 Building an HTTP REST API CLI PART 5 11 Optimizations
Sustainability Analysis and Environmental Decision-Making Using Simulation, Optimization, and Computational Analytics
Effective environmental decision-making is often challenging and complex, where final solutions frequently possess inherently subjective political and socio-economic components. Consequently, complex sustainability applications in the "real world" frequently employ computational decision-making approaches to construct solutions to problems containing numerous quantitative dimensions and considerable sources of uncertainty. This volume includes a number of such applied computational analytics papers that either create new decision-making methods or provide innovative implementations of existing methods for addressing a wide spectrum of sustainability applications, broadly defined. The disparate contributions all emphasize novel approaches of computational analytics as applied to environmental decision-making and sustainability analysis - be this on the side of optimization, simulation, modelling, computational solution procedures, visual analytics, and/or information technologies.
Learning DevOps - Second Edition
Implement modern DevOps techniques to increase business productivity, agility, reliability, security, and scalabilityKey Features: Learn how to use business resources effectively for improved productivity and collaborationUse infrastructure as code practices to build large-scale cloud infrastructureLeverage the ultimate open source DevOps tools to achieve continuous integration and continuous delivery (CI/CD)Book Description: In the implementation of DevOps processes, the choice of tools is crucial to the sustainability of projects and collaboration between developers and ops. This book presents the different patterns and tools for provisioning and configuring an infrastructure in the cloud, covering mostly open source tools with a large community contribution, such as Terraform, Ansible, and Packer, which are assets for automation.This DevOps book will show you how to containerize your applications with Docker and Kubernetes and walk you through the construction of DevOps pipelines in Jenkins as well as Azure pipelines before covering the tools and importance of testing. You'll find a complete chapter on DevOps practices and tooling for open source projects before getting to grips with security integration in DevOps using Inspec, Hashicorp Vault, and Azure Secure DevOps kit. You'll also learn about the reduction of downtime with blue-green deployment and feature flags techniques before finally covering common DevOps best practices for all your projects.By the end of this book, you'll have built a solid foundation in DevOps and developed the skills necessary to enhance a traditional software delivery process using modern software delivery tools and techniques.What You Will Learn: Understand the basics of infrastructure as code patterns and practicesGet an overview of Git command and Git flowInstall and write Packer, Terraform, and Ansible code for provisioning and configuring cloud infrastructure based on Azure examplesUse Vagrant to create a local development environmentContainerize applications with Docker and KubernetesApply DevSecOps for testing compliance and securing DevOps infrastructureBuild DevOps CI/CD pipelines with Jenkins, Azure Pipelines, and GitLab CIExplore blue-green deployment and DevOps practices for open sources projectsWho this book is for: If you are an application developer or a system administrator interested in understanding continuous integration, continuous delivery, and containerization with DevOps tools and techniques, this book is for you. Knowledge of DevOps fundamentals and Git principles is required.
Operationalizing Machine Learning Pipelines
Implementing ML pipelines using MLOpsKey FeaturesIn-depth knowledge of MLOps, including recommendations for tools and processes.Includes only open-source cloud-agnostic tools for demonstrating MLOps.Covers end-to-end examples of implementing the whole process on Google Cloud Platform.DescriptionThis book will provide you with an in-depth understanding of MLOps and how you can use it inside an enterprise. Each tool discussed in this book has been thoroughly examined, providing examples of how to install and use them, as well as sample data.This book will teach you about every stage of the machine learning lifecycle and how to implement them within an organisation using a machine learning framework. With GitOps, you'll learn how to automate operations and create reusable components such as feature stores for use in various contexts. You will learn to create a server-less training and deployment platform that scales automatically based on demand. You will learn about Polyaxon for machine learning model training, and KFServing, for model deployment. Additionally, you will understand how you should monitor machine learning models in production and what factors can degrade the model's performance.You can apply the knowledge gained from this book to adopt MLOps in your organisation and tailor the requirements to your specific project. As you keep an eye on the model's performance, you'll be able to train and deploy it more quickly and with greater confidence.What you will learnQuick grasp of the entire machine learning lifecycle and tricks to manage all components.Learn to train and validate machine learning models for scalability.Get to know the pros of cloud computing for scaling ML operations.Covers aspects of ML operations, such as reproducibility and scalability, in detail.Get to know how to monitor machine learning models in production.Learn and practice automating the ML training and deployment processes.Who this book is forThis book is intended for machine learning specialists, data scientists, and data engineers who wish to improve and increase their MLOps knowledge to streamline machine learning initiatives. Readers with a working knowledge of the machine learning lifecycle would be advantageous.Table of Contents1. DS/ML Projects Initial Setup2. ML Projects Lifecycle3. ML Architecture Framework and Components4. Data Exploration and Quantifying Business Problem5. Training & Testing ML model6. ML model performance measurement7. CRUD operations with different JavaScript frameworks8. Feature Store9. Building ML PipelineRead more
Algorithms and Architectures for Parallel Processing
The three volume set LNCS 13155, 13156, and 13157 constitutes the refereed proceedings of the 21st International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2021, which was held online during December 3-5, 2021. The total of 145 full papers included in these proceedings were carefully reviewed and selected from 403 submissions. They cover the many dimensions of parallel algorithms and architectures including fundamental theoretical approaches, practical experimental projects, and commercial components and systems. The papers were organized in topical sections as follows: Part I, LNCS 13155: Deep learning models and applications; software systems and efficient algorithms; edge computing and edge intelligence; service dependability and security algorithms; data science; Part II, LNCS 13156: Software systems and efficient algorithms; parallel and distributed algorithms and applications; data science; edge computing and edge intelligence; blockchain systems; deept learning models and applications; IoT; Part III, LNCS 13157: Blockchain systems; data science; distributed and network-based computing; edge computing and edge intelligence; service dependability and security algorithms; software systems and efficient algorithms.
Linux System Administration for the 2020s
Build and manage large estates, and use the latest OpenSource management tools to breakdown a problems. This book is divided into 4 parts all focusing on the distinct aspects of Linux system administration. The book begins by reviewing the foundational blocks of Linux and can be used as a brief summary for new users to Linux and the OpenSource world. Moving on to Part 2 you'll start by delving into how practices have changed and how management tooling has evolved over the last decade. You'll explore new tools to improve the administration experience, estate management and its tools, along with automation and containers of Linux. Part 3 explains how to keep your platform healthy through monitoring, logging, and security. You'll also review advanced tooling and techniques designed to resolve technical issues. The final part explains troubleshooting and advanced administration techniques, and less known methods for resolving stubborn problems.With Linux System Administration for the 2020s you'll learn how to spend less time doing sysadmin work and more time on tasks that push the boundaries of your knowledge. What You'll Learn Explore a shift in culture and redeploy rather than fix Improve administration skills by adopting modern toolingAvoid bad practices and rethink troubleshootingCreate a platform that requires less human intervention Who This Book Is ForEveryone from sysadmins, consultants, architects or hobbyists.