SlideShare a Scribd company logo
1 of 30
Download to read offline
The anatomy of
an infographic
/Luca Mearelli @lmea
The Wealth & Health of Nation
300 400 1,000 2,000 3,000 4,000 10,000 20,000 30,000 40,000 100,000
10
20
30
40
50
60
70
80
income per capita, inflation-adjusted (dollars)
lifeexpectancy(years)
1800
Source:  ,  , Mike Bostock Tom Carden Gapminder
Visualization 
=
Data + Representation
The end target is to extract meaningful informations from the
raw data.
Javascript 
&
Web technologies
Are the ideal platform to build visualizations: easy to tinker
with, powerful, accessible.
D3js
D3 is a tool to link data to elements and manipulate them.
http://d3js.org
Chris Viau on D3 vs JQuery
D3 is not an SVG layer, not a compatibility layer
and especially not an abstraction layer.
It's a set of tools on top of web technologies to
bind data to DOM elements. '
http://iside.rm.ingv.it/iside/standard/index.jsp
Data
Time,Lat,Lon,Depth,Mag,Source,
2013-05-0914:30:35.000,43.451,12.310,6.7,1.3,SISBAS,
2013-05-0914:15:25.000,43.452,12.308,6.3,0.8,SISBAS,
quakes=[["2013-05-0811:50:14.000",43.450,12.298, 9.6,3.0],
["2013-05-0804:29:05.000",43.452,12.304,10.1,3.3]]
Lets make a barchart (or two)
http://tributary.io/inlet/5567235
http://tributary.io/inlet/5567278
Margin conventions
http://bl.ocks.org/mbostock/3019563
Selections
varsvg=d3.select('svg');
svg.attr({
'width':width+margin.left+margin.right,
'height':height+margin.top+margin.bottom
})
varbarsGroups=graph.selectAll('g')
http://bost.ocks.org/mike/selection/
Binding data
vartext=svg.selectAll("rect")
.data(quakes);
The general update pattern
//Joinnewdatawitholdelements,ifany.
vartext=svg.selectAll("text").data(quakes);
//Updateoldelementsasneeded.
text.attr("class","update");
//Createnewelementsasneeded.
text.enter().append("text")
.attr("class","enter")
.attr("x",function(d,i){returni*32;})
//Appendingtotheenterselectionexpands
//theupdateselection
text.text(function(d){returnd[4];});
//Removeoldelementsasneeded.
text.exit().remove();
http://bl.ocks.org/mbostock/3808218
Scales
Domain → Range
varmagScale=d3.scale.linear()
.domain([2.0,8.0])
.range([0,225]);
https://github.com/mbostock/d3/wiki/Scales
Functions everywhere
varmagExtent=d3.extent(quakes,function(d){returnd[4];});
selection
.append('rect')
.attr({
'height':function(d,i){
returnmagScale(d[4]);
}})
selection.call(aFunction)
Call chaining
barsGroups
.append('text')
.text(function(d,i){returnString(d[4]);})
.attr('y',-4)
.attr("dx",5)
.attr("text-anchor","middle")
.attr('font-size',10)
More charts (animated!)
http://tributary.io/inlet/5567290
http://tributary.io/inlet/5567292
Axes
varyAxis=d3.svg.axis()
.scale(magScale.range([300,30]))
.orient('left')
.ticks(5)
.tickValues([3.0,3.2,3.4,3.6,3.8])
.tickSize(-width,1,1)
.tickPadding(8);
graph.append('g')
.call(yAxis)
https://github.com/mbostock/d3/wiki/SVG-Axes
Object constancy
graph.selectAll('g')
.data(dd,function(d){returnd.Time})
A dynamic barchart
http://tributary.io/inlet/5567329
Transitions
barsGroups
.transition()
.duration(2000)
.ease('cubic')
.attr("transform",function(d,i){
x=timeScale(tf.parse(d[0]));
y=234-magScale(d[4]);
return"translate("+x+","+y+")";
})
http://bost.ocks.org/mike/transition/
A simple scatterplot
http://tributary.io/inlet/5567399
Zooming scatterplot
http://tributary.io/inlet/5567408
Zooming
varzoom=d3.behavior.zoom()
.x(timeScale)
.on("zoom",zoomed);
Lets make a map
http://tributary.io/inlet/5567414
http://tributary.io/inlet/5567524
Projections & geodata
varprojection=d3.geo.mercator()
.scale(2100)
.translate([-122,2000])
varpath=d3.geo.path()
.projection(projection);
svg.selectAll("path")
.data(regions)
.enter()
.append('path')
.attr('d',path)
Loading data
d3.json("/static/data/cartography/reg2011.json",function(error,data){
})
queue()
.defer("/static/data/cartography/reg2011.json")
.defer("/static/data/quakes.csv")
.await(function(error,reg2011,quakes){...});
A more complex map
http://tributary.io/inlet/5567533
Assorted Tips
Group things
Queue.js:
Crossfilter:
Topojson:
Use rapid prototyping tools (e.g. Tributary: )
https://github.com/mbostock/queue
http://square.github.io/crossfilter/
https://github.com/mbostock/topojson
http://tributary.io
Thanks!
Luca Mearelli / @lmea

More Related Content

Similar to The anatomy of an infographic

Riverbed Deck - GigaOM 2013 Events
Riverbed Deck - GigaOM 2013 Events Riverbed Deck - GigaOM 2013 Events
Riverbed Deck - GigaOM 2013 Events Alison Rubino
 
Imagining a Physical Future for Digital Journalism
Imagining a Physical Future for Digital JournalismImagining a Physical Future for Digital Journalism
Imagining a Physical Future for Digital JournalismDataJournalismUK
 
Big data and digital ecosystem mark skilton jan 2014 v1
Big data and digital ecosystem mark skilton jan 2014 v1Big data and digital ecosystem mark skilton jan 2014 v1
Big data and digital ecosystem mark skilton jan 2014 v1Mark Skilton
 
W-JAX Keynote - Big Data and Corporate Evolution
W-JAX Keynote - Big Data and Corporate EvolutionW-JAX Keynote - Big Data and Corporate Evolution
W-JAX Keynote - Big Data and Corporate Evolutionjstogdill
 
The Pinnacle of Tech Expertise: Unveiling the Role of a Data Center Engineer
The Pinnacle of Tech Expertise: Unveiling the Role of a Data Center EngineerThe Pinnacle of Tech Expertise: Unveiling the Role of a Data Center Engineer
The Pinnacle of Tech Expertise: Unveiling the Role of a Data Center EngineerIDCA
 
A Lay of the Meta-land: A Systematic Approach to Dissect the Metaverse
A Lay of the Meta-land: A Systematic Approach to Dissect the MetaverseA Lay of the Meta-land: A Systematic Approach to Dissect the Metaverse
A Lay of the Meta-land: A Systematic Approach to Dissect the MetaverseCatrinaWang4
 
Iftf 20191206 v9
Iftf 20191206 v9Iftf 20191206 v9
Iftf 20191206 v9ISSIP
 
Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...
Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...
Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...Happiest Minds Technologies
 
Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Minds
 Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Minds Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Minds
Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Mindshappiestmindstech
 
A Comprehensive Study of LATAM’s Emerging Tech Hub.pdf
A Comprehensive Study of LATAM’s Emerging Tech Hub.pdfA Comprehensive Study of LATAM’s Emerging Tech Hub.pdf
A Comprehensive Study of LATAM’s Emerging Tech Hub.pdfDraup3
 
Harnessing the cloud to create social mobile apps that scale
Harnessing the cloud to create social mobile apps that scaleHarnessing the cloud to create social mobile apps that scale
Harnessing the cloud to create social mobile apps that scaleAbe Pachikara
 
Dr. dzaharudin mansor microsoft
Dr. dzaharudin mansor   microsoftDr. dzaharudin mansor   microsoft
Dr. dzaharudin mansor microsoftSoo Chin Hock
 
Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...
Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...
Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...blockchainexe
 
Modern data integration | Diyotta
Modern data integration | Diyotta Modern data integration | Diyotta
Modern data integration | Diyotta diyotta
 

Similar to The anatomy of an infographic (20)

Riverbed Deck - GigaOM 2013 Events
Riverbed Deck - GigaOM 2013 Events Riverbed Deck - GigaOM 2013 Events
Riverbed Deck - GigaOM 2013 Events
 
Jobs Complexity
Jobs ComplexityJobs Complexity
Jobs Complexity
 
Emerging Technologies 3.0.pdf
Emerging Technologies 3.0.pdfEmerging Technologies 3.0.pdf
Emerging Technologies 3.0.pdf
 
Emerging Technologies 33.0.pdf
Emerging Technologies 33.0.pdfEmerging Technologies 33.0.pdf
Emerging Technologies 33.0.pdf
 
Imagining a Physical Future for Digital Journalism
Imagining a Physical Future for Digital JournalismImagining a Physical Future for Digital Journalism
Imagining a Physical Future for Digital Journalism
 
Big data and digital ecosystem mark skilton jan 2014 v1
Big data and digital ecosystem mark skilton jan 2014 v1Big data and digital ecosystem mark skilton jan 2014 v1
Big data and digital ecosystem mark skilton jan 2014 v1
 
W-JAX Keynote - Big Data and Corporate Evolution
W-JAX Keynote - Big Data and Corporate EvolutionW-JAX Keynote - Big Data and Corporate Evolution
W-JAX Keynote - Big Data and Corporate Evolution
 
The Pinnacle of Tech Expertise: Unveiling the Role of a Data Center Engineer
The Pinnacle of Tech Expertise: Unveiling the Role of a Data Center EngineerThe Pinnacle of Tech Expertise: Unveiling the Role of a Data Center Engineer
The Pinnacle of Tech Expertise: Unveiling the Role of a Data Center Engineer
 
A Lay of the Meta-land: A Systematic Approach to Dissect the Metaverse
A Lay of the Meta-land: A Systematic Approach to Dissect the MetaverseA Lay of the Meta-land: A Systematic Approach to Dissect the Metaverse
A Lay of the Meta-land: A Systematic Approach to Dissect the Metaverse
 
Aspera deck
Aspera deck Aspera deck
Aspera deck
 
Iftf 20191206 v9
Iftf 20191206 v9Iftf 20191206 v9
Iftf 20191206 v9
 
Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...
Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...
Whitepaper: Big Data 101 - Creating Real Value from the Data Lifecycle - Happ...
 
Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Minds
 Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Minds Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Minds
Big Data 101 - Creating Real Value from the Data Lifecycle - Happiest Minds
 
Emerging Technologies 3.0
Emerging Technologies 3.0Emerging Technologies 3.0
Emerging Technologies 3.0
 
A Comprehensive Study of LATAM’s Emerging Tech Hub.pdf
A Comprehensive Study of LATAM’s Emerging Tech Hub.pdfA Comprehensive Study of LATAM’s Emerging Tech Hub.pdf
A Comprehensive Study of LATAM’s Emerging Tech Hub.pdf
 
Harnessing the cloud to create social mobile apps that scale
Harnessing the cloud to create social mobile apps that scaleHarnessing the cloud to create social mobile apps that scale
Harnessing the cloud to create social mobile apps that scale
 
Poster
PosterPoster
Poster
 
Dr. dzaharudin mansor microsoft
Dr. dzaharudin mansor   microsoftDr. dzaharudin mansor   microsoft
Dr. dzaharudin mansor microsoft
 
Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...
Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...
Blockchain EXE #10:Ocean ProtocolとBigchainDB: 分散型データエコシステムの実現(Dimitri De Jong...
 
Modern data integration | Diyotta
Modern data integration | Diyotta Modern data integration | Diyotta
Modern data integration | Diyotta
 

More from Luca Mearelli

And Now You Have Two Problems
And Now You Have Two ProblemsAnd Now You Have Two Problems
And Now You Have Two ProblemsLuca Mearelli
 
L'altra meta del web
L'altra meta del webL'altra meta del web
L'altra meta del webLuca Mearelli
 
To Batch Or Not To Batch
To Batch Or Not To BatchTo Batch Or Not To Batch
To Batch Or Not To BatchLuca Mearelli
 
Controlling The Cloud With Python
Controlling The Cloud With PythonControlling The Cloud With Python
Controlling The Cloud With PythonLuca Mearelli
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
Integrating services with OAuth
Integrating services with OAuthIntegrating services with OAuth
Integrating services with OAuthLuca Mearelli
 

More from Luca Mearelli (10)

And Now You Have Two Problems
And Now You Have Two ProblemsAnd Now You Have Two Problems
And Now You Have Two Problems
 
L'altra meta del web
L'altra meta del webL'altra meta del web
L'altra meta del web
 
To Batch Or Not To Batch
To Batch Or Not To BatchTo Batch Or Not To Batch
To Batch Or Not To Batch
 
WorseSoftware
WorseSoftwareWorseSoftware
WorseSoftware
 
Controlling The Cloud With Python
Controlling The Cloud With PythonControlling The Cloud With Python
Controlling The Cloud With Python
 
Open Web
Open WebOpen Web
Open Web
 
Capistrano2
Capistrano2Capistrano2
Capistrano2
 
Wikierp
WikierpWikierp
Wikierp
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Integrating services with OAuth
Integrating services with OAuthIntegrating services with OAuth
Integrating services with OAuth
 

Recently uploaded

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

The anatomy of an infographic