Skip to content

Instantly share code, notes, and snippets.

View djm's full-sized avatar

Darian Moody djm

View GitHub Profile
@djm
djm / cancel_jobs.py
Last active August 31, 2015 21:02
Delete/cancel all in progress and pending jobs in an Elastic Transcoder region
import time
from boto import elastictranscoder
REQUEST_FREQ = 0.3 # Every x seconds
REGION = 'eu-west-1'
TO_CANCEL = [
'Progressing',
'Submitted'
]

Keybase proof

I hereby claim:

  • I am djm on github.
  • I am djm (https://keybase.io/djm) on keybase.
  • I have a public key whose fingerprint is DBB9 0727 AD94 8582 ECED 66EB 7EA3 B5B0 D8AD 79BB

To claim this, I am signing this object:

@djm
djm / pre-commit.py
Created September 21, 2016 13:53 — forked from Geekfish/pre-commit.py
Pre-commit hook with flake8 and auto-named migrations
#!/usr/bin/env python
import sys, subprocess, collections
from flake8.hooks import git_hook, get_git_param
# `get_git_param` will retrieve configuration from your local git config and
# then fall back to using the environment variables that the hook has always
# supported.
# For example, to set the complexity, you'll need to do:
# git config flake8.complexity 10
COMPLEXITY = get_git_param('FLAKE8_COMPLEXITY', 10)
@djm
djm / bookmarklets.js
Created September 26, 2016 13:22 — forked from Geekfish/bookmarklets.js
Trello Card bookmarklets
// Get Card's last URL segment (eg 4468-fix-the-login-page):
javascript:(function(s){try{s=document.selection.createRange().text}catch(_){s=document.getSelection()}prompt('', window.location.href.split("/").pop().split("#")[0])})()
// Get Card's full hash (eg 5731b92ef660293533517de9) :
javascript:(function(s){try{s=document.selection.createRange().text}catch(_){s=document.getSelection()}$('.js-more-menu').click(); prompt('', $('.js-export-json').attr('href').split("/")[2]); $('.js-more-menu').click();})()
// Get Card's unique id (board-independent, eg rKBmQeOk) :
javascript:(function(s){try{s=document.selection.createRange().text}catch(_){s=document.getSelection()}$('.js-more-menu').click(); prompt('', $('.js-short-url').attr('value').split("/").slice(-1)[0]); $('.js-more-menu').click();})()
@djm
djm / bitbucket_open_all_diffs_bookmarklet.js
Created January 3, 2017 10:14
Bitbucket: JavaScript bookmarklet to open all diffs (2017)
javascript:(function(){$(".load-diff").click();}());
@djm
djm / circle.yml
Created February 12, 2017 14:48 — forked from jonah-williams/circle.yml
Automating deployments to Heroku from CircleCI
test:
override:
- bundle exec rspec spec
deployment:
acceptance:
branch: master
commands:
- ./script/heroku_deploy.sh <ACCEPTANCE_HEROKU_APP>:
timeout: 300
@djm
djm / remove_tags.sh
Created March 8, 2017 12:38 — forked from hugorodgerbrown/remove_tags.sh
Git - remove all remote tags
# removes all tags from a git remote
# 1. `git ls-remote --tags origin` - lists all the tags at origin: '<hash> refs/tags/<tag>'
# 2. `awk '/^(.*)(\s+)(.*[a-zA-Z0-9])$/ {print ":" $2}'` - extract the ':/ref/tags/<tag>' from each
# 3. `xargs git push origin` - run 'git push origin :/ref/tags/<tag>' against each tag
git ls-remote --tags origin | awk '/^(.*)(\s+)(.*[a-zA-Z0-9])$/ {print ":" $2}' | xargs git push origin
@djm
djm / README.md
Last active September 21, 2017 09:33
Triggering Opbeat errors from Python RQ Workers

Introduction

To get rq workers talking to opbeat at this current time, you must use a custom rq exception handler and add it to the chain that the worker accepts. This allows us to call opbeat synchronously and avoid the current issues with the opbeat library's async workers.

Both of the examples below keep the original rq exception handler functionality of moving a failed job to the failed queue, but this is optional - if you only want opbeat logging then just don't pass the move_to_failed_queue handler.

Note that we send a lot of extra information about the job itself (see _get_job_details) but this is not a requirement, the stack you get is useful enough without it.

With django-rq (>=0.9.5)

@djm
djm / Dockerfile
Created October 13, 2017 06:12 — forked from mjackson/Dockerfile
Running `gatsby develop` on a container in development
FROM node:8
WORKDIR /home/node/app
ADD https://github.com/Yelp/dumb-init/releases/download/v1.1.1/dumb-init_1.1.1_amd64 /usr/local/bin/dumb-init
RUN chmod +x /usr/local/bin/dumb-init
COPY package.json yarn.lock ./
RUN yarn --pure-lockfile
COPY . .
@djm
djm / sequence.py
Created June 29, 2018 10:42
Python: remove duplicates from a list/sequence while retaining the original order
from typing import List, Sequence
def unique_with_order(sequence: Sequence) -> List:
"""
Returns the original sequence as a list with duplicates removed
but, unlike simply using set, the original order is retained.
"""
seen = set()
return [x for x in sequence if not (x in seen or seen.add(x))]