SlideShare a Scribd company logo
1 of 82
Download to read offline
@naserca
@func_i
Own Your
Front-end
Performance
Tools, Not Rules
Alex Naser @naserca
Laith Azer @func_i
devhub - devmonth
April 14, 2016
@naserca
@func_i
“Don’t Be Slow”
@naserca
@func_i
@naserca
@func_i
fast as possible response times
measure via benchmark
@naserca
@func_i
Rules!
@naserca
@func_i
Hash#merge
vs
Hash#merge!
@naserca
@func_i
Hash#merge
vs
Hash#merge!
24x slower
@naserca
@func_i
Array#unshift
vs
Array#insert
@naserca
@func_i
Array#unshift
vs
Array#insert
262x slower
@naserca
@func_i
Easy!
@naserca
@func_i
“Don’t Be Slow”
@naserca
@func_i
@naserca
@func_i
fast load, smooth animations
measure
@naserca
@func_i
fast load, smooth animations
measure
how fast?
at what speed?
on what device(s)?
how fast?
when?
images?
text?
how?
@naserca
@func_i
Rules?!
@naserca
@func_i
CSS animations
vs
JS animations
@naserca
@func_i
well…
@naserca
@func_i
concat’d CSS files
vs
separate CSS files
@naserca
@func_i
well…
@naserca
@func_i
Hard!
@naserca
@func_i
“Don’t Be Slow”
@naserca
@func_i
“Don’t Be Slow”
“Don’t Feel Slow”
@naserca
@func_i
Title slide
Subtitle

Day Month, Year
users
@naserca
@func_i
Title slide
Subtitle

Day Month, Year
What are they doing?
@naserca
@func_i
waiting for page to load
tap nav icon
watch animation of nav bar
looking for link
@naserca
@func_i
waiting for page to load
LOAD
@naserca
@func_i
tap nav icon
RESPOND
@naserca
@func_i
watch animation of nav bar
ANIMATION
@naserca
@func_i
looking for link
IDLE
@naserca
@func_i
RESPOND
ANIMATION
IDLE
LOAD
@naserca
@func_i
Paul Lewis
Paul IrishTHANKS
@naserca
@func_i
RESPOND
tap or click
< 100ms
@naserca
@func_i
ANIMATION
scroll or drag
< 16ms (60fps)
@naserca
@func_i
IDLE
nada
< 50ms
@naserca
@func_i
LOAD
first meaningful paint
< 1s
@naserca
@func_i
bad
@naserca
@func_i
device
@naserca
@func_i
network speed
@naserca
@func_i
90th percentile
@naserca
@func_i
websiteswebsites
@naserca
@func_i
Google: 2% slower = 2% less searching per user
Yahoo: 400 milliseconds faster = 9% more traffic
Amazon: 100 milliseconds faster = 1% more revenue
@naserca
@func_i
Rules?!
Tools!
@naserca
@func_i
1. html
2. ?
3. website
@naserca
@func_i
1. html
2. critical rendering path
3. website
@naserca
@func_i
1. DOM
2. CSSOM
3. render tree
4. layout (reflow)
5. paint
@naserca
@func_i
1. DOM
Document Object Model
@naserca
@func_i
<html>
<head>
<meta name="viewport" content="width=device-width">
<link href="style.css" rel="stylesheet">
<title>Critical Path</title>
</head>
<body>
<p>Hello <span>web performance</span> students!</p>
<div><img src="awesome-photo.jpg"></div>
</body>
</html>
@naserca
@func_i
@naserca
@func_i
2. CSSOM
CSS Object Model
@naserca
@func_i
body { font-size: 16px }
p { font-weight: bold }
span { color: red }
p span { display: none }
img { float: right }
@naserca
@func_i
@naserca
@func_i
render blocking
(by default)
@naserca
@func_i
FOUC
@naserca
@func_i
3. render tree
@naserca
@func_i
@naserca
@func_i
4. layout (reflow)
@naserca
@func_i
calculate exact
position and size
@naserca
@func_i
<html>
<head>
<meta name="viewport" content="width=device-width">
<title>Critical Path</title>
</head>
<body>
<div style="width: 50%">
<div style="width: 50%">Hello world!</div>
</div>
</body>
</html>
@naserca
@func_i
@naserca
@func_i
style changes
fetching of layout/scroll
adding/removing els
@naserca
@func_i
5. paint
@naserca
@func_i
paint *itself*
“composite layers”
@naserca
@func_i
<html>
z-index’d & positioned
opacity < 1
overflow
@naserca
@func_i
CPU & GPU
@naserca
@func_i
@naserca
@func_i
void draw(SkCanvas* canvas) {
canvas->drawColor(SK_ColorWHITE);
SkPaint paint;
paint.setStyle(SkPaint::kFill_Style);
paint.setAntiAlias(true);
paint.setStrokeWidth(4);
paint.setColor(0xffFE938C);
SkRect rect = SkRect::MakeXYWH(10, 10, 100, 160);
canvas->drawRect(rect, paint);
SkRRect oval;
oval.setOval(rect);
oval.offset(40, 80);
paint.setColor(0xffE6B89C);
canvas->drawRRect(oval, paint);
paint.setColor(0xff9CAFB7);
canvas->drawCircle(180, 50, 25, paint);
rect.offset(80, 50);
paint.setColor(0xff4281A4);
paint.setStyle(SkPaint::kStroke_Style);
canvas->drawRoundRect(rect, 10, 10, paint);
}
@naserca
@func_i
1. DOM
2. CSSOM
3. render tree
4. layout (reflow)
5. paint
@naserca
@func_i
javascript
@naserca
@func_i
synchronous
DOM blocking
(by default)
(scary)
@naserca
@func_i
requires CSSOM
@func_i
@naserca
functionalimperative.com
But wait, there’s more!
@naserca
@func_i
ANIMATION
scroll or drag
< 16ms (60fps)
@naserca
@func_i
60Hz
@naserca
@func_i
1000/60 = 16.67ms per frame
@naserca
@func_i
JavaScript Animations
@naserca
@func_i
function draw() {
// Drawing code goes here
}
setInterval(draw, 1000/60);
@naserca
@func_i
∞
@naserca
@func_i
YOLO
@naserca
@func_i
juggling
@naserca
@func_i
requestAnimationFrame
🙌
@naserca
@func_i
function draw() {
requestAnimationFrame(draw);
// Drawing code goes here
}
draw();
function draw() {
// Drawing code goes here
}
setInterval(draw, 1000/60);
@func_i
@naserca
functionalimperative.com
Go get ‘em!

More Related Content

What's hot

Kickstarter Your Node.JS Application
Kickstarter Your Node.JS ApplicationKickstarter Your Node.JS Application
Kickstarter Your Node.JS ApplicationHengki Sihombing
 
BOOM Performance
BOOM PerformanceBOOM Performance
BOOM Performancedapulse
 
Life in the Fast Lane: Speed, Usability & Search Engine Optimization
Life in the Fast Lane: Speed, Usability & Search Engine OptimizationLife in the Fast Lane: Speed, Usability & Search Engine Optimization
Life in the Fast Lane: Speed, Usability & Search Engine OptimizationDana DiTomaso
 
jQuery - Doing it right
jQuery - Doing it rightjQuery - Doing it right
jQuery - Doing it rightgirish82
 
Web Accessibility Gone Wild
Web Accessibility Gone WildWeb Accessibility Gone Wild
Web Accessibility Gone WildJared Smith
 
Make JavaScript Faster
Make JavaScript FasterMake JavaScript Faster
Make JavaScript FasterSteve Souders
 
Streamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building ThemesStreamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building ThemesCameron Jones
 
Amp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesAmp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesRobert McFrazier
 
Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Timothy Fisher
 
Great Lakes Area .Net UG: Optimize .Net Azure App Services
Great Lakes Area .Net UG: Optimize .Net Azure App ServicesGreat Lakes Area .Net UG: Optimize .Net Azure App Services
Great Lakes Area .Net UG: Optimize .Net Azure App ServicesBrian McKeiver
 
Amp up your Site with Accelerated Mobile Pages
Amp up your Site with Accelerated Mobile PagesAmp up your Site with Accelerated Mobile Pages
Amp up your Site with Accelerated Mobile PagesBrian McKeiver
 
Extreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYExtreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYMaximiliano Firtman
 
How does get template part works in twenty ten theme
How does get template part works in twenty ten themeHow does get template part works in twenty ten theme
How does get template part works in twenty ten thememohd rozani abd ghani
 
Performance.now() fast but not furious
Performance.now()   fast but not furiousPerformance.now()   fast but not furious
Performance.now() fast but not furiousAnna Migas
 
High performance java script why everything youve been taught is wrong
High performance java script why everything youve been taught is wrongHigh performance java script why everything youve been taught is wrong
High performance java script why everything youve been taught is wrongTao Gao
 

What's hot (18)

Kickstarter Your Node.JS Application
Kickstarter Your Node.JS ApplicationKickstarter Your Node.JS Application
Kickstarter Your Node.JS Application
 
BOOM Performance
BOOM PerformanceBOOM Performance
BOOM Performance
 
Life in the Fast Lane: Speed, Usability & Search Engine Optimization
Life in the Fast Lane: Speed, Usability & Search Engine OptimizationLife in the Fast Lane: Speed, Usability & Search Engine Optimization
Life in the Fast Lane: Speed, Usability & Search Engine Optimization
 
jQuery - Doing it right
jQuery - Doing it rightjQuery - Doing it right
jQuery - Doing it right
 
Web Accessibility Gone Wild
Web Accessibility Gone WildWeb Accessibility Gone Wild
Web Accessibility Gone Wild
 
Make JavaScript Faster
Make JavaScript FasterMake JavaScript Faster
Make JavaScript Faster
 
Streamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building ThemesStreamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building Themes
 
Amp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesAmp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pages
 
[TestWarez 2017] Continuous Delivery and beyond
[TestWarez 2017] Continuous Delivery and beyond[TestWarez 2017] Continuous Delivery and beyond
[TestWarez 2017] Continuous Delivery and beyond
 
Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011
 
Great Lakes Area .Net UG: Optimize .Net Azure App Services
Great Lakes Area .Net UG: Optimize .Net Azure App ServicesGreat Lakes Area .Net UG: Optimize .Net Azure App Services
Great Lakes Area .Net UG: Optimize .Net Azure App Services
 
Amp up your Site with Accelerated Mobile Pages
Amp up your Site with Accelerated Mobile PagesAmp up your Site with Accelerated Mobile Pages
Amp up your Site with Accelerated Mobile Pages
 
Extreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYExtreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NY
 
How does get template part works in twenty ten theme
How does get template part works in twenty ten themeHow does get template part works in twenty ten theme
How does get template part works in twenty ten theme
 
Basic web Deveopment
Basic web DeveopmentBasic web Deveopment
Basic web Deveopment
 
Lightning fast sass
Lightning fast sassLightning fast sass
Lightning fast sass
 
Performance.now() fast but not furious
Performance.now()   fast but not furiousPerformance.now()   fast but not furious
Performance.now() fast but not furious
 
High performance java script why everything youve been taught is wrong
High performance java script why everything youve been taught is wrongHigh performance java script why everything youve been taught is wrong
High performance java script why everything youve been taught is wrong
 

Viewers also liked

Caso Clínico: Emergências Hipertensivas
Caso Clínico: Emergências HipertensivasCaso Clínico: Emergências Hipertensivas
Caso Clínico: Emergências HipertensivasAmanda Thomé
 
TransGrid's Renewable Energy Hub
TransGrid's Renewable Energy Hub TransGrid's Renewable Energy Hub
TransGrid's Renewable Energy Hub TransGrid AU
 
s2gx2015 who needs batch
s2gx2015 who needs batchs2gx2015 who needs batch
s2gx2015 who needs batchGunnar Hillert
 
141208 AER Public Forum - TransGrid Revenue Proposal
141208 AER Public Forum - TransGrid Revenue Proposal141208 AER Public Forum - TransGrid Revenue Proposal
141208 AER Public Forum - TransGrid Revenue ProposalTransGrid AU
 
Epoch-Suite :: Preparar Ajustamento
Epoch-Suite :: Preparar AjustamentoEpoch-Suite :: Preparar Ajustamento
Epoch-Suite :: Preparar AjustamentoEngSolvers
 
Simbolos patrios
Simbolos patriosSimbolos patrios
Simbolos patriosyaneliv
 
Electricity Storage Forum 2016
Electricity Storage Forum 2016Electricity Storage Forum 2016
Electricity Storage Forum 2016TransGrid AU
 
4 de noviembre
4 de noviembre4 de noviembre
4 de noviembrelinmji
 
NSW City Rail Model Model
NSW City Rail Model ModelNSW City Rail Model Model
NSW City Rail Model ModelFranki Chamaki
 
Protocolo de toxoplasmose
Protocolo de toxoplasmoseProtocolo de toxoplasmose
Protocolo de toxoplasmosetvf
 
Toxoplasmose congênita
Toxoplasmose congênita Toxoplasmose congênita
Toxoplasmose congênita Amanda Thomé
 
2015 TAPR Forum Presentation
2015 TAPR Forum Presentation2015 TAPR Forum Presentation
2015 TAPR Forum PresentationTransGrid AU
 
Amigdalas e vegetações adenóides
Amigdalas e vegetações adenóidesAmigdalas e vegetações adenóides
Amigdalas e vegetações adenóidesAmanda Thomé
 
Annual Employee Performance Eval.
Annual Employee Performance Eval.Annual Employee Performance Eval.
Annual Employee Performance Eval.April Clements
 

Viewers also liked (17)

Caso Clínico: Emergências Hipertensivas
Caso Clínico: Emergências HipertensivasCaso Clínico: Emergências Hipertensivas
Caso Clínico: Emergências Hipertensivas
 
TransGrid's Renewable Energy Hub
TransGrid's Renewable Energy Hub TransGrid's Renewable Energy Hub
TransGrid's Renewable Energy Hub
 
Feliz AñO 2010
Feliz AñO 2010Feliz AñO 2010
Feliz AñO 2010
 
s2gx2015 who needs batch
s2gx2015 who needs batchs2gx2015 who needs batch
s2gx2015 who needs batch
 
141208 AER Public Forum - TransGrid Revenue Proposal
141208 AER Public Forum - TransGrid Revenue Proposal141208 AER Public Forum - TransGrid Revenue Proposal
141208 AER Public Forum - TransGrid Revenue Proposal
 
Epoch-Suite :: Preparar Ajustamento
Epoch-Suite :: Preparar AjustamentoEpoch-Suite :: Preparar Ajustamento
Epoch-Suite :: Preparar Ajustamento
 
diploma_online_ajax
diploma_online_ajaxdiploma_online_ajax
diploma_online_ajax
 
Land For Sale OR
Land For Sale ORLand For Sale OR
Land For Sale OR
 
Simbolos patrios
Simbolos patriosSimbolos patrios
Simbolos patrios
 
Electricity Storage Forum 2016
Electricity Storage Forum 2016Electricity Storage Forum 2016
Electricity Storage Forum 2016
 
4 de noviembre
4 de noviembre4 de noviembre
4 de noviembre
 
NSW City Rail Model Model
NSW City Rail Model ModelNSW City Rail Model Model
NSW City Rail Model Model
 
Protocolo de toxoplasmose
Protocolo de toxoplasmoseProtocolo de toxoplasmose
Protocolo de toxoplasmose
 
Toxoplasmose congênita
Toxoplasmose congênita Toxoplasmose congênita
Toxoplasmose congênita
 
2015 TAPR Forum Presentation
2015 TAPR Forum Presentation2015 TAPR Forum Presentation
2015 TAPR Forum Presentation
 
Amigdalas e vegetações adenóides
Amigdalas e vegetações adenóidesAmigdalas e vegetações adenóides
Amigdalas e vegetações adenóides
 
Annual Employee Performance Eval.
Annual Employee Performance Eval.Annual Employee Performance Eval.
Annual Employee Performance Eval.
 

Similar to Own Your Front-end Performance: Tools, Not Rules

Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compassNick Cooley
 
Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Cristina Chumillas
 
Responsive content
Responsive contentResponsive content
Responsive contenthonzie
 
Styled Components & React.js
Styled Components & React.jsStyled Components & React.js
Styled Components & React.jsGrayson Hicks
 
Extending & Scaling | Dallas PHP
Extending & Scaling | Dallas PHPExtending & Scaling | Dallas PHP
Extending & Scaling | Dallas PHPrandyhoyt
 
SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockMarco Pinheiro
 
EscConf - Deep Dive Frontend Optimization
EscConf - Deep Dive Frontend OptimizationEscConf - Deep Dive Frontend Optimization
EscConf - Deep Dive Frontend OptimizationJonathan Klein
 
Progressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesProgressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesDigitally
 
Responsive Responsive Design
Responsive Responsive DesignResponsive Responsive Design
Responsive Responsive DesignTim Kadlec
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrMichael Enslow
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid PrototypingEven Wu
 
Sakai Meet MORPHEUS: Slides
Sakai Meet MORPHEUS: SlidesSakai Meet MORPHEUS: Slides
Sakai Meet MORPHEUS: Slidesalienresident
 
Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Aaron Gustafson
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 
Amped for AMP at Pubcon Las Vegas 2016
Amped for AMP at Pubcon Las Vegas 2016Amped for AMP at Pubcon Las Vegas 2016
Amped for AMP at Pubcon Las Vegas 2016Search Commander, Inc.
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucksTim Wright
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsNetguru
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web DesignClarissa Peterson
 

Similar to Own Your Front-end Performance: Tools, Not Rules (20)

Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compass
 
Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016
 
Bootstrap share point 2013
Bootstrap share point 2013Bootstrap share point 2013
Bootstrap share point 2013
 
Responsive content
Responsive contentResponsive content
Responsive content
 
Styled Components & React.js
Styled Components & React.jsStyled Components & React.js
Styled Components & React.js
 
Extending & Scaling | Dallas PHP
Extending & Scaling | Dallas PHPExtending & Scaling | Dallas PHP
Extending & Scaling | Dallas PHP
 
SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, Greensock
 
EscConf - Deep Dive Frontend Optimization
EscConf - Deep Dive Frontend OptimizationEscConf - Deep Dive Frontend Optimization
EscConf - Deep Dive Frontend Optimization
 
Progressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesProgressively Enhancing WordPress Themes
Progressively Enhancing WordPress Themes
 
Responsive Responsive Design
Responsive Responsive DesignResponsive Responsive Design
Responsive Responsive Design
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
Sakai Meet MORPHEUS: Slides
Sakai Meet MORPHEUS: SlidesSakai Meet MORPHEUS: Slides
Sakai Meet MORPHEUS: Slides
 
Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Amped for AMP at Pubcon Las Vegas 2016
Amped for AMP at Pubcon Las Vegas 2016Amped for AMP at Pubcon Las Vegas 2016
Amped for AMP at Pubcon Las Vegas 2016
 
Rails OO views
Rails OO viewsRails OO views
Rails OO views
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucks
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails Apps
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
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
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
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
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Own Your Front-end Performance: Tools, Not Rules