Skip to content

Instantly share code, notes, and snippets.

View dmpeters's full-sized avatar
👨‍🔧

David Peters dmpeters

👨‍🔧
View GitHub Profile

Keybase proof

I hereby claim:

  • I am dmpeters on github.
  • I am dmpeters63 (https://keybase.io/dmpeters63) on keybase.
  • I have a public key ASAnsztVeuUCPoBehuG5qth7wvALLo79Gp5S8zgZI9Y7kQo

To claim this, I am signing this object:

Keybase proof

I hereby claim:

  • I am dmpeters on github.
  • I am doxdpeters (https://keybase.io/doxdpeters) on keybase.
  • I have a public key ASCoOsiomE0jJQloGlC0o1hANU9bOq78zsqGvsS53xkReAo

To claim this, I am signing this object:

@dmpeters
dmpeters / backend.py
Last active August 29, 2015 14:22 — forked from dmitric/backend.py
class Backend(object):
def __init__(self):
engine = create_engine("mysql://{0}:{1}@{2}/{3}".format(options.mysql_user, options.mysql_pass, options.mysql_host, options.mysql_db)
, pool_size = options.mysql_poolsize
, pool_recycle = 3600
, echo=options.debug
, echo_pool=options.debug)
self._session = sessionmaker(bind=engine)
@classmethod
@dmpeters
dmpeters / foo.md
Last active August 29, 2015 14:21

The Perils of CouchDB / Postgres to the rescue

CouchDB as an application database kind of sucks. Basically the only reason to use it is because it easily supports unstructured data. Even so, its limitations have a ton of negative ripple effects on basically the entire development process.

Luckily, Postgres has an hstore column type and has recently added a json column type. json supports arbitrary JSON but is stored as text so operations are slower. hstore stores only a flat mapping of string keys and values in a fast binary format, but nesting is on tap for 9.4 (Q3 2014) and non-string types are on the roadmap. In the meantime, nesting can be simulated by storing the full path to a value as the string key, and types can be handled in the application layer including with a query building abstraction that automatically casts hstore values to their expected types in database queries.

Postgres supports a number of other features that all together make it look like a great solution for scalably storing m

{
"builders": [{
"type": "amazon-ebs",
"source_ami": "ami-de0d9eb7",
"region": "us-east-1",
}],
"provisioners": [{
"type": "puppet-masterless",
"manifest_file": "site.pp"
}],
@dmpeters
dmpeters / example.json
Created February 10, 2015 22:59
packer vagrant example
{
"builders": [{
"type": "virtualbox",
"iso_url": "http://releases.ubuntu.com/12.04/ubuntu-12.04.3-server-amd64.iso",
"iso_checksum": "2cbe868812a871242cdcdd8f2fd6feb9"
}],
"builders": [{
"type": "amazon-ebs",
"source_ami": "ami-de0d9eb7",
"region": "us-east-1",
@dmpeters
dmpeters / librets_install.txt
Created July 15, 2014 21:56
librets installations with python bindings only
# Debian 7 x64, Ubuntu 14.04 x64, Ubuntu 12.04.4 x64
*NOTE (tested on Digital Ocean VM's w/ > 512MB of RAM - gcc runs out of memory on VM's <= 512 MB)
apt-get update
aptitude safe-upgrade
apt-get install build-essential libboost-all-dev libcurl4-gnutls-dev autoconf antlr swig python-dev
*NOTE (for python 3 support add 'python3-dev' to the end of line 5)
cd /tmp
wget https://github.com/NationalAssociationOfRealtors/libRETS/archive/1.6.1.tar.gz
@dmpeters
dmpeters / pappy1
Last active August 29, 2015 14:00
js for pap
var mt_referrer = document.cookie.match(new RegExp("mt_referrer" + '=([^;]+)'));
if(mt_referrer==null){
console.log('FUCK')
}else{
console.log(document.referrer)
}
@dmpeters
dmpeters / thing.py
Last active January 1, 2016 15:49
thing
def formater_a(city):
pos1 = city.find('(') - 1 # finds the position of the first parenthese and substracts 1
pos2 = city.find(')') - 2 # finds the position of the second parenthese and substracts 2 (assumes the the final 3 characters are a state abbreviation with a closing parenthese)
return '{0}, {1}'.format(city[:pos1], city[pos2:-1]) # returns a formated string of the city by slicing
def formater_b(city):
return city.replace(',', '').replace(' ', '-').lower() # returns a formated string of the city by removing any commas and replacing any empty spaces with dashes
z = ['Del Mar (San Diego, CA)', 'Alamo, CA']
@dmpeters
dmpeters / url_ex.py
Created September 6, 2013 18:12
url example list script
import requests
url_list = ['url1', 'url2', 'etc']
bad_urls = []
good_urls = []
for url in url_list:
r = requests.get(url)
if r.status_code == 404:
bad_urls.append(url)