SlideShare a Scribd company logo
1 of 146
Download to read offline
Practical Responsive
Web Design
Northeast PHP 2013
Jonathan Klein, Performance Engineer
@jonathanklein
Sunday, August 18, 13
Slides, Links
jkle.in/rwd
Sunday, August 18, 13
Some Etsy Stats
Sunday, August 18, 13
Some Etsy Stats
• Handmade marketplace
Sunday, August 18, 13
Some Etsy Stats
• Handmade marketplace
• 1.5 billion page views/month
Sunday, August 18, 13
Some Etsy Stats
• Handmade marketplace
• 1.5 billion page views/month
• Almost $1B in sales last year
Sunday, August 18, 13
Some Etsy Stats
• Handmade marketplace
• 1.5 billion page views/month
• Almost $1B in sales last year
• ~1M lines of PHP
Sunday, August 18, 13
Why Responsive Web
Design?
Sunday, August 18, 13
Main Advantages
Sunday, August 18, 13
Main Advantages
• Maintainability
Sunday, August 18, 13
Main Advantages
• Maintainability
• SEO
Sunday, August 18, 13
Main Advantages
• Maintainability
• SEO
• User Experience
Sunday, August 18, 13
Main Advantages
• Maintainability
• SEO
• User Experience
• Performance
Sunday, August 18, 13
1.6 seconds
Sunday, August 18, 13
Two Assertions
Sunday, August 18, 13
1. RWD isn’t that hard
Sunday, August 18, 13
2. RWD can be fast
Sunday, August 18, 13
The Basics
Sunday, August 18, 13
Building blocks of RWD
/* Greater than 900px wide */
@media screen and (min-width: 56.25em) {...}
/* Retina Display */
@media screen and (min-device-pixel-ratio: 2) {...}
/* You can chain these */
@media screen and (min-width: 56.25em) and (min-
device-pixel-ratio: 2) {...}
Sunday, August 18, 13
Building blocks of RWD
/* Greater than 900px wide */
@media screen and (min-width: 56.25em) {...}
/* Retina Display */
@media screen and (min-device-pixel-ratio: 2) {...}
/* You can chain these */
@media screen and (min-width: 56.25em) and (min-
device-pixel-ratio: 2) {...}
Sunday, August 18, 13
Sunday, August 18, 13
Breakpoints
Sunday, August 18, 13
Sunday, August 18, 13
What Breakpoints to Use?
Sunday, August 18, 13
What Breakpoints to Use?
• Don’t think about devices
Sunday, August 18, 13
What Breakpoints to Use?
• Don’t think about devices
• “Make it look good”
Sunday, August 18, 13
What Breakpoints to Use?
• Don’t think about devices
• “Make it look good”
• Something like 600px, 900px, max
Sunday, August 18, 13
What Breakpoints to Use?
• Don’t think about devices
• “Make it look good”
• Something like 600px, 900px, max
• Divide by 16 to get em’s
Sunday, August 18, 13
Retina Images
Sunday, August 18, 13
Start With the Normal Version
/* Small version of the logo */
.logo {
background-image: url(logo_sm.png);
background-repeat: no-repeat;
background-position: center;
background-size: 230px 50px;
}
Sunday, August 18, 13
Start With the Normal Version
/* Small version of the logo */
.logo {
background-image: url(logo_sm.png);
background-repeat: no-repeat;
background-position: center;
background-size: 230px 50px;
}
Sunday, August 18, 13
High Res Screens
/* Provide a hi-res logo for retina screens */
@media screen and (-webkit-min-device-pixel-ratio: 2) {
.logo {
background-image: url(logo_lg.png);
}
}
Sunday, August 18, 13
High Res Screens
/* Provide a hi-res logo for retina screens */
@media screen and (-webkit-min-device-pixel-ratio: 2) {
.logo {
background-image: url(logo_lg.png);
}
}
Sunday, August 18, 13
RWD In Action
Sunday, August 18, 13
Sunday, August 18, 13
Sunday, August 18, 13
Clean up some CSS
.article {
width: 31%;
min-width:250px;
}
#content .wrapper {
width:auto;
}
#page {
background:none;
}
Sunday, August 18, 13
Make it Responsive
/* Two articles across */
@media screen and (max-width: 850px) {
.article {
width: 46%;
}
}
/* One article across */
@media screen and (max-width: 530px) {
.article {
width: 90%;
}
}
Sunday, August 18, 13
Sunday, August 18, 13
Demo
Sunday, August 18, 13
Performance
Sunday, August 18, 13
A Few Considerations
Sunday, August 18, 13
A Few Considerations
• Extra CSS (minimal)
Sunday, August 18, 13
A Few Considerations
• Extra CSS (minimal)
• Retina Images (ouch)
Sunday, August 18, 13
A Few Considerations
• Extra CSS (minimal)
• Retina Images (ouch)
• Larger images than needed
Sunday, August 18, 13
A Few Considerations
• Extra CSS (minimal)
• Retina Images (ouch)
• Larger images than needed
• Extra Image Requests
Sunday, August 18, 13
A Few Considerations
• Extra CSS (minimal)
• Retina Images (ouch)
• Larger images than needed
• Extra Image Requests
Sunday, August 18, 13
Responsive Images
Sunday, August 18, 13
Three Performance Goals:
Sunday, August 18, 13
Three Performance Goals:
1. Start with a small image
Sunday, August 18, 13
Three Performance Goals:
1. Start with a small image
2. Upgrade to larger size without
downloading both
Sunday, August 18, 13
Three Performance Goals:
1. Start with a small image
2. Upgrade to larger size without
downloading both
3. Unique image URLs (caching)
Sunday, August 18, 13
Automate
Sunday, August 18, 13
Resize on the fly
Sunday, August 18, 13
Resize on the fly
• Based on browser resolution, make the
right image
Sunday, August 18, 13
Resize on the fly
• Based on browser resolution, make the
right image
• Round a bit
Sunday, August 18, 13
Resize on the fly
• Based on browser resolution, make the
right image
• Round a bit
• http://adaptive-images.com
Sunday, August 18, 13
Lossless Compression
Sunday, August 18, 13
Lossless Compression
Sunday, August 18, 13
140 KB
Lossless Compression
Sunday, August 18, 13
140 KB 85 KB
Lossless Compression
Sunday, August 18, 13
140 KB 85 KB
Lossless Compression
• http://www.smushit.com/ysmush.it/
• https://developers.google.com/speed/pagespeed/
Sunday, August 18, 13
• Automate HTML output
• Plan for the future
More Automation
Sunday, August 18, 13
HTML Output (picturefill)
Sunday, August 18, 13
HTML Output (picturefill)
• https://github.com/scottjehl/picturefill
Sunday, August 18, 13
HTML Output (picturefill)
• https://github.com/scottjehl/picturefill
• Mimics proposed <picture> element
Sunday, August 18, 13
HTML Output (picturefill)
• https://github.com/scottjehl/picturefill
• Mimics proposed <picture> element
• < 0.5K JS file
Sunday, August 18, 13
HTML Output (picturefill)
• https://github.com/scottjehl/picturefill
• Mimics proposed <picture> element
• < 0.5K JS file
• Supports all media queries
Sunday, August 18, 13
HTML Output (picturefill)
• https://github.com/scottjehl/picturefill
• Mimics proposed <picture> element
• < 0.5K JS file
• Supports all media queries
• Works across all browsers
Sunday, August 18, 13
<div data-picture data-alt="Interesting Image Alt Text">
<div data-src="small.jpg"></div>
<div data-src="medium.jpg" data-media="(min-width: 400px)"></div>
<div data-src="large.jpg" data-media="(min-width: 800px)"></div>
<div data-src="extralarge.jpg" data-media="(min-width: 1000px)"></div>
<!-- Fallback content for non-JS browsers. Same img src as the initial,
unqualified source element. -->
<noscript>
<img src="small.jpg" alt="Interesting Image Alt Text">
</noscript>
</div>
Sunday, August 18, 13
<div data-picture data-alt="Interesting Image Alt Text">
<div data-src="small.jpg"></div>
<div data-src="medium.jpg" data-media="(min-width: 400px)"></div>
<div data-src="large.jpg" data-media="(min-width: 800px)"></div>
<div data-src="extralarge.jpg" data-media="(min-width: 1000px)"></div>
<!-- Fallback content for non-JS browsers. Same img src as the initial,
unqualified source element. -->
<noscript>
<img src="small.jpg" alt="Interesting Image Alt Text">
</noscript>
</div>
IE 6, 7, 8 get this
Sunday, August 18, 13
How does it do?
Sunday, August 18, 13
How does it do?
✓ Unique image URLs
Sunday, August 18, 13
How does it do?
✓ Unique image URLs
✓ Start with smallest image
Sunday, August 18, 13
How does it do?
✓ Unique image URLs
✓ Start with smallest image
✓ Only one image download
Sunday, August 18, 13
How does it do?
✓ Unique image URLs
✓ Start with smallest image
✓ Only one image download
✓ Fallback for old IE
Sunday, August 18, 13
But that markup...
Sunday, August 18, 13
Plan to Replace
Whatever You Build
Sunday, August 18, 13
Resources for Responsive Imgs
Jason Grigsby:
http://blog.cloudfour.com/responsive-imgs/
http://blog.cloudfour.com/responsive-imgs-part-2/
http://blog.cloudfour.com/responsive-imgs-part-3-future-of-the-img-tag/
http://blog.cloudfour.com/8-guidelines-and-1-rule-for-responsive-images/
http://blog.cloudfour.com/sensible-jumps-in-responsive-image-file-sizes/
Sunday, August 18, 13
Don’t type, click:
jkle.in/rwd
Sunday, August 18, 13
Clown Car Technique
Sunday, August 18, 13
Basics
Sunday, August 18, 13
Basics
• <object> tag
Sunday, August 18, 13
Basics
• <object> tag
• References SVG file
Sunday, August 18, 13
Basics
• <object> tag
• References SVG file
• ...as a DataURI
Sunday, August 18, 13
Basics
• <object> tag
• References SVG file
• ...as a DataURI
• ...URL encoded
Sunday, August 18, 13
Basics
• <object> tag
• References SVG file
• ...as a DataURI
• ...URL encoded
• Wrapping conditional comment
Sunday, August 18, 13
Clowns and Cars
<object data="data:image/svg+xml,%3Csvg
%20viewBox='0%200%20300%20329'%20preserveAspectRatio='xMidYMid
%20meet'%20xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EClown%20Car
%20Technique%3C/title%3E%3Cstyle%3Esvg%7Bbackground-size:
100%25%20100%25;background-repeat:no-repeat;%7D@media%20screen%20and
%20(max-width:400px)%7Bsvg%7Bbackground-image:url(images/small.png);%7D
%7D@media%20screen%20and%20(min-width:401px)%7Bsvg%7Bbackground-
image:url(images/medium.png);%7D%7D@media%20screen%20and%20(min-width:
701px)%7Bsvg%7Bbackground-image:url(images/big.png);%7D%7D@media%20screen
%20and%20(min-width:1001px)%7Bsvg%7Bbackground-image:url(images/
huge.png);%7D%7D%3C/style%3E%3C/svg%3E"
type="image/svg+xml">
<!--[if lte IE 8]>
<img src="images/medium.png" alt="Fallback for IE">
<![endif]-->
</object>
Sunday, August 18, 13
Benefits
Sunday, August 18, 13
Benefits
• All logic in an SVG file
Sunday, August 18, 13
Benefits
• All logic in an SVG file
• One HTTP request
Sunday, August 18, 13
Benefits
• All logic in an SVG file
• One HTTP request
• Management is easy
Sunday, August 18, 13
Benefits
• All logic in an SVG file
• One HTTP request
• Management is easy
• Adapts to browser size automatically
Sunday, August 18, 13
Drawbacks
Sunday, August 18, 13
Drawbacks
• Accessibility
Sunday, August 18, 13
Drawbacks
• Accessibility
• No right-click
Sunday, August 18, 13
Drawbacks
• Accessibility
• No right-click
• Doesn’t work on Android <= 2.3
Sunday, August 18, 13
We Need Something
Better
Sunday, August 18, 13
display:none
Sunday, August 18, 13
<img src="foo.png" style="display:none" />
Sunday, August 18, 13
<img src="foo.png" style="display:none" />
Image is Downloaded
Sunday, August 18, 13
<div style="display:none;">
<img src="foo.png" style="display:none" />
</div>
Sunday, August 18, 13
<div style="display:none;">
<img src="foo.png" style="display:none" />
</div>
Image is Downloaded
Sunday, August 18, 13
<style>
.bg {
background-image: url(foo.png);
width:100px;
height: 100px;
display: none;
}
</style>
<div class="bg"></div>
Sunday, August 18, 13
<style>
.bg {
background-image: url(foo.png);
width:100px;
height: 100px;
display: none;
}
</style>
<div class="bg"></div>
Image is Downloaded
Sunday, August 18, 13
<style>
.bg {
background-image: url(foo.png);
width:100px;
height: 100px;
display: none;
}
</style>
<div style="display:none;">
<div class="bg"></div>
</div>
Sunday, August 18, 13
<style>
.bg {
background-image: url(foo.png);
width:100px;
height: 100px;
display: none;
}
</style>
<div style="display:none;">
<div class="bg"></div>
</div>
Image is NOT Downloaded
Sunday, August 18, 13
<img> with display:none Downloaded
<img> with parent
display:none
Downloaded
background image with
display:none
Downloaded
background image with
parent display:none
Not Downloaded
Sunday, August 18, 13
Workarounds
Sunday, August 18, 13
Handling display:none
Sunday, August 18, 13
Handling display:none
• Start with an empty src, use JS
Sunday, August 18, 13
Handling display:none
• Start with an empty src, use JS
• Server side detection
Sunday, August 18, 13
Handling display:none
• Start with an empty src, use JS
• Server side detection
• Lots more: http://timkadlec.com/
2012/04/media-query-asset-
downloading-results/
Sunday, August 18, 13
Media Query Browser
Support
Sunday, August 18, 13
Sunday, August 18, 13
Fail
Sunday, August 18, 13
Handle IE
Conditional Comments
<!--[if lt IE 9]><![endif]-->
http://adactio.com/journal/4494/
More: http://buildmobile.com/understanding-responsive-web-
design-cross-browser-compatibility/
Sunday, August 18, 13
The Future:
Client Hints
Sunday, August 18, 13
Proposal by Ilya Grigorik
Sunday, August 18, 13
Proposal by Ilya Grigorik
• Client (browser) sends an additional
HTTP Header
Sunday, August 18, 13
Proposal by Ilya Grigorik
• Client (browser) sends an additional
HTTP Header
• CH: dh=598, dw=384, dpr=2.0, t
Sunday, August 18, 13
Proposal by Ilya Grigorik
• Client (browser) sends an additional
HTTP Header
• CH: dh=598, dw=384, dpr=2.0, t
• https://github.com/igrigorik/http-client-hints/
Sunday, August 18, 13
Homework
Sunday, August 18, 13
Sunday, August 18, 13
Find your favorite non-responsive site
Sunday, August 18, 13
Find your favorite non-responsive site
Sunday, August 18, 13
Find your favorite non-responsive site
Save the HTML locally
Sunday, August 18, 13
Find your favorite non-responsive site
Save the HTML locally
Sunday, August 18, 13
Find your favorite non-responsive site
Save the HTML locally
Add some media queries and a breakpoint
Sunday, August 18, 13
Find your favorite non-responsive site
Save the HTML locally
Add some media queries and a breakpoint
Sunday, August 18, 13
Find your favorite non-responsive site
Save the HTML locally
Add some media queries and a breakpoint
Make one retina image and use it
Sunday, August 18, 13
Find your favorite non-responsive site
Save the HTML locally
Add some media queries and a breakpoint
Make one retina image and use it
Sunday, August 18, 13
Congratulations!
Sunday, August 18, 13
• Resize browser window, use console
when you want a breakpoint
• document.body.offsetWidth
• If you must start w/ desktop, use:
• @media screen and (max-width: 900px) {
Some Hints
Sunday, August 18, 13
Sunday, August 18, 13
Synthetic Testing
Sunday, August 18, 13
WebPagetest
• Use Chrome
• Script:
• setviewportsize 400600
• navigate bostonglobe.com
Sunday, August 18, 13
Sunday, August 18, 13
Recap
Sunday, August 18, 13
Takeaways
Sunday, August 18, 13
Takeaways
• Start with small sizes on new sites
Sunday, August 18, 13
Takeaways
• Start with small sizes on new sites
• Use em’s and %’s
Sunday, August 18, 13
Takeaways
• Start with small sizes on new sites
• Use em’s and %’s
• ~3-4 device independent breakpoints
Sunday, August 18, 13
Takeaways
• Start with small sizes on new sites
• Use em’s and %’s
• ~3-4 device independent breakpoints
• Use Responsive Images
Sunday, August 18, 13
Takeaways
• Start with small sizes on new sites
• Use em’s and %’s
• ~3-4 device independent breakpoints
• Use Responsive Images
• Have a fallback plan for IE
Sunday, August 18, 13
Get in Touch
www.etsy.com/careers
jonathan@etsy.com
@jonathanklein
Sunday, August 18, 13

More Related Content

Viewers also liked

PHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHPPHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHPJonathan Klein
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHPJonathan Klein
 
Scaling PHP to 40 Million Uniques
Scaling PHP to 40 Million UniquesScaling PHP to 40 Million Uniques
Scaling PHP to 40 Million UniquesJonathan Klein
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projectsIgnacio Martín
 
PHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your RESTPHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your RESTAdam Englander
 
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)Tammy Everts
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Railsjduff
 
Improving PHP Application Performance with APC
Improving PHP Application Performance with APCImproving PHP Application Performance with APC
Improving PHP Application Performance with APCvortexau
 

Viewers also liked (8)

PHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHPPHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHP
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
 
Scaling PHP to 40 Million Uniques
Scaling PHP to 40 Million UniquesScaling PHP to 40 Million Uniques
Scaling PHP to 40 Million Uniques
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projects
 
PHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your RESTPHP UK 2017 - Don't Lose Sleep - Secure Your REST
PHP UK 2017 - Don't Lose Sleep - Secure Your REST
 
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Rails
 
Improving PHP Application Performance with APC
Improving PHP Application Performance with APCImproving PHP Application Performance with APC
Improving PHP Application Performance with APC
 

Recently uploaded

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 

Recently uploaded (20)

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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!
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 

Practical Responsive Web Design - Northeast PHP 2013