Skip to content

Instantly share code, notes, and snippets.

View mnot's full-sized avatar

Mark Nottingham mnot

View GitHub Profile
@mnot
mnot / snowden-ietf93.md
Last active September 12, 2023 13:40
Transcript of Edward Snowden's comments at IETF93.
@mnot
mnot / csp violations
Last active January 14, 2016 21:51
One day's worth of CSP violations injected by toolbars and various other *ware
129 times:
<safari-extension://com.evernote.safari.clipper-q79wdw8yh9>
96 times:
<safari-extension://com.ideashower.pocket.safari-et279a6r5n>
88 times:
<>
34 times:
@mnot
mnot / cgmailstats.rb
Last active August 29, 2015 14:11 — forked from rubys/cgmailstats.rb
require 'nokogumbo'
require 'date'
require 'json'
start = Date.today - 105
results = {}
index = 'http://www.w3.org/community/groups/'
groups = Nokogiri::HTML5.get(index)
groups = groups.search('a.h3').map {|a| a['href'].sub(/^#/, '')}
@mnot
mnot / keybase.md
Last active August 29, 2015 14:08

Keybase proof

I hereby claim:

  • I am mnot on github.
  • I am mnot (https://keybase.io/mnot) on keybase.
  • I have a public key whose fingerprint is 1F25 A21D 3C2A 7F22 4C25 389F 4A67 D3E9 3BDE FDDE

To claim this, I am signing this object:

@mnot
mnot / fake_hdrs.py
Created October 24, 2014 10:32
Create some fake headers for HTTP/2 compression testing.
#!/usr/bin/env python
from random import choice, sample, randrange
from string import lowercase
iterations = 10000
authorities = [
'www.foo.com',
'api1.backend.region.bar.com:8000',
@mnot
mnot / apple_pipeline
Last active June 29, 2017 14:26
Apple doing HTTP pipeline testing
192.168.001.051.65156-023.015.188.224.00080: GET /configurations/pep/pipeline/pipeline0.html HTTP/1.1
Host: configuration.apple.com
Connection: Keep-Alive
GET /configurations/pep/pipeline/pipeline1.html HTTP/1.1
Host: configuration.apple.com
Connection: Keep-Alive
GET /configurations/pep/pipeline/pipeline2.html HTTP/1.1
Host: configuration.apple.com
@mnot
mnot / gist:9660370
Created March 20, 2014 09:44
HTTP:// over TLS proposal
<section anchor="opportunistic" title="Discovering TLS Support for http:// URIs">
<t>
A server wishing to advertise support for HTTP/2 over TLS for http:// URIs MAY do so by
including an Alt-Svc (see <xref target="AltSvc"/>) response header with the "h2" protocol
identifier.
</t>
<t>
For example, a HTTP/1 connection could indicate support for HTTP/2 on port 443 for use
with future http:// URI requests with this Alt-Svc header:
@mnot
mnot / github.sh
Created March 15, 2014 21:51
Git alias handler for github
#!/bin/sh
# Github Handler
#
# Add to your .gitconfig like this:
#
# [alias]
# hub = !"github"
@mnot
mnot / ietf_flying_times.js
Created June 4, 2013 02:51
Figure out how long it takes to get to a set of airports from a "home" location.
#!/usr/bin/env node
var argv = require('optimist').argv
var http = require('http');
var $ = require('jquery');
var ietf_airports = {
IETF_airports: [
@mnot
mnot / htlook.py
Last active December 16, 2015 09:19
Summarise how a list of HTTP servers handles a particular request to a set of URLs.
"""
htlook.py
Summarise how a list of HTTP servers handles a particular request to a
set of URLs.
You can modify the request by either:
* Adding headers with the -a flag; e.g.,