C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework. You can use C# to create Windows client applications, XML Web services, distributed components, client-server applications, database applications, and much, much more. Visual C# provides an advanced code editor, convenient user interface designers, integrated debugger, and many other tools to make it easier to develop applications based on the C# language and the .NET Framework.
Learn C#.Net in simplified way.
Threads And Synchronization in C#
Concept about Threads And Synchronization in C#
it will help you about this concept
feel free
Download free programming applications on
http://www.androidapplications.xyz
C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework. You can use C# to create Windows client applications, XML Web services, distributed components, client-server applications, database applications, and much, much more. Visual C# provides an advanced code editor, convenient user interface designers, integrated debugger, and many other tools to make it easier to develop applications based on the C# language and the .NET Framework.
Learn C#.Net in simplified way.
Threads And Synchronization in C#
Concept about Threads And Synchronization in C#
it will help you about this concept
feel free
Download free programming applications on
http://www.androidapplications.xyz
Collections Framework is a unified architecture for managing collections, Main Parts of Collections Framework
1. Interfaces :- Core interfaces defining common functionality exhibited by collections
2. Implementations :- Concrete classes of the core interfaces providing data structures
3. Operations :- Methods that perform various operations on collections
Introduction to java beans, java beans, Core java, j2se, getting started with java beans programming, java to standard edition, beans in java, beans programming in java
JDK stand for java development kit.
JVM stands for Java Virtual Machine.
JRE is the responsible unit to run the java program.
JIT stands for Just In Time compiler.
In this you learn about
--Constructors in Java
--Types of Constructors
1. Default Constructor
2. Parameterized Constructor
Difference between Constructor and Method
Collections Framework is a unified architecture for managing collections, Main Parts of Collections Framework
1. Interfaces :- Core interfaces defining common functionality exhibited by collections
2. Implementations :- Concrete classes of the core interfaces providing data structures
3. Operations :- Methods that perform various operations on collections
Introduction to java beans, java beans, Core java, j2se, getting started with java beans programming, java to standard edition, beans in java, beans programming in java
JDK stand for java development kit.
JVM stands for Java Virtual Machine.
JRE is the responsible unit to run the java program.
JIT stands for Just In Time compiler.
In this you learn about
--Constructors in Java
--Types of Constructors
1. Default Constructor
2. Parameterized Constructor
Difference between Constructor and Method
Python Code Camp (Professionals) is a whole day workshop that aims to enable professionals to learn Python Basics and Django.
Visit: http://devcon.ph/events/python-code-camp-professionals-2016
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/
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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/
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.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
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.
3. What is a delegate?
•
•
•
•
Provide a level of indirection
Sort of "sigle method interface"
Delegates inhert from System.Delegate
To create and use delegates:
•
•
•
•
The delegate type needs to be declared
The code to be executed must be contained in a
method
A delegate instance must be created
The delegate instance must be invoked
5. Creating delegate instances
class MyClass
{
public void SomeMethod(string input)
public static void SomeMethodStatic(string input)
}
StringProcessor p1 = new StringProcessor(myClassInstance.SomeMethod);
delegate instance
variable
delegate
type
action to invoke on
MyClass instance
StringProcessor p2 = new StringProcessor(MyClass.SomeMethod);
static action to
invoke on MyClass
6. Invoking delegates
StringProcessor p1 = new StringProcessor(myClassInstance.SomeMethod);
p1.Invoke("Some string");
// ...or shorter version
p1("Some string");
p1("Some string");
p1.Invoke("Some string")
SomeMethod("Some string")
• Delegates can be treated like any other type
• They have methods, multiple instance can be created...
7. Example
delegate void StringProcessor(string input);
class Person
{
private string name;
public Person(string name)
{
this.name = name;
}
public void SayTheMessage(string message)
{
Console.WriteLine("{0} says: {1}", name, message);
}
public static void SayTheMessageStatic(string message)
{
Console.WriteLine(message);
}
}
static void Main(string[] args)
{
Person john = new Person("John");
Person tom = new Person("Tom");
// Result:
"John says: Hello!"
"Tom says: Hello!"
"Just saying something..."
StringProcessor johnsVoice = new StringProcessor(john.SayTheMessage);
StringProcessor tomsVoice = new StringProcessor(tom.SayTheMessage);
StringProcessor someonesVoice = new StringProcessor(Person.SayTheMessageStatic);
johnsVoice("Hello!");
tomsVoice.Invoke("Hello!");
someonesVoice("Just saying something...");
}
8. Combining the delegates
• All delegates inherit methods from
System.Delegate:
•
•
Delegate.Combine()
Delegate.Remove()
• Every delegate has an invocation list - a
list of actions to invoke
• "+", "+=", "-", "-="
• When delegate is invoked, all actions in
the invocation list are invoked in the
order they were added
9. Example of combining delegates
Person john = new Person("John");
Person tom = new Person("Tom");
Person mike = new Person("Mike");
StringProcessor johnsVoice = new StringProcessor(john.SayTheMessage);
StringProcessor tomsVoice = new StringProcessor(tom.SayTheMessage);
StringProcessor mikesVoice = new StringProcessor(mike.SayTheMessage);
StringProcessor twoCombined = johnsVoice + tomsVoice;
StringProcessor allCombined = twoCombined + mikesVoice;
allCombined += new StringProcessor(john.SayTheMessage);
allCombined("What's up!");
// Result:
"John says: What's up!"
"Tom says: What's up!"
"Mike says: What's up!"
"John says: What's up!"
10. Method group converions
//Delegate type
delegate void KeyPressEventHandler(object sender, KeyPressEventArgs e);
//Target action
void LogKeyEvent(object sender, KeyPressEventArgs e)
{ /* do something */ }
void LogKeyEvent(int x)
{ /* do something */ }
button.KeyPress += new KeyPressEventHandler(LogKeyEvent);
button.KeyPress += LogKeyEvent;
Method group is converted to
compatible delegate type
11. Contravariance of delegates
Click
-----> void EventHandler(object sender, EventArgs e)
KeyPress -----> void KeyPressEventHandler(object sender, KeyPressEventArgs e)
MouseClick ---> void MouseClickEventHandler(object sender, MouseEventArgs e)
Button button = new Button();
button.Text = "Click me";
button.Click += LogPlainEvent;
button.KeyPress += LogPlainEvent;
button.MouseClick += LogPlainEvent;
Same action for 3 different delegates!
Form form = new Form();
form.Controls.Add(button);
Application.Run(form);
static void LogEvent(object sender, EventArgs e)
{
Console.WriteLine("An event occurred");
}
12. Covariance of delegates
delegate Stream MyDelegate();
Stream
static MemoryStream GenerateSampleData()
{
byte[] buffer = new byte[16];
return new MemoryStream(buffer);
}
MyDelegate d = GenerateSampleData();
Stream stream = d();
MemoryStream stream = d();
MemoryStream
14. Inline delegate actions
• You don't need action method to exist you can create it inline
Action<int> printRoot = delegate(int number)
{
Console.WriteLine(Math.Sqrt(number));
};
printRoot(9);
Invoke it like other delegates
Func<string, int> getLength = delegate(string input)
{
return input.Length;
};
int length = getLength("Some string");
15. Ingnoring inline delegate
arguments
• When you won't use delegate arguments
you can loose them in definition
button.Click += delegate(object sender, EventArgs e) { ... };
Button button = new Button();
button.Text = "Click me";
button.Click += delegate { Console.WriteLine("Click"); };
button.KeyPress += delegate { Console.WriteLine("KeyPress"); };
button.MouseClick += delegate { Console.WriteLine("MouseClick"); };
16. Ingnoring inline delegate
arguments
• Beware of the compiler limitations:
// Thread class has several different constructors
public Thread(ThreadStart start)
public Thread(ParameterizedThreadStart start)
// There are 2 types of delegates involved
public delegate void ThreadStart()
public delegate void ParameterizedThreadStart(object obj)
new Thread(delegate() { Console.WriteLine("Something..."); } );
new Thread(delegate(object o) { Console.WriteLine("Something..."); } );
new Thread(delegate { Console.WriteLine("Something..."); } );
17. Captured variables (closures)
• Captured variables are outer variables
used (captured) in the scope of
anonymous method
void EnclosingMethod()
{
string outerVariable = "Default string";
Action<int> a = delegate()
{
string localVariable = outerVariable;
};
a();
}
18. Captured variables
delegate void MyDelegate();
string captured = "before x is created";
MyDelegate x = delegate
{
Console.WriteLine(captured);
captured = "changed by x";
};
captured = "before x is invoked";
x();
Console.WriteLine(captured);
captured = "before second invocation";
x();
// Result:
"before x is invoked"
"changed by x"
"before second invocation"
The captured variable is the same one
that the outer code uses!!!
19. Lifetime of captured variables
• A captured variable lives for at least as
long as any delegate instance referring to
it MethodInvoker CreateDelegateInstance()
public
{
int counter = 5;
MethodInvoker increment = delegate
{
Console.WriteLine(counter);
counter++;
};
increment();
return counter;
}
...
MethodInvoker x = CreateDelegateInstance();
x();
x();
20. Things can get tricky very fast
MethodInvoker[] invokers = new MethodInvoker[2];
int outsideVariable = 0;
for (int i=0; i<2; i++)
{
int insideVariable = 0;
invokers[i] = delegate
{
Console.WriteLine ("({0},{1})", outsideVariable, insideVariable);
outsideVariable++;
insideVariable++;
};
}
MethodInvoker first = invokers[0];
// Result:
MethodInvoker second = invokers[1];
(0,0)
first();
first();
first();
second();
second();
(1,1)
(2,2)
(3,0)
(4,1)
21. Lambda expressions
• They are evolution of anonymous
methods
• More readable and compact than other
delegate forms
• Many shortcuts and "syntatic sugar"
tricks allow most compat form of code
• Brings new operator "=>" (spelled as
"goes to")
23. Shortening the lambdas
returnLength = (string text) => { return text.Length; }
If the statement is single expression,
you can loose the braces, return statement and semicolon
returnLength = (string text) => text.Length
Compiler can guess type of input arguments,
so you can loose it
returnLength = (text) => text.Length
If there is single input argument,
you can loose the parentheses
returnLength = text => text.Length
- Delegate instanca će onemogućiti da garbage collector očisti njen target dok kod je ona živa. Ovo može stvoriti neželjeni memory leak jer će long-lived objekt (u našem slučaju instanca delegata) držati na životu short-lived objekt (u našem slučaju target)