This document provides an overview of streaming data and event processing concepts. It discusses different types of windows (tumbling, sliding, periodic, monotonic) that can be used to analyze data over time. It also introduces the concepts of streams and pipes for composing processing logic from simple reusable parts, and discusses how this relates to approaches used in Node.js and other systems. The document is presented at a technical event to explain these streaming data concepts.
Stop running from animations droidcon Londonmaric_iv
Talk from droidcon London
Creating eye candy animations takes time and effort, but the end result is worth it. To make your life a bit easier, in this talk Ivan will share with you 10 tips he learned while working on all sorts of animations. Those tips will help you break your fear of animations and after this talk, you will have no more excuses.
Stop running from animations droidcon Londonmaric_iv
Talk from droidcon London
Creating eye candy animations takes time and effort, but the end result is worth it. To make your life a bit easier, in this talk Ivan will share with you 10 tips he learned while working on all sorts of animations. Those tips will help you break your fear of animations and after this talk, you will have no more excuses.
As a powerful framework, Qt offers tons of modules and classes for building your applications. This talk highlight few practical cross-platform examples of what Qt can do with a fairly few lines of code, ranging from kinetic scrolling, weather service, OpenStreetMap, parallax effect, flight tracking, WYSIWYG HTML editor, and many more. All examples will be accompanied with corresponding live demos.
Presentation by Ariya Hidayat held during the Maemo Summit 2009 in Amsterdam
With the introduction of multi-touch and gesture support coming in Qt, application developers now have the possibility of introducing new types of input and interaction to their applications. We will examine the various types of devices that one can expect to encounter in the multi-touch and gesture "world". This presentation will also introduce and explain the new API, walk through some example code, and show some demos of some of the possibilities we foresee with this technology.
Presentation by Jens Bache-Wiig held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Graphics View becomes one of the prominent features of Qt these days, it also serves as the backbone for next-generation user-interface developments. This talk highlights several tips and tricks which you can employ to beautify your Graphics View-based application, in order to have much more exciting and interesting user interactions. In addition, a new addition in Qt 4.6, namely the graphics effect feature, will be introduced and demonstrated.
Presentation by Ariya Hidayat held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
As a powerful framework, Qt offers tons of modules and classes for building your applications. This talk highlight few practical cross-platform examples of what Qt can do with a fairly few lines of code, ranging from kinetic scrolling, weather service, OpenStreetMap, parallax effect, flight tracking, WYSIWYG HTML editor, and many more. All examples will be accompanied with corresponding live demos.
Presentation by Ariya Hidayat held during the Maemo Summit 2009 in Amsterdam
With the introduction of multi-touch and gesture support coming in Qt, application developers now have the possibility of introducing new types of input and interaction to their applications. We will examine the various types of devices that one can expect to encounter in the multi-touch and gesture "world". This presentation will also introduce and explain the new API, walk through some example code, and show some demos of some of the possibilities we foresee with this technology.
Presentation by Jens Bache-Wiig held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Graphics View becomes one of the prominent features of Qt these days, it also serves as the backbone for next-generation user-interface developments. This talk highlights several tips and tricks which you can employ to beautify your Graphics View-based application, in order to have much more exciting and interesting user interactions. In addition, a new addition in Qt 4.6, namely the graphics effect feature, will be introduced and demonstrated.
Presentation by Ariya Hidayat held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Slides from my talk at Philly ETE looking at the Lambda Architecture (originating at twitter) critically from the perspective of someone viewing it from the financial (faster, higher volume, spikier data) domain
Messaging becomes Data Distributions gets embedded event processing (not complex, made simple) - bending all the rules one benchmark at a time - Push Technology, Waratek and other things
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011darach
A presentation delivered to the Erlang User Group in London demonstrating how to embed the erjang implementation of erlang into the StreamBase CEP engine, enabling extending StreamBase with erlang based extensions.
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...ICSM 2011
Paper: "Crossing the Boundaries while Analyzing Heterogeneous Component-Based Software Systems"
Authors: Amir Reza Yazdanshenas, Leon Moonen
Session: Research Track Session 7: Components
This part of the tutorial shows the install options for TinyOS, describes briefly the layout of the tinyos-2.x and talks about two applications: one that is using dissemination service and another one that is using the collection service.
Video recordings of the event can be found here: http://vimeo.com/channels/tinyos
The hangover: A "modern" (?) high performance approach to build an offensive ...Nelson Brito
T50 (an Experimental Mixed Packet Injector) very first public tak about the version 2.5 (The Murder Version).
Check the original demonstration videos:
- https://www.youtube.com/playlist?list=PLda9TmFadx_m2qdd-euUf4zhQ-5juTVEx
For further source codes, please, refer to:
- http://t50.sourceforge.net/
Introduction to developing or migrating models to be compliant to the OpenMI Standard. OpenMI is an open standard which allows dynamic linking of numerical models, such as river models rainfall-runoff models and so on. See also:
http://www.lictek.com
Introduction to developing or migrating models to be compliant to the OpenMI Standard. OpenMI is an open standard which allows dynamic linking of numerical models, such as river models rainfall-runoff models and so on. See also:
http://www.lictek.com
Nowadays, CPU microarchitecture is concealed from developers by compilers, VMs, etc. Do Java developers need to know microarchitecture details of modern processors? Or, does it like to learn quantum mechanics for cooking? Are Java developers safe from leaking low-level microarchitecture details into high level application performance behaviour? We will try to answer these questions by analyzing several Java example.
6th OA Conference - Apr 2005 - Into the Depths of OpenAccess - Timing Constra...Tim55Ehrler
This presentation describes the unique, ground-breaking development of persistent SDC-equivalent timing constraints within industry-standard OpenAccess design database.
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.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
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.
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.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
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/
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
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.
4. EEP
+
‘Streams
&
Pipes’=
CEP
w w S
C Q
w w
eep.js:
Func*onal
Opera*ons
on
Streaming
Data
Windows
• An
experiment
in
Embedded
Event
Processing
• Sliding,
Tumbling,
Monotonic
and
Periodic
windows
• Separate
‘window’
definiYon
from
operaYon
• Aggregate
funcYons.
Window
of
data
produces
scalar
result
• But?
No
filtering,
branching
or
combinators,
no
flows
…
• That’s
a
job
for
Streams
&
Pipes.
Let’s
add
that.
Copyright
Push
Technology
2012
6. Windows
+
Aggregate
FuncYons
What
is
this?
Example
• A
window
of
data
is
a
slice
of
data
over
Yme,
number
of
• Average
–
Aggregate
Func*on
events
or
some
other
dimension
• CPU
–
Data
(events)
• An
aggregate
funcYon
is
something
you
do
in
the
context
of
• On
a
second
by
second
basis
a
window.
-‐
Periodic
Yme
window
Copyright
Push
Technology
2012
7. Tumbling
Windows
x() x() x() x()
emit()
x() x() x() x() emit()
1 2 3 4
x() x() x() x()
emit()
2 3 4 5
init()
2 3 4 5
init()
init()
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 ...
What
is
a
tumbling
window?
• Every
N
events,
give
me
an
average
of
the
last
N
events
• Does
not
overlap
windows
• ‘Closing’
a
window,
‘Emits’
a
result
(the
average)
• Closing
a
window,
Opens
a
new
window
Copyright
Push
Technology
2012
8. Sliding
Windows
init()
1 2 3 4 5 .. .. .. ..
x() 1 2 3 4 .. .. .. ..
x() 1 2 3 .. .. .. ..
x() 1 2 .. .. .. ..
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 ...
What
is
a
sliding
window?
• Like
tumbling,
except
can
overlap.
• But
typically
O(N2),
Keep
N
small.
Except
EEP.js.
O(N)
perf.
• Every
event
opens
a
new
window.
• Ader
N
events,
every
subsequent
event
emits
a
result.
• Like
all
windows,
cost
of
calculaYon
amorYzed
over
events
Copyright
Push
Technology
2012
9. Periodic
Windows
x() x() x() x()
emit()
x() x() x() x() emit()
1 2 3 4
x() x() x() x()
emit()
2 3 4 5
init()
2 3 4 5
init()
init()
t0 t1 t2 t3 ...
What
is
a
periodic
window?
• Driven
by
‘wall
clock
Yme’
in
milliseconds
• Not
monotonic,
natch.
Beware
of
NTP
Copyright
Push
Technology
2012
10. Monotonic
Windows
my my my
x() x() x() x()
emit()
x() x() x() x() emit()
1 2 3 4
x() x() x() x()
emit()
2 3 4 5
init()
2 3 4 5
init()
init()
t0 t1 t2 t3 ...
What
is
a
monotonic
window?
• Driven
mad
by
‘wall
clock
Yme’?
Need
a
logical
clock?
• No
worries.
Provide
your
own
clock!
Eg.
Vector
clock
Copyright
Push
Technology
2012
20. What
about
Streams
&
Pipes?
???? S
C Q
+
w w
eep w w
Copyright
Push
Technology
2012
21. Streams
&
Pipes:
Origins
• Do
one
thing.
Do
it
well
• Compose
sophisYcated
behaviors
from
simple
parts
• Maximize
reuse
• Unix,
‘Chain
of
Responsibility’
(GoF),
Interceptor
(POSA2),
XPipe,
Builder,
…
• The
‘Assembly
Line
Principle’
is
nothing
new
Copyright
Push
Technology
2012
22. Streams
&
Pipes:
Node.JS
• var
events
=
require(‘events’)
• Publish/Subscribe
to
event
(streams)
• var
stream
=
require(‘stream’)
• Readable
–
Consume
a
(finite)
set
of
events
• Writable
–
Produce
a
(finite)
set
of
events
• readable.pipe(writeable)
• writeable.pipe(readable)
Copyright
Push
Technology
2012
23. Streams
&
Pipes:
streams2
• Transform
–
Compress,
Encrypt,
Encode,
…
• Duplex
–
Readable
and
Writable
• Passthrough
–
The
canonical
‘noop’
transform
• Node.js
Streams
history
(so
far)
hOp://bit.ly/XupqkO
-‐
by
@izs
Copyright
Push
Technology
2012
24. Streams
&
Pipes:
but
…
• Oriented
for
IO,
not
compute/analy*cs
• Array-‐like
buffers
not
individual
datums
• @dominictarr
event-‐streams?
Array
based
• ASCII,
UTF-‐8,
Binary
-‐
not
JS
types
• Oden
require
copying,
parsing,
…
(slow)
• So,
streams
&
pipes
for
JS
types?
Yes!
• Do
one
thing.
Do
it
well
• Compose
sophisYcated
simple
parts
• Maximize
reuse
Copyright
Push
Technology
2012
26. Beams,
Pipes
• Streams
&
Pipes
for
analyYcs
• Not
designed
for
IO.
Use
Streams
for
that
• Not
concerned
with
CEP.
• …
Use
EEP
for
that?
J
• Not
concerned
with
arrays
of
things
• …
Use
Dominic
Tarr’s
event-‐stream
for
that
• Beam
• Crunch
events
• Pipeline,
Branch
&
Combine
Copyright
Push
Technology
2012
27. Beams
&
Pipes.
• Streams
&
Pipes,
reconsidered
for
JS
types
• var
Beam
=
require(‘beam’);
• Beam.Source
-‐-‐
Push
data
in
• Beam.Sink
-‐-‐
Suck
analysis
out
• Beam.Operator
-‐-‐
OODA
/
PDCA
• Really
Simple:
~150
LOC
Copyright
Push
Technology
2012
28. Beams
&
Pipes:
Operators
• Three
types
of
operator
• Transform
• 1
in,
1
out.
Output
data/type
may
differ
• Filter
• 1
in,
1
or
none
out.
Output
data/type
same
as
input
• Custom
• May
transform,
filter
Copyright
Push
Technology
2012
33. Branch
• You
can
define
1
or
many
• They
can
overlap
or
not
as
you
see
fit
• It’s
just
an
applicaYon
of
predicate
(boolean)
filters
• Simple
Copyright
Push
Technology
2012
34. Combine?
• You
can
combine
many
sources
or
branches
into
one
• Works
like
a
union.
First
in,
first
out.
• You
can
write
your
own.
It’s
just
an
Operator
• You
can
branch
from,
combine
to
…
any
beam
Copyright
Push
Technology
2012
35. Streams
&
Pipes,
++
• In
Node.js
the
definiYon
and
usage
of
streams
in
a
pipe
are
entangled.
• Typically,
with
Streams
&
Pipes
for
IO,
you
only
ever
want
one.
• In
algorithms
you
may
want
to
reuse.
• Think
about
it
…
• Event
EmiOer.
1
square
…
2
branches?
Copyright
Push
Technology
2012
36. Pipes
++
• Beam
Pipes
are
different
(&
really
really
really
simple)
• You
can
define
a
filter
once
• You
can
store
it
in
a
module
• Store
like
opera*ons
together
• Make
libraries
• Use
‘em.
Share
‘em.
Copyright
Push
Technology
2012
37. EEP
based
on
Beam
soon!
Copyright
Push
Technology
2012
38. Un*l
then?
• npm
install
beam
• Filter
data
events
• Transform
data
events
• Analyze,
crunch
all
the
things
• Branch
all
the
things
• Combine
all
the
things
Copyright
Push
Technology
2012
41. • Thank
you
for
listening
to,
having
me
• Le
twiOer:
@darachennis
• hOps://github.com/darach/beam-‐js
hOps://github.com/darach/eep-‐js
• npm
install
eep
npm
install
beam
• EEP
built
on
beam?
EEP
in
other
langs?
Soon
• Fork
it,
Port
it,
Enjoy
it!
QuesYons?
Copyright
Push
Technology
2012
Darach@PushTechnology.com