Slides about design which makes difference to your app. How design can make your application more flexible to adapt future changes without breaking things.
Geecon10: Object Oriented for nonbelieversBruno Bossola
The document provides an overview of object-oriented principles for developers unfamiliar with OO concepts. It discusses how OO aims to maintain traceability between requirements, analysis and design to reduce complexity. The document then walks through analyzing and designing parts of a payroll system to demonstrate OO techniques like identifying abstractions and behaviors that will/won't change, using polymorphism to hide complexity, and decoupling responsibilities. The goal is to convince "nonbelievers" that applying pure OO principles from the start can provide benefits over immediately choosing frameworks/tools.
The document discusses several object-oriented (OO) design principles including the single responsibility principle (SRP), open-closed principle (OCP), Liskov substitution principle (LSP), interface segregation principle (ISP), and dependency inversion principle (DIP). It also discusses design patterns, refactoring, and design by contract (DBC) as ways to prevent software decay over time and improve design quality. The key OO principles guide developers to create flexible, maintainable and reusable software designs.
This talk is about how concepts from the functional programming paradigm can be helpful to solve many issues that we have in any Android application. The goal is to present to the audience a brief introduction to the fundamental concepts in functional programming to see how this could be applied in a new way to architecture our applications.
Shooting the film will take approximately 2-3 hours, processing the film will take around 15 minutes to upload to a computer and 3+ hours to render, and editing the film is estimated at 5-6+ hours. Equipment needed includes a camera, tripod, USB stick, Mac computer with Final Cut Pro software, lighting, as well as non-technical items like a storyboard, shot list, and costumes.
Design principles are a matter of the utmost importance for the software development, but unfortunately by far not all developers are closely acquainted with them. In this presentation we cover the basics of the core design and development principles.
Design principles are a matter of the utmost importance for the software development, but unfortunately by far not all developers are closely acquainted with them. In this presentation we cover the basics of the core design and development principles.
This document discusses the SOLID principles for clean code architecture. It explains each principle individually: single responsibility (a class should have one responsibility), open/closed (classes should be open for extension but closed for modification), Liskov substitution (functions using base classes must work with derived classes), interface segregation (split interfaces into smaller interfaces that are focused), and dependency inversion (high level modules shouldn't depend on low level modules). Following these principles helps produce code that is less fragile, more flexible, and easier to maintain and change over time.
Geecon10: Object Oriented for nonbelieversBruno Bossola
The document provides an overview of object-oriented principles for developers unfamiliar with OO concepts. It discusses how OO aims to maintain traceability between requirements, analysis and design to reduce complexity. The document then walks through analyzing and designing parts of a payroll system to demonstrate OO techniques like identifying abstractions and behaviors that will/won't change, using polymorphism to hide complexity, and decoupling responsibilities. The goal is to convince "nonbelievers" that applying pure OO principles from the start can provide benefits over immediately choosing frameworks/tools.
The document discusses several object-oriented (OO) design principles including the single responsibility principle (SRP), open-closed principle (OCP), Liskov substitution principle (LSP), interface segregation principle (ISP), and dependency inversion principle (DIP). It also discusses design patterns, refactoring, and design by contract (DBC) as ways to prevent software decay over time and improve design quality. The key OO principles guide developers to create flexible, maintainable and reusable software designs.
This talk is about how concepts from the functional programming paradigm can be helpful to solve many issues that we have in any Android application. The goal is to present to the audience a brief introduction to the fundamental concepts in functional programming to see how this could be applied in a new way to architecture our applications.
Shooting the film will take approximately 2-3 hours, processing the film will take around 15 minutes to upload to a computer and 3+ hours to render, and editing the film is estimated at 5-6+ hours. Equipment needed includes a camera, tripod, USB stick, Mac computer with Final Cut Pro software, lighting, as well as non-technical items like a storyboard, shot list, and costumes.
Design principles are a matter of the utmost importance for the software development, but unfortunately by far not all developers are closely acquainted with them. In this presentation we cover the basics of the core design and development principles.
Design principles are a matter of the utmost importance for the software development, but unfortunately by far not all developers are closely acquainted with them. In this presentation we cover the basics of the core design and development principles.
This document discusses the SOLID principles for clean code architecture. It explains each principle individually: single responsibility (a class should have one responsibility), open/closed (classes should be open for extension but closed for modification), Liskov substitution (functions using base classes must work with derived classes), interface segregation (split interfaces into smaller interfaces that are focused), and dependency inversion (high level modules shouldn't depend on low level modules). Following these principles helps produce code that is less fragile, more flexible, and easier to maintain and change over time.
The document discusses design principles and symptoms of bad design. It describes that design is about "how" while analysis is about "what". Bad design can lead to rigidity, fragility, immobility and viscosity in software. The SOLID principles - single responsibility, open/closed, Liskov substitution, interface segregation and dependency inversion - help achieve good design with high cohesion and low coupling between modules. Following these principles can help software designs be more flexible, reusable and maintainable.
Object Oriented, Design patterns and data modelling worshopMohammad Shawahneh
The document outlines an agenda for a workshop on design patterns and data modelling. The agenda covers introductions to object-oriented programming and data modelling, as well as sessions on popular design patterns and exercises. Presenters Rami and Mohammad will cover topics such as encapsulation, inheritance, polymorphism, the SOLID principles, and data modelling techniques including the Unified Modeling Language.
Evgeniy Khyst - why does software design matter and how to keep it in good shapeAnna Shymchenko
This document discusses good and bad software design. It begins by defining software architecture and design, noting that architecture is at a higher level than design. It then discusses why design matters, explaining that poor design can increase complexity and decrease quality. Several symptoms of bad design are described, including rigidity, fragility, and lack of reusability. Good design principles like SOLID and dependency inversion are explained. The document also covers keeping design healthy through refactoring, paying off technical debt, and following object-oriented design principles.
Learning solid principles using c#
S Single Responsibility Principle
O Open Closed Principle
L Liskovs Substitution Principle
I Interface Segregation Principle
D Dependency Inversion principle
The presentation discusses software design. It discusses the characteristics of a good and bad design. Then it talks about how to achieve a good design. Then finally we discuss the SOLID Principles of Object Oriented Design. These are 5 principles compiled by Rober Cecil Martin aka Uncle Bob. The benefit of these principles is to achieve a good OO design which is high in cohesion and low in coupling thus easily adaptable to change
This document discusses the SOLID principles of object-oriented design. It defines SOLID as an acronym that stands for five basic principles: the Single Responsibility Principle, the Open/Closed Principle, the Liskov Substitution Principle, the Interface Segregation Principle, and the Dependency Inversion Principle. Following these principles helps make code more reusable, maintainable, and testable. The first principle discussed is the Single Responsibility Principle, which states that classes and objects should have a single responsibility and encapsulate all of the services related to that responsibility.
One reasonable definition of good design is testability. It is hard to imagine a software system that is both testable and poorly designed. It is also hard to imagine a software system that is well designed but also untestable.
I'll talk you through how bad design may affect testability. We will learn how to design robust tests which are not just increasing code coverage but are bringing real value to your project.
Finally we will explore the best way to integrate these tests to your continuous integration environment so they will be acting as top class guards against sloppy commits.
Keywords : design principles, unit tests, integration tests, stress tests, java, spring, junit @Rule, junit @Category, @RunWith, @Parameters, surefire, maven, jenkins, quality metrics, selenium , tdd, mocks, stubs, etc...
This document provides an overview of the SOLID principles of object-oriented design:
1. The Single Responsibility Principle states that a class should have one, and only one, reason to change. Having multiple responsibilities makes classes more complex and brittle.
2. The Open-Closed Principle states that software entities should be open for extension but closed for modification. New functionality should be added by extending existing classes rather than modifying them.
3. The Liskov Substitution Principle states that subclasses must be substitutable for their base classes. They should not break the expected behavior of the program.
4. The Interface Segregation Principle states that interfaces should be tailored to specific client needs
Becoming a better developer by using the SOLID design principlesKaterina Trajchevska
The document discusses the SOLID design principles for writing maintainable and extensible code. It defines each principle - Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion. For each principle, it provides an explanation of what the principle means and how to apply it. It also warns that SOLID principles are guidelines, not rules, and to use common sense over rigidly following the principles. The overall goal of SOLID is to create code that is easy to maintain, extend and understand.
Ofir Dagan - (Don’t) Blame it on React Native - Codemotion Rome 2019Codemotion
When writing large scale react native app it’s always fun to blame rn for everything that is wrong in our lives. However, what we keep finding, again and again, is that for most of the cases. Writing better performant react code can fix our performance issues. In the last couple of years our team built a huge production app in react native. In this talk I’ll go over some of our lessons learned in regards of react native performance and how to improve your app’s performance subsequently.
The document discusses the SOLID principles for object-oriented design:
1. The Single Responsibility Principle states that a class should have one, and only one, reason to change.
2. The Open/Closed Principle states that classes should be open for extension but closed for modification.
3. The Liskov Substitution Principle states that subclasses must be substitutable for their base classes.
4. The Interface Segregation Principle states that client-specific interfaces are better than one general-purpose interface.
5. The Dependency Inversion Principle states that high-level modules should not depend on low-level modules but abstractions.
Design Principle and Design Pattern examples on C# .NET Core.
(Note: Not all the contents are original, I copied some of them from online tutorials while learning and found great explanations. A great thanks to all for this information.)
The document discusses principles for writing solid code, including the single responsibility principle, open-closed principle, Liskov substitution principle, interface segregation principle, and dependency inversion principle. It emphasizes writing code that is human readable, maintainable, extensible, scalable, granular, and reusable. The principles of KISS (Keep It Simple Stupid), DRY (Don't Repeat Yourself), and YAGNI (You Aren't Gonna Need It) are also mentioned for writing clean code.
This document discusses the SOLID principles of object-oriented programming and agile design. It defines each principle: single responsibility, open/closed, Liskov substitution, interface segregation, and dependency inversion. For each principle, it provides an example of how to apply the principle to code through refactoring existing code. It also discusses object-oriented concepts like polymorphism that relate to the SOLID principles.
SOLID is a mnemonic device for 5 design principles of object-oriented
programs (OOP) that result in readable, adaptable, and scalable code.
S - Single Responsibility Principle.
O - Open Closed Principle.
L - Liskov Substitution Principle.
I - Interface Segregation Principle.
D - Dependency Inversion Principle.
This document outlines a proposal for a mobile application called Buddy Navigator that allows users to see the locations of nearby friends and connect with acquaintances. The proposal discusses the objectives of allowing users to view friend locations via GPS and message friends when nearby. It addresses issues like privacy, compatibility and map updates. It provides a risk analysis, methodology with phases for planning, coding, permissions and testing. It includes a budget section noting the low cost to develop since tools are downloaded, and outlines benefits like safety, parental controls and assistance for travelers.
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
This document discusses the SOLID principles of object-oriented design:
1. The SOLID principles are an acronym for five design principles - Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle.
2. Each principle is discussed in more detail with examples provided. The principles focus on creating flexible, reusable and maintainable code through concepts like separation of concerns, abstraction, and dependency management.
3. While the principles provide guidance, there is also discussion around not taking them to an extreme and creating an unnecessary number of small classes or abstracting everything. Simplicity, intention, duplication and minimal elements
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
The document discusses design principles and symptoms of bad design. It describes that design is about "how" while analysis is about "what". Bad design can lead to rigidity, fragility, immobility and viscosity in software. The SOLID principles - single responsibility, open/closed, Liskov substitution, interface segregation and dependency inversion - help achieve good design with high cohesion and low coupling between modules. Following these principles can help software designs be more flexible, reusable and maintainable.
Object Oriented, Design patterns and data modelling worshopMohammad Shawahneh
The document outlines an agenda for a workshop on design patterns and data modelling. The agenda covers introductions to object-oriented programming and data modelling, as well as sessions on popular design patterns and exercises. Presenters Rami and Mohammad will cover topics such as encapsulation, inheritance, polymorphism, the SOLID principles, and data modelling techniques including the Unified Modeling Language.
Evgeniy Khyst - why does software design matter and how to keep it in good shapeAnna Shymchenko
This document discusses good and bad software design. It begins by defining software architecture and design, noting that architecture is at a higher level than design. It then discusses why design matters, explaining that poor design can increase complexity and decrease quality. Several symptoms of bad design are described, including rigidity, fragility, and lack of reusability. Good design principles like SOLID and dependency inversion are explained. The document also covers keeping design healthy through refactoring, paying off technical debt, and following object-oriented design principles.
Learning solid principles using c#
S Single Responsibility Principle
O Open Closed Principle
L Liskovs Substitution Principle
I Interface Segregation Principle
D Dependency Inversion principle
The presentation discusses software design. It discusses the characteristics of a good and bad design. Then it talks about how to achieve a good design. Then finally we discuss the SOLID Principles of Object Oriented Design. These are 5 principles compiled by Rober Cecil Martin aka Uncle Bob. The benefit of these principles is to achieve a good OO design which is high in cohesion and low in coupling thus easily adaptable to change
This document discusses the SOLID principles of object-oriented design. It defines SOLID as an acronym that stands for five basic principles: the Single Responsibility Principle, the Open/Closed Principle, the Liskov Substitution Principle, the Interface Segregation Principle, and the Dependency Inversion Principle. Following these principles helps make code more reusable, maintainable, and testable. The first principle discussed is the Single Responsibility Principle, which states that classes and objects should have a single responsibility and encapsulate all of the services related to that responsibility.
One reasonable definition of good design is testability. It is hard to imagine a software system that is both testable and poorly designed. It is also hard to imagine a software system that is well designed but also untestable.
I'll talk you through how bad design may affect testability. We will learn how to design robust tests which are not just increasing code coverage but are bringing real value to your project.
Finally we will explore the best way to integrate these tests to your continuous integration environment so they will be acting as top class guards against sloppy commits.
Keywords : design principles, unit tests, integration tests, stress tests, java, spring, junit @Rule, junit @Category, @RunWith, @Parameters, surefire, maven, jenkins, quality metrics, selenium , tdd, mocks, stubs, etc...
This document provides an overview of the SOLID principles of object-oriented design:
1. The Single Responsibility Principle states that a class should have one, and only one, reason to change. Having multiple responsibilities makes classes more complex and brittle.
2. The Open-Closed Principle states that software entities should be open for extension but closed for modification. New functionality should be added by extending existing classes rather than modifying them.
3. The Liskov Substitution Principle states that subclasses must be substitutable for their base classes. They should not break the expected behavior of the program.
4. The Interface Segregation Principle states that interfaces should be tailored to specific client needs
Becoming a better developer by using the SOLID design principlesKaterina Trajchevska
The document discusses the SOLID design principles for writing maintainable and extensible code. It defines each principle - Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion. For each principle, it provides an explanation of what the principle means and how to apply it. It also warns that SOLID principles are guidelines, not rules, and to use common sense over rigidly following the principles. The overall goal of SOLID is to create code that is easy to maintain, extend and understand.
Ofir Dagan - (Don’t) Blame it on React Native - Codemotion Rome 2019Codemotion
When writing large scale react native app it’s always fun to blame rn for everything that is wrong in our lives. However, what we keep finding, again and again, is that for most of the cases. Writing better performant react code can fix our performance issues. In the last couple of years our team built a huge production app in react native. In this talk I’ll go over some of our lessons learned in regards of react native performance and how to improve your app’s performance subsequently.
The document discusses the SOLID principles for object-oriented design:
1. The Single Responsibility Principle states that a class should have one, and only one, reason to change.
2. The Open/Closed Principle states that classes should be open for extension but closed for modification.
3. The Liskov Substitution Principle states that subclasses must be substitutable for their base classes.
4. The Interface Segregation Principle states that client-specific interfaces are better than one general-purpose interface.
5. The Dependency Inversion Principle states that high-level modules should not depend on low-level modules but abstractions.
Design Principle and Design Pattern examples on C# .NET Core.
(Note: Not all the contents are original, I copied some of them from online tutorials while learning and found great explanations. A great thanks to all for this information.)
The document discusses principles for writing solid code, including the single responsibility principle, open-closed principle, Liskov substitution principle, interface segregation principle, and dependency inversion principle. It emphasizes writing code that is human readable, maintainable, extensible, scalable, granular, and reusable. The principles of KISS (Keep It Simple Stupid), DRY (Don't Repeat Yourself), and YAGNI (You Aren't Gonna Need It) are also mentioned for writing clean code.
This document discusses the SOLID principles of object-oriented programming and agile design. It defines each principle: single responsibility, open/closed, Liskov substitution, interface segregation, and dependency inversion. For each principle, it provides an example of how to apply the principle to code through refactoring existing code. It also discusses object-oriented concepts like polymorphism that relate to the SOLID principles.
SOLID is a mnemonic device for 5 design principles of object-oriented
programs (OOP) that result in readable, adaptable, and scalable code.
S - Single Responsibility Principle.
O - Open Closed Principle.
L - Liskov Substitution Principle.
I - Interface Segregation Principle.
D - Dependency Inversion Principle.
This document outlines a proposal for a mobile application called Buddy Navigator that allows users to see the locations of nearby friends and connect with acquaintances. The proposal discusses the objectives of allowing users to view friend locations via GPS and message friends when nearby. It addresses issues like privacy, compatibility and map updates. It provides a risk analysis, methodology with phases for planning, coding, permissions and testing. It includes a budget section noting the low cost to develop since tools are downloaded, and outlines benefits like safety, parental controls and assistance for travelers.
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
This document discusses the SOLID principles of object-oriented design:
1. The SOLID principles are an acronym for five design principles - Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle.
2. Each principle is discussed in more detail with examples provided. The principles focus on creating flexible, reusable and maintainable code through concepts like separation of concerns, abstraction, and dependency management.
3. While the principles provide guidance, there is also discussion around not taking them to an extreme and creating an unnecessary number of small classes or abstracting everything. Simplicity, intention, duplication and minimal elements
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfTechgropse Pvt.Ltd.
In this blog post, we'll delve into the intersection of AI and app development in Saudi Arabia, focusing on the food delivery sector. We'll explore how AI is revolutionizing the way Saudi consumers order food, how restaurants manage their operations, and how delivery partners navigate the bustling streets of cities like Riyadh, Jeddah, and Dammam. Through real-world case studies, we'll showcase how leading Saudi food delivery apps are leveraging AI to redefine convenience, personalization, and efficiency.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
3. Your App may be o
o
o
o
Rigid: Making a change somewhere will
break something somewhere else.
Fragile: You can’t predict where that break
will be.
Immobile: It’s hard to change/re-use your
code.
Viscous: It’s easier to do the wrong thing
than to fix things.
4. Design is all about
dependencies
• If you refer to something, you depend
on it.
• When the things you depend on
change, you must change.
10. Interface Segregation
●
Really only a problem for staticallytyped, compiled languages.
“Because we’re in Ruby, we don’t have
this problem! Win!”
●
“Dynamic languages obey this rule
in the most extreme way possible:
duck typing.”
11. Interface Segregation
• What is it ? - “Many client
specific interfaces are better
than one general purpose
interface”
13. DESIGN MIGHT SAVE YOU
To avoid dependencies, your design
should be:
●
Loosely coupled – D – Inject
●
Highly cohesive – SRP
●
Easily composable – Can be changed
●
Context independent – Can be
rearranged
14. Resistance
Resistance is a resource => Listen to what
the pain is telling you.
Listen to what the code smells are telling
you.
●
●
Embrace the friction.
●
Fix the problem.
If testing seems hard – examine your
design.
15. Your Checkpoint for Design
When you get to the refactor stage of
red-green-refactor, ask yourself …
●
Is it DRY?
●
Does it have just one responsibility?
●
●
Does everything change at the same
rate?
Does it depend on things that change
17. Act like an idiot
●
●
●
What if I don't know where I want
this refactoring to take me?
That's OK. In fact, that's typical.
"Refactor, not because you know
the abstraction, but because you
want to find it."
18. Act like an idiot
●
●
"You don't have to know where
you're going to successfully
refactor."
When you see someone's code
and think it's beautiful and you
wonder how they thought of
it, they didn't. They evolved it to
that point.
19. Dependency Injection
When injecting dependencies into a
class, do so only via arguments to
the
#initialize method
def
intialize(downloader=FTPDownloader.ne
w)
@downloader = downloader
20. Argument Order
Dependency
When you need to inject a few
dependencies, you can use an options
hash to remove the dependency on the
order of the arguments
def intialize(opts)
@env = opts[:env] || Rails.env
filename = opts[:filename]
end
21. Dependency is unavoidable
How to assess: "Does each object
depend on things that change less
than it does?”
●
Line up the objects from left to right
Left = lower likelihood of change
Right = higher likelihood of change
●
Only depend on things on your left
22. Conclude to begin with design
TDD is not enough
DRY is not enough
Design because you expect your
application to succeed(and to
change in the future to come)