Skip to content

Instantly share code, notes, and snippets.

View pramsey's full-sized avatar

Paul Ramsey pramsey

View GitHub Profile
@pramsey
pramsey / index.html
Last active November 21, 2017 20:03
GeoNames on new Carto.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Geonames Heatmap</title>
<!-- Include Leaflet 1.2.0 Library -->
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.2.0/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.2.0/dist/leaflet.js"></script>
@pramsey
pramsey / parallel_paths_include_tlist_cost_v5.patch
Created November 10, 2017 13:52
Planner patch to allow parallel paths with expensive functions on the target list to survive winnowing. From Amit Kapala, with small change to apply cleaning to v10 https://www.postgresql.org/message-id/CAA4eK1+1H5Urm0_Wp-n5XszdLX1YXBqS_zW0f-vvWKwdh3eCJA@mail.gmail.com
diff --git a/src/backend/optimizer/geqo/geqo_eval.c b/src/backend/optimizer/geqo/geqo_eval.c
index b5cab0c..faa5bb7 100644
--- a/src/backend/optimizer/geqo/geqo_eval.c
+++ b/src/backend/optimizer/geqo/geqo_eval.c
@@ -40,7 +40,7 @@ typedef struct
} Clump;
static List *merge_clump(PlannerInfo *root, List *clumps, Clump *new_clump,
- bool force);
+ int num_gene, bool force);
--
-- Polygons in contained in a 10000x10000
-- square, with just enough size/density to mostly
-- cover the whole area.
--
DROP TABLE IF EXISTS polygon_table_10000;
CREATE TABLE polygon_table_10000 AS
SELECT ST_Buffer(
ST_SetSRID(
ST_MakePoint(random() * 10000, random() * 10000),
@pramsey
pramsey / curl-options.csv
Created June 20, 2017 18:13
CURL Options and Versions
CURL_OPT VERSION LIBCURL_VERSION_NUM URL
CURLOPT_ABSTRACT_UNIX_SOCKET 7.53.0 0x073500 http://curl.haxx.se/libcurl/c/CURLOPT_ABSTRACT_UNIX_SOCKET.html
CURLOPT_ACCEPTTIMEOUT_MS 7.24.0 0x071800 http://curl.haxx.se/libcurl/c/CURLOPT_ACCEPTTIMEOUT_MS.html
CURLOPT_ACCEPT_ENCODING 7.21.6 0x071506 http://curl.haxx.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html
CURLOPT_ADDRESS_SCOPE 7.19.0 0x071300 http://curl.haxx.se/libcurl/c/CURLOPT_ADDRESS_SCOPE.html
CURLOPT_APPEND 7.16.4 0x071004 http://curl.haxx.se/libcurl/c/CURLOPT_APPEND.html
CURLOPT_BUFFERSIZE 7.53.0 0x073500 http://curl.haxx.se/libcurl/c/CURLOPT_BUFFERSIZE.html
CURLOPT_CHUNK_BGN_FUNCTION 7.21.0 0x071500 http://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_BGN_FUNCTION.html
CURLOPT_CHUNK_DATA 7.21.0 0x071500 http://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_DATA.html
CURLOPT_CHUNK_END_FUNCTION 7.21.0 0x071500 http://curl.haxx.se/libcurl/c/CURLOPT_CHUNK_END_FUNCTION.html
@pramsey
pramsey / encrypt.sh
Created July 21, 2016 04:16
bash short-cuts for file encryption
#
# Simple commandline encryption aliases for OSX.
# Put this in your .bash_profile
#
# encrypt myfile
# takes your password, encrypts myfile to myfile.enc,
# writes some random data into myfile and then deletes it
#
# decrypt myfile.enc
# takes your passowrd, decrypts to myfile,
@pramsey
pramsey / address_match_pgsql.py
Last active July 19, 2016 18:04
Dedupe: Exact matches don't match?
#
# This script expects that
#
# - as many tables have been loaded as possible,
# to allow as much longitudinal data as possible to be used in
# identifying "identical" addresses
# - a table of locality congruencies has been created, 'locality_corpus'
# that maps an id key to different localities it shows up in. So, for
# example:
#
blocking...
creating blocking_map database
creating inverted indexes
writing blocking map
Traceback (most recent call last):
File "1_identify_address_entities.py", line 208, in <module>
csv_writer.writerows(b_data)
File "/Library/Python/2.7/site-packages/dedupe/blocking.py", line 42, in __call__
block_keys = predicate(instance)
File "/Library/Python/2.7/site-packages/dedupe/predicates.py", line 224, in __call__
from | to
----------------------+----------------------
100 Mile House | 108 Mile Ranch
100 Mile House | 93 Mile
100 Mile House | Buffalo Creek
100 Mile House | Lone Butte
103 Mile | 100 Mile House
108 Mile House | 108 Mile Ranch
108 Mile Ranch | 100 Mile House
150 Mile House | 141 Mile House
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
This code demonstrates how to use dedupe with to match messy records
against a deduplicated, canonical dataset. In this example, we'll be
matching voters list strings against a list of valid adddresses
"""
import os
import csv
@pramsey
pramsey / log.txt
Last active April 22, 2016 23:03
Updateable OGR FDW
Butterfly:~/Code/pgsql-ogr-fdw pramsey(readwrite)$ cat data/pt_two.dbf
Peter 45 5.6019650412 Paul 33 5.8419710325
Butterfly:~/Code/pgsql-ogr-fdw pramsey(readwrite)$ psql fdw
psql (9.5.1)
Type "help" for help.
fdw=# select * from pt_1 ;
fid | geom | name | age | height | birthdate
-----+--------------------------------------------+-------+-----+--------+------------