The document provides an introduction to problem solving and programming fundamentals. It defines a computer program as a set of instructions that directs a computer to solve a problem. The document outlines a four-step problem solving process of understanding the problem, devising a plan, carrying out the plan, and looking back. It also discusses analyzing a problem by identifying inputs, outputs, processing, and storage. The design phase involves developing an algorithm to solve the problem. Debugging addresses fixing syntax, runtime, and semantic errors in a program.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
2. WHAT IS A PROGRAM ?
A computer program is a set of computer instructions, which are
used for solving a problem. The program directs the computer to
perform the actions that are needed to arrive at a solution.
The number of instructions required to solve a problem depends on
the complexity of the problem. These instructions may range from
a few to many hundreds or thousands.
The computation might be something mathematical, such as
solving a system of equations or finding the roots of a polynomial.
But it can also be a symbolic computation, such as searching and
replacing text in a document or (strangely enough) compiling a
program.
3. PROGRAMMING: A WAY OF THINKING
Combines features from mathematics, engineering, and
natural science.
Like mathematicians, computer scientists use formal
languages to denote ideas (specifically computations).
Like engineers, they design things, assembling components
into systems and evaluating tradeoffs among alternatives.
Like scientists, they observe the behavior of complex systems,
form hypotheses, and test predictions.
4. PROGRAMMING: A WAY OF THINKING
• The single most important skill for a computer scientist is
problem solving.
• Problem solving means:
• The ability to formulate problems, think creatively about solutions, and
express a solution clearly and accurately.
5. PROBLEMS? . . .
• The problem is not that there are problems. The problem is expecting
otherwise and thinking that having problems is a problem.“ Theodore Rubin
• The best way to escape from a problem is to solve it.--Brendan Francis
• Every problem contains within itself the seeds of its own solution.--Stanley
Arnold
• It isn't that they can't see the solution. It's that they can't see the problem.--
G. K. Chesterton
• Problems are to the mind what exercise is to the muscles, they toughen and
make strong. - Norman Vincent Peale
6. WHAT IS A PROBLEM (IN COMPUTING)
A discrepancy between what is required and what exists.
A computer program is meant to solve a problem.
Think of a programming problem in the same light as you
would think of a mathematical problem. It's not something
bad(though some people may say otherwise).
Rather, it is something that needs to be solved or a task that
needs to be accomplished.
7. WHAT IS PROBLEM SOLVING?
• Problem solving has long been recognized as one of the
hallmarks of mathematics.
• “Solving a problem means finding a way out of difficulty, a
way around an obstacle, attaining an aim which was not
immediately attainable.”
9. STEP-1: UNDERSTANDING THE PROBLEM
• Can you state the problem in your own words?
• What are you trying to find or do?
• What are the unknowns?
• What information do you obtain from the problem?
• What information, if any, is missing or not needed?
10. STEP-2: DEVISING A PLAN
(SOME STRATEGIES YOU MAY FIND USEFUL)
• Look for a pattern.
• Examine related problems and determine if the same technique can
be used.
• Examine a simpler problem to gain insight into the solution of the
original problem.
• Make a table or list.
• Make a diagram.
• Write an equation.
• Use guess and check.
• Work backward.
• Identify a subgoal.
• Use indirect reasoning.
• Use direct reasoning.
11. STEP-3: CARRYING OUT THE PLAN
• Implement the strategy or strategies.
• Check each step of the plan as you proceed.
• Keep an accurate record of your work.
• Implement the strategy of strategies in step 2 and perform
any necessary actions or computations.
• Check each step of the plan as you proceed. This may be
intuitive checking or a formal proof of each step.
• Keep an accurate record of your work. Label each step.
12. STEP-4: LOOKING BACK
CHECK THE RESULTS IN THE ORIGINAL PROBLEM
• Interpret the solution in terms of the original problem.
• Determine whether there is another method of finding the
solution.
• If possible, determine other related or more general problems
for which the techniques will work.
13. DEVELOPMENT OF COMPUTER SOLUTION
• Identify or Define the problem
• Analyze the problem in terms of inputs, outputs, formulas,
constants)
• Design the Solution
• Represent the most efficient solution in the form of an
algorithm.
• Implement (program coding)
• Evaluate
14. IDENTIFY OR DEFINE THE PROBLEM
In order for you to come up with an algorithm to solve a
problem, you must first have a clear understanding of what
the problem is.
The first thing you have to do is to obtain a problem
statement (a clear definition of the problem that needs to be
solved).
At this level it will usually be provided for you, but in the real
world the programmer would have to work with his client to
come up with one.
Here are some (very simple) examples of problem statements:
15. ANALYZE THE PROBLEM
We need to read it till we understand every detail
We need to dissect the problem into its component parts (e.g.
problems and sub-problems)
We need to remove any ambiguity, extra information
We need to determine our knowns and our unknowns
We need to be aware of any assumptions we are making.
16. ANALYZE THE PROBLEM
The Program Must Read Two Numbers And Print The Total Of
The Two.
Determining the input, output, processing and storage
The next step in defining the problem is to break it down into
its main components:
1. Inputs - the data you are provided with or have to obtain from the
user. Some words that help you to identify the inputs are: read, input,
enter, given, accept
2. Outputs - the results that should be produced
3. Processing - the tasks that must be performed, i.e. what must be
done with the inputs to get the outputs
4. Storage - the data that must be stored
17. ANALYZE THE PROBLEM
The Program Must Read Two Numbers And Print The Total Of
The Two.
• Inputs - The word 'read' tells us that the inputs will be in the form of two
numbers. For reasons that will be explained later, it's helpful to give the
inputs names, so we'll call them numl and num2.
• Outputs - The desired result is the total, so we'll call the output 'total’.
• Processing - Reading the two numbers is processing and so is printing the
total. But is that everything? The total doesn't magically appear. You have
to do something to the inputs to obtain the total. So there is an in-
between step that is implied - calculating the total.
• Storage - the data that must be stored
18. ANALYZE THE PROBLEM
The Program Must Read Two Numbers And Print The Total Of
The Two.
• Defining diagrams
• One way of illustrating the main components of a problem is by using
a defining diagram.
• A defining diagram is a table with three columns: 'Input', 'Processing'
and 'Output'.
• Consider the following problem statement:
Write a program that reads two numbers and prints the total.
• Even this simple statement requires some detective work to figure out
the input, output and especially the processing.
• the defining diagram would look like this:
Input Processing Output
Two Numbers, i.e.
numl, num2
Read two numbers
Total
Calculate the total
Print the total
19. DESIGN THE SOLUTION
Developing the algorithm that solves the
problem
Identify alternative ways to solve the problem
Select the best way to solve the problem from the list
of alternative solutions
List instructions that enable you to solve the problem
using selected solution
The algorithm is expressed a s flowchart or
pseudo-code
22. PROGRAM COMPONENTS
A few basic instructions appear in every language:
Input - Get data from the keyboard, a file, or some other device.
Output - Display data on the screen or send data to a file or other
device.
Math Perform basic mathematical operations like addition and
multiplication.
Conditional execution - Check for certain conditions and execute
the appropriate sequence of statements.
Repetition/Looping - Perform some action repeatedly, usually with
some variation.
23. WHAT IS DEBUGGING?
Programming errors are called bugs and the process of tracking them down and
correcting them is called debugging.
Three kinds of errors can occur in a program:
1. Syntax errors
A program can only be executed if it is syntactically correct; otherwise, the process fails and returns an
error message.
syntax refers to the structure of a program and the rules about that structure.
2. Runtime errors
So called because the error does not appear until you run the program.
These errors are also called exceptions because they usually indicate that something exceptional (and
bad) has happened.
3. Semantic errors
If there is a semantic error in the program, it will run successfully, in the sense that the computer will
not generate any error messages, but it will not do the right thing. It will do something else.
Specifically, it will do what the programmer told it to do.
But the written program does not solve the original problem. The meaning of the program (its
semantics) is wrong.