Skip to content

Instantly share code, notes, and snippets.

@neilhawkins
neilhawkins / list-of-salutations-titles-honorifics.txt
Last active May 9, 2019
List of salutations, honorifics, titles, Mr, Mrs, Sir in plain text
View list-of-salutations-titles-honorifics.txt
Mr
Mrs
Miss
Ms
Dr
Admiral
Air Comm
Ambassador
Baron
Baroness
@neilhawkins
neilhawkins / gist:cfb850a11cdbf3b2ce0a99f50563d04a
Created Feb 18, 2018
Open Refine export template for UK Electoral Commission data
View gist:cfb850a11cdbf3b2ce0a99f50563d04a
{"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 / gist:120cf80b1a2f33ef85c2ce51580723a1
Last active Jun 23, 2020
Initial transforms needed to clean up UK Electoral Commission data exports
View gist:120cf80b1a2f33ef85c2ce51580723a1
[
{
"op": "core/text-transform",
"engineConfig": {
"facets": [],
"mode": "row-based"
},
"columnName": "Value",
"expression": "grel:value.replace(/[,£]/,'').toNumber()",
"onError": "keep-original",
View LinkedOut.js
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 Jan 11, 2015
reads a node modules directory and outputs all packages and versions for when you forget to --save-dev...
View lazynoding.js
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) {
View 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 / sorting-array-of-objects.js
Last active Aug 29, 2015
Ways of sorting an array of objects
View sorting-array-of-objects.js
// Ways to sort an array of objects
var arr = [{"member_id":"40323","person_id":"24709","name":"Bridget Phillipson","party":"Labour","constituency":"Houghton and Sunderland South","office":[]},{"member_id":"40636","person_id":"11592","name":"Sharon Hodgson","party":"Labour","constituency":"Washington and Sunderland West","office":[]},{"member_id":"40592","person_id":"24710","name":"Julie Elliott","party":"Labour","constituency":"Sunderland Central","office":[]},{"member_id":"40068","person_id":"13814","name":"Naomi Long","party":"Alliance","constituency":"Belfast East","office":[]},{"member_id":"40428","person_id":"13852","name":"Ian Paisley Jnr","party":"DUP","constituency":"North Antrim"},{"member_id":"40653","person_id":"10858","name":"Pat Doherty","party":"Sinn Fein","constituency":"West Tyrone"},{"member_id":"40434","person_id":"11003","name":"Kevan Jones","party":"Labour","constituency":"North Durham","office":[]},{"member_id":"40606","person_id":"10626","name":"Steve Webb","party":"Liberal Democrat","c
@neilhawkins
neilhawkins / README.md
Last active Aug 29, 2015
My 10,000 pixel wide bar chart.
View README.md

Why a bar chart for 800 rows of data will end in tears and repetitive strain injury.

Data is political donations above £7500 made to Labour, Conservative and Liberal Democrat parties in the United Kingdom between May 2010 and August 2013.

@neilhawkins
neilhawkins / gist:9069114
Created Feb 18, 2014
Newspaper circulation in dc js
View gist:9069114
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>dc.js Experiment</title>
<script src='bower_components/d3/d3.js' type='text/javascript'></script>
<script src='bower_components/crossfilter/crossfilter.js' type='text/javascript'></script>
<script src='dc.js' type='text/javascript'></script>
You can’t perform that action at this time.