Computer und IT
Running ESXi on a Raspberry Pi
Gain foundational knowledge of ESXi technology and understand why it is such a dominant force in the datacenter. This book also looks beyond ESXi to other vSphere technologies, such as virtual machines (VMs), vMotion, and vCenter Server.Knowing how these technologies complement ESXi running on a Raspberry Pi will help you get the most out of ESXi on Arm technologies. This marks a significant change for ESXi, and has created new learning opportunities and use cases for both seasoned ESXi users and users completely new to the virtualization space. For those already familiar with ESXi but new to the Raspberry Pi, you’ll develop an in-depth understanding of this device and why it has become such a popular platform for technologists.Once you’ve learned the fundamentals, you’ll be introduced to enterprise, edge, and personal use-cases for this technology. Then, you’ll be walked through the process of installing ESXi on a Pi, as well as managing and monitoring it. You will also come to recognize its strengths and limitations and become familiar with the storage and networking options that are currently available. Lastly, given the fact that the sole purpose of running ESXi on a Pi is to run VMs on it, you’ll receive detailed step-by-step instructions for installing popular OSes including Ubuntu, CentOS, and Raspberry Pi OS.WHAT YOU'LL LEARN* Build a fully functional ESXi server on a Raspberry Pi* Select the correct hardware for particular use cases* Create and optimize virtual machines running on a Pi* Run Kubernetes on a Pi running ESXiWHO THIS BOOK IS FORThose new to the datacenter who want a low-cost way to work with one of the most powerful datacenter technologies to experienced datacenter professionals who need to use ESXi on Arm to complement their enterprise’s long-term strategic goals.TOM FENTON has worked with virtualization for over two decades. He’s held staff and senior-level positions at VMware, IBM, ControlUp, and other high-tech companies. He wrote the first training course for Horizon, VMware’s virtual desktop product. He is a frequent contributor to StorageReview.com, Virtualization & Cloud Review magazine, and other blogs and websites. He lives in the Pacific Northwest and enjoys skiing, snowboarding, hiking, and trail riding. Chapter 1: ESXi on Arm on PiAbout This BookWhat You’ll Learn About ESXi on Arm on PiWho This Book Is ForIntroduction to ESXi on Arm on PiIntroduction to Virtual MachinesIntroduction to ESXiIntroduction to ArmIntroduction to PiIntroduction to ESXi on Arm on PiLimitations on Using a Pi for ESXiExecutablesPi HardwareStorageRAMNICLicensing ESXi on ArmChapter 2: ESXi on Arm on Pi Use CasesLearning EnvironmentCorporate sandboxHome LabHome AssistantGame ServerLightweight VDI HostWeb DevelopmentEdge ServervSAN WitnessMicro vSphere ClusterFirewall for Small OfficeAutomation environment for PowerCLI and Terraform and packerKubernetesChapter 3: ESXi on Arm on Pi Build KitsRequirementsLow-Cost Naked BuildArgon One KitArgon One Kit M.2Argon One Kit Expansion BoardCluster Build 1Chapter 4: Installing ESXi on a PiHardware PreparationInstall Pi on microSD cardUpdate Pi eepromPrep microSD with UEFIInstall ESXi on the ArmModify Pi boot orderPost Installation ConfigurationChapter 5: ESXi Client for ManagementInstalling the ClientManaging ESXi using the ESXi ClientCreating a Virtual MachineMonitoring ESXi using the ESXi ClientGoing furtherChapter 6: vCenter Server for ManagementIntroduction to vCenter ServerInstalling the vCenter Server on x64 ESXiInstalling the vCenter Server on VMware WorkstationManaging ESXi using vCenter ServerCreating a Virtual MachineMonitoring ESXiChapter 7: Storage Options for ESXi on a PiDatastoresNFSiSCSILocal StorageThumb drivesSATA HDDSATA SSDNVMe in EncloserPerformance Comparison of Storage OptionsChapter 8: Virtual Machines on ESXiVirtual MachinesVMware ToolsvMotionCloning virtual machinesWhy Windows will Not WorkUbuntuRed HatSUSEFreeBSDChapter 9: Kubernetes on ESXiInstalling K3sSample KChapter 10: Going Further3rd Party Monitoring – Grafana3rd Party Monitoring - ControlUpStateless ESXi on ArmAdditional NICsHigh Availability and ESXivSphere Distributed SwitchConclusion
Web App Development and Real-Time Web Analytics with Python
Learn to develop and deploy dashboards as web apps using the Python programming language, and how to integrate algorithms into web apps.Author Tshepo Chris Nokeri begins by introducing you to the basics of constructing and styling static and interactive charts and tables before exploring the basics of HTML, CSS, and Bootstrap, including an approach to building web pages with HTML. From there, he’ll show you the key Python web frameworks and techniques for building web apps with them. You’ll then see how to style web apps and incorporate themes, including interactive charts and tables to build dashboards, followed by a walkthrough of creating URL routes and securing web apps. You’ll then progress to more advanced topics, like building machine learning algorithms and integrating them into a web app. The book concludes with a demonstration of how to deploy web apps in prevalent cloud platforms.Web App Development and Real-Time Web Analytics with Python is ideal for intermediate data scientists, machine learning engineers, and web developers, who have little or no knowledge about building web apps that implement bootstrap technologies. After completing this book, you will have the knowledge necessary to create added value for your organization, as you will understand how to link front-end and back-end development, including machine learning.WHAT YOU WILL LEARN* Create interactive graphs and render static graphs into interactive ones* Understand the essentials of HTML, CSS, and Bootstrap* Gain insight into the key Python web frameworks, and how to develop web applications using themDevelop machine learning algorithms and integrate them into web apps * Secure web apps and deploy them to cloud platformsWHO THIS BOOK IS FORIntermediate data scientists, machine learning engineers, and web developers. Tshepo Chris Nokeri harnesses big data, advanced analytics, and artificial intelligence to foster innovation and optimize business performance. In his functional work, he has delivered complex solutions to companies in the mining, petroleum, and manufacturing industries. He initially completed a bachelor’s degree in information management. He then graduated with an honors degree in business science at the University of the Witwatersrand on a TATA prestigious scholarship and a Wits Postgraduate Merit Award. They unanimously awarded him the Oxford University Press Prize. He has authored the Apress book Data Science Revealed and Implementing Machine Learning for Finance. Chapter 1: Static 2D and 3D GraphsChapter Goal: This chapter introduces the basics of tabulating data and constructing staticgraphical representations. To begin with, it exhibits an approach of extracting and tabulating data by implementing the pandas and sqlalchemy library. Subsequently, it reveals a prevalent 2D and 3D charting recognized as Matplotlib, then exhibits a technique of constructing basic charts (i.e. box-whisker plot, histogram, line plot, and scatter plot).● Tabulating Data● 2D Chartingo Box-whisker-ploto Histogramo Line ploto Scatter ploto Density Plot● 3D Charting● ConclusionChapter 2: Interactive ChartingChapter Goal: This chapter introduces an approach for constructing interactive charts byimplementing the most prevalent library, recognized as Plotly.● Plotly● 2D Chartingo Box-whisker-ploto Histogramo Line ploto Scatter ploto Density Ploto Bar Charto Pie Charto Sunburst● 3D Charting● ConclusionChapter 3: Containing functionality in Interactive GraphsChapter Goal: This chapter extends to the preceding chapter. It introduces an approach toupdating interactive graphs to improve user experience. For instance, you will learn how to add buttons and range sliders, among other functionalities. Besides that, it exhibits an approach for integrating innumerable graphs into one graph with some functionality.● Updating Graph Layout● Updating Plotly Axes● Including Range Slider● Including Buttons to a Graph● Styling Interactive Graphs● Updating Plotly X-Axis● Color Sequencing● Subplots● ConclusionsChapter 4: Essentials of HTMLChapter Goal: This chapter introduces the most prevalent markup language for developingwebsites. It acquaints you with the essentials of designing websites. Besides that, it contains a richset of code and examples to support you in getting started with coding using HTML.● The Communication between a Web Browser and Web Server● Domain Hostingo Shared Hostingo Managed Hosting● HyperText Markup Languageo HTML Elements▪ Headings▪ Paragraphs▪ Div▪ Span▪ Buttons▪ Text Box▪ Input▪ File Upload▪ Label▪ Form▪ Meta Tag● Practical Example● ConclusionChapter 5: Python Web Frameworks and ApplicationsChapter Goal: The preceding chapter acquainted you with interactive visualization using Plotly. This chapter introduces key Python web frameworks (i.e., flask and dash) and how they differ.Besides that, it provides practical examples and helps you get started with Python web development.● Web Frameworks● Web Applications● Flasko WSGIo Werkzeugo Jinjao Installing Flasko Initializing a Flask Web Applicationo Flask Application Codeo Deploy a Flask Web Application● Dasho Installing Dash Dependencieso Initializing a Dash Web Applicationo Dash Application Codeo Deploy a Dash Web Application● Jupyter Dash● ConclusionChapter 6: Dash Bootstrap ComponentsChapter Goal: This chapter covers dash_bootstrap_component. It is a Python library from the Plotly family, which enables us to have key bootstrap functionalities on a dash web application, thussimplifying the web application development.● Dash Bootstrap Components (cont.)o Number Inputo Text Areaso Selecto Radio Itemso Checklisto Switcheso Tabso Buttono Table● ConclusionChapter 7: Styling and ThemingChapter Goal: This chapter introduces the basics of UX design for a web application, dash with plotly. To begin with, it introduces styling an HTML web page. Subsequently, it acquaints you with the Cascade styling sheet (css). Following that, it presents bootstrap. Afterward, it reveals bootstrapping dash web applications. It concludes by demonstrating a way of designing the layout of a dash webapplication.● Styling● Cascade Styling Sheet● Bootstrap● Dash Bootstrappingo Dash Core Componentso Dash Bootstrap Componentso Implementing Dash Bootstrap Components Themingo Dash HTML Componentso Dash Web Application Layout Design● Responsive Grid SystemChapter 8: Real-Time Web ApplicationChapter Goal: This chapter introduces you to creating a real-time web application with aresponsive navigation bar, sidebar, charts, tables, callbacks, and URL routing. After reading the contents of this chapter you should be able to develop a functional and responsive web application by implementing key Python web frameworks (i.e., dash, dash_core_components, dash_html_components). Besides that, you should be able to use the Input, State, and Output methods available for creating functional application callbacks. Equally, it acquaints you with an approach for implementing CSS to customize as a dash web application.Sub-topics:● Creating Iconso Alert Icono Messageso Profile Icon with Dropdown Menu● Search Bar● Navigation Bar● Sidebar Styling● Responsive Sidebar Styling● Content Styling● Sub Menu● Finalize Sidebar Menu● Footer Navigation Bar● Web Application Layout● Including Charts● Including a Table● Enabling Data Download● Tabs● Collapse● Callbackso Callbacks for Responsive Menu● URL Routing● ConclusionChapter 9: Basic AuthenticationChapter Goal: This chapter introduces an approach to securing a dash web application. After reading the contents of this chapter, you should be able to implement user access control, thus providing users access to some web resources and restricting them to others.Sub-topics:● Dash Authentications● Login Form● Login on Home Page● ConclusionChapter 10: Dash Into a Full WebsiteChapter Goal: Prior chapters introduced a way of building dashboards as web applications,integrated with machine learning models. This chapter takes it a step further. It introduces a way of building the front-end. After reading the contents of this chapter, you should be able to build important pages of a website, such as the home page, about us page, and contact us page, in addition to that, a page for billing/checkout.Sub-topics:● Building Home Page● Building Contact Us Page● Building Billing / Check-Out BuildingChapter 11: Integrate Machine Learning ModelsChapter Goal: This chapter introduces an approach to integrate machine learning models. Initially, it will provide an over of machine learning recognized as linear regression, including ways of preprocessing data and generating predictions. It concludes by exhibiting a technique of implementing it in web applications.Sub-topics:● An Introduction to Linear Regression● An Introduction to Scikit learn● Preprocessing● Splitting Data into Training and Test Data● Standardization● Training an Algorithm● Predictions● Integrating an Algorithm to a Web App● ConclusionsChapter 12: Deploying Web AppChapter Goal: This chapter concludes the book. It exhibits a way of deploying a web app. Initially, it summarizes an integrated development environment useful for developing, testing, and debugging Python web frameworks. Subsequently, it exhibits an approach of organizing the file structure prior to deploying a web app. Besides that, it provides a practical example that will help you better web app deployment.Sub-topics:● Integrated Development Environment○ PyCharm● Virtual Environment● File Structure● Integration among Multiple Innumerable Python Files● Hosting Web App
Soziale Roboter
Soziale Roboter sind sensomotorische Maschinen, die für den Umgang mit Menschen oder Tieren geschaffen wurden. Sie können über fünf Dimensionen bestimmt werden, nämlich die Interaktion mit Lebewesen, die Kommunikation mit Lebewesen, die Nähe zu Lebewesen, die Abbildung von (Aspekten von) Lebewesen sowie – im Zentrum – den Nutzen für Lebewesen. Bei einem weiten Begriff können neben Hardwarerobotern auch Softwareroboter wie gewisse Chatbots, Voicebots und Social Bots dazu zählen. Die Disziplin, die soziale Roboter – ob als Spielzeugroboter, als Serviceroboter (Pflegeroboter, Therapieroboter, Sexroboter, Sicherheitsroboter etc.) oder als Industrieroboter in der Art von Kooperations- und Kollaborationsrobotern (Co-Robots bzw. Cobots) – erforscht und hervorbringt, ist die Soziale Robotik.Das Buch schafft Grundlagen in technikwissenschaftlicher, wirtschaftswissenschaftlicher, philosophischer, psychologischer und soziologischer Hinsicht. Es stellt dar, was soziale Roboter ausmacht, wie sie gebaut und programmiert werden, welche Anwendungsmöglichkeiten existieren und welche Herausforderungen sich ergeben.Das Kapitel 2 wird auf link.springer.com unter der Creative Commons Namensnennung 4.0 International Lizenz veröffentlicht.Prof. Dr. Oliver Bendel promovierte an der Universität St. Gallen. Er ist Dozent für Wirtschaftsinformatik, Informationsethik und Maschinenethik und forscht in Informations-, Maschinen- und Roboterethik.
The Little Book of Artificial Intelligence
This book is a brief introduction to artificial intelligence. It is intended for readers, in business, education, government, and self-edification.The author would like to thank his wife Margaret for helping with the manuscript. As in most disciplines, some of the subject matter is new and some of the subject matter is not so new, especially to persons trained in the subject of computers. A person with a degree in computer science should know it already. Artificial intelligence is an important subject to the modern world, and some disciplines have already benefitted greatly from it.The reader can survey the subject matter in any order he or she pleases. The busy executive can benefit greatly from it their parent organization. Executives in finance and banking can use to understand what is going on in their endeavors.Artificial intelligence is not only software but uses specially prepared software to take intellectual benefit in understanding what his or her data systems are doing.Artificial intelligence is something for the future from self-driving vehicles to self-managed business.
Apache Kafka
Die Zukunft eines Unternehmens ist sicher, wenn es mit Daten richtig umgeht. Neben dem Sammeln, Speichern und Auswerten ist der Austausch von Daten zwischen unterschiedlichen Systemen hierbei von immenser Bedeutung. Denn er soll zuverlässig und möglichst in Echtzeit erfolgen. Diese Anforderungen sind der Grund, weshalb sich Apache Kafka als Standard etabliert hat. Immer mehr Unternehmen setzen Apache Kafka heute als Streaming-Plattform und Messaging-System ein, um die Komplexität moderner IT-Architekturen beherrschbar zu machen. Um bei dieser Mission erfolgreich zu sein, ist Wissen entscheidend. Dieses Buch nimmt Software-Architekten, Entwickler und Administratoren gleichermaßen auf eine spannende Apache-Kafka-Mission mit. Eine Mission, die von den Grundlagen bis zum Produktiveinsatz von Kafka-basierten Daten-Pipelines reicht. Erleben Sie, wie Apache Kafka Zuverlässigkeit und Performance erreicht und wie Sie Komplikationen frühzeitig meistern können. Anhand zahlreicher Praxisbeispiele lernt man zudem, wie Best-Practice-Lösungen im eigenen Unternehmen umgesetzt werden können. Aus dem Inhalt:Warum Kafka? – Motivation für Kafka und verbreitete NutzungsartenWas ist Kafka? – Kafka als verteilter LogWie erreicht Kafka seine Performance? – Partitionen und Consumer GroupsWie erreicht Kafka seine Zuverlässigkeit? – Replikation, ACKs und Exactly OnceNachrichten produzieren und konsumieren: Was passiert in den Clients und auf den Brokern?Nachrichten aufräumen: Wie können nicht mehr benötigte Daten gelöscht und Speicherplatz frei geräumt werden?• Einblicke in das Kafka-Ökosystem: Kafka über Kafka Connect mit anderen Systemen wie Datenbanken und externen Systemen verbindenAutoren: Anatoly Zelenin vermittelt als IT-Trainer hunderten Teilnehmern Apache Kafka in interaktiven Schulungen. Seine Kunden aus dem DAX-Umfeld und dem deutschen Mittelstand schätzen seit über einem Jahrzehnt seine Expertise und seine begeisternde Art. Darüber hinaus ist er nicht nur IT-Berater und -Trainer, sondern erkundet auch als Abenteurer unseren Planeten. Alexander Kropp ist seit seiner Kindheit leidenschaftlicher Informatiker und programmiert seit er 10 Jahre alt ist. Als Forscher und Berater unterstützt Alexander seit einem Jahrzehnt namhafte Unternehmen bei der Digitalisierung und Prototypen-Entwicklung. Parallel ist er als Dozent und Trainer im Cloud-Umfeld tätig
Cryptography, Information Theory, and Error-Correction
A rich examination of the technologies supporting secure digital information transfers from respected leaders in the field As technology continues to evolve Cryptography, Information Theory, and Error-Correction: A Handbook for the 21ST Century is an indispensable resource for anyone interested in the secure exchange of financial information. Identity theft, cybercrime, and other security issues have taken center stage as information becomes easier to access. Three disciplines offer solutions to these digital challenges: cryptography, information theory, and error-correction, all of which are addressed in this book. This book is geared toward a broad audience. It is an excellent reference for both graduate and undergraduate students of mathematics, computer science, cybersecurity, and engineering. It is also an authoritative overview for professionals working at financial institutions, law firms, and governments who need up-to-date information to make critical decisions. The book’s discussions will be of interest to those involved in blockchains as well as those working in companies developing and applying security for new products, like self-driving cars. With its reader-friendly style and interdisciplinary emphasis this book serves as both an ideal teaching text and a tool for self-learning for IT professionals, statisticians, mathematicians, computer scientists, electrical engineers, and entrepreneurs. Six new chapters cover current topics like Internet of Things security, new identities in information theory, blockchains, cryptocurrency, compression, cloud computing and storage. Increased security and applicable research in elliptic curve cryptography are also featured. The book also: Shares vital, new research in the field of information theoryProvides quantum cryptography updatesIncludes over 350 worked examples and problems for greater understanding of ideas. Cryptography, Information Theory, and Error-Correction guides readers in their understanding of reliable tools that can be used to store or transmit digital information safely. CRYPTOGRAPHY, INFORMATION THEORY, AND ERROR-CORRECTION A rich examination of the technologies supporting secure digital information transfers from respected leaders in the field As technology continues to evolve Cryptography, Information Theory, and Error-Correction: A Handbook for the 21ST Century is an indispensable resource for anyone interested in the secure exchange of financial information. Identity theft, cybercrime, and other security issues have taken center stage as information becomes easier to access. Three disciplines offer solutions to these digital challenges: cryptography, information theory, and error-correction, all of which are addressed in this book. This book is geared toward a broad audience. It is an excellent reference for both graduate and undergraduate students of mathematics, computer science, cybersecurity, and engineering. It is also an authoritative overview for professionals working at financial institutions, law firms, and governments who need up-to-date information to make critical decisions. The book’s discussions will be of interest to those involved in blockchains as well as those working in companies developing and applying security for new products, like self-driving cars. With its reader-friendly style and interdisciplinary emphasis this book serves as both an ideal teaching text and a tool for self-learning for IT professionals, statisticians, mathematicians, computer scientists, electrical engineers, and entrepreneurs. Six new chapters cover current topics like Internet of Things security, new identities in information theory, blockchains, cryptocurrency, compression, cloud computing and storage. Increased security and applicable research in elliptic curve cryptography are also featured. The book also: Shares vital, new research in the field of information theoryProvides quantum cryptography updatesIncludes over 350 worked examples and problems for greater understanding of ideas. Cryptography, Information Theory, and Error-Correction guides readers in their understanding of reliable tools that can be used to store or transmit digital information safely. Aiden A. Bruen, PhD, was most-recently adjunct research professor in the School of Mathematics and Statistics at Carleton University. He was professor of mathematics and honorary professor of applied mathematics at the University of Western Ontario from 1972-1999 and has instructed at various institutions since then. Dr. Bruen is the co-author of Cryptography, Information Theory, and Error-Correction: A Handbook for the 21st Century (Wiley, 2004). Mario A. Forcinito, PhD, is Director and Chief Engineer at AP Dynamics Inc. in Calgary. He is previously instructor at the Pipeline Engineering Center at the Schulich School of Engineering in Calgary. Dr. Forcinito is co-author of Cryptography, Information Theory, and Error-Correction: A Handbook for the 21st Century (Wiley, 2004).
Small-N und Big-N-Data in der Sportwissenschaft
Im Rahmen dieses essentials legen die Autoren das Augenmerk auf die Besonderheiten des Umgangs mit kleinen und großen Datenmengen in der Sportwissenschaft. Kurz und überblickartig wird dargestellt, welche Designs im Rahmen von Single-Case-Studies zum Einsatz gelangen können und wie solche Studien ausgewertet werden. Weiterhin wird erläutert, wie man die beste wissenschaftliche Evidenz in die (medizinische) Praxis integriert und wie im Rahmen von Forschungsprojekten die erhobenen Daten gesichert und öffentlich zugänglich gemacht werden. Darüber hinaus wird dargestellt, was alles unter dem Begriff Big Data subsumiert wird und welche Möglichkeiten und Grenzen für die Wissenschaft mit Big Data verbunden sind.
Synology NAS - Die praktische Anleitung
Sie möchten mit einem Synology NAS Ihre Daten zentral speichern, eigene Backups erstellen und Fotos, Filme und Dokumente streamen? Dennis Rühmer hilft Ihnen bei diesen Aufgaben und erklärt, wie Sie Ihr Synology NAS richtig konfigurieren und eine private Cloud aufsetzen. Damit können Sie Ihre Daten sicher ablegen und verwalten, Live-TV aufnehmen, automatische Sicherungen Ihrer Rechner anlegen, Kalender und Kontakte verwalten und noch viel mehr. Vom reibungslosen Einstieg und einer Kaufberatung über zentrale Grundlagen bis zu den vielfältigen Diensten erfahren Sie in diesem Ratgeber, was Sie über Ihr Synology NAS für einen reibungslosen Betrieb wissen müssen.Aus dem Inhalt:Das richtige NAS wählenDas Gerät sicher einrichtenNetzwerkfreigaben verwaltenKalender und AdressbuchMusik per NAS abspielenFotos organisieren und teilenVideos genießen und verwaltenEin zentrales Backup erstellenEinen zentralen Drucker einrichtenKameraüberwachung steuernEinen TV-Server nutzenSicherheit im HeimnetzAutor: Dennis Rühmer ist promovierter Ingenieur der Elektrotechnik, an der TU Braunschweig als wissenschaftlicher Mitarbeiter tätig und erfahrener Buchautor. Er befasst sich intensiv mit Datensicherung und Streaming, ist großer Raspberry Pi- und Kodi-Fan, bekennender Linuxer und interessiert sich seit frühester Kindheit für digitale Fotografie.
Pretrained Transformers for Text Ranking
THE GOAL OF TEXT RANKING IS TO GENERATE AN ORDERED LIST OF TEXTS RETRIEVED FROM A CORPUS IN RESPONSE TO A QUERY. ALTHOUGH THE MOST COMMON FORMULATION OF TEXT RANKING IS SEARCH, INSTANCES OF THE TASK CAN ALSO BE FOUND IN MANY NATURAL LANGUAGE PROCESSING (NLP) APPLICATIONS. This book provides an overview of text ranking with neural network architectures known as transformers, of which BERT (Bidirectional Encoder Representations from Transformers) is the best-known example. The combination of transformers and self-supervised pretraining has been responsible for a paradigm shift in NLP, information retrieval (IR), and beyond.This book provides a synthesis of existing work as a single point of entry for practitioners who wish to gain a better understanding of how to apply transformers to text ranking problems and researchers who wish to pursue work in this area. It covers a wide range of modern techniques, grouped into two high-level categories: transformer models that perform reranking in multi-stage architectures and dense retrieval techniques that perform ranking directly. Two themes pervade the book: techniques for handling long documents, beyond typical sentence-by-sentence processing in NLP, and techniques for addressing the tradeoff between effectiveness (i.e., result quality) and efficiency (e.g., query latency, model and index size). Although transformer architectures and pretraining techniques are recent innovations, many aspects of how they are applied to text ranking are relatively well understood and represent mature techniques. However, there remain many open research questions, and thus in addition to laying out the foundations of pretrained transformers for text ranking, this book also attempts to prognosticate where the field is heading.* Preface* Acknowledgments* Introduction* Setting the Stage* Multi-Stage Architectures for Reranking* Refining Query and Document Representations* Learned Dense Representations for Ranking* Future Directions and Conclusions* Bibliography* Authors' Biographies
Navigating the Cybersecurity Career Path
LAND THE PERFECT CYBERSECURITY ROLE—AND MOVE UP THE LADDER—WITH THIS INSIGHTFUL RESOURCEFinding the right position in cybersecurity is challenging. Being successful in the profession takes a lot of work. And becoming a cybersecurity leader responsible for a security team is even more difficult.In Navigating the Cybersecurity Career Path, decorated Chief Information Security Officer Helen Patton delivers a practical and insightful discussion designed to assist aspiring cybersecurity professionals entering the industry and help those already in the industry advance their careers and lead their first security teams. In this book, readers will find:* Explanations of why and how the cybersecurity industry is unique and how to use this knowledge to succeed* Discussions of how to progress from an entry-level position in the industry to a position leading security teams and programs* Advice for every stage of the cybersecurity career arc* Instructions on how to move from single contributor to team leader, and how to build a security program from scratch* Guidance on how to apply the insights included in this book to the reader's own situation and where to look for personalized help* A unique perspective based on the personal experiences of a cybersecurity leader with an extensive security backgroundPerfect for aspiring and practicing cybersecurity professionals at any level of their career, Navigating the Cybersecurity Career Path is an essential, one-stop resource that includes everything readers need to know about thriving in the cybersecurity industry.HELEN E. PATTON has held several senior technical leadership positions in cybersecurity, including Advisory Chief Information Security Officer at Cisco, AVP and Chief Information Security Officer at the Ohio State University and Executive Director of IT Risk and Resiliency at JP Morgan Chase.Foreword: Navigating the Cybersecurity Career Path xvIntroduction xviiPART I ARRIVING IN SECURITY 1CHAPTER 1 HOW DO YOU BECOME A SECURITY PROFESSIONAL? 3Create Your Story 8So, You Want to Work in Security 13What’s Next? 16CHAPTER 2 WHY SECURITY? 19What Kind of People Do Security? 21What Is Your Why? 24What’s Next? 28CHAPTER 3 WHERE CAN I BEGIN? 29What Does It Mean to Be a Security Professional? 32How Can You Make Sense of It All? 35What’s Next? 39CHAPTER 4 WHAT TRAINING SHOULD I TAKE? 41For the Traditional Student 43For the Nontraditional Student 44For the Full-TimeNonsecurity Worker 45Other Things to Consider 46What’s Next? 51CHAPTER 5 WHAT SKILLS SHOULD I HAVE? 53The Entry Point —Technology 55Professional Skills 59What’s Next? 66CHAPTER 6 IS MY RÉSUMÉ OKAY? 67Linking the Résumé to the Job Posting 70Elements of a Résumé 71Digital Presence 77References 78Cover Letters 79What’s Next? 80CHAPTER 7 TRYING WITH LITTLE SUCCESS? 81Physical Location 85Your Company 85Get Specific 86Know Your Market 88Assess Your Efforts So Far 89But I’m Doing All Those Things! 91What’s Next? 92PART II THRIVING IN SECURITY 93CHAPTER 8 HOW DO I KEEP UP? 97Fitting It Into Your Schedule 99Ad Hoc and Planned Learning 102Take a Mini-Sabbatical 103Where Do I Find the Information? 103What’s Next? 105CHAPTER 9 How Can I Manage Security Stress? 107The Stress of Working in Security 109Managing Security Stress 113What’s Next? 118CHAPTER 10 HOW CAN I SUCCEED AS A MINORITY? 119Making Security Work for You 124What’s Next? 128CHAPTER 11 HOW CAN I PROGRESS? 129The Security Journey 131The Opportunist 132The Intentional Career Seeker 136How to Get Promoted 139What’s Next? 141CHAPTER 12 SHOULD I MANAGE PEOPLE? 143Leadership and Management 145Preparing for Your Next Role 150What’s Next? 152CHAPTER 13 HOW CAN I DEAL WITH IMPOSTOR SYNDROME? 153Fact-Check Your Inner Monologue 157Know Competence and Incompetence 158Know When to Ask for Help 159Keep Learning and Know When Enough Is Enough 160Keep Track of Your Successes 161What’s Next? 162CHAPTER 14 HOW CAN I KNOW IF IT’S TIME TO MOVE ON? 163Are You Happy Where You Are? 165Have You Done All You Wanted to Do? 166Have You Learned All You Wanted? 167What Are Your Long-Term Goals? 168Are You Being Pigeonholed? 169Do You Fit Into the Culture? 170Job Hopping 171Are the Other Options Better than Your Current Job? 172What’s Next? 173PART III LEADING SECURITY 175CHAPTER 15 WHERE DO I START? 179What’s on Fire? 180What Is Your Timeline to Act? 181Who Are Your Partners? 182Find the Strengths and Note the Weaknesses 183Draw the Business Risk Picture 184Do You Have a Mandate? 185What’s Next? 186CHAPTER 16 HOW DO I MANAGE SECURITY STRATEGICALLY? 187Consider Your Industry 190Know Your Business Priorities 191Be Pragmatic 193Address Stakeholder Pain Points 194Threats and Vulnerabilities 195Rinse and Repeat 197Putting It Together 198What’s Next? 200CHAPTER 17 HOW DO I BUILD A TEAM? 201It Is About the How 203Things to Consider 207Identify Important Things 209Identify Areas of Weakness 211Discontinuing a Function 212Building New Functions 213What’s Next? 215CHAPTER 18 HOW DO I WRITE A JOB POSTING? 217The Challenge of Job Postings 220What’s Next? 225CHAPTER 19 HOW DO I ENCOURAGE DIVERSITY? 227Start with Numbers 229Understand Your Cultural Issues 230Attracting Diverse Talent 232Writing the Job Description and Posting 234The Interviewing Process 235Retaining Diverse Talent 236Promotions and Career Development 237Leaving the Team 239What’s Next? 239CHAPTER 20 HOW DO I MANAGE UP? 241Who Are Senior Stakeholders? 242Help Them Understand Security 246When Things Go Wrong 250What’s Next? 251CHAPTER 21 HOW DO I FUND MY PROGRAM? 253Funding a Team 255Funding a Program 256The Big Ask 260What’s Next? 261Chapter 22 How Do I Talk About My Security Program? 263What Story Should I Tell? 264Telling Stories 271What’s Next? 273CHAPTER 23 WHAT IS MY LEGACY? 275Making an Impact on the Industry 277Making an Impact on Your Company 281What’s Next? 283Epilogue 285Appendix: Resources 287About the Author 291Acknowledgments 293Index 295
(ISC)2 SSCP Systems Security Certified Practitioner Official Practice Tests
SMARTER, FASTER PREP FOR THE SSCP EXAMThe (ISC)² SSCP Official Practice Tests, 2nd Edition is the only (ISC)²-endorsed set of practice questions for the Systems Security Certified Practitioner (SSCP). This book's first seven chapters cover each of the seven domains on the SSCP exam with sixty or more questions per domain, so you can focus your study efforts exactly where you need more review. When you feel well prepared, use the two complete practice exams from Sybex's online interactive learning environment as time trials to assess your readiness to take the exam.:Coverage of all exam objectives, including:* Security Operations and Administration* Access Controls* Risk Identification, Monitoring and Analysis* Incident Response and Recovery* Cryptography* Network and Communications Security* Systems and Application SecuritySSCP certification demonstrates you have the advanced technical skills and knowledge to implement, monitor and administer IT infrastructure using security best practices, policies and procedures. It's ideal for students pursuing cybersecurity degrees as well as those in the field looking to take their careers to the next level.MIKE CHAPPLE, PhD, CISSP, Security+, CISA, CySA+ is Teaching Professor of IT, Analytics and Operations at the University of Notre Dame. He is a leading expert on cybersecurity certification and runs CertMike.com. Mike is the author of more than 25 books including (ISC)2 CISSP Certified Information Systems Security Professional Official Study Guide, 7th, 8th, and 9th Editions.DAVID SEIDL, CISSP, GPEN, GCIH, CySA+, Pentest+ is the Vice President for Information Technology and CIO at Miami University of Ohio. During his IT career, he has served in a variety of technical and information security roles including serving as the Senior Director for Campus Technology Services at the University of Notre Dame and leading Notre Dame’s information security team as Notre Dame’s Director of Information Security. David has taught college courses on information security, and writes books on information security and cyberwarfare.Introduction xiChapter 1 Security Operations and Administration (Domain 1) 1Chapter 2 Access Controls (Domain 2) 21Chapter 3 Risk Identification, Monitoring, and Analysis (Domain 3) 37Chapter 4 Incident Response and Recovery (Domain 4) 61Chapter 5 Cryptography (Domain 5) 79Chapter 6 Network and Communications Security (Domain 6) 95Chapter 7 Systems and Application Security (Domain 7) 119Chapter 8 Practice Test 1 141Chapter 9 Practice Test 2 169Appendix Answers to Review Questions 197Chapter 1: Security Operations and Administration (Domain 1) 198Chapter 2: Access Controls (Domain 2) 204Chapter 3: Risk Identification, Monitoring, and Analysis (Domain 3) 212Chapter 4: Incident Response and Recovery (Domain 4) 221Chapter 5: Cryptography (Domain 5) 229Chapter 6: Network and Communications Security (Domain 6) 235Chapter 7: Systems and Application Security (Domain 7) 246Chapter 8: Practice Test 1 255Chapter 9: Practice Test 2 269Index 283
jQuery Recipes
jQuery is one of today’s most popular JavaScript web application development frameworks and libraries. _jQuery Recipes_ can get you started with jQuery quickly and easily, and it will serve as a valuable long-term reference.* The book begins with small initial problems that developers typically face while working with jQuery, and gradually goes deeper to explore more complex problems. * The solutions include illustrations and clear, concise explanations of the code. Using this book and jQuery, your web sites will be more dynamic and lively. Bintu Harwani is a computer programmer and web developer with several years of experience building content-driven web sites using a variety of web development technologies including PHP, Ruby, Rails, and more. JQUERY RECIPES1. jQuery Basics2. Traversing and Manipulating the DOM3. Arrays and Iteration4. Understanding the Event Model5. Implementing Animation6. Sliding and Visual Effects7. Understanding Accordion, Dialog, Slider, Date Picker & AutoComplete8. Ajax9. Working with Plugins10. Working with CSS11. Understanding Selectors and Traversing
Question Answering for the Curated Web
QUESTION ANSWERING (QA) SYSTEMS ON THE WEB TRY TO PROVIDE CRISP ANSWERS TO INFORMATION NEEDS POSED IN NATURAL LANGUAGE, REPLACING THE TRADITIONAL RANKED LIST OF DOCUMENTS. QA, posing a multitude of research challenges, has emerged as one of the most actively investigated topics in information retrieval, natural language processing, and the artificial intelligence communities today. The flip side of such diverse and active interest is that publications are highly fragmented across several venues in the above communities, making it very difficult for new entrants to the field to get a good overview of the topic.Through this book, we make an attempt towards mitigating the above problem by providing an overview of the state-of-the-art in question answering. We cover the twin paradigms of curated Web sources used in QA tasks ‒ trusted text collections like Wikipedia, and objective information distilled into large-scale knowledge bases. We discuss distinct methodologies that have been applied to solve the QA problem in both these paradigms, using instantiations of recent systems for illustration. We begin with an overview of the problem setup and evaluation, cover notable sub-topics like open-domain, multi-hop, and conversational QA in depth, and conclude with key insights and emerging topics. We believe that this resource is a valuable contribution towards a unified view on QA, helping graduate students and researchers planning to work on this topic in the near future.* Preface* Acknowledgments* Introduction* Setup* Getting Started with Simple Questions* Complex Question Answering* Conversational Question Answering* Part I: Summary and Insights* Setup* Reading Comprehension* Open-Domain Question Answering* Multi-Hop Question Answering* Conversational Question Answering* Part II: Summary and Insights* Open Directions* References* Authors' Biographies
Beginning jOOQ
Learn to use the jOOQ library to manage SQL database operations in Java and JVM applications. This book walks you through what JOOQ is, how to install and get started with it, and then gets you working with it.Practical examples and case studies demonstrate how jOOQ offers a more efficient and versatile alternative to Object-Relational Mapping frameworks like Hibernate and JPA, while providing a natural, native-SQL feeling for the developer. You'll see how to maximize the full potential of your SQL database with advanced query syntax and functions with this lightweight, SQL-friendly framework. Come see how you can use high performance approaches like reactive, data streaming and cloud-native programming to get data from SQL tables.Never write another incorrect SQL statement again and protect your application from SQL injection with the strong typing and inbuilt controls in jOOQ. Learn how to add jOOQ to your existing Hibernate, Spring Boot or Quarkus applications.When you’ve completed this book, you will be able to take the knowledge you’ve gained, along with the freely available source code, and directly apply them to your own work.WHAT YOU WILL LEARN* Comparing equivalent features between Hibernate, JPA and jOOQ* Unlock the power of your SQL database with high performing, flexible and typesafe SQL queries* Seamlessly work with many different SQL database vendors without changing your code* Effortlessly generate Java code based on the content of your database* Write reactive SQL database access code with R2DBC* Integrating jOOQ into popular frameworks and platforms like Hibernate, Spring boot and Quarkus tools like IDEs* Testing jOOQ-based code with modern integration testing frameworks like TestContainers and Docker* Learn how to safely handle data access code within frameworks like the Java Persistence API (JPA)WHO THIS BOOK IS FORIntermediate Java programmers new to jOOQ. Some prior experience with SQL may be helpful but not required.Tayo Koleoso is the Founder and CEO of LettuceWork.io, the platform dedicated to engineering culture. He created the Better Managed Development method for building and sustaining an effective product engineering culture. He's a lifelong learner, engineer, and engineering leader committed to building people and software in a healthy, sustainable, and effective ecosystem. Outside of tech, comedy is the only thing he consumes in large quantity. King of the Hill, Peep Show and 30 Rock are his comfort telly, I tell you what.He got his start in software engineering as a teenage database programmer with Oracle 8i. The jOOQ platform is therefore a natural fit and a return to his roots: his love affair with SQL.1. Welcome to jOOQ – Gives the reader a high-level overview of the jOOQ platform, the goals, features and a comparison with alternatives.• Database Operations in Java – the good parts• Database Operations in Java – the...not-good parts• You have got to be jOOQing• jOOQ Feature Tour2. Getting Started with jOOQ – Provides a crash course in core features of jOOQ• Setup jOOQ• CRUD with jOOQ◦ Lazy◦ Reactive• Transactions• Configuration• Exception Handling• Logging• Packaging and deployment◦ Maven◦ Gradle3. Working with jOOQ – This gives a guided tour of implementing specific features with jOOQ• Data Type Handling• Generating Artifacts• Advanced Database Manipulation◦ Batch Processing▪ Batch Loading▪ Batch Inserts• Advanced Query Syntax Support• SQL Joins• Database Functions• Stored Procedures4. jOOQ integrations - This shows the reader how jOOQ can be combined with specific tools, libraries and platforms• Java Persistence API• Hibernate• Spring Framework• Spring Data JPA5. Testing jOOQ – This will show the user how to execute unit and integration tests in jOOQ
RP2040 Assembly Language Programming
Learn to program the Raspberry Pi Pico’s dual ARM Cortex M0+ CPUs in Assembly Language. The Pico contains a customer System on a Chip (SoC) called the RP2040, making it the Foundation’s first entry into the low-cost microcontroller market. The RP2040 contains a wealth of coprocessors for performing arithmetic as well as performing specialized I/O functionality. This book will show you how these CPUs work from a low level, easy-to-learn perspective.There are eight new Programmable I/O (PIO) coprocessors that have their own specialized Assembly Language supporting a wide variety of interface protocols. You'll explore these protocols and write programs or functions in Assembly Language and interface to all the various bundled hardware interfaces. Then go beyond working on your own board and projects to contribute to the official RP2040 SDK. Finally, you'll take your DIY hardware projects to the next level of performance and functionality with more advanced programming skills.WHAT YOU'LL LEARN* Read and understand the Assembly Language code that is part of the Pico’s SDK* Integrate Assembly Language and C code together into one program* Interface to available options for DIY electronics and IoT projectsWHO THIS BOOK IS FORMakers who have already worked with microcontrollers, such as the Arduino or Pico, programming in C or Python. Those interested in going deeper and learning how these devices work at a lower level, by learning Assembly Language.STEPHEN SMITH is a retired Software Architect, located in Gibsons, BC, Canada. He's been developing software since high-school, or way too many years to record. Since retiring he has pursued Artificial Intelligence programming, earned his Advanced HAM Radio License and enjoys mountain biking, hiking, and nature photography. He continues to write his popular technology blog at smist08.wordpress.com. Chapter 1: How to Set Up the Development EnvironmentAbout the Raspberry Pi PicoAbout the Host ComputerHow to Solder and WireHow to Install SoftwareA Simple Program to Ensure Things are WorkingChapter 2: Our First Assembly Language ProgramAbout the ARM ProcessorComputers and NumbersCPU RegistersARM Instruction FormatRP2040 MemoryAbout the GCC AssemblerFlashing LEDs in Assembly LanguageChapter 3: How to Build and Debug ProgramsCMakeGNU MakePrint StatementsGDBChapter 4: Loading and AddingNegative NumbersLittle Endian FormatHow to Shift and RotateMOV/MVNADD/ADCSUB/SBCChapter 5: How to Controll Program FlowUnconditional BranchAbout the CPSRBranch on ConditionAbout the CMP InstructionLoopsIf/Then/ElseLogical OperatorsDesign PatternsChapter 6: Thanks for the MemoriesHow to Define Memory ContentsHow to Load a RegisterPC Relative AddressingHow to Load from MemoryHow to Index Through MemoryHow to Store a RegisterHardware as MemoryIntroduction to DMAChapter 7: How to Call Functions and Use the StackThe StackBranch with LinkHow to Nest Function CallsFunction Parameters and Return ValuesHow to Manage the RegistersSummary of the Function Call AlgorithmStack FramesChapter 8: Interacting with C and the SDKHow to Call C RoutinesHow to Call Assembly Routines from CHow to Deal with Inline C RoutinesHow to Use SDK Header FilesChapter 9: How to Program the Built-in HardwareThe GPIO PinsAnalog to DigitalPWMChapter 10: How to Set and Catch InterruptsOverviewHow to Create an Interrupt HandlerTimers ExampleChapter 11: How to Initialize and Interact with Programmable I/OOverviewSDK SupportPIO InstructionsHow to Control TimingExamplesChapter 12: How to Connect Pico to IoTConnectivity OptionsUsing a UART or I2CInternet BasicsSecurityChapter 13: Multiplication, Division and Floating PointMultiplication CoprocessorDivision CoprocessorInterpolationFloating Point LibraryChapter 14: MultiprocessingUsing Both CPU CoresHow to Synchronize and Share ResourcesAudience: Intermediate
Computer Vision in the Infrared Spectrum
HUMAN VISUAL PERCEPTION IS LIMITED TO THE VISUAL-OPTICAL SPECTRUM. MACHINE VISION IS NOT. Cameras sensitive to the different infrared spectra can enhance the abilities of autonomous systems and visually perceive the environment in a holistic way. Relevant scene content can be made visible especially in situations, where sensors of other modalities face issues like a visual-optical camera that needs a source of illumination. As a consequence, not only human mistakes can be avoided by increasing the level of automation, but also machine-induced errors can be reduced that, for example, could make a self-driving car crash into a pedestrian under difficult illumination conditions. Furthermore, multi-spectral sensor systems with infrared imagery as one modality are a rich source of information and can provably increase the robustness of many autonomous systems. Applications that can benefit from utilizing infrared imagery range from robotics to automotive and from biometrics to surveillance. In this book, we provide a brief yet concise introduction to the current state-of-the-art of computer vision and machine learning in the infrared spectrum. Based on various popular computer vision tasks such as image enhancement, object detection, or object tracking, we first motivate each task starting from established literature in the visual-optical spectrum. Then, we discuss the differences between processing images and videos in the visual-optical spectrum and the various infrared spectra. An overview of the current literature is provided together with an outlook for each task. Furthermore, available and annotated public datasets and common evaluation methods and metrics are presented. In a separate chapter, popular applications that can greatly benefit from the use of infrared imagery as a data source are presented and discussed. Among them are automatic target recognition, video surveillance, or biometrics including face recognition. Finally, we conclude with recommendations for well-fitting sensor setups and data processing algorithms for certain computer vision tasks. We address this book to prospective researchers and engineers new to the field but also to anyone who wants to get introduced to the challenges and the approaches of computer vision using infrared images or videos. Readers will be able to start their work directly after reading the book supported by a highly comprehensive backlog of recent and relevant literature as well as related infrared datasets including existing evaluation frameworks. Together with consistently decreasing costs for infrared cameras, new fields of application appear and make computer vision in the infrared spectrum a great opportunity to face nowadays scientific and engineering challenges.* Introduction* Cross-Spectral Image Processing* Detection, Classification, and Tracking* Applications* Summary and Outlook* Bibliography* Authors' Biographies
Econometrics and Data Science
Get up to speed on the application of machine learning approaches in macroeconomic research. This book brings together economics and data science.Author Tshepo Chris Nokeri begins by introducing you to covariance analysis, correlation analysis, cross-validation, hyperparameter optimization, regression analysis, and residual analysis. In addition, he presents an approach to contend with multi-collinearity. He then debunks a time series model recognized as the additive model. He reveals a technique for binarizing an economic feature to perform classification analysis using logistic regression. He brings in the Hidden Markov Model, used to discover hidden patterns and growth in the world economy. The author demonstrates unsupervised machine learning techniques such as principal component analysis and cluster analysis. Key deep learning concepts and ways of structuring artificial neural networks are explored along with training them and assessing their performance. The Monte Carlo simulation technique is applied to stimulate the purchasing power of money in an economy. Lastly, the Structural Equation Model (SEM) is considered to integrate correlation analysis, factor analysis, multivariate analysis, causal analysis, and path analysis.After reading this book, you should be able to recognize the connection between econometrics and data science. You will know how to apply a machine learning approach to modeling complex economic problems and others beyond this book. You will know how to circumvent and enhance model performance, together with the practical implications of a machine learning approach in econometrics, and you will be able to deal with pressing economic problems.WHAT YOU WILL LEARN* Examine complex, multivariate, linear-causal structures through the path and structural analysis technique, including non-linearity and hidden states* Be familiar with practical applications of machine learning and deep learning in econometrics* Understand theoretical framework and hypothesis development, and techniques for selecting appropriate models* Develop, test, validate, and improve key supervised (i.e., regression and classification) and unsupervised (i.e., dimension reduction and cluster analysis) machine learning models, alongside neural networks, Markov, and SEM models* Represent and interpret data and modelsWHO THIS BOOK IS FORBeginning and intermediate data scientists, economists, machine learning engineers, statisticians, and business executivesTSHEPO CHRIS NOKERI harnesses big data, advanced analytics, and artificial intelligence to foster innovation and optimize business performance. In his functional work, he has delivered complex solutions to companies in the mining, petroleum, and manufacturing industries. He initially completed a bachelor’s degree in information management. He then graduated with an honors degree in business science at the University of the Witwatersrand on a TATA Prestigious Scholarship and a Wits Postgraduate Merit Award. He was unanimously awarded the Oxford University Press Prize. He has authored two Apress books: Data Science Revealed: With Feature Engineering, Data Visualization, Pipeline Development, and Hyperparameter Tuning, and Implementing Machine Learning for Finance: A Systematic Approach to Predictive Risk and Performance Analysis for Investment Portfolios. Chapter 1 Introduction to Econometrics.- Chapter 2 Univariate Consumption Study Applying Regression.- Chapter 3 Multivariate Consumption Study Applying Regression.- Chapter 4 Forecasting Growth.- Chapter 5 Classifying Economic Data Applying Logistic Regression.- Chapter 6 Finding Hidden Patterns in World Economy and Growth.- Chapter 7 Clustering GNI Per Capita on a Continental Level.- Chapter 8 Solving Economic Problems Applying Artificial Neural Networks.- Chapter 9 Inflation Simulation.- Chapter 10 Economic Causal Analysis Applying Structural Equation Modelling.
PHP 8 Solutions
Make your websites more dynamic by adding a feedback form, creating a private area where members can upload images that are automatically resized, or storing all your content in a database. DAVID POWERS has updated his definitive book to incorporate the latest techniques and changes to PHP with the arrival of PHP 8. New features include named attributes, constructor property promotion, the stricter and more concise match expression, union types, and more.The problem is, you're not a programmer and the thought of writing code sends a chill up your spine. Or maybe you've dabbled a bit in PHP and MySQL, but you can't get past baby steps. If this describes you, then you've just found the right book. PHP powers four out of every five websites that use a server-side language. In combination with the MySQL database it’s ideal for creating dynamic websites. PHP and MySQL are free, easy to use, and provided by many web hosting companies in their standard packages. This book also covers MariaDB, a seamless replacement for MySQL that has been adopted on many web servers.Unfortunately, most PHP books either expect you to be an expert already or force you to go through endless exercises of little practical value. In contrast, this book gives you real value right away through a series of practical examples that you can incorporate directly into your sites, optimizing performance and adding functionality such as file uploading, email feedback forms, image galleries, content management systems, and much more. Each solution is created with not only functionality in mind, but also visual design.But this book doesn't just provide a collection of ready-made scripts: each PHP solution builds on what's gone before, teaching you the basics of PHP and database design quickly and painlessly. You’ll learn how to optimize your code using object-oriented programming (OOP) techniques. By the end of the book, you'll have the confidence to start writing your own scripts or—if you prefer to leave that task to others—to adapt existing scripts to your own requirements. Right from the start, you're shown how easy it is to protect your sites by adopting secure coding practices.WHAT YOU WILL LEARN* Design and build dynamic PHP-based web sites and applications * Get started right away through practical examples that you can reuse* Incorporate PHP 8 elements including named attributes, constructor property promotion, and union types* Understand the subtle, but important differences between switch and match* Work with the latest PHP 8 techniques, innovations, and best practicesWHO THIS BOOK IS FORReaders should ideally have some prior exposure to web development using PHP.DAVID POWERS is the author of more than 30 highly successful video training courses and books on PHP. He began his professional career as a radio and TV journalist for the BBC, spending a large part of it in Japan reporting on the rise and collapse of the bubble economy. His background of reporting on complex issues in plain, jargon-free language reveals itself in his writing about PHP and web development.David first became involved with web development in the early 1990s as Editor of BBC Japanese TV. With no marketing budget, he developed a bilingual web site to promote the channel. After leaving the BBC, he went on to develop a bilingual online database for an international consultancy, as well as teaching web development courses at two universities in the UK. In addition to writing and creating video training courses, he’s a Trustee of a charity in North London that provides educational facilities for retired people and those no longer in full-time employment.1. What is PHP 8?2. Getting Ready to Work with PHP3. How to Write PHP Scripts—The Basics4. PHP 8: A Quick Reference5. Lightening Your Workload with Includes6. Bringing Forms to Life7. Uploading Files8. Using PHP to Manage Files9. Arrays9. Generating Thumbnail Images10. Pages that Remember: Simple Login and Multipage Forms11. Getting Started with a Database12. Connecting to a Database with PHP and SQL13. Creating a Dynamic Photo Gallery14. Managing Content15. Formatting Text and Dates16. Pulling Data from Multiple Tables17. Managing Multiple Database Tables18. Authenticating Users with a Database
Beginning Hibernate 6
Get started with Hibernate, an open source Java persistence layer and gain a clear introduction to the current standard for object-relational persistence in Java. This updated edition includes the new Hibernate 6.0 framework which covers new configuration, new object relational mapping changes, and enhanced integration with the more general Spring, Boot and Quarkus and other Java frameworks.The book keeps its focus on Hibernate without wasting time on nonessential third-party tools, so you’ll be able to immediately start building transaction-based engines and applications. Experienced authors Joseph Ottinger with Dave Minter and Jeff Linwood provide more in-depth examples than any other book for Hibernate beginners. They present their material in a lively, example-based manner—not a dry, theoretical, hard-to-read fashion.WHAT YOU'LL LEARN* Build enterprise Java-based transaction-type applications that access complex data with Hibernate* Work with Hibernate 6 using a present-day build process* Integrate into the persistence life cycle* Search and query with the new version of Hibernate* Keep track of versioned data with Hibernate EnversWHO THIS BOOK IS FORProgrammers experienced in Java with databases (the traditional, or connected, approach), but new to open-source, lightweight Hibernate.JOSEPH B. OTTINGER is an expert software developer, coder and programmer. He has also served as technology evangelist GigaSpaces and a principle engineer at Red Hat. He was Editor in Chief of TheServerSide-dot-com. He is the author of Hibernate Recipes and Beginning Hibernate for Apress and has authored other books as well as articles.JEFF LINWOOD has been involved in software programming since he had a 286 in high school. He got caught up with the Internet when he got access to a UNIX shell account, and it has been downhill ever since. Jeff has published articles on several Jakarta Apache open source projects in Dr. Dobb's Journal, CNET's Builder.com, and JavaWorld. Jeff also co-authored Professional Struts Applications, Building Portals with the Java Portlet API, and Pro Hibernate 3. He was a technical reviewer for Enterprise Java Development on a Budget and Extreme Programming with Ant.DAVE MINTER has adored computers since he was small enough to play in the boxes they came in. He built his first PC from discarded, faulty, and obsolete components, and considers that to be the foundation of his career as an integration consultant. Dave is based in London, where he helps large and small companies build systems that "just work." He co-authored Building Portals with the Java Portlet API and Pro Hibernate 3.* An Introduction to Hibernate 5* Integrating and Configuring Hibernate * Building a Simple Application * The Persistence Life Cycle * An Overview of Mapping * Mapping with Annotations * JPA Integration and Lifecycle Events* Using the Session * Searches and Queries * Advanced Queries Using Criteria * Filtering the Results of Searches * Leaving the Relational Database Behind: NoSQL* Hibernate Envers* Using with Spring and Boot Frameworks* Using with Quarkus/Other Frameworks
Data Science Solutions with Python
Apply supervised and unsupervised learning to solve practical and real-world big data problems. This book teaches you how to engineer features, optimize hyperparameters, train and test models, develop pipelines, and automate the machine learning (ML) process.The book covers an in-memory, distributed cluster computing framework known as PySpark, machine learning framework platforms known as scikit-learn, PySpark MLlib, H2O, and XGBoost, and a deep learning (DL) framework known as Keras.The book starts off presenting supervised and unsupervised ML and DL models, and then it examines big data frameworks along with ML and DL frameworks. Author Tshepo Chris Nokeri considers a parametric model known as the Generalized Linear Model and a survival regression model known as the Cox Proportional Hazards model along with Accelerated Failure Time (AFT). Also presented is a binary classification model (logistic regression) and an ensemble model (Gradient Boosted Trees). The book introduces DL and an artificial neural network known as the Multilayer Perceptron (MLP) classifier. A way of performing cluster analysis using the K-Means model is covered. Dimension reduction techniques such as Principal Components Analysis and Linear Discriminant Analysis are explored. And automated machine learning is unpacked.This book is for intermediate-level data scientists and machine learning engineers who want to learn how to apply key big data frameworks and ML and DL frameworks. You will need prior knowledge of the basics of statistics, Python programming, probability theories, and predictive analytics.WHAT YOU WILL LEARN* Understand widespread supervised and unsupervised learning, including key dimension reduction techniques* Know the big data analytics layers such as data visualization, advanced statistics, predictive analytics, machine learning, and deep learning* Integrate big data frameworks with a hybrid of machine learning frameworks and deep learning frameworks* Design, build, test, and validate skilled machine models and deep learning models* Optimize model performance using data transformation, regularization, outlier remedying, hyperparameter optimization, and data split ratio alterationWHO THIS BOOK IS FORData scientists and machine learning engineers with basic knowledge and understanding of Python programming, probability theories, and predictive analyticsTSHEPO CHRIS NOKERI harnesses advanced analytics and artificial intelligence to foster innovation and optimize business performance. In his functional work, he has delivered complex solutions to companies in the mining, petroleum, and manufacturing industries. He initially completed a bachelor’s degree in information management. Afterward, he graduated with an Honours degree in business science at the University of the Witwatersrand on a TATA Prestigious Scholarship and a Wits Postgraduate Merit Award. They unanimously awarded him the Oxford University Press Prize.Chapter 1: Understanding Machine Learning and Deep Learning.- Chapter 2: Big Data Frameworks and ML and DL Frameworks.- Chapter 3: The Parametric Method – Linear Regression.- Chapter 4: Survival Regression Analysis.-Chapter 5:The Non-Parametric Method - Classification.- Chapter 6:Tree-based Modelling and Gradient Boosting.- Chapter 7: Artificial Neural Networks.- Chapter 8: Cluster Analysis using K-Means.- Chapter 9: Dimension Reduction – Principal Components Analysis.- Chapter 10: Automated Machine Learning.
Game Development with MonoGame
Create a polished game that includes many levels and fights using MonoGame. This book will show you how to add AI agents and 2D physics into your game, while improving the performance of the game engine. By the end of Game Development with MonoGame, you will have created a game worthy of being published.Over the course of this book, you will be exposed to advanced game development concepts such as scripting and AI as you improve the performance of the game engine with better memory management. You will learn how to create a level editor that you will use to build game levels. You will also pick up tips and tricks for adding polish to your game project by adding a camera system, layers, menus, and improving the game’s graphics using pixel shaders and better particle effects.Upon completing this book, you will have a clear understanding of the steps required to build a game from start to finish and what it takes to create a 2D game that could ultimately be published.WHAT YOU WILL LEARN* Write a performant 2D game engine* Script the behavior of game objects* Build and use a level editor for your game* Add a UI to your gameWHO IS THIS BOOK FORIntermediate to advanced C# developers with knowledge of MonoGame. Basic knowledge of how to install and use the 2D capabilities of MonoGame is required, along with knowledge on how to use the content pipeline tool.Louis Salin has been a developer for more than 15 years in a wide variety of fields, developing on Windows in the early days in C, C++, and eventually C#. He’s also worked as a developer on Linux-based web applications using different scripting languages such as Ruby and Python. His early love for coding comes from all the time he spent as a kid copying video games written in Basic from books borrowed from the library. He wrote his first game in high school and took many classes in computer graphics.Rami Morrar is a self-taught Game Developer with several years of development experience under his belt. Morrar spent his days as a young kid hacking his Nintendo Consoles with homebrew software. In his early adult years, he has delved into languages mostly found in the family of C Programming, such as C# and C++. He is a freelance technical writer who reviews games and writes tutorials on MonoGame. He is currently working on his own independent project in the framework as well.CHAPTER 1: PERFORMANCE IMPROVEMENTSSub -Topics• Memory management and Game Object pools• Avoiding stutter and frame rates deep diveCHAPTER 2: EXTENDING THE CONTENT PIPELINE TOOLSub – Topics• Adding our level definitions to the content pipeline tool• Adding animations to the content pipeline tool• Text translationsCHAPTER 3: IMPROVING GRAPHICS QUALITYSub - Topics:• Pixel shaders• Adding a camera to the game• Layering our game objectsCHAPTER 4: LEVEL EDITORSub - Topics:• Creating a level editor• Importing levels into the game• Adding boss levels• Making game levels flow seamlesslyCHAPTER 5: SCRIPTINGSub - Topics:• What is scripting and why is it useful?• What programming language to use for scripting?• Defining game object behavior outside of the code baseCHAPTER 6: AISub - Topics:• AI techniques in video games• Algorithms• Smart boss fightsCHAPTER 7: MENUS AND OVERLAYSSub - Topics:• Using overlays in the game to display menus• Pausing the game• Add gamepad supportCHAPTER 8: IMPROVING THE GAME WITH CURVESSub - Topics:• Morphing particles as they age• Curves and tweens• Aging particles in a non-linear way, along a curve• Adding non-linear acceleration/deceleration to game objectsCHAPTER 9: TYING IT ALL TOGETHERSub-Topics:• What we’ve done so far• Getting help• Collaborating with artists, composers, and level designers• Packaging the game
Artificial Intelligence For Dummies
FORGET FAR-AWAY DREAMS OF THE FUTURE. ARTIFICIAL INTELLIGENCE IS HERE NOW!Every time you use a smart device or some sort of slick technology—be it a smartwatch, smart speaker, security alarm, or even customer service chat box—you’re engaging with artificial intelligence (AI). If you’re curious about how AI is developed—or question whether AI is real—Artificial Intelligence For Dummies holds the answers you’re looking for. Starting with a basic definition of AI and explanations of data use, algorithms, special hardware, and more, this reference simplifies this complex topic for anyone who wants to understand what operates the devices we can’t live without.This book will help you:* Separate the reality of artificial intelligence from the hype * Know what artificial intelligence can accomplish and what its limits are * Understand how AI speeds up data gathering and analysis to help you make informed decisions more quickly * See how AI is being used in hardware applications like drones, robots, and vehicles * Know where AI could be used in space, medicine, and communication fields sooner than you think Almost 80 percent of the devices you interact with every day depend on some sort of AI. And although you don’t need to understand AI to operate your smart speaker or interact with a bot, you’ll feel a little smarter—dare we say more intelligent—when you know what’s going on behind the scenes. So don’t wait. Pick up this popular guide to unlock the secrets of AI today!JOHN MUELLER has produced hundreds of books and articles on topics ranging from networking to home security and from database management to heads-down programming. If he had a nickel for every time he is asked the question, “Is the terminator real?” (No!), he could have retired years ago.LUCA MASSARON is a data scientist who specializes in organizing and interpreting big data and turning it into smart data. He has over 20 years??? experience delivering data solutions to clients in a variety of industries. Introduction 1About This Book 2Icons Used in This Book 3Beyond the Book 4Where to Go from Here 5PART 1: INTRODUCING AI 7CHAPTER 1: INTRODUCING AI 9Defining the Term AI 10Discerning intelligence 10Discovering four ways to define AI 11Understanding the History of AI 17Starting with symbolic logic at Dartmouth 17Continuing with expert systems 18Overcoming the AI winters 19Considering AI Uses 20Avoiding AI Hype and Overestimation 21Defining the five tribes and the master algorithm 21Considering sources of hype 22Understanding user overestimation 23Connecting AI to the Underlying Computer 23CHAPTER 2: DEFINING THE ROLE OF DATA 25Finding Data Ubiquitous in This Age 26Understanding Moore’s implications 27Using data everywhere 28Putting algorithms into action 30Using Data Successfully 32Considering the data sources 32Obtaining reliable data 33Making human input more reliable 33Using automated data collection 35Collecting personal data ethically 35Manicuring the Data 37Dealing with missing data 37Considering data misalignments 38Separating useful data from other data 39Considering the Five Mistruths in Data 39Commission 40Omission 40Perspective 41Bias 42Frame of reference 43Defining the Limits of Data Acquisition 43Considering Data Security Issues 45Understanding purposefully biased data 45Dealing with data-source corruption 47Cancelling botnets with sinkholing 48CHAPTER 3: CONSIDERING THE USE OF ALGORITHMS 49Understanding the Role of Algorithms 50Understanding what algorithm means 50Planning and branching: Trees and nodes 52Extending the tree using graph nodes 53Traversing the graph 54Playing adversarial games 56Using local search and heuristics 57Discovering the Learning Machine 60Leveraging expert systems 61Introducing machine learning 64Touching new heights 64CHAPTER 4: PIONEERING SPECIALIZED HARDWARE 67Relying on Standard Hardware 68Understanding the standard hardware 68Describing standard hardware deficiencies 69Relying on new computational techniques 71Using GPUs 73Considering the von Neumann bottleneck 73Defining the GPU 74Considering why GPUs work well 75Working with Deep Learning Processors (DLPs) 76Defining the DLP 76Using the mobile Neural Processing Unit (NPU) 77Accessing the cloud-based Tenser Processing Unit (TPU) 78Creating a Specialized Processing Environment 78Increasing Hardware Capabilities 79Adding Specialized Sensors 80Devising Methods to Interact with the Environment 81PART 2: CONSIDERING THE USES OF AI IN SOCIETY 83CHAPTER 5: SEEING AI USES IN COMPUTER APPLICATIONS 85Introducing Common Application Types 86Using AI in typical applications 86Realizing AI’s wide range of fields 88Considering the Chinese Room argument 88Seeing How AI Makes Applications Friendlier 89Performing Corrections Automatically 91Considering the kinds of corrections 91Seeing the benefits of automatic corrections 92Understanding why automated corrections don’t work 92Making Suggestions 93Getting suggestions based on past actions 93Getting suggestions based on groups 93Obtaining the wrong suggestions 94Considering AI-based Errors 95CHAPTER 6: AUTOMATING COMMON PROCESSES 97Developing Solutions for Boredom 98Making tasks more interesting 98Helping humans work more efficiently 99Understanding how AI reduces boredom 100Considering how AI can’t reduce boredom 101Working in Industrial Settings 101Developing various levels of automation 102Using more than just robots 103Relying on automation alone 104Creating a Safe Environment 104Considering the role of boredom in accidents 104Using AI to avoid safety issues 105Understanding that AI can’t eliminate safety issues 105CHAPTER 7: USING AI TO ADDRESS MEDICAL NEEDS 107Implementing Portable Patient Monitoring 108Wearing helpful monitors 109Relying on critical wearable monitors 109Using movable monitors 110Making Humans More Capable 111Using games for therapy 111Considering the use of exoskeletons 113Addressing a Range of Physical Abilities 114Considering the software-based solutions 115Relying on hardware augmentation 116Seeing AI in prosthetics 116Completing Analysis in New Ways 117Relying on Telepresence 118Defining telepresence 118Considering examples of telepresence 118Understanding telepresence limitations 119Devising New Surgical Techniques 120Making surgical suggestions 120Assisting a surgeon 121Replacing the surgeon with monitoring 122Performing Tasks Using Automation 122Working with medical records 123Predicting the future 123Making procedures safer 124Creating better medications 124Combining Robots and Medical Professionals 125CHAPTER 8: RELYING ON AI TO IMPROVE HUMAN INTERACTION 127Developing New Ways to Communicate 128Creating new alphabets 129Working with emoji and other meaningful graphics 129Automating language translation 130Incorporating body language .131Exchanging Ideas 133Creating connections 133Augmenting communication 133Defining trends 134Using Multimedia 134Embellishing Human Sensory Perception 135Shifting data spectrum 135Augmenting human senses 136PART 3: WORKING WITH SOFTWARE-BASED AI APPLICATIONS 139CHAPTER 9: PERFORMING DATA ANALYSIS FOR AI 141Defining Data Analysis 142Understanding why analysis is important 144Reconsidering the value of data 145Defining Machine Learning 147Understanding how machine learning works 148Understanding the benefits of machine learning 149Being useful; being mundane 150Specifying the limits of machine learning 150Considering How to Learn from Data 152Supervised learning 153Unsupervised learning 154Reinforcement learning 154CHAPTER 10: EMPLOYING MACHINE LEARNING IN AI 155Taking Many Different Roads to Learning 156Discovering five main approaches to AI learning 156Delving into the three most promising AI learning approaches 159Awaiting the next breakthrough 160Exploring the Truth in Probabilities 160Determining what probabilities can do 162Considering prior knowledge 163Envisioning the world as a graph 166Growing Trees that Can Classify 170Predicting outcomes by splitting data 170Making decisions based on trees 172Pruning overgrown trees 174CHAPTER 11: IMPROVING AI WITH DEEP LEARNING 175Shaping Neural Networks Similar to the Human Brain 176Introducing the neuron 176Starting with the miraculous perceptron 176Mimicking the Learning Brain 179Considering simple neural networks 179Figuring out the secret is in the weights 180Understanding the role of backpropagation 182Introducing Deep Learning 182Explaining the differences between deep learning and other forms of neural networks 185Finding even smarter solutions 186Detecting Edges and Shapes from Images 188Starting with character recognition 189Explaining how convolutions work 190Advancing using image challenges 191Learning to Imitate Art and Life .193Memorizing sequences that matter 193Discovering the magic of AI conversations 194Going for the state of the pretrained art 196Making one AI compete against another AI 198Pondering reinforcement learning 201PART 4: WORKING WITH AI IN HARDWARE APPLICATIONS 207CHAPTER 12: DEVELOPING ROBOTS 209Defining Robot Roles 210Overcoming the sci-fi view of robots 211Being humanoid can be hard 214Working with robots 217Assembling a Basic Robot 220Considering the components 220Sensing the world 221Controlling a robot 222CHAPTER 13: FLYING WITH DRONES 223Acknowledging the State of the Art 224Flying unmanned to missions 224Meeting the quadcopter 226Defining Uses for Drones 227Seeing drones in nonmilitary roles 229Powering up drones using AI 233Understanding regulatory issues 234CHAPTER 14: UTILIZING THE AI-DRIVEN CAR 237Getting a Short History 238Understanding the Future of Mobility 239Climbing the six levels of autonomy 239Rethinking the role of cars in our lives 241Taking a step back from unmet expectations 244Getting into a Self-Driving Car 246Putting all the tech together 247Letting AI into the scene 249Understanding that it’s not just AI 249Overcoming Uncertainty of Perceptions 251Introducing the car’s senses 252Putting together what you perceive 254PART 5: CONSIDERING THE FUTURE OF AI 257CHAPTER 15: UNDERSTANDING THE NONSTARTER APPLICATION 259Using AI Where It Won’t Work 260Defining the limits of AI 260Applying AI incorrectly 263Entering a world of unrealistic expectations 264Considering the Effects of AI Winters 265Understanding the AI winter 265Defining the causes of the AI winter 265Rebuilding expectations with new goals 267Creating Solutions in Search of a Problem 269Defining a gizmo 269Avoiding the infomercial 270Understanding when humans do it better 271Looking for the simple solution 272CHAPTER 16: SEEING AI IN SPACE 273Observing the Universe 274Seeing clearly for the first time 274Finding new places to go 275Considering the evolution of the universe 276Creating new scientific principles 276Performing Space Mining 277Harvesting water 277Obtaining rare earths and other metals 278Finding new elements 279Enhancing communication 280Exploring New Places 280Starting with the probe 281Relying on robotic missions 282Adding the human element 283Building Structures in Space 284Taking your first space vacation 285Performing scientific investigation 285Industrializing space 286Using space for storage 286CHAPTER 17: ENGAGING IN HUMAN ENDEAVORS 287Keeping Human Beings Popular 288Living and Working in Space 289Creating Cities in Hostile Environments 290Building cities in the ocean 290Creating space-based habitats 291Constructing moon-based resources 293Making Humans More Efficient 294Fixing Problems on a Planetary Scale 296Contemplating how the world works 296Locating potential sources of problems 297Defining potential solutions 298Seeing the effects of the solutions 299Trying again 299PART 6: THE PART OF TENS 301CHAPTER 18: TEN OCCUPATIONAL CATEGORIES THAT AI CAN’T REPLACE 303Performing Human Interaction 304Teaching children 304Nursing 304Addressing personal needs 305Solving developmental issues 305Creating New Things 306Inventing 306Being artistic 307Imagining the unreal 307Making Intuitive Decisions 308Investigating crime 308Monitoring situations in real time 308Separating fact from fiction 309CHAPTER 19: TEN SUBSTANTIAL CONTRIBUTIONS OF AI TO SOCIETY 311Considering Human-Specific Interactions 312Devising the active human foot 312Performing constant monitoring 313Administering medications 313Developing Industrial Solutions 314Using AI with 3-D printing 314Advancing robot technologies 314Creating New Technology Environments 315Developing rare new resources 315Seeing what can’t be seen 316Working with AI in Space 316Delivering goods to space stations 316Mining extraplanetary resources 317Exploring other planets 318CHAPTER 20: TEN WAYS IN WHICH AI HAS FAILED 319Understanding 320Interpreting, not analyzing 321Going beyond pure numbers 321Considering consequences 322Discovering 322Devising new data from old 323Seeing beyond the patterns 323Implementing new senses 324Empathizing 324Walking in someone’s shoes 325Developing true relationships 325Changing perspective 326Making leaps of faith 326Index 327
Trust in Computer Systems and the Cloud
LEARN TO ANALYZE AND MEASURE RISK BY EXPLORING THE NATURE OF TRUST AND ITS APPLICATION TO CYBERSECURITYTrust in Computer Systems and the Cloud delivers an insightful and practical new take on what it means to trust in the context of computer and network security and the impact on the emerging field of Confidential Computing. Author Mike Bursell’s experience, ranging from Chief Security Architect at Red Hat to CEO at a Confidential Computing start-up grounds the reader in fundamental concepts of trust and related ideas before discussing the more sophisticated applications of these concepts to various areas in computing.The book demonstrates in the importance of understanding and quantifying risk and draws on the social and computer sciences to explain hardware and software security, complex systems, and open source communities. It takes a detailed look at the impact of Confidential Computing on security, trust and risk and also describes the emerging concept of trust domains, which provide an alternative to standard layered security.* Foundational definitions of trust from sociology and other social sciences, how they evolved, and what modern concepts of trust mean to computer professionals * A comprehensive examination of the importance of systems, from open-source communities to HSMs, TPMs, and Confidential Computing with TEEs. * A thorough exploration of trust domains, including explorations of communities of practice, the centralization of control and policies, and monitoring Perfect for security architects at the CISSP level or higher, Trust in Computer Systems and the Cloud is also an indispensable addition to the libraries of system architects, security system engineers, and master’s students in software architecture and security.MIKE BURSELL is CEO and co-founder of Profian, a Confidential Computing company. He holds multiple security patents, is a sought-after speaker at global technology conferences, and has contributed to major reports and security specifications for the European Telecommunications Standards Institute.Introduction xvCHAPTER 1 WHY TRUST? 1Analysing Our Trust Statements 4What Is Trust? 5What Is Agency? 8Trust and Security 10Trust as a Way for Humans to Manage Risk 13Risk, Trust, and Computing 15Defining Trust in Systems 15Defining Correctness in System Behaviour 17CHAPTER 2 HUMANS AND TRUST 19The Role of Monitoring and Reporting in Creating Trust 21Game Theory 24The Prisoner’s Dilemma 24Reputation and Generalised Trust 27Institutional Trust 28Theories of Institutional Trust 29Who Is Actually Being Trusted? 31Trust Based on Authority 33Trusting Individuals 37Trusting Ourselves 37Trusting Others 41Trust, But Verify 43Attacks from Within 43The Dangers of Anthropomorphism 45Identifying the Real Trustee 47CHAPTER 3 TRUST OPERATIONS AND ALTERNATIVES 53Trust Actors, Operations, and Components 53Reputation, Transitive Trust, and Distributed Trust 59Agency and Intentionality 62Alternatives to Trust 65Legal Contracts 65Enforcement 66Verification 67Assurance and Accountability 67Trust of Non-Human or Non-Adult Actors 68Expressions of Trust 69Relating Trust and Security 75Misplaced Trust 75CHAPTER 4 DEFINING TRUST IN COMPUTING 79A Survey of Trust Definitions in Computer Systems 79Other Definitions of Trust within Computing 84Applying Socio-Philosophical Definitions of Trust to Systems 86Mathematics and Trust 87Mathematics and Cryptography 87Mathematics and Formal Verification 89CHAPTER 5 THE IMPORTANCE OF SYSTEMS 93System Design 93The Network Stack 94Linux Layers 96Virtualisation and Containers: Cloud Stacks 97Other Axes of System Design 99“Trusted” Systems 99Trust Within the Network Stack 101Trust in Linux Layers 102Trust in Cloud Stacks 103Hardware Root of Trust 106Cryptographic Hash Functions 110Measured Boot and Trusted Boot 112Certificate Authorities 114Internet Certificate Authorities 115Local Certificate Authorities 116Root Certificates as Trust Pivots 119The Temptations of “Zero Trust” 122The Importance of Systems 125Isolation 125Contexts 127Worked Example: Purchasing Whisky 128Actors, Organisations, and Systems 129Stepping Through the Transaction 130Attacks and Vulnerabilities 134Trust Relationships and Agency 136Agency 136Trust Relationships 137The Importance of Being Explicit 145Explicit Actions 145Explicit Actors 149CHAPTER 6 BLOCKCHAIN AND TRUST 151Bitcoin and Other Blockchains 151Permissioned Blockchains 152Trust without Blockchains 153Blockchain Promoting Trust 154Permissionless Blockchains and Cryptocurrencies 156CHAPTER 7 THE IMPORTANCE OF TIME 161Decay of Trust 161Decay of Trust and Lifecycle 163Software Lifecycle 168Trust Anchors, Trust Pivots, and the Supply Chain 169Types of Trust Anchors 170Monitoring and Time 171Attestation 173The Problem of Measurement 174The Problem of Run Time 176Trusted Computing Base 177Component Choice and Trust 178Reputation Systems and Trust 181CHAPTER 8 SYSTEMS AND TRUST 185System Components 185Explicit Behaviour 188Defining Explicit Trust 189Dangers of Automated Trust Relationships 192Time and Systems 194Defining System Boundaries 198Trust and a Complex System 199Isolation and Virtualisation 202The Stack and Time 205Beyond Virtual Machines 205Hardware-BasedType 3 Isolation 207CHAPTER 9 OPEN SOURCE AND TRUST 211Distributed Trust 211How Open Source Relates to Trust 214Community and Projects 215Projects and the Personal 217Open Source Process 219Trusting the Project 220Trusting the Software 222CONTENTS XIIIXIV CONTENTSSupply Chain and Products 226Open Source and Security 229CHAPTER 10 TRUST, THE CLOUD, AND THE EDGE 233Deployment Model Differences 235What Host Systems Offer 237What Tenants Need 237Mutually Adversarial Computing 240Mitigations and Their Efficacy 243Commercial Mitigations 243Architectural Mitigations 244Technical Mitigations 246CHAPTER 11 HARDWARE, TRUST, AND CONFIDENTIAL COMPUTING 247Properties of Hardware and Trust 248Isolation 248Roots of Trust 249Physical Compromise 253Confidential Computing 256TEE TCBs in detail 261Trust Relationships and TEEs 266How Execution Can Go Wrong—and Mitigations 269Minimum Numbers of Trustees 276Explicit Trust Models for TEE Deployments 278CHAPTER 12 TRUST DOMAINS 281The Composition of Trust Domains 284Trust Domains in a Bank 284Trust Domains in a Distributed Architecture 288Trust Domain Primitives and Boundaries 292Trust Domain Primitives 292Trust Domains and Policy 293Other Trust Domain Primitives 296Boundaries 297Centralisation of Control and Policies 298CHAPTER 13 A WORLD OF EXPLICIT TRUST 301Tools for Trust 301The Role of the Architect 303Architecting the System 304The Architect and the Trustee 305Coda 307References 309Index 321
Java 17 Quick Syntax Reference
Quickly gain the insight necessary to address a multitude of Java coding challenges using this succinct reference guide, Java 17 Quick Syntax Reference, Third Edition. Short, focused code examples will help you learn and master various existing and new Java source code elements.This edition includes the following additions to Java SE and OpenJDK, through Java 17: Pattern matching for switch and instanceof, Sealed classes and interfaces, Switch expressions, Text block multiline strings, Java module system, Private methods in interfaces, and Type inference for local variables.You won’t find any technical jargon, bloated samples, drawn out history lessons or witty stories in this book. What you will find is a language reference that is concise, to the point and highly accessible. The book is packed with useful information and is a must-have for any Java programmer.WHAT YOU WILL LEARN* Run a Java file with a single command* * Learn what a switch expression is and how to use it* Use pattern matching* Code with Java modules* Create text blocks to handle multiline strings* Learn what sealed classes are and how to use these and moreWHO THIS BOOK IS FORThose with prior experience with Java who want a quick and handy reference. Mikael Olsson is a professional web entrepreneur, programmer, and author. He works for an R&D company in Finland where he specializes in software development. In his spare time he writes books and creates websites that summarize various fields of interest. The books he writes are focused on teaching their subject in the most efficient way possible, by explaining only what is relevant and practical without any unnecessary repetition or theory. 1. HelloWorld2. Compile and Run3. Variables4. Operators5. String6. Arrays7. Conditionals8. Loops9. Methods10. Class11. Stack12. Inheritance13. Overriding14. Packages15. Access Levels16. Constants17. Interface18. Abstract19. Enum20. Exception Handling21. Boxing and Unboxing22. Generics23. Modules