Skip to content

Instantly share code, notes, and snippets.

View cblanc's full-sized avatar
🐇

Christopher Blanchard cblanc

🐇
View GitHub Profile
const callbackifyPromiseWithTimeout = function(promise, callback) {
if (callback) {
// Ensure callback is called outside of promise stack.
return promise.then(function(res) {
setTimeout(function() { callback(null, res) }, 0);
}, function(err) {
setTimeout(function() { callback(err, null); }, 0);
});
}
@cblanc
cblanc / outcodes.csv
Created March 28, 2018 16:02
UK Outcodes - Feb 2018
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
AB10
AB11
AB12
AB13
AB14
AB15
AB16
AB21
AB22
AB23
@cblanc
cblanc / hulls.sql
Created August 4, 2017 13:55
Computing Hulls from a List of Geometries
-- Compute Convex Hull for a list of geolocations matching the outcode 'SW1A'
SELECT
ST_AsText(ST_ConvexHull(ST_Collect(location::geometry))) AS hull
FROM
postcodes
WHERE
outcode = 'SW1A';
-- Compute Concave Hull for a list of geolocations matching the outcode 'SW1A'
-- Little bit more expensive but the polygons are a "tighter fit", the more you increase the second parameter the "tightness" increases but so does computational work required

Keybase proof

I hereby claim:

  • I am cblanc on github.
  • I am cablanchard (https://keybase.io/cablanchard) on keybase.
  • I have a public key ASBldidyjn7X2MmOTNq50qQs-Hb-uYObpbBBZ-PuCyMlbAo

To claim this, I am signing this object:

@cblanc
cblanc / postalCounties.json
Created May 24, 2017 13:15
List of Postal Counties
[
"Aberdeenshire",
"Kincardineshire",
"Banffshire",
"Hertfordshire",
"West Midlands",
"Warwickshire",
"Worcestershire",
"Staffordshire",
"Somerset",
$ curl https://api.ideal-postcodes.co.uk/v1/postcodes/ID11QD?api_key=ak_iddqdidkfaidchoppers&callback=foo
# result =>
foo && foo({"result":[
{
"postcode":"ID1 1QD",
"post_town":"LONDON",
"line_1":"Kingsley Hall",
"line_2":"Powis Road",
"line_3":""
@cblanc
cblanc / Rails - Gravatar Image Helper
Created August 12, 2013 16:47
Gravatar Image Helper Function. Provide an email, it will return image_tag for corresponding gravatar. Pass in options hash as usual
def gravatar_image(email, options = {})
gravatar_url = "http://www.gravatar.com/avatar"
gravatar_hash = Digest::MD5.hexdigest(email.downcase.strip)
image_tag "#{gravatar_url}/#{gravatar_hash}", options
end
@cblanc
cblanc / outcodes_and_parliamentary_constituencies.csv
Created November 13, 2015 13:55
select outcode, array_to_string(array_agg(distinct parliamentary_constituency),',') from postcodes group by outcode
AB10 Aberdeen North,Aberdeen South
AB11 Aberdeen North,Aberdeen South
AB12 Aberdeen North,Aberdeen South,West Aberdeenshire and Kincardine
AB13 Aberdeen South,West Aberdeenshire and Kincardine
AB14 Aberdeen South,West Aberdeenshire and Kincardine
AB15 Aberdeen North,Aberdeen South,West Aberdeenshire and Kincardine
AB16 Aberdeen North
AB21 Aberdeen North,Gordon,West Aberdeenshire and Kincardine
AB22 Gordon
AB23 Aberdeen North,Gordon
@cblanc
cblanc / outcodes_and_parliamentary_constituencies.csv
Created November 13, 2015 13:55
select outcode, array_to_string(array_agg(distinct parliamentary_constituency),',') from postcodes group by outcode
AB11 Aberdeen North,Aberdeen South
AB12 Aberdeen North,Aberdeen South,West Aberdeenshire and Kincardine
AB13 Aberdeen South,West Aberdeenshire and Kincardine
AB14 Aberdeen South,West Aberdeenshire and Kincardine
AB15 Aberdeen North,Aberdeen South,West Aberdeenshire and Kincardine
AB16 Aberdeen North
AB21 Aberdeen North,Gordon,West Aberdeenshire and Kincardine
AB22 Gordon
AB23 Aberdeen North,Gordon
http://www.ensl.org/sounds/gather-1.mp3
http://www.ensl.org/sounds/gather-2.mp3
http://www.ensl.org/sounds/gather-3.mp3
http://www.ensl.org/sounds/gather-4.mp3
http://www.ensl.org/sounds/gather-5.mp3