SlideShare a Scribd company logo
Software
Architecture
using ØMQ

by
Pieter Hintjens
Strange Loop 2012
Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
A complex
story is best
told as a
series of
vacuous 1-
liners



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
90% of
software is
trash.

90% of the
rest will be
trash RSN


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
We basically
don't know
how to
make code
that can
survive ten,
let alone 50
years

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
The most
difficult
challenge
in our
profession
is simple
accuracy


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Future code
has to talk
to code, has
to be chatty,
sociable,
well-
connected


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
When we
can move
faster,
where we
go is more
critical than
ever.


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Writing
distributed
code is like
a live jam
session.

It's all about
other people

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
How we
connect to
each other
matters
more than
who we are



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
The physics
of software
is the
physics of
people




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Ideas are
cheap.

Execution is
the hard
part



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Making
perfect
software is
easy, once
you learn
the trick
(which is
kinda hard)

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Simplicity
always
beats
functionality




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Problems
are not all
equal, and
most are
illusions




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
When you
know the
real problem
you have
done half
the work



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Do nothing
that is not a
minimal,
plausible
answer to a
well-defined
problem


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Every
commit
should be
shippable




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Design by
removing
problems,
not adding
features




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Five Steps
to Satori:
Learn,
Draw,
Divide,
Conquer,
Repeat


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
1.
Learn the
language
before you
write a
poem



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
2.
If it looks
pretty, it's
more likely
to work




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
3.
A good
contract is
worth a
thousands
assumptions



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
4.
When you
take small
steps, it
hurts less
when you
fall


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
5.
Solve one
problem,
and repeat
until you run
out of time
or money


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Distributed
software
lives or dies
by its
protocols




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Protocols
are contracts
that describe
the rights
and
obligations
of each party


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
An unprotocol
takes minutes
to explain,
hours to
design, days to
write, weeks to
prove, months
to mature, and
years to
replace
Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Use human                         nom-protocol =
                                     open-peering
language                            *use-peering
in your                           open-peering =
unprotocols.                         C:OHAI
                                   ( S:OHAI-OK / S:WTF )

                                  use-peering =
ORLY?                                C:ICANHAZ
YARLY!                             / S:CHEEZBURGER
                                   / C:HUGZ S:HUGZ-OK
                                   / S:HUGZ C:HUGZ-OK


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Use GPLv3
for your
open specs.

Remixability
is freedom



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
If you're
willing to
give up
flexibility for
speed you
deserve
neither
flexibility nor
speed
Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Use cheap
text for the
low-volume
chatty
control
commands



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Use nasty
hand-coded
binary for
the high-
volume data




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
ØMQ
framing
makes a
lousy codec
but a great
separator



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
A hand-
crafted
codec can
always beat
a generic
serializer



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
A code-
generated
codec can
always beat
a hand-
crafted one



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
iMatix GSL:
technology
so dangerous
we had to
lock it up for
years



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
File transfer
is the
zombie
problem of
distributed
applications



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Router
sockets are
the beating
heart of
every real
ØMQ
protocol
engine

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
The world
needs a
chunked,
flow-controlled,
restartable,
cancellable,
async,
multicast
file transfer
ØMQ protocol

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
No matter                         C:   fetch
how hard                          S:   chunk 1
you push, a                       S:   chunk 2
file will not                     S:   chunk 3
just go down
a socket



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
That                              C:   fetch chunk 1
annoying                          S:   send chunk 1
pause after                       C:   fetch chunk 2
                                  S:   send chunk 2
you finish
                                  C:   fetch chunk 3
your beer,                        S:   send chunk 3
before you                        C:   fetch chunk 4
catch the
waiter's eye

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
You can,                          C:   fetch chunk 1
and I've                          C:   fetch chunk 2
tested this,                      C:   fetch chunk 3
                                  S:   send chunk 1
order a new
                                  C:   fetch chunk 4
beer before                       S:   send chunk 2
your old one                      S:   send chunk 3
is empty


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Request-                          C:   subscribe
reply is just                     C:   send credit
a vulgar                          S:   send chunk
                                  S:   send chunk
subclass of
                                  C:   send credit
publish-                          S:   send chunk
subscribe



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
On a router
socket, you
should
never hit the
high-water
mark



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Heartbeats
are our
protocol's
way of
asking if we
still care



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Protocol                          command_t
stack                              *request =
=                                 command_decode
                                   (socket)
message
codec                             execute_engine
+                                  (command)
protocol
engine

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
State
machines
are a perfect
domain
language for
protocol
engines


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
State
machines
can be cudly
and gentle,
when you
get to know
them


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
You don't
want to bet
against a
compiler




Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
If you're not
thinking of
security,
security is
probably
thinking of
you


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
For
connected
bidirectional
protocols
over ØMQ
use SASL



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
For loosely
connected
and one-way
protocols
over ØMQ,
use AES and
such


Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
secure-nom = open-peering
SASL over                                     *use-peering

ØMQ is                            open-peering =
                                      C:OHAI
darned                             *( S:ORLY C:YARLY )
simple                              ( S:OHAI-OK / S:WTF )

                                  ORLY = 1*mechanism
                                         challenge
                                  mechanism = string
                                  challenge = *OCTET

                                  YARLY = mechanism
                                          response
                                  response = *OCTET

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
Theory is
fine in
theory, but
in practice,
practice is
better



Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
FileMQ is a
file sharing
protocol and
stack over
ØMQ.

Reusable
until 2062

Photos by Pieter Hintjens
cc-by-sa © 2012 Pieter Hintjens
1. Aim for 50 years
To sum it up:                     2. It's all about people
                                  3. Minimal plausible solutions
zero.mq/ch6                       4. To real immediate problems
                                  5. Document the contracts
                                  6. Cheap and Nasty codecs
The Weird                         7. Code generation rocks
Fish Book,                        8. Router sockets rock
coming soon                       9. CBFC > HWM
from O'Reilly                     10. Learn state machines
                                  11. Learn about SASL

Photos by Pieter Hintjens
                                  12. Worked example: FileMQ
cc-by-sa © 2012 Pieter Hintjens

More Related Content

Viewers also liked

Introduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalkIntroduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalk
Mahmoud Said
 
Zeromq anatomy & jeromq
Zeromq anatomy & jeromqZeromq anatomy & jeromq
Zeromq anatomy & jeromq
Dongmin Yu
 
Software Architecture using ZeroMQ - techmesh 2012
Software Architecture using ZeroMQ - techmesh 2012Software Architecture using ZeroMQ - techmesh 2012
Software Architecture using ZeroMQ - techmesh 2012
pieterh
 
Git Without Branches - Simple, Smooth, Scalable
Git Without Branches - Simple, Smooth, ScalableGit Without Branches - Simple, Smooth, Scalable
Git Without Branches - Simple, Smooth, Scalablepieterh
 
Revolutionary Open Source
Revolutionary Open SourceRevolutionary Open Source
Revolutionary Open Source
pieterh
 
Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)
Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)
Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)
James Titcumb
 
Social architecture-101
Social architecture-101Social architecture-101
Social architecture-101
pieterh
 
Fosdem 2009
Fosdem 2009Fosdem 2009
Fosdem 2009
pieterh
 
Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)
Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)
Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)
James Titcumb
 
CurveZMQ, ZMTP and other Dubious Characters
CurveZMQ, ZMTP and other Dubious CharactersCurveZMQ, ZMTP and other Dubious Characters
CurveZMQ, ZMTP and other Dubious Characters
pieterh
 
Scala and ZeroMQ: Events beyond the JVM
Scala and ZeroMQ: Events beyond the JVMScala and ZeroMQ: Events beyond the JVM
Scala and ZeroMQ: Events beyond the JVM
RUDDER
 
Roman Kuznietsov: Zeromq: sockets on steroids.Zero mq
Roman Kuznietsov: Zeromq: sockets on steroids.Zero mqRoman Kuznietsov: Zeromq: sockets on steroids.Zero mq
Roman Kuznietsov: Zeromq: sockets on steroids.Zero mq
Sphere Consulting Inc
 
ZeroMQ
ZeroMQZeroMQ
ZeroMQ e Redis: soluzioni open source per l'integrazione di componenti
ZeroMQ e Redis: soluzioni open source per l'integrazione di componentiZeroMQ e Redis: soluzioni open source per l'integrazione di componenti
ZeroMQ e Redis: soluzioni open source per l'integrazione di componenti
Matteo Fortini
 
RestMS Introduction
RestMS IntroductionRestMS Introduction
RestMS Introduction
pieterh
 
Introduction to ZeroMQ
Introduction to ZeroMQIntroduction to ZeroMQ
Introduction to ZeroMQ
YiHung Lee
 
Zmq in context of openstack
Zmq in context of openstackZmq in context of openstack
Zmq in context of openstack
Yatin Kumbhare
 

Viewers also liked (20)

Introduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalkIntroduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalk
 
Zeromq anatomy & jeromq
Zeromq anatomy & jeromqZeromq anatomy & jeromq
Zeromq anatomy & jeromq
 
Software Architecture using ZeroMQ - techmesh 2012
Software Architecture using ZeroMQ - techmesh 2012Software Architecture using ZeroMQ - techmesh 2012
Software Architecture using ZeroMQ - techmesh 2012
 
Git Without Branches - Simple, Smooth, Scalable
Git Without Branches - Simple, Smooth, ScalableGit Without Branches - Simple, Smooth, Scalable
Git Without Branches - Simple, Smooth, Scalable
 
Revolutionary Open Source
Revolutionary Open SourceRevolutionary Open Source
Revolutionary Open Source
 
Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)
Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)
Practical Message Queueing using RabbitMQ (Nomad PHP EU Dec 2014)
 
Social architecture-101
Social architecture-101Social architecture-101
Social architecture-101
 
Fosdem 2009
Fosdem 2009Fosdem 2009
Fosdem 2009
 
Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)
Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)
Introducing Practical RabbitMQ (php[tek] 2016 - Tutorial)
 
CurveZMQ, ZMTP and other Dubious Characters
CurveZMQ, ZMTP and other Dubious CharactersCurveZMQ, ZMTP and other Dubious Characters
CurveZMQ, ZMTP and other Dubious Characters
 
Introduction to Heroku Postgres
Introduction to Heroku PostgresIntroduction to Heroku Postgres
Introduction to Heroku Postgres
 
Scala and ZeroMQ: Events beyond the JVM
Scala and ZeroMQ: Events beyond the JVMScala and ZeroMQ: Events beyond the JVM
Scala and ZeroMQ: Events beyond the JVM
 
Roman Kuznietsov: Zeromq: sockets on steroids.Zero mq
Roman Kuznietsov: Zeromq: sockets on steroids.Zero mqRoman Kuznietsov: Zeromq: sockets on steroids.Zero mq
Roman Kuznietsov: Zeromq: sockets on steroids.Zero mq
 
ZeroMQ
ZeroMQZeroMQ
ZeroMQ
 
zeromq
zeromqzeromq
zeromq
 
ZeroMQ e Redis: soluzioni open source per l'integrazione di componenti
ZeroMQ e Redis: soluzioni open source per l'integrazione di componentiZeroMQ e Redis: soluzioni open source per l'integrazione di componenti
ZeroMQ e Redis: soluzioni open source per l'integrazione di componenti
 
RabbitMq
RabbitMqRabbitMq
RabbitMq
 
RestMS Introduction
RestMS IntroductionRestMS Introduction
RestMS Introduction
 
Introduction to ZeroMQ
Introduction to ZeroMQIntroduction to ZeroMQ
Introduction to ZeroMQ
 
Zmq in context of openstack
Zmq in context of openstackZmq in context of openstack
Zmq in context of openstack
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Software Architecture over ZeroMQ