Skip to content

Instantly share code, notes, and snippets.

View WPT Bookmarklet
javascript:(function(){hostname=document.location;window.open('http://www.webpagetest.org?url=' + hostname);})();
@andydavies
andydavies / gist:3cdcca42bd9f4289424c
Created Dec 10, 2015
Query for HTTPArchive BigQuery data to list all font files for sites x top sites
View gist:3cdcca42bd9f4289424c
select pages.url, pages.rank, req.url
from [httparchive:runs.latest_requests] as req
join (
select url, rank, pageid, reqFont from [httparchive:runs.latest_pages]
) as pages on pages.pageid = req.pageid
where lower(req.mimetype) contains "font"
and pages.rank <= 100 and pages.reqFont > 0
order by pages.rank
@andydavies
andydavies / gist:2a82839e30bff61dcffb
Created Dec 9, 2015
Bookmarklet for securityheaders.io
View gist:2a82839e30bff61dcffb
Save this script as a bookmark, then use it to test the current page
javascript:(function(){hostname=document.location.hostname;window.open('https://securityheaders.io/?q=' + hostname);})();
View gist:abcca48135ef85e4af7b
1. Install nginx
sudo apt-get install nginx
configure nginx.conf
2. Install PHP
# Fast socket version
View gist:42dcdd49d21a6ad1b26e
# Parses JSON results from WPT e.g. http://www.webpagetest.org/result/140506_W2_c46551bac76ab45d87e7e2f32c3159e6/?f=json
# Relies on JSON to be locally downloaded first (avoid's timeouts when results need to be retrieved from archive)
# Produces a data.frame with selected values from all test results
# url in code is really a path to a file, all.urls is a data frame with a list of files
require(RCurl)
require(stringr)
require(rjson)
@andydavies
andydavies / gist:8653127
Created Jan 27, 2014
List of Web Perf Resources for
View gist:8653127
- Enable gzip - HTML 5 Server Configs has examples for 1 & 3 (perhaps 2) - https://github.com/h5bp/server-configs
- Enable keep-alive
- Set explict cache-lifetime
- Optimise images i.e. pick an appropriate format and run through tools like ImageOptim, JpegMini etc.
- Get a build process that minifies CSS & JS, and can combined multiple files together where appropriate
- Consider dataURIs or CSS sprites to reduce the number of requests for small images
- depending of where audience is consider a CDN (latency is the enemy in all of this
View gist:6024703
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
#
# Do NOT simply read the instructions in here without understanding
@andydavies
andydavies / gist:6006984
Created Jul 16, 2013
DNS records for t.co publish 199.16.156.11 and 199.16.156.75 but connections to 199.16.156.11 fail so effectively waiting for TCP timeout before resolution
View gist:6006984
Andy-Daviess-MacBook-Pro:tmp ad$ wget https://t.co/tdI2DYxUZh
--2013-07-16 09:33:56-- https://t.co/tdI2DYxUZh
Resolving t.co... 199.16.156.11, 199.16.156.75
Connecting to t.co|199.16.156.11|:443... failed: Operation timed out.
Connecting to t.co|199.16.156.75|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://itunes.apple.com/gb/app/ia-writer/id439623248?mt=12 [following]
--2013-07-16 09:35:13-- https://itunes.apple.com/gb/app/ia-writer/id439623248?mt=12
Resolving itunes.apple.com... 95.100.130.217
Connecting to itunes.apple.com|95.100.130.217|:443... connected.
View gist:5917537
@courtneynash
@estellevw
@tameverts
@bbinto
@denisejacobs
@daianacheng
@kaelifa
@anna_debenham
@gerbille
@viviancromwell
@andydavies
andydavies / gist:5489399
Created Apr 30, 2013
Quova API example - when tested it didn't support IPv6 and cellular gateways were always reported as line_speed:low regardless of end user connection
View gist:5489399
{
"ipinfo":{
"ip_address":"212.183.128.252",
"ip_type":"Mapped",
"Network":{
"organization":"vodafone limited",
"carrier":"vodafone limited",
"asn":25135,
"connection_type":"mobile wireless",
"line_speed":"low",
You can’t perform that action at this time.