SlideShare a Scribd company logo
1 of 107
Download to read offline
Real -World Akka Actor Recipes
Björn Antonsson
@bantonsson
co-authored with
Jamie Allen and Patrik Nordwall
Tuesday, 1 October 13
@bantonsson@bantonsson
Overview
• What is Akka?
• What are actors?
• Getting into the flow
• Getting your message across
• Tying it all together
2
Tuesday, 1 October 13
What is Akka?
Tuesday, 1 October 13
@bantonsson@bantonsson
What is Akka?
• Toolkit and runtime for reactive applications
• Write applications that are
– Concurrent
– Distributed
– Fault tolerant
– Event-driven
4
Tuesday, 1 October 13
@bantonsson@bantonsson
What is Akka?
• Has multiple tools
– Actors
– Futures
– Dataflow
– Remoting
– Clustering
5
Tuesday, 1 October 13
What are actors?
Tuesday, 1 October 13
@bantonsson@bantonsson
What are actors?
• Isolated lightweight event-based processes
• Share nothing
• Communicate through async messages
• Each actor has a mailbox (message queue)
• Location transparent (distributable)
• Supervision-based failure management
7
Tuesday, 1 October 13
@bantonsson@bantonsson
What is an actor good for?
• An island of sanity in a sea of concurrency
• Everything inside the actor is sequential
– Processes one message at a time
• Very lightweight
– Create millions
– Create short lived
• Inherently concurrent
8
Tuesday, 1 October 13
@bantonsson@bantonsson
Actors compared to Objects
• Think of an Actor as an Object
• You can't peek inside it
• You don't call methods
– You send messages (asynchronously)
• You don't get return values
– You receive messages (asynchronously)
• The internal state is thread safe
9
Tuesday, 1 October 13
Why should I care?
Tuesday, 1 October 13
The world is multicore!
Tuesday, 1 October 13
@bantonsson@bantonsson
12
Amdahl’s Law
Tuesday, 1 October 13
@bantonsson@bantonsson
So what's the catch?
• Really no catch
• A different programming paradigm
• All about tradeoffs
– Some things are easier some harder
• Think different
13
Tuesday, 1 October 13
Getting into the flow
Tuesday, 1 October 13
@bantonsson@bantonsson
Getting into the flow
• Why do you need flow control?
• How do you control the flow?
• Do you really need all messages?
15
Tuesday, 1 October 13
@bantonsson@bantonsson
Why do you need flow control?
• Function calls are blocking
• Message sends are asynchronous
• Possible problems
– Produce jobs too fast
– Many jobs need much CPU and/or Memory
– External resources have limits
– Unpredictable job patterns
16
Tuesday, 1 October 13
@bantonsson@bantonsson
Why do you need flow control?
• Free flow of messages can lead to
– Blocked from external resource
– Actor mailbox backup
– Slow system
– Out of Memory
17
Tuesday, 1 October 13
@bantonsson@bantonsson
How do you control the flow?
• Push with rate limiting
– A fixed number of jobs per time unit
• Push with acknowledgment
– A fixed number of jobs can be in progress
– New jobs are started a"er old jobs finish
• Pull
– New jobs are pulled as old are completed
18
Tuesday, 1 October 13
@bantonsson@bantonsson
Push with rate limiting
• A timer sends ticks at fixed intervals
• On every tick the master gets new tokens
• When there are no tokens, jobs get queued
• When there are tokens, start queued jobs
19
Tuesday, 1 October 13
@bantonsson@bantonsson
20
Worker
Master [0]
Queue [0]
Timer
Worker
1. Work
Tuesday, 1 October 13
@bantonsson@bantonsson
21
Worker
Master [0]
Queue [1]
Timer
Worker
1. Work 2. Enqueue
Tuesday, 1 October 13
@bantonsson@bantonsson
22
Worker
Master [5]
Queue [1]
Timer
Worker
1. Work 2. Enqueue
3. Tick
Tuesday, 1 October 13
@bantonsson@bantonsson
23
Worker
Master [4]
Queue [0]
Timer
Worker
1. Work 2. Enqueue
4. Dequeue
3. Tick
Tuesday, 1 October 13
@bantonsson@bantonsson
24
Worker
Master [4]
Queue [0]
Timer
Worker
1. Work 2. Enqueue
4. Dequeue
3. Tick 5. Work
Tuesday, 1 October 13
@bantonsson@bantonsson
Push with acknowledgement
• A fixed number of jobs are started
• Wait for ACK before starting more jobs
• Jobs that can't be started are queued
• When ACK arrives start queued job
• To keep workers busy, send more than one
job per worker
– Use a high water mark to stop sending and a low
water mark to start sending
25
Tuesday, 1 October 13
@bantonsson@bantonsson
26
Worker
Master [0]
Queue [0]
Worker
1. Work
Tuesday, 1 October 13
@bantonsson@bantonsson
27
Worker
Master [0]
Queue [1]
Worker
1. Work 2. Enqueue
Tuesday, 1 October 13
@bantonsson@bantonsson
28
Worker
Master [1]
Queue [1]
Worker
1. Work 2. Enqueue
3. Ack
Tuesday, 1 October 13
@bantonsson@bantonsson
29
Worker
Master [0]
Queue [0]
Worker
1. Work 2. Enqueue
4. Dequeue
3. Ack
Tuesday, 1 October 13
@bantonsson@bantonsson
30
Worker
Master [0]
Queue [0]
Worker
1. Work 2. Enqueue
4. Dequeue
5. Work
3. Ack
Tuesday, 1 October 13
@bantonsson@bantonsson
31
Worker
Master [1]
Queue [0]
Worker
1. Work 2. Enqueue
4. Dequeue
5. Work
6. Ack
3. Ack
Tuesday, 1 October 13
@bantonsson@bantonsson
Pull
• Incoming jobs are queued
• Workers ask for jobs
• Jobs are handed out when available
• Workers don't do active polling
• Can lead to lag if jobs are small compared to
cost of getting a new job
– Use batching to counteract lag
32
Tuesday, 1 October 13
@bantonsson@bantonsson
33
Worker
Master
Queue [0]
Worker
1. Work
Tuesday, 1 October 13
@bantonsson@bantonsson
34
Worker
Master
Queue [1]
Worker
1. Work 2. Enqueue
Tuesday, 1 October 13
@bantonsson@bantonsson
35
Worker
Master
Queue [1]
Worker
1. Work 2. Enqueue
3. Work?
Tuesday, 1 October 13
@bantonsson@bantonsson
36
Worker
Master
Queue [0]
Worker
1. Work 2. Enqueue
4. Dequeue
3. Work?
Tuesday, 1 October 13
@bantonsson@bantonsson
37
Worker
Master
Queue [0]
Worker
1. Work 2. Enqueue
4. Dequeue
5. Work
3. Work?
Tuesday, 1 October 13
@bantonsson@bantonsson
Do you really need all messages?
• Group messages together
– Batching
• Discard/Aggregate messages
– Scrubbing
38
Tuesday, 1 October 13
@bantonsson@bantonsson
Batching
• Collect a number of messages before
sending/processing them
– A predefined number of messages or time
• Useful for things like
– Write behind
– Database bulk insert/update
– Heavyweight operations e.g. GUI rendering
39
Tuesday, 1 October 13
@bantonsson@bantonsson
Scrubbing
• Discard or aggregate some messages
– Predefined number of messages or time
• Useful for things like
– Financial market data
– Statistics
40
Tuesday, 1 October 13
Getting your message across
Tuesday, 1 October 13
@bantonsson@bantonsson
Getting your message across
• When is a message delivered?
• The fallacy of guaranteed delivery
• What Akka guarantees
• Reliable messaging
42
Tuesday, 1 October 13
@bantonsson@bantonsson
When is a message delivered?
• Function calls block until done
• Message sends return immediately
• Which is the right point?
– Sent/Received Network?
– Enqueued/Dequeued Mailbox?
– Processed by Actor?
• Do ACKing at the business level
43
Tuesday, 1 October 13
@bantonsson@bantonsson
Guaranteed delivery
• From Enterprise Integration Patterns
• Messaging system uses built-in store to
persist
• ACK everywhere
– Producer to sender
– Sender to receiver
– Receiver to consumer
44
Tuesday, 1 October 13
@bantonsson@bantonsson
Lots of ACKs. What if I just...
• Use Durable Mailboxes?
– When is the message in the mailbox?
– No guarantees that it ever got there
– Still have to ACK to be certain
45
Tuesday, 1 October 13
@bantonsson@bantonsson
Lots of ACKs. What if I just...
• Use an External Durable Message Queue
– A SPOF/Bottleneck?
– When is the message in the message queue?
– The queue does ACKing internally
– No guarantees that it ever gets out
– Still have to ACK to be certain
46
Tuesday, 1 October 13
@bantonsson@bantonsson
Guaranteed delivery doesn't exist
• Things break
– Persistent store crashes
– Network fails
– Server goes down
• Design for failure and resilience
• Do ACKing at the business level
47
Tuesday, 1 October 13
@bantonsson@bantonsson
What Akka guarantees
• At most once delivery
– Message is only delivered once, if at all
– The weakest guarantee
• Ordered per actor sender-receiver pair
– Actor A sends messages to actor B
– If the messages are received by actor B,
it will be in the order as sent by actor A
48
Tuesday, 1 October 13
@bantonsson@bantonsson
Other delivery guarantees
• At least once
– Message will eventually be delivered
– Can happen multiple times
• Exactly once
– Message will eventually be delivered
– Will only happen once
• Have to add these yourself
– They involve ACKing ;)
49
Tuesday, 1 October 13
@bantonsson@bantonsson
Reliable Messaging: At least once
• Send with acknowledge
– Keep sending until you get an ACK
• Receive with re-request
– When missing a message request it
– Needs unique sequence numbers
• Requires
– Message store at sender (available/redundant)
50
Tuesday, 1 October 13
@bantonsson@bantonsson
51
Sender
Receiver
Store
Tuesday, 1 October 13
@bantonsson@bantonsson
52
Sender
Receiver
Store
1. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
53
Sender
Receiver
Store
2. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
54
Sender
Receiver3. Ack
Store
2. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
55
Sender
Receiver3. Ack
Store
4. Ack
2. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
Reliable Messaging: At least once
• Use a pipe of actors before ACKing
• Keep pipe free of side effects
– Same message might come several times
• ACK should be done at the business level
56
Tuesday, 1 October 13
@bantonsson@bantonsson
57
Sender
Check
Inventory
Authenticate
ReceiverStore
Tuesday, 1 October 13
@bantonsson@bantonsson
58
Sender
Check
Inventory
Authenticate
ReceiverStore
1. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
59
Sender
Check
Inventory
Authenticate
Receiver
2. Message
Store
Tuesday, 1 October 13
@bantonsson@bantonsson
60
Sender
Check
Inventory
Authenticate
Receiver
2. Message
3. Message'
Store
Tuesday, 1 October 13
@bantonsson@bantonsson
61
Sender
Check
Inventory
Authenticate
Receiver
4. Message''
2. Message
3. Message'
Store
Tuesday, 1 October 13
@bantonsson@bantonsson
62
Sender
Check
Inventory
Authenticate
Receiver
4. Message''
2. Message
3. Message'
5. Ack
Store
Tuesday, 1 October 13
@bantonsson@bantonsson
63
Sender
Check
Inventory
Authenticate
Receiver
4. Message''
2. Message
3. Message'
5. Ack
Store
6. Ack
Tuesday, 1 October 13
@bantonsson@bantonsson
Receive with re-request
• When missing a message request it
• Requires
– Uniquely identifiable sequence
– Message store at sender (available/redundant)
64
Tuesday, 1 October 13
@bantonsson@bantonsson
65
Sender
Receiver
Store
Tuesday, 1 October 13
@bantonsson@bantonsson
66
Sender
Receiver
Store
1. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
67
Sender
Receiver
Store
2. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
68
Sender
Receiver
Store
3. Message'
Tuesday, 1 October 13
@bantonsson@bantonsson
69
Sender
Receiver
Store
4. Message'
Tuesday, 1 October 13
@bantonsson@bantonsson
70
Sender
Receiver5. Request
Store
4. Message'
Tuesday, 1 October 13
@bantonsson@bantonsson
71
Sender
Receiver
Store
6. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
72
Sender
Receiver
Store
6. Message
7. Message
Tuesday, 1 October 13
@bantonsson@bantonsson
73
Sender
Receiver
Store
8. Message'
Tuesday, 1 October 13
@bantonsson@bantonsson
74
Sender
Receiver
Store
8. Message'
9. Message'
Tuesday, 1 October 13
Tying it all together
Tuesday, 1 October 13
@bantonsson@bantonsson
Tying it all together
• Distributed Workers Example
– Front Ends receive requests
– Master receives work from Front Ends
– Workers pull work from Master
• Available as a Typesafe Activator template
– Zero configuration setup
– Code and tutorial
76
Tuesday, 1 October 13
@bantonsson@bantonsson
77
Worker
Master
Worker
Worker
Worker
Frontend
Frontend
Tuesday, 1 October 13
@bantonsson@bantonsson
Tying it all together
• Further Goals
– Elastic addition/removal of front end nodes
– Elastic addition/removal of workers
– Thousands of workers
– Jobs should not be lost
78
Tuesday, 1 October 13
@bantonsson@bantonsson
79
Master
Worker
Frontend
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
80
Master
Worker
Frontend
Work
Executor
RegisterWorker
Tuesday, 1 October 13
@bantonsson@bantonsson
81
Master
Worker
Frontend
1. Work
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
82
Master
Worker
Frontend
1. Work
2. Work
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
83
Master
Worker
Frontend
1. Work
2. Work
3. Ack
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
84
Master
Worker
Frontend
1. Work
2. Work
3. Ack
4. OK
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
85
Master
Worker
Frontend
1. Work
2. Work
3. Ack
4. OK
5. WorkIsReady
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
86
Master
Worker
Frontend
1. Work
2. Work
3. Ack
4. OK
5. WorkIsReady
6. WorkerRequestWork
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
87
Master
Worker
Frontend
1. Work
2. Work
3. Ack
4. OK
5. WorkIsReady
6. WorkerRequestWork
7. Work
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
88
Master
Worker
Frontend
1. Work
2. Work
3. Ack
4. OK
5. WorkIsReady
6. WorkerRequestWork
7. Work
Work
Executor
8. Work
Tuesday, 1 October 13
@bantonsson@bantonsson
89
Master
Worker
Frontend
Work
Executor
Tuesday, 1 October 13
@bantonsson@bantonsson
90
Master
Worker
Frontend
Work
Executor
9. WorkComplete
Tuesday, 1 October 13
@bantonsson@bantonsson
91
Master
Worker
Frontend
Work
Executor
9. WorkComplete
10. WorkIsDone
Tuesday, 1 October 13
@bantonsson@bantonsson
92
Master
Worker
Frontend
Work
Executor
9. WorkComplete
10. WorkIsDone
11. Ack
Tuesday, 1 October 13
@bantonsson@bantonsson
Cluster Technologies/Patterns
• Distributed Pub/Sub Mediator
– Publish and Subscribe to message flows
• Cluster Singleton
– HA singleton actor instance within the cluster
• Cluster Client
– Let other systems connect to the cluster
93
Tuesday, 1 October 13
@bantonsson@bantonsson
DistributedPubSubMediator
94
Frontend Master
Mediator Mediator
Tuesday, 1 October 13
@bantonsson@bantonsson
DistributedPubSubMediator
95
Frontend Master
Mediator Mediator
Put
Tuesday, 1 October 13
@bantonsson@bantonsson
DistributedPubSubMediator
96
Frontend Master
Mediator Mediator
Send
Tuesday, 1 October 13
@bantonsson@bantonsson
DistributedPubSubMediator
97
Frontend Master
Mediator Mediator
Send
Tuesday, 1 October 13
@bantonsson@bantonsson
ClusterSingleton
98
ClusterSingleton
Manager
ClusterSingleton
Manager
Master
Master
(Standby)
Tuesday, 1 October 13
@bantonsson@bantonsson
ClusterSingleton
99
ClusterSingleton
Manager
ClusterSingleton
Manager
Master
Master
(Standby)
Tuesday, 1 October 13
@bantonsson@bantonsson
ClusterSingleton
100
ClusterSingleton
Manager
ClusterSingleton
Manager
Master Master
Tuesday, 1 October 13
@bantonsson@bantonsson
ClusterClient & ClusterSingleton
101
Master
Mediator
Mediator
Receptionist
Master
(Standby)
Receptionist
Cluster
Client
Cluster
Client
Worker
Worker
Tuesday, 1 October 13
@bantonsson@bantonsson
102
Master
Mediator
Mediator
Receptionist
Master
(Standby)
Receptionist
Cluster
Client
Cluster
Client
Worker
Worker
Cluster
Client
Worker
Worker
Frontend
Frontend
Tuesday, 1 October 13
Resources
Tuesday, 1 October 13
@bantonsson@bantonsson
Resources: Blog Posts
• Push with rate limiting
– Kaspar Fischer
http://letitcrash.com/post/28901663062/throttling-messages-in-akka-2
• Pull
– Derek Wyatt
http://letitcrash.com/post/29044669086/balancing-workload-across-nodes-with-
akka-2
– Michael Pollmeier
http://www.michaelpollmeier.com/akka-work-pulling-pattern-to-throttle-work/
104
Tuesday, 1 October 13
@bantonsson@bantonsson
Resources: Typesafe Activator
• http://typesafe.com/platform/getstarted
105
Tuesday, 1 October 13
@bantonsson@bantonsson
Resources: Coursera Course
• Principles of Reactive Programming by
Martin Odersky, Erik Meijer and Roland Kuhn
– Starts 4th of November 2013
– 7 weeks
– Workload: 5-7 hours a week
– Free as in free beer
• https://www.coursera.org/course/reactive
106
Tuesday, 1 October 13
Björn Antonsson
bjorn.antonsson@typesafe.com
@bantonsson
Tuesday, 1 October 13

More Related Content

Recently uploaded

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 

Recently uploaded (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Real World Akka Actor Recipes JavaOne 2013