This document discusses improving testability of Android applications by reducing coupling between components. It presents an example of an Android MapActivity that is tightly coupled to MapFragment and Toast, making it difficult to test. The document then introduces an OnPermissionResultListener class that receives permission results and calls methods on a PermittedView interface, decoupling the logic from specific views and allowing it to be more easily tested. This improves testability by removing direct dependencies between classes.
This document describes applying fuzzy logic to control a submarine. It discusses fuzzy logic concepts like linguistic variables, membership functions, and fuzzy rules. It then details the specific fuzzy logic algorithm used to control depth, obstacle avoidance, velocity, and submarine blade position. Membership functions for each input and output variable are defined. Fuzzy rules are assigned relating the inputs like depth and obstacles to outputs that determine the blade positions for controlling the submarine. The max-min inference method and centroid defuzzification are used to map fuzzy inputs to crisp outputs. The results show the submarine was successfully controlled using this fuzzy logic approach.
The summary provides an overview of the key points about Guice 2.0 covered in the document:
Guice 2.0 was released in May 2009 and introduced several new features such as provider methods, binding overrides, multi-bindings, map-bindings, and private modules. It also supports third party modules for testing and other languages.
This document discusses permissions handling in Android apps using the EasyPermissions library. It begins by covering the different permission levels in Android and how to declare permissions in the manifest. It then explains how to request permissions at runtime, including checking status and handling results. The bulk of the document focuses on how EasyPermissions simplifies this process through methods like hasPermissions(), requestPermissions(), and callbacks to handle results. It provides examples of common scenarios like requesting multiple permissions and handling "never ask again" responses. Overall, the document presents EasyPermissions as a library that streamlines basic runtime permission logic in Android apps.
The document discusses setting up Hadoop on a multi-node cluster. It goes through steps such as installing Java, downloading and extracting Hadoop, configuring nodes, formatting the HDFS, and starting processes on all nodes. Commands are shown to check the Hadoop version, run examples, and view logs.
The document discusses 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.
2. The Open/Closed Principle states that software entities should be open for extension, but closed for modification.
3. The Liskov Substitution Principle states that derived classes must be substitutable for their base classes.
4. The Interface Segregation Principle states that interfaces should be client specific.
5. The Dependency Inversion Principle states that high level modules should not depend on low level modules but on abstractions.
The document discusses Android's new runtime permissions model introduced in Android M. Key points include:
- Permissions are now requested at runtime when an app needs them, rather than during installation.
- Users can revoke permissions at any time from the app's settings screen.
- Apps that don't target Android M will still work on M devices using the old permissions model, but users can disable permissions for those apps.
- The permissions status is managed in the runtime-permissions.xml file for each user.
This document discusses smart devices and their integration with applications. It presents GXEv2, a solution for integrating smart devices with both Genexus and non-Genexus applications and systems. GXEv2 provides benefits like reusing Genexus objects, requiring no training for integration, easy maintenance for clients, and deployment on multiple operating systems. It also discusses how consumer and line of business application needs are evolving and how GXEv2 can help address requirements in the corporate market.
Writing MapReduce Programs using Java | Big Data Hadoop Spark Tutorial | Clou...CloudxLab
Â
Big Data with Hadoop & Spark Training: http://bit.ly/2kyXPo0
This CloudxLab Writing MapReduce Programs tutorial helps you to understand how to write MapReduce Programs using Java in detail. Below are the topics covered in this tutorial:
1) Why MapReduce?
2) Write a MapReduce Job to Count Unique Words in a Text File
3) Create Mapper and Reducer in Java
4) Create Driver
5) MapReduce Input Splits, Secondary Sorting, and Partitioner
6) Combiner Functions in MapReduce
7) Job Chaining and Pipes in MapReduce
This document describes applying fuzzy logic to control a submarine. It discusses fuzzy logic concepts like linguistic variables, membership functions, and fuzzy rules. It then details the specific fuzzy logic algorithm used to control depth, obstacle avoidance, velocity, and submarine blade position. Membership functions for each input and output variable are defined. Fuzzy rules are assigned relating the inputs like depth and obstacles to outputs that determine the blade positions for controlling the submarine. The max-min inference method and centroid defuzzification are used to map fuzzy inputs to crisp outputs. The results show the submarine was successfully controlled using this fuzzy logic approach.
The summary provides an overview of the key points about Guice 2.0 covered in the document:
Guice 2.0 was released in May 2009 and introduced several new features such as provider methods, binding overrides, multi-bindings, map-bindings, and private modules. It also supports third party modules for testing and other languages.
This document discusses permissions handling in Android apps using the EasyPermissions library. It begins by covering the different permission levels in Android and how to declare permissions in the manifest. It then explains how to request permissions at runtime, including checking status and handling results. The bulk of the document focuses on how EasyPermissions simplifies this process through methods like hasPermissions(), requestPermissions(), and callbacks to handle results. It provides examples of common scenarios like requesting multiple permissions and handling "never ask again" responses. Overall, the document presents EasyPermissions as a library that streamlines basic runtime permission logic in Android apps.
The document discusses setting up Hadoop on a multi-node cluster. It goes through steps such as installing Java, downloading and extracting Hadoop, configuring nodes, formatting the HDFS, and starting processes on all nodes. Commands are shown to check the Hadoop version, run examples, and view logs.
The document discusses 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.
2. The Open/Closed Principle states that software entities should be open for extension, but closed for modification.
3. The Liskov Substitution Principle states that derived classes must be substitutable for their base classes.
4. The Interface Segregation Principle states that interfaces should be client specific.
5. The Dependency Inversion Principle states that high level modules should not depend on low level modules but on abstractions.
The document discusses Android's new runtime permissions model introduced in Android M. Key points include:
- Permissions are now requested at runtime when an app needs them, rather than during installation.
- Users can revoke permissions at any time from the app's settings screen.
- Apps that don't target Android M will still work on M devices using the old permissions model, but users can disable permissions for those apps.
- The permissions status is managed in the runtime-permissions.xml file for each user.
This document discusses smart devices and their integration with applications. It presents GXEv2, a solution for integrating smart devices with both Genexus and non-Genexus applications and systems. GXEv2 provides benefits like reusing Genexus objects, requiring no training for integration, easy maintenance for clients, and deployment on multiple operating systems. It also discusses how consumer and line of business application needs are evolving and how GXEv2 can help address requirements in the corporate market.
Writing MapReduce Programs using Java | Big Data Hadoop Spark Tutorial | Clou...CloudxLab
Â
Big Data with Hadoop & Spark Training: http://bit.ly/2kyXPo0
This CloudxLab Writing MapReduce Programs tutorial helps you to understand how to write MapReduce Programs using Java in detail. Below are the topics covered in this tutorial:
1) Why MapReduce?
2) Write a MapReduce Job to Count Unique Words in a Text File
3) Create Mapper and Reducer in Java
4) Create Driver
5) MapReduce Input Splits, Secondary Sorting, and Partitioner
6) Combiner Functions in MapReduce
7) Job Chaining and Pipes in MapReduce
Gradient descent is the algorithm at the heart of many machine learning problems. In this talk, I’ll introduce the algorithm and code it up from scratch to apply it to a toy linear regression problem on the relationship between videogame metacritic scores and sales.
The document discusses the complexity of setting up dependency injection with Dagger and presents a hypothetical scenario where a developer needs to inject an AnalyticsHelper class. It raises numerous questions that the developer would need to consider such as what module the class belongs to, how to scope it, whether qualifiers or late binding are needed, and ensures related dependencies are provided. It emphasizes that dependency injection with Dagger can quickly become complicated and problematic to set up correctly.
The document provides an introduction to RxJava, a library for composing asynchronous and event-based programs using observable sequences for the Java VM. It discusses how RxJava allows for declaratively composing sequences of data and/or events in a way that is similar to functional programming concepts like map, filter, and reduce. This enables concise yet powerful representations of asynchronous data streams and event processing.
The document discusses how to write testable code through the use of seams. It explains that seams allow code to be altered without changing the code itself, improving testability. Dependency injection creates object seams by decoupling classes, and model-view-presenter architecture leverages this. Build variants introduce link seams. Without seams, it can be difficult to arrange objects and assert outcomes in tests. Examples show refactoring code to introduce seams, like using interfaces, which allows dependencies to be mocked and behavior verified.
The document discusses dependency injection (DI) and how Dagger can be used to implement DI. It begins with an example Android application that manages a lock dashboard. The code to create dependencies is complex and error-prone. Dagger addresses this by generating code to manage object creation and injection. It works by analyzing how objects relate via a directed acyclic graph (DAG) of their dependencies. Modules provide object instances to the graph, and components inject them where needed. This allows clean, testable separation of concerns and simplifies object creation.
Slides from a talk I gave at a recent react orlando meetup. We talked about Wix's "greybox" testing library for react native called "detox."
We'll also be covering testing practices like mocking, stubbing, and the page object pattern. Even if you're not working with react native, these patterns and practices are good to know!
Tested android apps are better apps, but building them is tough. This talk is about how to write testable Android applications. Testable apps have seams, which you can get using DI and Build Variants.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
Â
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
Â
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
đź“• Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
đź’» Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
Â
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.Â
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:Â
Key Takeaways:Â
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Â
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
​​Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
​
​Facebook(Meta): https://www.facebook.com/mydbops/
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
Â
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Â
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
Â
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
Gradient descent is the algorithm at the heart of many machine learning problems. In this talk, I’ll introduce the algorithm and code it up from scratch to apply it to a toy linear regression problem on the relationship between videogame metacritic scores and sales.
The document discusses the complexity of setting up dependency injection with Dagger and presents a hypothetical scenario where a developer needs to inject an AnalyticsHelper class. It raises numerous questions that the developer would need to consider such as what module the class belongs to, how to scope it, whether qualifiers or late binding are needed, and ensures related dependencies are provided. It emphasizes that dependency injection with Dagger can quickly become complicated and problematic to set up correctly.
The document provides an introduction to RxJava, a library for composing asynchronous and event-based programs using observable sequences for the Java VM. It discusses how RxJava allows for declaratively composing sequences of data and/or events in a way that is similar to functional programming concepts like map, filter, and reduce. This enables concise yet powerful representations of asynchronous data streams and event processing.
The document discusses how to write testable code through the use of seams. It explains that seams allow code to be altered without changing the code itself, improving testability. Dependency injection creates object seams by decoupling classes, and model-view-presenter architecture leverages this. Build variants introduce link seams. Without seams, it can be difficult to arrange objects and assert outcomes in tests. Examples show refactoring code to introduce seams, like using interfaces, which allows dependencies to be mocked and behavior verified.
The document discusses dependency injection (DI) and how Dagger can be used to implement DI. It begins with an example Android application that manages a lock dashboard. The code to create dependencies is complex and error-prone. Dagger addresses this by generating code to manage object creation and injection. It works by analyzing how objects relate via a directed acyclic graph (DAG) of their dependencies. Modules provide object instances to the graph, and components inject them where needed. This allows clean, testable separation of concerns and simplifies object creation.
Slides from a talk I gave at a recent react orlando meetup. We talked about Wix's "greybox" testing library for react native called "detox."
We'll also be covering testing practices like mocking, stubbing, and the page object pattern. Even if you're not working with react native, these patterns and practices are good to know!
Tested android apps are better apps, but building them is tough. This talk is about how to write testable Android applications. Testable apps have seams, which you can get using DI and Build Variants.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
Â
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
Â
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
đź“• Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
đź’» Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
Â
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.Â
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:Â
Key Takeaways:Â
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Â
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
​​Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
​
​Facebook(Meta): https://www.facebook.com/mydbops/
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
Â
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Â
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
Â
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
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.
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
Â
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
Â
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...Edge AI and Vision Alliance
Â
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Â
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
4. –Steve Freeman and Nat Pryce, Growing Object Oriented Software Guided
by Tests
“for a class to be easy to unit-test, the class
must…be loosely coupled and highly cohesive
—in other words, well-designed.”
5. –Steve Freeman and Nat Pryce, Growing Object Oriented Software Guided
by Tests
“for a class to be easy to unit-test, the class
must…be loosely coupled and highly cohesive
—in other words, well-designed.”
6. –Steve Freeman and Nat Pryce, Growing Object Oriented Software Guided
by Tests
“for a class to be easy to unit-test, the class
must…be loosely coupled and highly cohesive
—in other words, well-designed.”
8. Application components (activities,
services, providers, receivers) are interfaces
for your application to interact with the
operating system; don’t take them as a
recommendation of the facilities you
should architect your entire application
around.
—Chet Haase, Developing for Android VII
38. –Edward Yourdon and Larry Constantine
“what we are striving for is loosely coupled
systems…in which one can study (or debug, or
maintain) any one module without having to
know very much about any other modules in the
system”
42. –Kent Beck, TDD By Example
“Dependency is the key problem in software
development at all scales…if dependency is the
problem, duplication is the symptom.”
43.
44. @Override

public void onRequestPermissionsResult(final int requestCode,

@NonNull final String[] permissions,

@NonNull final int[] grantResults) {



if (grantResults.length == APP_REQUIRED_PERMISSIONS.length &&

grantResults[0] == PackageManager.PERMISSION_GRANTED &&

grantResults[1] == PackageManager.PERMISSION_GRANTED) {

// If permission granted then refresh account list so user can

// select an account.

clearSnackbar();

reloadAccounts();

refreshAccountListUI();

} else {

LOGI(TAG, "onRequestPermissionResult with permissions
denied");

mSnackbar = new WeakReference<>(PermissionsUtils

.displayConditionalPermissionDenialSnackbar(

getActivity(),

R.string.welcome_permissions_rationale,

APP_REQUIRED_PERMISSIONS,

REQUEST_PERMISSION_REQUEST_CODE));

}

}
46. –Steve Freeman and Nat Pryce, Growing Object Oriented Software Guided
by Tests
“for a class to be easy to unit-test, the class
must…be loosely coupled and highly cohesive
—in other words, well-designed.”
48. –Steve Freeman and Nat Pryce, Growing Object Oriented Software Guided
by Tests
“for a class to be easy to unit-test, the class
must…be loosely coupled and highly cohesive
—in other words, well-designed.”
49.
50. private void displaySessionData(final SessionDetailModel data) {
//46 statement method inside a 900 line class




// Handle Keynote as a special case, where the user cannot remove it

// from the schedule (it is auto added to schedule on sync)

mShowFab = (AccountUtils.hasActiveAccount(getContext()) &&

!data.isKeynote());

mAddScheduleFab

.setVisibility(mShowFab ? View.VISIBLE : View.INVISIBLE);



if (!data.isKeynote()) {

showInScheduleDeferred(data.isInSchedule());

}

//...


updateTimeBasedUi(data);





}
51. private void displaySessionData(final SessionDetailModel data) {
//46 statement method inside a 900 line class!




// Handle Keynote as a special case, where the user cannot remove it

// from the schedule (it is auto added to schedule on sync)

mShowFab = (AccountUtils.hasActiveAccount(getContext()) &&

!data.isKeynote());

mAddScheduleFab

.setVisibility(mShowFab ? View.VISIBLE : View.INVISIBLE);



if (!data.isKeynote()) {

showInScheduleDeferred(data.isInSchedule());

}

//...


updateTimeBasedUi(data);





}
52. private void displaySessionData(final SessionDetailModel data) {
//46 statement method inside a 900 line class




// Handle Keynote as a special case, where the user cannot remove it

// from the schedule (it is auto added to schedule on sync)

mShowFab = (AccountUtils.hasActiveAccount(getContext()) &&

!data.isKeynote());

mAddScheduleFab

.setVisibility(mShowFab ? View.VISIBLE : View.INVISIBLE);



if (!data.isKeynote()) {

showInScheduleDeferred(data.isInSchedule());

}

//...


updateTimeBasedUi(data);





}
53. private void displaySessionData(final SessionDetailModel data) {
//46 statement method inside a 900 line class




// Handle Keynote as a special case, where the user cannot remove it

// from the schedule (it is auto added to schedule on sync)

mShowFab = (AccountUtils.hasActiveAccount(getContext()) &&

!data.isKeynote());

mAddScheduleFab

.setVisibility(mShowFab ? View.VISIBLE : View.INVISIBLE);



if (!data.isKeynote()) {

showInScheduleDeferred(data.isInSchedule());

}

//...


updateTimeBasedUi(data);





}
54. private void displaySessionData(final SessionDetailModel data) {
//46 statement method inside a 900 line class




// Handle Keynote as a special case, where the user cannot remove it

// from the schedule (it is auto added to schedule on sync)

mShowFab = (AccountUtils.hasActiveAccount(getContext()) &&

!data.isKeynote());

mAddScheduleFab

.setVisibility(mShowFab ? View.VISIBLE : View.INVISIBLE);



if (!data.isKeynote()) {

showInScheduleDeferred(data.isInSchedule());

}

//...


updateTimeBasedUi(data);





}
55.
56. @Test

public void onlyProvidesAddSessionToggleIfSessionIsNotKeynote()

throws Exception {

SessionDetailFragment sessionDetailFragment =

new SessionDetailFragment();

final SessionDetailModel sessionDetailModel =

mock(SessionDetailModel.class);

when(sessionDetailModel.isKeynote()).thenReturn(false);

sessionDetailFragment.displayData(sessionDetailModel,

SessionDetailModel.SessionDetailQueryEnum.SESSIONS);

final View addScheduleButton =

sessionDetailFragment.getView()

.findViewById(R.id.add_schedule_button);
assertTrue(addScheduleButton.getVisibility() == View.INVISIBLE);

}
57. @Test

public void onlyProvidesAddSessionToggleIfSessionIsNotKeynote()

throws Exception {

SessionDetailFragment sessionDetailFragment =

new SessionDetailFragment();

final SessionDetailModel sessionDetailModel =

mock(SessionDetailModel.class);

when(sessionDetailModel.isKeynote()).thenReturn(false);

sessionDetailFragment.displayData(sessionDetailModel,

SessionDetailModel.SessionDetailQueryEnum.SESSIONS);

final View addScheduleButton =

sessionDetailFragment.getView()

.findViewById(R.id.add_schedule_button);
assertTrue(addScheduleButton.getVisibility() == View.INVISIBLE);

}
58. @Test

public void onlyProvidesAddSessionToggleIfSessionIsNotKeynote()

throws Exception {

SessionDetailFragment sessionDetailFragment =

new SessionDetailFragment();

final SessionDetailModel sessionDetailModel =

mock(SessionDetailModel.class);

when(sessionDetailModel.isKeynote()).thenReturn(false);

sessionDetailFragment.displayData(sessionDetailModel,

SessionDetailModel.SessionDetailQueryEnum.SESSIONS);

final View addScheduleButton =

sessionDetailFragment.getView()

.findViewById(R.id.add_schedule_button);
assertTrue(addScheduleButton.getVisibility() == View.INVISIBLE);

}
59. @Test

public void onlyProvidesAddSessionToggleIfSessionIsNotKeynote()

throws Exception {

SessionDetailFragment sessionDetailFragment =

new SessionDetailFragment();

final SessionDetailModel sessionDetailModel =

mock(SessionDetailModel.class);

when(sessionDetailModel.isKeynote()).thenReturn(false);

sessionDetailFragment.displayData(sessionDetailModel,

SessionDetailModel.SessionDetailQueryEnum.SESSIONS);

final View addScheduleButton =

sessionDetailFragment.getView()

.findViewById(R.id.add_schedule_button);
assertTrue(addScheduleButton.getVisibility() == View.INVISIBLE);

}
60.
61. @Test

public void onlyProvidesAddSessionToggleIfSessionIsNotKeynote()

throws Exception {

SessionDetailFragment sessionDetailFragment =

new SessionDetailFragment();

final SessionDetailModel sessionDetailModel =

mock(SessionDetailModel.class);

when(sessionDetailModel.isKeynote()).thenReturn(false);

sessionDetailFragment.onActivityCreated(null);
sessionDetailFragment.displayData(sessionDetailModel,

SessionDetailModel.SessionDetailQueryEnum.SESSIONS);

final View addScheduleButton =

sessionDetailFragment.getView()

.findViewById(R.id.add_schedule_button);
assertTrue(addScheduleButton.getVisibility() == View.INVISIBLE);

}
62. @Test

public void onlyProvidesAddSessionToggleIfSessionIsNotKeynote()

throws Exception {

SessionDetailFragment sessionDetailFragment =

new SessionDetailFragment();

final SessionDetailModel sessionDetailModel =

mock(SessionDetailModel.class);

when(sessionDetailModel.isKeynote()).thenReturn(false);

sessionDetailFragment.onActivityCreated(null);
sessionDetailFragment.onAttach(null);
sessionDetailFragment.displayData(sessionDetailModel,

SessionDetailModel.SessionDetailQueryEnum.SESSIONS);

final View addScheduleButton =

sessionDetailFragment.getView()

.findViewById(R.id.add_schedule_button);
assertTrue(addScheduleButton.getVisibility() == View.INVISIBLE);

}
65. –Steve Freeman and Nat Pryce, Growing Object Oriented Software Guided
by Tests
“for a class to be easy to unit-test, the class
must…be loosely coupled and highly cohesive
—in other words, well-designed.”