Skip to content

Instantly share code, notes, and snippets.

@dannyroberts
dannyroberts / README.md
Last active February 7, 2020 18:08
requires other stuff to be installed (obviously git)

Install

cd ~
git clone https://gist.github.com/5165174.git bash
ln -s bash/bash_profile .bash_profile
@dannyroberts
dannyroberts / preserving-history.md
Last active July 6, 2018 15:04
Moving files with git read-tree to preserve history

Did you know...

...that git lets you move and rename whole directories while preserving the git history of those files?

If you run

git read-tree --prefix=$NEW_PATH -u master:$OLD_PATH
rm -rf $OLD_PATH
# ...you probably want to change some imports...
git commit -m $MESSAGE
@dannyroberts
dannyroberts / donate-against-ahca-voters.md
Last active May 5, 2017 19:50
How to donate against Reps who voted for AHCA

How to donate against Reps who voted for AHCA

These funds back opponents to the Representatives who voted for the AHCA.

The US Senate is looking at one thing right now: whether and how much the American people will punish those who wish to gut rather than improve upon our healthcare system. Show them that a vote for the AHCA is politically toxic by donating to these district funds to repeal and replace these representatives who are not representing their constituents.

This one focuses on only the 35 most winnable districts:

// ==UserScript==
// @name Clean FogBugz URLs
// @version 0.4
// @description Replaces http://manage.dimagi.com/default.asp?123456#1984701 with http://manage.dimagi.com/default.asp?123456
// @author Danny Roberts
// @match *://manage.dimagi.com/default.asp*
// @grant none
// ==/UserScript==
function cleanURL() {
"""
This file is meant to be used in the following manner:
$ python make_rebuild_staging.py < staging.yaml > rebuildstaging-tmp.sh; bash rebuildstaging-tmp.sh
Where staging.yaml looks as follows:
trunk: master
name: autostaging
branches:
@dannyroberts
dannyroberts / git-aliases.sh
Last active December 16, 2015 20:10
My git-related shortcuts
source /usr/local/git/contrib/completion/git-completion.bash
alias g="git"; __git_complete g _git
alias l="git status"
alias d="git diff"; __git_complete d _git_diff
alias ds="git diff --cached"
alias m="git commit -m "
alias am="git commit -am "
alias a="git add "
alias o-="git checkout --"
alias o="git checkout"; __git_complete o _git_checkout
function delete-pyc() {
find . -name '*.pyc' -delete
}
function pull-latest-master() {
git checkout master; git pull origin master
git submodule update --init
git submodule foreach --recursive 'git checkout master; git pull origin master &'
until [ -z "$(ps aux | grep '[g]it pull')" ]; do sleep 1; done
}
function update-code() {
alias branch="git branch | grep '^\*' | sed 's/* //'"
alias push-current='git push origin $(branch)'
@dannyroberts
dannyroberts / update-code.sh
Last active December 12, 2015 09:19
bash function to fetch the latest master on all submodules in parallel, wait until they're all updated, and then delete all pyc files
function delete-pyc() {
find . -name '*.pyc' -delete
}
function pull-latest-master() {
git checkout master; git pull &
git submodule foreach --recursive 'git checkout master; git pull &'
until [ -z "$(ps aux | grep '[g]it pull')" ]; do sleep 1; done
}
function update-code() {
pull-latest-master
/* copied from http://www.netlobo.com/url_query_string_javascript.html */
function get_url_param( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else