Skip to content

Instantly share code, notes, and snippets.

@neilhawkins
neilhawkins / list-of-salutations-titles-honorifics.txt
Last active April 4, 2024 21:08
List of salutations, honorifics, titles, Mr, Mrs, Sir in plain text
Mr
Mrs
Master
Miss
Ms
Mx
Dr
Admiral
Air Comm
Ambassador
@neilhawkins
neilhawkins / gist:120cf80b1a2f33ef85c2ce51580723a1
Last active December 23, 2020 10:28
Initial transforms needed to clean up UK Electoral Commission data exports
[
{
"op": "core/text-transform",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"columnName": "Value",
"expression": "grel:value.replace(/[,£]/,'').toNumber()",
"onError": "keep-original",
@neilhawkins
neilhawkins / post-nominal-letters.txt
Last active July 23, 2020 08:12
A list of new line separated post-nominal letters used in the United Kingdom to indicate a person's status, position etc. Source: https://en.wikipedia.org/wiki/List_of_post-nominal_letters_(United_Kingdom)
Kt
Bt
Bart
Esq
MNM
VC
GC
KG
LG
KT
@neilhawkins
neilhawkins / gist:cfb850a11cdbf3b2ce0a99f50563d04a
Created February 18, 2018 18:36
Open Refine export template for UK Electoral Commission data
{"ec_ref" : {{jsonize(cells["ECRef"].value)}},"regulated_entity_name" : {{jsonize(cells["RegulatedEntityName"].value)}},"regulated_entity_type" : {{jsonize(cells["RegulatedEntityType"].value)}},"value" : {{jsonize(cells["Value"].value)}},"accepted_date" : {{jsonize(cells["AcceptedDate"].value)}},"accounting_unit_name" : {{jsonize(cells["AccountingUnitName"].value)}},"donor_name" : {{jsonize(cells["DonorName"].value)}},"accounting_units_as_central_party" : {{jsonize(cells["AccountingUnitsAsCentralParty"].value)}},"is_sponsorship" : {{jsonize(cells["IsSponsorship"].value)}},"donor_status" : {{jsonize(cells["DonorStatus"].value)}},"regulated_donee_type" : {{jsonize(cells["RegulatedDoneeType"].value)}},"company_registration_number" : {{jsonize(cells["CompanyRegistrationNumber"].value)}},"postcode" : {{jsonize(cells["Postcode"].value)}},"donation_type" : {{jsonize(cells["DonationType"].value)}},"nature_of_donation" : {{jsonize(cells["NatureOfDonation"].value)}},"purpose_of_visit" : {{jsonize(cells["PurposeOfVisit"
@neilhawkins
neilhawkins / wayback-scraper.js
Created August 12, 2014 06:37
wayback-scraper.js
var casper = require("casper").create({
verbose: true,
loglevel: "debug"
});
var response = [], url, site, viewportWidth = 1280, viewportHeight = 1024;
var captureSize = {top: 0, left: 0, width: viewportWidth, height: viewportHeight};
// to get screenshot folder name from url
var re = /url=(\w+)\./;
@neilhawkins
neilhawkins / proms_scraper.py
Created January 15, 2014 17:02
Scraper collecting all pieces performed at proms from BBC archive
import scraperwiki, urllib2, re, time
import lxml.html
from pprint import pprint
decades = [x*10 for x in range(189,202)]
for decade in decades:
years = [decade+y for y in range(10)]
for year in years:
url = 'http://www.bbc.co.uk/proms/archive/search/'+str(decade)+'s/'+str(year)
@neilhawkins
neilhawkins / 2013q2.csv
Last active December 21, 2015 01:49
UK political donations info
name color entity
Conservative Party #0087DC party
Labour Party #DC241f party
Liberal Democrats #FDBB30 party
UKIP #70147A party
Unite #aabbcc donor
Joan Edwards* #aabbcc donor
GMB #aabbcc donor
UNISON #aabbcc donor
USDAW #aabbcc donor
var INCR = 10; // Number of messages per page
var SENT_URL = '//www.linkedin.com/inbox/sent?startRow=';
var loMessageLinks = []; // Main array for all contacts
var fetchMessages = function(i, cb) {
console.log('Fetching message page #' + (i+1));
$.get(SENT_URL + (i*INCR), function(data){
var $dom = $(data);
@neilhawkins
neilhawkins / lazynoding.js
Created January 11, 2015 17:22
reads a node modules directory and outputs all packages and versions for when you forget to --save-dev...
var fs = require("fs");
function main() {
fs.readdir("./node_modules", function (err, dirs) {
if (err) {
console.log(err);
return;
}
dirs.forEach(function(dir){
if (dir.indexOf(".") !== 0) {