Skip to content

Instantly share code, notes, and snippets.

Avatar

Daniel Miller millerdev

  • Dimagi, Inc.
View GitHub Profile
View error_on_load.md

error_on_load column loader strategy for marking column properties that should not be loaded.

It is similar to the deferred loader strategy, but causes an exception to be raised if a column would be loaded by a subsequent (deferred) query. Use error_on_load(k) instead of defer(k) to construct a query option that will cause an exception if an attempt is made to load column k.

This is handy when constructing a query with deferred columns (to optimize load time). It will cause an exception to be raised in your program instead of causing dramatic slowdown due to many deferred-load queries when you accidentally marked a column as deferred that should be loaded eagerly. Fail early.

@millerdev
millerdev / lis.txt
Last active Aug 29, 2015
Lis - lisp dialect with semantic whitespace
View lis.txt
define sum term a next b
define iter a result
if
> a b
result
iter
next a
+
term a
result
@millerdev
millerdev / git-pr
Last active Aug 29, 2015
git pr - Fetch GitHub pull request to a new branch
View git-pr
#! /bin/bash
if [ -z "$1" ]; then
echo "Fetch GitHub pull request to a new branch"
echo ""
echo "usage: git pr PULL_REQUEST_NUMBER [BRANCH_NAME]"
exit;
fi
pr_num="$1"
if [ -z "$2" ]; then
@millerdev
millerdev / FogBugz_Timesheet_Hours.user.js
Last active May 31, 2017
A Greasemonkey script to calculate and display hours logged on FogBugz timesheet popup.
View FogBugz_Timesheet_Hours.user.js
// ==UserScript==
// @name FogBugz Timesheet Hours
// @namespace fb-ts-hours
// @description Calculate and display hours worked on FogBugz timesheet popup.
// https://gist.github.com/millerdev/96c9b824b8902d4a5c19
// @include http://manage.dimagi.com/*
// @include https://manage.dimagi.com/*
// @version 1
// @grant none
// @run-at document-start
View jsonobject-mixin-fail.py
from dimagi.ext.couchdbkit import (
Document,
DocumentSchema,
DictProperty,
IntegerProperty,
StringProperty,
)
class BlobMeta(DocumentSchema):
content_type = StringProperty()
@millerdev
millerdev / fix-virtualenv-readline.md
Last active Apr 3, 2020
Fix broken readline in python and pdb interactive prompts in virtualenv with MacPorts python
View fix-virtualenv-readline.md

Problem: borked readline in virtualenv

Python 3.7

$ mkvirtualenv test
$ python
Python 3.7.7 (default, Mar 18 2020, 09:44:23)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
@millerdev
millerdev / git-flake8
Last active Sep 15, 2020
Run fake8 on lines changed in current branch
View git-flake8
#! /bin/bash
# https://gist.github.com/millerdev/e25014e4b886a5c619419d56b778a423
#
# Usage: git flake8 [refname] [flake8 options]
if [ "${1:0:1}" = "-" ]; then
BRANCH=origin/master
else
BRANCH=${1:-origin/master}
shift
fi
View pglogslim.py
#! /usr/bin/env python3
# filter postgres logs to remove parameters of very large queries
#
# https://gist.github.com/millerdev/def20a42d78717174cd5722a9de2055a
import gzip
import re
import signal
import sys
# HACK prevent "BrokenPipeError: [Errno 32] Broken pipe" output on stderr
@millerdev
millerdev / riak-vnode-check.py
Last active Jan 3, 2018
Check for distinct replicas on riak cluster nodes for a given n_val
View riak-vnode-check.py
#! /usr/bin/env python
"""
Check for replicas on distinct nodes within a riak cluster for a given n_val
https://gist.github.com/millerdev/b6f50640d5fc2519ae8c9c2de3c64af2
"""
import re
from argparse import ArgumentParser
from subprocess import check_output
@millerdev
millerdev / generate-locations.py
Last active Jul 6, 2018
Generate XLSX file containing CommCare locations
View generate-locations.py
#! /usr/bin/env python
"""Generate XLSX file containing CommCare locations
Requires: pip install openpyxl==2.2.5
https://gist.github.com/millerdev/57a5c1363773a92d9ee6332e79789cd3
"""
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
You can’t perform that action at this time.