SlideShare a Scribd company logo
1 of 37
Download to read offline
Paget e s t:
       W eWebPagetest APIly
Using the b              he Ug
           he Ba d&T
The Good, T
1   First … some basic tips
Understand the test environment
Windows version? DNS resolver?
Hardware specs (RAM, processor)?
Run a large number of tests
Collect RUM data too !
Summary statistics hide insight



            Mean: ~1400 ms
            Median: ~1100 ms
Look at individual tests




                           Normal
                           Ouch!
2   New stuff in the WPT ui
Homepage > Advanced tab
Capture Network Log (Chrome)
Returns big TXT file with JSON … then what?
Pat: “You probably don't want to use the
network log - it was added for the Chrome
team themselves to debug the browser :-)”
Minimum test duration
It works, kindof ...




                       Example (minTestDur=45)
3   WPT API introduction
Getting started

Get an API key from Pat (required)

Know your requests will have low prio     /getLocations.php




Basic process:
1. Submit request via POST or GET
2. Poll for the test status (or use pingback)
3. Fetch test results
4. Fetch objects (charts, screen shots, ...)
Submitting requests

Send a POST or GET to
http://www.webpagetest.org/runtest.php

url is only required parameter

Defaults: Dulles DSL, 1 run, first & repeat
view, public, no video

Overview of parameters
Results

Example XML

It has it all, incl.
1. PageSpeed version & results
2. Page <title>
3. Links to pages/files for everything in UI
4. Video frame URLs & Speed Index score !
Documentation


Official API documentation

Python lib for ad-hoc batch processing

Batch processing command line tool
4   Scripting
Lots of possibilities!
https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/scripting



Navigation/DOM interaction (submitForm)
End Conditions (setDOMelement)
Request Manipulation (setDNS)
Misc (combineSteps)


Great for simulating user-page interaction,
multi-page testing and different 'conditions'
Example scripts

logData    0
navigate   http://www.gamesgames.com/
logData    1
navigate   http://www.gamesgames.com/search.html?
           search=bloons+4


SetDNSName   cdn.domain.com     www.domain.com
overrideHost cdn.domain.com     www.domain.com
navigate     www.domain.com
Commands you'll likely use
Command           Description
navigate          Navigate to next page, wait for it to complete
logData           Set to 0 to not record anything; 1 = record!
setValue          Sets the value attribute of the given DOM element to the
                  provided value.
submitForm        Triggers a submit event for the identified form.
setDOMElement     Sets the attribute of a DOM element that is required for
                  the next event to complete successfully.
block             Blocks individual requests from loading
combineSteps      Causes multiple script steps to be combined into a single
                  "step" in the results
setViewportSize   Changes size of visible browser window
firefoxPref       Allows you to specify arbitrary preferences that will be
                  configured before launching the browser. Eg.
                  firefoxPref      network.http.pipelining           false
setDNS            Allows for overriding the IP address for a host name.
Why did the test fail?
Can be very hard to troubleshoot, esp. on
large scripts
5   WPT – hidden gems
&notify=theboss@whitehouse.org

e-mail address to notify with the test results
&iq=90

Specify a jpeg compression level (30-10095)
for the screen shots and video capture




                                     iq=default
                                     iq=90
                                     Video!
&pngss=1

Set to 1 to save a full-resolution version of
the fully loaded screen shot as a png




                                     Normal JPG
                                     Big PNG24
&f=json

Format. Set to "xml" to request an XML
response instead of a redirect ("json" is also
provisionally supported)
&plr=50

Packet loss rate - percent of packets to drop
(used when specifying a custom connectivity
profile)


                                       plr=0
                                       plr=50
                                       No diff !
                                       Location
                                       specific
                                       issue?
console.log() output
Can be found on the screen shots page ...




                                      Example
Time to Title
Not in UI, but ís in results from API: <titleTime>
Can also be found in “Raw Page data” CSV




                                         Example
6   Closing remarks
WPT can act … surprising
The documentation may not help out
It may drive you mad
Don't give up easily
Put some effort in!
Be the Success Kid!
WebPagetest - Good, Bad & Ugly

More Related Content

What's hot

Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web Performance
Eric ShangKuan
 

What's hot (20)

Making the web faster
Making the web fasterMaking the web faster
Making the web faster
 
Service Workers for Performance
Service Workers for PerformanceService Workers for Performance
Service Workers for Performance
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web Applications
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsers
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web Performance
 
LCA2014 - Introduction to Go
LCA2014 - Introduction to GoLCA2014 - Introduction to Go
LCA2014 - Introduction to Go
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
 
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
 
Asynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and JavaAsynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and Java
 
HTTPS and HTTP/2
HTTPS and HTTP/2HTTPS and HTTP/2
HTTPS and HTTP/2
 
Selecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutionsSelecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutions
 
CouchDB Google
CouchDB GoogleCouchDB Google
CouchDB Google
 
Building Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using WebsocketsBuilding Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using Websockets
 
Use Xdebug to profile PHP
Use Xdebug to profile PHPUse Xdebug to profile PHP
Use Xdebug to profile PHP
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsers
 
Creating a full stack web app with python, npm, webpack and react
Creating a full stack web app with python, npm, webpack and reactCreating a full stack web app with python, npm, webpack and react
Creating a full stack web app with python, npm, webpack and react
 
Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
 

Viewers also liked

Creative Business Cup Competition Manual
Creative Business Cup Competition Manual Creative Business Cup Competition Manual
Creative Business Cup Competition Manual
Startupi
 
WITU Women and Girls
WITU Women and GirlsWITU Women and Girls
WITU Women and Girls
Web Gathering
 
BPE USA agenda - Full Agenda
BPE USA agenda - Full AgendaBPE USA agenda - Full Agenda
BPE USA agenda - Full Agenda
Zoe Gammie
 
HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohatera
HordeTechnology
 
Gabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis portfolio
Gabor Karcis portfolio
Gabor Karcis
 

Viewers also liked (20)

Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
 
Week 5 Whats The Big Idea - Emma Dicks
Week 5 Whats The Big Idea -  Emma DicksWeek 5 Whats The Big Idea -  Emma Dicks
Week 5 Whats The Big Idea - Emma Dicks
 
Acceleration Digitalintelligence
Acceleration DigitalintelligenceAcceleration Digitalintelligence
Acceleration Digitalintelligence
 
RoomAuction.com-ref-Adrian
RoomAuction.com-ref-AdrianRoomAuction.com-ref-Adrian
RoomAuction.com-ref-Adrian
 
User Experience Mentoring (Ideabox Indonesia)
User Experience Mentoring (Ideabox Indonesia)User Experience Mentoring (Ideabox Indonesia)
User Experience Mentoring (Ideabox Indonesia)
 
Creative Business Cup Competition Manual
Creative Business Cup Competition Manual Creative Business Cup Competition Manual
Creative Business Cup Competition Manual
 
NaRFU mai 2010
NaRFU mai 2010NaRFU mai 2010
NaRFU mai 2010
 
Social Media Optimization - It All Starts With Search
Social Media Optimization - It All Starts With SearchSocial Media Optimization - It All Starts With Search
Social Media Optimization - It All Starts With Search
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
A Hundred Years in a Decade
A Hundred Years in a DecadeA Hundred Years in a Decade
A Hundred Years in a Decade
 
SemáNtico PragmáTico
SemáNtico PragmáTicoSemáNtico PragmáTico
SemáNtico PragmáTico
 
WITU Women and Girls
WITU Women and GirlsWITU Women and Girls
WITU Women and Girls
 
裸裎相見關鍵字
裸裎相見關鍵字裸裎相見關鍵字
裸裎相見關鍵字
 
School of Chemical Sciences
School of Chemical SciencesSchool of Chemical Sciences
School of Chemical Sciences
 
BPE USA agenda - Full Agenda
BPE USA agenda - Full AgendaBPE USA agenda - Full Agenda
BPE USA agenda - Full Agenda
 
Oipf
OipfOipf
Oipf
 
HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohatera
 
LRITC introduction
LRITC introductionLRITC introduction
LRITC introduction
 
MMD_Vision 2015
MMD_Vision 2015MMD_Vision 2015
MMD_Vision 2015
 
Gabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis portfolio
Gabor Karcis portfolio
 

Similar to WebPagetest - Good, Bad & Ugly

Powershell Tech Ed2009
Powershell Tech Ed2009Powershell Tech Ed2009
Powershell Tech Ed2009
rsnarayanan
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
Nick Belhomme
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
Jesse Vincent
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
David Cunningham
 

Similar to WebPagetest - Good, Bad & Ugly (20)

Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)
 
DalekJS Workshop at T3DD14
DalekJS Workshop at T3DD14DalekJS Workshop at T3DD14
DalekJS Workshop at T3DD14
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
 
Powershell Tech Ed2009
Powershell Tech Ed2009Powershell Tech Ed2009
Powershell Tech Ed2009
 
Scaling python webapps from 0 to 50 million users - A top-down approach
Scaling python webapps from 0 to 50 million users - A top-down approachScaling python webapps from 0 to 50 million users - A top-down approach
Scaling python webapps from 0 to 50 million users - A top-down approach
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
 
Belvedere
BelvedereBelvedere
Belvedere
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
 
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
 
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
 
(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easy
 
Heavy Web Optimization: Backend
Heavy Web Optimization: BackendHeavy Web Optimization: Backend
Heavy Web Optimization: Backend
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Presentation of JSConf.eu
Presentation of JSConf.euPresentation of JSConf.eu
Presentation of JSConf.eu
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
Hadoop Monitoring best Practices
Hadoop Monitoring best PracticesHadoop Monitoring best Practices
Hadoop Monitoring best Practices
 

Recently uploaded

Recently uploaded (20)

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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

WebPagetest - Good, Bad & Ugly

  • 1. Paget e s t: W eWebPagetest APIly Using the b he Ug he Ba d&T The Good, T
  • 2. 1 First … some basic tips
  • 3. Understand the test environment Windows version? DNS resolver? Hardware specs (RAM, processor)?
  • 4. Run a large number of tests
  • 6. Summary statistics hide insight Mean: ~1400 ms Median: ~1100 ms
  • 7. Look at individual tests Normal Ouch!
  • 8. 2 New stuff in the WPT ui
  • 10. Capture Network Log (Chrome) Returns big TXT file with JSON … then what? Pat: “You probably don't want to use the network log - it was added for the Chrome team themselves to debug the browser :-)”
  • 11. Minimum test duration It works, kindof ... Example (minTestDur=45)
  • 12. 3 WPT API introduction
  • 13. Getting started Get an API key from Pat (required) Know your requests will have low prio /getLocations.php Basic process: 1. Submit request via POST or GET 2. Poll for the test status (or use pingback) 3. Fetch test results 4. Fetch objects (charts, screen shots, ...)
  • 14. Submitting requests Send a POST or GET to http://www.webpagetest.org/runtest.php url is only required parameter Defaults: Dulles DSL, 1 run, first & repeat view, public, no video Overview of parameters
  • 15. Results Example XML It has it all, incl. 1. PageSpeed version & results 2. Page <title> 3. Links to pages/files for everything in UI 4. Video frame URLs & Speed Index score !
  • 16. Documentation Official API documentation Python lib for ad-hoc batch processing Batch processing command line tool
  • 17. 4 Scripting
  • 18. Lots of possibilities! https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/scripting Navigation/DOM interaction (submitForm) End Conditions (setDOMelement) Request Manipulation (setDNS) Misc (combineSteps) Great for simulating user-page interaction, multi-page testing and different 'conditions'
  • 19. Example scripts logData 0 navigate http://www.gamesgames.com/ logData 1 navigate http://www.gamesgames.com/search.html? search=bloons+4 SetDNSName cdn.domain.com www.domain.com overrideHost cdn.domain.com www.domain.com navigate www.domain.com
  • 20. Commands you'll likely use Command Description navigate Navigate to next page, wait for it to complete logData Set to 0 to not record anything; 1 = record! setValue Sets the value attribute of the given DOM element to the provided value. submitForm Triggers a submit event for the identified form. setDOMElement Sets the attribute of a DOM element that is required for the next event to complete successfully. block Blocks individual requests from loading combineSteps Causes multiple script steps to be combined into a single "step" in the results setViewportSize Changes size of visible browser window firefoxPref Allows you to specify arbitrary preferences that will be configured before launching the browser. Eg. firefoxPref network.http.pipelining false setDNS Allows for overriding the IP address for a host name.
  • 21. Why did the test fail? Can be very hard to troubleshoot, esp. on large scripts
  • 22. 5 WPT – hidden gems
  • 23. &notify=theboss@whitehouse.org e-mail address to notify with the test results
  • 24. &iq=90 Specify a jpeg compression level (30-10095) for the screen shots and video capture iq=default iq=90 Video!
  • 25. &pngss=1 Set to 1 to save a full-resolution version of the fully loaded screen shot as a png Normal JPG Big PNG24
  • 26. &f=json Format. Set to "xml" to request an XML response instead of a redirect ("json" is also provisionally supported)
  • 27. &plr=50 Packet loss rate - percent of packets to drop (used when specifying a custom connectivity profile) plr=0 plr=50 No diff ! Location specific issue?
  • 28. console.log() output Can be found on the screen shots page ... Example
  • 29. Time to Title Not in UI, but ís in results from API: <titleTime> Can also be found in “Raw Page data” CSV Example
  • 30. 6 Closing remarks
  • 31. WPT can act … surprising
  • 32. The documentation may not help out
  • 33. It may drive you mad
  • 34. Don't give up easily