SlideShare a Scribd company logo
1 of 132
Download to read offline
Abe
Stanway
@jonlives
BRING THE NOISE!
MAKING SENSE OF
A HAILSTORM
OF METRICS
Jon Cowie
@abestanway
Tuesday, 9 July 13
Ninety minutes is a
long time.
- motivations
- skyline
- oculus
- demo!
- questions
This talk:
~10
~25
~30
~10
~15
Tuesday, 9 July 13
Ninety minutes is a
long time.
- motivations
- skyline
- oculus
- demo!
- questions
This talk:
~10
~25
~30
~10
~15
But we have some
sweet stuff to show
you.
Tuesday, 9 July 13
Background and Motivations
Tuesday, 9 July 13
Tuesday, 9 July 13
1.5 billion page views
$117 million of goods sold
950 thousand users
Tuesday, 9 July 13
1.5 billion page views
$117 million of goods sold
950 thousand users
(in december ‘12)
Tuesday, 9 July 13
We practice continuous
deployment.
Tuesday, 9 July 13
de•ploy /diˈploi/
Verb
To release your code for the
world to see, hopefully without
breaking the Internet
Tuesday, 9 July 13
Everyone deploys.
250+ committers.
Tuesday, 9 July 13
Day one:
DEPLOY
Tuesday, 9 July 13
Tuesday, 9 July 13
30+ DEPLOYS A DAY
(~8 commits per deploy!)
Tuesday, 9 July 13
“30 deploys a day? Is that safe?”
Tuesday, 9 July 13
We optimize for quick recovery
by anticipating problems...
Tuesday, 9 July 13
...instead of fearing human error.
Tuesday, 9 July 13
Can’t fix what you
don’t measure!
- W. Edwards Deming
Tuesday, 9 July 13
StatsD
graphite
Skyline
Oculus
Supergrep
homemade!not homemade
Nagios
Ganglia
Tuesday, 9 July 13
Text
Real time error logging
Tuesday, 9 July 13
“Not all things that
break throw errors.”
- Oscar Wilde
Tuesday, 9 July 13
StatsD
Tuesday, 9 July 13
StatsD::increment(“foo.bar”)
Tuesday, 9 July 13
If it moves,
graph it!
Tuesday, 9 July 13
If it moves,
graph it!
we would graph them ➞
Tuesday, 9 July 13
If it doesn’t move,
graph it anyway
(it might make a run for it)
Tuesday, 9 July 13
DASHBOARDS!
Tuesday, 9 July 13
[1358731200,20]
[1358731200,20]
[1358731200,20]
[1358731200,20]
[1358731200,20]
[1358731200,20]
[1358731200,20]
[1358731200,20]
[1358731200,60]
[1358731200,20]
[1358731200,20]
Tuesday, 9 July 13
DASHBOARDS! x 250,000
Tuesday, 9 July 13
Tuesday, 9 July 13
lol nagios
Tuesday, 9 July 13
“...but there are also
unknown unknowns -
there are things we do
not know we don’t
know.”
Tuesday, 9 July 13
Unknown
anomalies
Tuesday, 9 July 13
Unknown
correlations
Tuesday, 9 July 13
Kale.
Tuesday, 9 July 13
Kale:
- leaves
- green stuff
Tuesday, 9 July 13
Kale:
- leaves
- green stuff
OCULUS
SKYLINE
Tuesday, 9 July 13
Q). How do you analyze a
timeseries for anomalies
in real time?
Tuesday, 9 July 13
A). Lots of HTTP requests
to Graphite’s API!
Tuesday, 9 July 13
Q). How do you analyze a
quarter million timeseries
for anomalies in real time?
Tuesday, 9 July 13
SKYLINE
Tuesday, 9 July 13
SKYLINE
Tuesday, 9 July 13
A real time
anomaly detection
system
Tuesday, 9 July 13
Real time?
Tuesday, 9 July 13
Kinda.
Tuesday, 9 July 13
StatsD
Ten second resolution
Tuesday, 9 July 13
Ganglia
One minute resolution
Tuesday, 9 July 13
~ 10s
( ~ 1minBest case:
Tuesday, 9 July 13
(
Takes about 90 seconds
with our throughput.
Tuesday, 9 July 13
(
Still faster than you would
have discovered it otherwise.
Tuesday, 9 July 13
Memory > Disk
Tuesday, 9 July 13
Tuesday, 9 July 13
Q). How do you get a
quarter million timeseries
into Redis on time?
Tuesday, 9 July 13
STREAM IT!
Tuesday, 9 July 13
Graphite’s relay agent
original
graphite backup graphite
Tuesday, 9 July 13
Graphite’s relay agent
original
graphite backup graphite
[statsd.numStats, [1365603422, 82345]]
pickles
[statsd.numStats, [1365603432, 80611]]
[statsd.numStats, [1365603412, 73421]]
Tuesday, 9 July 13
Graphite’s relay agent
original
graphite skyline
[statsd.numStats, [1365603422, 82345]]
pickles
[statsd.numStats, [1365603432, 80611]]
[statsd.numStats, [1365603412, 73421]]
Tuesday, 9 July 13
We import from Ganglia too.
Tuesday, 9 July 13
Storing timeseries
Tuesday, 9 July 13
Minimize I/O
Minimize memory
Tuesday, 9 July 13
redis.append()
- Strings
- Constant time
- One operation per update
Tuesday, 9 July 13
JSON?
Tuesday, 9 July 13
“[1358711400, 51],”
=> get statsD.numStats
----------------------------
Tuesday, 9 July 13
“[1358711400, 51],
=> get statsD.numStats
----------------------------
[1358711410, 23],”
Tuesday, 9 July 13
“[1358711400, 51],
=> get statsD.numStats
----------------------------
[1358711410, 23],
[1358711420, 45],”
Tuesday, 9 July 13
OVER HALF
CPU time spent
decoding JSON
Tuesday, 9 July 13
[1,2]
Tuesday, 9 July 13
[ 1 , 2 ]
Stuff we care about
Extra junk
Tuesday, 9 July 13
MESSAGEPACK
Tuesday, 9 July 13
MESSAGEPACK
A binary-based
serialization protocol
Tuesday, 9 July 13
x93x01x02
Array size
(16 or 32 bit big
endian integer)
Things we care about
Tuesday, 9 July 13
x93x01x02
Array size
(16 or 32 bit big
endian integer)
Things we care about
x93x02x03
Tuesday, 9 July 13
CUT IN HALF
Run Time + Memory Used
Tuesday, 9 July 13
ROOMBA.PY
CLEANS THE DATA
Tuesday, 9 July 13
“Wait...you wrote this in Python?”
Tuesday, 9 July 13
Great statistics libraries
Not fun for parallelism
Tuesday, 9 July 13
Assign Redis keys to each process
Process decodes and analyzes
The Analyzer
Tuesday, 9 July 13
Anomalous metrics written as JSON
setInterval() retrieves from front end
The Analyzer
Tuesday, 9 July 13
Tuesday, 9 July 13
What does it mean
to be anomalous?
Tuesday, 9 July 13
Consensus model
Tuesday, 9 July 13
Implement everything you
can get your hands on
Tuesday, 9 July 13
Basic algorithm:
“A metric is anomalous if its
latest datapoint is over three
standard deviations above
its moving average.”
Tuesday, 9 July 13
Grubb’s test, ordinary least squares
Tuesday, 9 July 13
Histogram binning
Tuesday, 9 July 13
Four horsemen of the modelpocalypse
Tuesday, 9 July 13
1. Seasonality
2. Spike influence
3. Normality
4. Parameters
Tuesday, 9 July 13
Anomaly?
Tuesday, 9 July 13
Nope.
Tuesday, 9 July 13
Text
Spikes artificially raise the moving average
Anomaly
detected (yay!)
Anomaly missed :(
Bigger moving average
Tuesday, 9 July 13
Real world data doesn’t
necessarily follow a perfect
normal distribution.
Tuesday, 9 July 13
Too many metrics to fit
parameters for them all!
Tuesday, 9 July 13
A robust set of algorithms is the
current focus of this project.
Tuesday, 9 July 13
Q). How do you analyze a
quarter million timeseries
for correlations?
Tuesday, 9 July 13
OCULUS
Tuesday, 9 July 13
Image comparison is expensive and slow
Tuesday, 9 July 13
“[[975, 1365528530],
[643, 1365528540],
[750, 1365528550],
[992, 1365528560],
[580, 1365528570],
[586, 1365528580],
[649, 1365528590],
[548, 1365528600],
[901, 1365528610],
[633, 1365528620]]”
Use raw timeseries instead of raw graphs
Tuesday, 9 July 13
Naming Things
Cache Invalidation
Numerical Comparison?
HARD PROBLEMS
Tuesday, 9 July 13
Naming Things
Cache Invalidation
Numerical Comparison?
HARD PROBLEMS
Tuesday, 9 July 13
Euclidian Distance
Tuesday, 9 July 13
Dynamic Time Warping
(helps with phase shifts)
Tuesday, 9 July 13
We’ve solved it!
Tuesday, 9 July 13
O(N2)
Tuesday, 9 July 13
O(N2) x 250k
Tuesday, 9 July 13
Too slow!
Tuesday, 9 July 13
doesn’t
Tuesday, 9 July 13
No need to run DTW on all 250k.
Tuesday, 9 July 13
Discard obviously dissimilar metrics.
Tuesday, 9 July 13
“975 643 643 750 992 992 992 580”
“sharpdecrement flat increment
sharpincrement flat flat
shapdecrement”
Shape Description Alphabet
Tuesday, 9 July 13
“975 643 643 750 992 992 992 580”
“sharpdecrement flat increment
sharpincrement flat flat
shapdecrement”
Shape Description Alphabet
“24 4 4 11 25 25 25 0 1”
(normalization step)
Tuesday, 9 July 13
Tuesday, 9 July 13
Search for shape description
fingerprint in Elasticsearch
Tuesday, 9 July 13
Run DTW on results
as final polish
Tuesday, 9 July 13
O(N2) on ~10k metrics
Tuesday, 9 July 13
Still too slow.
Tuesday, 9 July 13
Fast DTW - O(N)
coarsen
project
refine
Tuesday, 9 July 13
Elasticsearch Details
Phrase search for first
pass scores across shape
description fingerprints
Tuesday, 9 July 13
Elasticsearch Details
Phrase search for first pass scores
across shape description fingerprints
Custom FastDTW and euclidian
distance plugins to score across the
remaining filtered timeseries
Tuesday, 9 July 13
Elasticsearch Structure
{
:id => “statsd.numStats”,
:fingerprint => “sdec inc sinc sdec”,
:values => "10 1 2 15 4"
}
Tuesday, 9 July 13
Mappings
Specify tokenizers
“Untouched” fields
Tuesday, 9 July 13
First pass query
:match => {
:fingerprint => {
:query => “sdec inc sinc sdec inc”,
:type => "phrase",
:slop => 20
}
}
shape description
fingerprint
Tuesday, 9 July 13
Refinement query{:custom_score	
  =>	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :query	
  =>	
  <first_pass_query>,
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :script	
  =>	
  "oculus_dtw",
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :params	
  =>	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :query_value	
  =>	
  “10	
  20	
  20	
  10	
  
30”,
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :query_field	
  =>	
  
"values.untouched",
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },
}
raw timeseries
Tuesday, 9 July 13
Skyline
Elasticsearch
Resque
Sinatra
Ganglia
Graphite
StatsD
KALE
Flask
Tuesday, 9 July 13
Populating Elasticsearch
Tuesday, 9 July 13
ES
Index
resque workers
Tuesday, 9 July 13
Too slow to
update and search
Tuesday, 9 July 13
New
Index
Last
Index
Webapp
Tuesday, 9 July 13
Sinatra frontend
Queries ES
Renders results
Tuesday, 9 July 13
Collections
Tuesday, 9 July 13
devops <3
Tuesday, 9 July 13
Tuesday, 9 July 13
Special thanks to:
Dr. Neil Gunther, PerfDynamics
Dr. Brian Whitman, Echonest
Burc Arpat, Facebook
Seth Walker, Etsy
Rafe Colburn, Etsy
Mike Rembetsy, Etsy
John Allspaw, Etsy
Tuesday, 9 July 13
@abestanway @jonlives
Thanks!
github.com/etsy/skyline
github.com/etsy/oculus
Tuesday, 9 July 13

More Related Content

Viewers also liked

Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youPatrick Meenan
 
Integrating multiple CDNs at Etsy
Integrating multiple CDNs at EtsyIntegrating multiple CDNs at Etsy
Integrating multiple CDNs at EtsyLaurie Denness
 
Getting 100B Metrics to Disk
Getting 100B Metrics to DiskGetting 100B Metrics to Disk
Getting 100B Metrics to Diskjthurman42
 
Anomaly Detection for Real-World Systems
Anomaly Detection for Real-World SystemsAnomaly Detection for Real-World Systems
Anomaly Detection for Real-World SystemsManojit Nandi
 
Real time analytics @ netflix
Real time analytics @ netflixReal time analytics @ netflix
Real time analytics @ netflixCody Rioux
 
Velocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling PitfallsVelocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling PitfallsJohn Allspaw
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observabilityTheo Schlossnagle
 
Velocity 2013 london developer-friendly web performance testing in continuou...
Velocity 2013 london  developer-friendly web performance testing in continuou...Velocity 2013 london  developer-friendly web performance testing in continuou...
Velocity 2013 london developer-friendly web performance testing in continuou...Michael Klepikov
 
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...tboubez
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouMark Nottingham
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsAndy Davies
 
Step by Step Mobile Optimization
Step by Step Mobile OptimizationStep by Step Mobile Optimization
Step by Step Mobile OptimizationGuy Podjarny
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Kenny Dits
 
Scaling Instagram
Scaling InstagramScaling Instagram
Scaling Instagramiammutex
 
Un site web responsive en une heure
Un site web responsive en une heureUn site web responsive en une heure
Un site web responsive en une heureRaphaël Goetter
 

Viewers also liked (16)

Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and you
 
Integrating multiple CDNs at Etsy
Integrating multiple CDNs at EtsyIntegrating multiple CDNs at Etsy
Integrating multiple CDNs at Etsy
 
Getting 100B Metrics to Disk
Getting 100B Metrics to DiskGetting 100B Metrics to Disk
Getting 100B Metrics to Disk
 
Anomaly Detection for Real-World Systems
Anomaly Detection for Real-World SystemsAnomaly Detection for Real-World Systems
Anomaly Detection for Real-World Systems
 
Real time analytics @ netflix
Real time analytics @ netflixReal time analytics @ netflix
Real time analytics @ netflix
 
Velocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling PitfallsVelocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
Velocity EU 2012 Escalating Scenarios: Outage Handling Pitfalls
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
Velocity 2013 london developer-friendly web performance testing in continuou...
Velocity 2013 london  developer-friendly web performance testing in continuou...Velocity 2013 london  developer-friendly web performance testing in continuou...
Velocity 2013 london developer-friendly web performance testing in continuou...
 
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
Velocity Europe 2013: Beyond Pretty Charts: Analytics for the cloud infrastru...
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For You
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
 
Step by Step Mobile Optimization
Step by Step Mobile OptimizationStep by Step Mobile Optimization
Step by Step Mobile Optimization
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?
 
Scaling Instagram
Scaling InstagramScaling Instagram
Scaling Instagram
 
Symfony à la télé
Symfony à la téléSymfony à la télé
Symfony à la télé
 
Un site web responsive en une heure
Un site web responsive en une heureUn site web responsive en une heure
Un site web responsive en une heure
 

Similar to Bring the Noise

UKOUG BIRT SIG 2014 – ODI for OWB Developers
UKOUG BIRT SIG 2014 –  ODI for OWB DevelopersUKOUG BIRT SIG 2014 –  ODI for OWB Developers
UKOUG BIRT SIG 2014 – ODI for OWB DevelopersJérôme Françoisse
 
Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...
Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...
Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...DataStax
 
Web directions code 13 notes
Web directions code 13 notesWeb directions code 13 notes
Web directions code 13 notesjaredau
 
Designing for garbage collection
Designing for garbage collectionDesigning for garbage collection
Designing for garbage collectionGregg Donovan
 
실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3NAVER D2
 
Data Tactics Analytics Brown Bag (Aug 22, 2013)
Data Tactics Analytics Brown Bag (Aug 22, 2013)Data Tactics Analytics Brown Bag (Aug 22, 2013)
Data Tactics Analytics Brown Bag (Aug 22, 2013)Rich Heimann
 
The Seneca Pattern at EngineYard Distill 2013 Conference
The Seneca Pattern at EngineYard Distill 2013 ConferenceThe Seneca Pattern at EngineYard Distill 2013 Conference
The Seneca Pattern at EngineYard Distill 2013 ConferenceRichard Rodger
 
How We Look At Software
How We Look At SoftwareHow We Look At Software
How We Look At SoftwareDevrim Yasar
 
Gearing Up Google Glass Development - August 2013
Gearing Up Google Glass Development - August 2013Gearing Up Google Glass Development - August 2013
Gearing Up Google Glass Development - August 2013Maximiliano Firtman
 
Cassandra sf meetup_2013_07_31
Cassandra sf meetup_2013_07_31Cassandra sf meetup_2013_07_31
Cassandra sf meetup_2013_07_31George Courtsunis
 
Cassandra at Disqus — SF Cassandra Users Group July 31st
Cassandra at Disqus — SF Cassandra Users Group July 31stCassandra at Disqus — SF Cassandra Users Group July 31st
Cassandra at Disqus — SF Cassandra Users Group July 31stDataStax Academy
 
Elasticsearch in 15 minutes
Elasticsearch in 15 minutesElasticsearch in 15 minutes
Elasticsearch in 15 minutesDavid Pilato
 
Intro to Clojure's core.async
Intro to Clojure's core.asyncIntro to Clojure's core.async
Intro to Clojure's core.asyncLeonardo Borges
 
Taming Pythons with ZooKeeper
Taming Pythons with ZooKeeperTaming Pythons with ZooKeeper
Taming Pythons with ZooKeeperJyrki Pulliainen
 
Repsheet: A Behavior Based Approach to Web Application Security
Repsheet: A Behavior Based Approach to Web Application SecurityRepsheet: A Behavior Based Approach to Web Application Security
Repsheet: A Behavior Based Approach to Web Application SecurityAaron Bedra
 
Angular js, Yeomon & Grunt
Angular js, Yeomon & GruntAngular js, Yeomon & Grunt
Angular js, Yeomon & GruntRichard Powell
 
Architecture patterns and practices
Architecture patterns and practicesArchitecture patterns and practices
Architecture patterns and practicesFuqiang Wang
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013Mojo Lingo
 

Similar to Bring the Noise (20)

UKOUG BIRT SIG 2014 – ODI for OWB Developers
UKOUG BIRT SIG 2014 –  ODI for OWB DevelopersUKOUG BIRT SIG 2014 –  ODI for OWB Developers
UKOUG BIRT SIG 2014 – ODI for OWB Developers
 
Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...
Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...
Cassandra Community Webinar | Practice Makes Perfect: Extreme Cassandra Optim...
 
Web directions code 13 notes
Web directions code 13 notesWeb directions code 13 notes
Web directions code 13 notes
 
Designing for garbage collection
Designing for garbage collectionDesigning for garbage collection
Designing for garbage collection
 
실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3
 
Data Tactics Analytics Brown Bag (Aug 22, 2013)
Data Tactics Analytics Brown Bag (Aug 22, 2013)Data Tactics Analytics Brown Bag (Aug 22, 2013)
Data Tactics Analytics Brown Bag (Aug 22, 2013)
 
The Seneca Pattern at EngineYard Distill 2013 Conference
The Seneca Pattern at EngineYard Distill 2013 ConferenceThe Seneca Pattern at EngineYard Distill 2013 Conference
The Seneca Pattern at EngineYard Distill 2013 Conference
 
How We Look At Software
How We Look At SoftwareHow We Look At Software
How We Look At Software
 
Last 2013
Last 2013Last 2013
Last 2013
 
Gearing Up Google Glass Development - August 2013
Gearing Up Google Glass Development - August 2013Gearing Up Google Glass Development - August 2013
Gearing Up Google Glass Development - August 2013
 
Cassandra sf meetup_2013_07_31
Cassandra sf meetup_2013_07_31Cassandra sf meetup_2013_07_31
Cassandra sf meetup_2013_07_31
 
Cassandra at Disqus — SF Cassandra Users Group July 31st
Cassandra at Disqus — SF Cassandra Users Group July 31stCassandra at Disqus — SF Cassandra Users Group July 31st
Cassandra at Disqus — SF Cassandra Users Group July 31st
 
Elasticsearch in 15 minutes
Elasticsearch in 15 minutesElasticsearch in 15 minutes
Elasticsearch in 15 minutes
 
Intro to Clojure's core.async
Intro to Clojure's core.asyncIntro to Clojure's core.async
Intro to Clojure's core.async
 
Taming Pythons with ZooKeeper
Taming Pythons with ZooKeeperTaming Pythons with ZooKeeper
Taming Pythons with ZooKeeper
 
Repsheet: A Behavior Based Approach to Web Application Security
Repsheet: A Behavior Based Approach to Web Application SecurityRepsheet: A Behavior Based Approach to Web Application Security
Repsheet: A Behavior Based Approach to Web Application Security
 
Angular js, Yeomon & Grunt
Angular js, Yeomon & GruntAngular js, Yeomon & Grunt
Angular js, Yeomon & Grunt
 
Immutability
ImmutabilityImmutability
Immutability
 
Architecture patterns and practices
Architecture patterns and practicesArchitecture patterns and practices
Architecture patterns and practices
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
 

More from Jon Cowie

Building a Healthy Work Life Balance
Building a Healthy Work Life BalanceBuilding a Healthy Work Life Balance
Building a Healthy Work Life BalanceJon Cowie
 
Cheffing Etsy - Do too many cooks spoil the soup?
Cheffing Etsy - Do too many cooks spoil the soup?Cheffing Etsy - Do too many cooks spoil the soup?
Cheffing Etsy - Do too many cooks spoil the soup?Jon Cowie
 
Chef at Etsy
Chef at EtsyChef at Etsy
Chef at EtsyJon Cowie
 
Customizing Chef for Fun and Profit
Customizing Chef for Fun and ProfitCustomizing Chef for Fun and Profit
Customizing Chef for Fun and ProfitJon Cowie
 
Custom Live Media Spinning
Custom Live Media SpinningCustom Live Media Spinning
Custom Live Media SpinningJon Cowie
 
Michelin Starred Cooking with Chef
Michelin Starred Cooking with ChefMichelin Starred Cooking with Chef
Michelin Starred Cooking with ChefJon Cowie
 

More from Jon Cowie (6)

Building a Healthy Work Life Balance
Building a Healthy Work Life BalanceBuilding a Healthy Work Life Balance
Building a Healthy Work Life Balance
 
Cheffing Etsy - Do too many cooks spoil the soup?
Cheffing Etsy - Do too many cooks spoil the soup?Cheffing Etsy - Do too many cooks spoil the soup?
Cheffing Etsy - Do too many cooks spoil the soup?
 
Chef at Etsy
Chef at EtsyChef at Etsy
Chef at Etsy
 
Customizing Chef for Fun and Profit
Customizing Chef for Fun and ProfitCustomizing Chef for Fun and Profit
Customizing Chef for Fun and Profit
 
Custom Live Media Spinning
Custom Live Media SpinningCustom Live Media Spinning
Custom Live Media Spinning
 
Michelin Starred Cooking with Chef
Michelin Starred Cooking with ChefMichelin Starred Cooking with Chef
Michelin Starred Cooking with Chef
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Recently uploaded (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 

Bring the Noise