Skip to content

Instantly share code, notes, and snippets.

View millerdev's full-sized avatar

Daniel Miller millerdev

  • Dimagi, Inc.
View GitHub Profile
@millerdev
millerdev / git-flake8
Last active September 15, 2020 05:38
Run fake8 on lines changed in current branch
#! /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
@millerdev
millerdev / fix-virtualenv-readline.md
Last active April 3, 2020 22:00
Fix broken readline in python and pdb interactive prompts in virtualenv with MacPorts python

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.
from dimagi.ext.couchdbkit import (
Document,
DocumentSchema,
DictProperty,
IntegerProperty,
StringProperty,
)
class BlobMeta(DocumentSchema):
content_type = StringProperty()
@millerdev
millerdev / FogBugz_Timesheet_Hours.user.js
Last active May 31, 2017 18:27
A Greasemonkey script to calculate and display hours logged on FogBugz timesheet popup.
// ==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
@millerdev
millerdev / git-pr
Last active August 29, 2015 14:02
git pr - Fetch GitHub pull request to a new branch
#! /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 / lis.txt
Last active August 29, 2015 14:00
Lis - lisp dialect with semantic whitespace
define sum term a next b
define iter a result
if
> a b
result
iter
next a
+
term a
result

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.