Skip to content

Instantly share code, notes, and snippets.

Samuel Parkinson sjparkinson

Block or report user

Report or block sjparkinson

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
# Remove the last line from CODEOWNERS
sed -i '' -e '$ d' CODEOWNERS
# Append the following line to CODEOWNERS
echo "* @Financial-Times/etg" >> CODEOWNERS
sjparkinson /
Last active Nov 25, 2019
Install binaries from a GitHub release.
# Heavily modified from
help() {
cat <<'EOF'
Install a binary release of a Rust crate hosted on GitHub.
Usage: [options]
sjparkinson / manage-github-topics.js
Last active Feb 13, 2019
Manage your GitHub repository topics with this command line tool.
View manage-github-topics.js
#!/usr/bin/env node
const yargs = require("yargs");
const Octokit = require("@octokit/rest");
const headers = {
accept: "application/vnd.github.mercy-preview+json"
* manage-github-topics [command] [owner]/[repo] [topic ...topic]
* manage-github-topics list --token $GITHUB_API_TOKEN Financial-Times/tako
View Makefile
# To build the application run `make install`.
# This target depends on the `node_modules` target.
install: node_modules
# This target depends on a file called `package.json`.
# If `package.json` doesn't exist, make complains that you need one! Run `npm init` to generate one.
# If `package.json` exists, but `node_modules/` doesn't, make will run `npm install`.
condition {
name = "request_is_us"
statement = "req.http.X-Geoip-Continent ~ \"(NA|SA|OC|AS)\" || (!F_eu_origin.healthy && F_us_origin.healthy)"
type = "REQUEST"
priority = 100
condition {
name = "request_is_eu"
statement = "req.http.X-Geoip-Continent !~ \"(NA|SA|OC|AS)\" || (!F_us_origin.healthy && F_eu_origin.healthy)"
sjparkinson / config.yml
Last active Jan 14, 2020
Deploy a Fastly service using Terraform and CircleCI 2.0.
View config.yml
version: 2
- image: hashicorp/terraform
- checkout
- run:
name: Validate Terraform Formatting

Caches all the way down

Layers of caching in the browser

(kind of Chromium specific here and there)

1. MemoryCache

  • same rendering process, short-lived
  • strict matching, same resource type, etc, CSP
  • everything (even no-cache, except for no-store)
sjparkinson /
Last active Apr 11, 2017
Code club on debugging with Python PDB.
# import modules used here -- sys is a very standard one
import sys
# Gather our code in a main() function
def main():
print 'Hello there', sys.argv[1] if len(sys.argv) > 1 else 'Anon'
# Command line args are in sys.argv[1], sys.argv[2] ..
# sys.argv[0] is the script name itself and can be ignored
sjparkinson /
Last active Mar 21, 2017
Code club on TDD & BDD.
You can’t perform that action at this time.