Skip to content

Instantly share code, notes, and snippets.

sjparkinson /
Last active Mar 10, 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 Jun 11, 2018
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.
sjparkinson / launch-event.json
Last active Mar 20, 2017
EC2 AutoScale event notifications via SNS.
View launch-event.json
"Records": [
"EventSource": "aws:sns",
"EventVersion": "1.0",
"EventSubscriptionArn": "arn:aws:sns:eu-west-1:371548805176:FT-App-API-UAT-AutoScalingEvents-1VA671X21ETS2:500fe343-1af7-4b98-a81c-2a91c32f3f05",
"Sns": {
"Type": "Notification",
"MessageId": "1decf081-3906-5ba1-a408-a1c886a6549e",
"TopicArn": "arn:aws:sns:eu-west-1:371548805176:FT-App-API-UAT-AutoScalingEvents-1VA671X21ETS2",
You can’t perform that action at this time.