Skip to content

Instantly share code, notes, and snippets.

View czue's full-sized avatar

Cory Zue czue

View GitHub Profile
@czue
czue / git_grep_blame.sh
Created November 14, 2017 07:06
A little bash script for git blaming things matching git grep
#!/bin/bash
# usage: ./git_grep_blame.sh todo
# HT: https://stackoverflow.com/a/43664756/8207
if [ "$1" = "" ] ; then
echo "usage: $0 <term>" 1>&2
exit 1
fi

Kafka Migration

Problem statement

We need to migrate Kafka from one machine to the other, ideally with 0 downtime.

Planned solution

  1. Spin up the new kafka environment
  2. Publish changes from production to both environment in parallel
  3. Confirm new environment is working
  4. Flip a pointer for the feeds that run off kafka
@czue
czue / gist:6082293
Created July 25, 2013 18:12
hq log config
# MIN_LOG_LEVEL = 'DEBUG'
MIN_LOG_LEVEL = 'INFO'
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
@czue
czue / gist:5823792
Created June 20, 2013 15:32
Test Failures
======================================================================
ERROR: testOTARestoreMultiple (casexml.apps.case.tests.test_multimedia.CaseMultimediaTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./submodules/casexml-src/casexml/apps/case/tests/test_multimedia.py", line 186, in testOTARestoreMultiple
self._validateOTARestore(TEST_CASE_ID, restore_attachments)
File "./submodules/casexml-src/casexml/apps/case/tests/test_multimedia.py", line 190, in _validateOTARestore
case_xml = case.to_xml(V2)
File "./submodules/casexml-src/casexml/apps/case/models.py", line 797, in to_xml
elem = get_case_element(self, ('create', 'update'), version)
@czue
czue / prof.py
Created February 13, 2013 19:14
profile analysis utilitiy
import hotshot.stats
import sys
DEFAULT_LIMIT = 200
def profile(filename, limit=DEFAULT_LIMIT):
print "loading profile stats for %s" % filename
stats = hotshot.stats.load(filename)
# normal stats
@czue
czue / aremind_wisepill_calc.py
Last active December 12, 2015 00:38
Script to remove potentially duplicate counts from wisepill data.
"""
Script usage:
The script currently assumes the existence of two files and of specific formats.
dataforwisepillcalculation.csv - a list of patient ids and visit times
wisepill.csv - the full log of wisepill openings
It outputs a single file:
adherence.csv - the patients' adherence scores over each of the visit periods
@czue
czue / prof.py
Created November 21, 2012 20:37
simple profiling script
import hotshot.stats
import sys
DEFAULT_LIMIT = 200
def profile(filename, limit=DEFAULT_LIMIT):
print "loading profile stats for %s" % filename
stats = hotshot.stats.load(filename)
# normal stats
@czue
czue / prof.py
Created September 27, 2011 13:17
Simple Profiling Stats Outputter
import hotshot.stats
import sys
DEFAULT_LIMIT = 200
def profile(filename, limit=DEFAULT_LIMIT):
print "loading profile stats for %s" % filename
stats = hotshot.stats.load(filename)
# normal stats
@czue
czue / gist:1220420
Created September 15, 2011 20:42
Fabfile calling 7zip on windows
from datetime import datetime
from subprocess import Popen, PIPE, call
from fabric.api import *
from fabric.contrib.console import confirm
# use this instead of os.path.join since remote OS might differ from local
PATH_SEP = "/"
env.user = 'czue'
env.hosts = ['czue.org']
from django import template, get_version
register = template.Library()
if get_version() < '1.2':
@register.simple_tag
def csrf_token():
return ""