Skip to content

Instantly share code, notes, and snippets.

@bregenspan
bregenspan / gist:2161338
Created March 22, 2012 18:25
Mixin to supply Tastypie resource with support for X-HTTP-Method-Override headers, using jacobian's patch from https://github.com/toastdriven/django-tastypie/pull/351
class XHMOMixin(object):
"""
Use to supply a Tastypie resource with support for X-HTTP-Method-Override
headers, e.g.:
`class HomeResource(XHMOMixin, ModelResource):`
"""
def method_check(self, request, allowed=None):
"""
@bregenspan
bregenspan / gist:2504141
Created April 26, 2012 23:28
Add support for combination of manual and automatic bindings to Backbone ModelBinder
diff --git a/static/js/lib/Backbone.ModelBinder.js b/static/js/lib/Backbone.ModelBinder.js
index b321c37..53881b1 100644
--- a/static/js/lib/Backbone.ModelBinder.js
+++ b/static/js/lib/Backbone.ModelBinder.js
@@ -25,6 +25,10 @@
this._model = model;
this._rootEl = rootEl;
+ this._attributeBindings = {};
+ this._options = { // TODO: set this properly
@bregenspan
bregenspan / gist:5061480
Created March 1, 2013 00:39
Quick little script to test an XCode expression against an HTML file, using Scrapy's XPath selector. This is by no means the best or most direct way to test an XPath expression.
from scrapy.http import TextResponse
from scrapy.selector import HtmlXPathSelector
XPATH_TO_TEST = "//img/@src"
FILE_TO_TEST_AGAINST = "pathtest.html"
f = open(FILE_TO_TEST_AGAINST, 'r')
test_html = f.read()
response = TextResponse('http://www.example.com', status=200, headers=[], body=test_html)
@bregenspan
bregenspan / gist:5637609
Created May 23, 2013 16:59
Android Studio Logcat Filter to exclude spammy messages
^((?!wpa_supplicant|NetStatUtil).*)$
@bregenspan
bregenspan / .gitconfig
Created May 25, 2013 00:53
Git merge config to use Meld as merge tool (with the middle pane representing the merge target, unlike the crappy default where middle pane is BASE)
[merge]
tool = mymeld
conflictstyle = diff3
[mergetool "mymeld"]
cmd = meld --diff $LOCAL $MERGED $REMOTE
@bregenspan
bregenspan / PanopticonSimulator.js
Last active December 20, 2015 14:29
Go to http://360gigapixels.com/tokyo-tower-panorama-photo/ , open a Javascript console (Ctrl + Shift + J in Chrome), and run this, to simulate the terrifying surveillance panopticon that looms over us all.
/* Panopticon Simulator v0.1
Scripts http://360gigapixels.com/tokyo-tower-panorama-photo/ to convey a
deep, Enemy Of The State starring Will Smith-reminescent message regarding
the surveillance state and the voyeurism of gigapixel photos.
*/
var people = [
[-7.510113307350065,14.652493577797886,0.5],
[56.83548684296012,16.498978246091596,0.5],
@bregenspan
bregenspan / circle.yml
Created May 8, 2014 22:23
Testing a Circle CI build with Sauce Labs
## Customize the test machine
machine:
environment:
SAUCEUSER: [USERNAME HERE]
SAUCEKEY: [KEY HERE]
dependencies:
post:
- wget https://d2nkw87yt5k0to.cloudfront.net/downloads/sc-latest-linux.tar.gz && tar -xvf sc-latest-linux.tar.gz
@bregenspan
bregenspan / gist:e874f413bdcb62933a80
Created November 23, 2014 18:09
WD.js JS condition asserter that retries on-error.
/* Version of wd.asserters.jsCondition that retries on-error.
This is useful for cases where you need to assert a condition at a time when the page might
be reloading -- in such a case, the assertion could reach the browser at a time when the document
is not yet ready, triggering an error. This catches the error and retries.
Usage:
> browser.waitFor(jsConditionWithRetries('window.FOOBAR'), 5000, 500);
(Requires Selenium Server >= 2.44.0)
@bregenspan
bregenspan / AMDRequireDependency.js.patch
Created July 8, 2015 18:00
AMDRequireDependency.patch
diff --git a/lib/dependencies/AMDRequireDependency.js b/lib/dependencies/AMDRequireDependency.js
index 1f183e1..526531b 100644
--- a/lib/dependencies/AMDRequireDependency.js
+++ b/lib/dependencies/AMDRequireDependency.js
@@ -47,14 +47,14 @@ AMDRequireDependency.Template.prototype.apply = function(dep, source, outputOpti
source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
source.replace(depBlock.arrayRange[1], depBlock.functionRange[0] - 1, "; (");
source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
- source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}" + wrapper[1]);
+ source.replace(depBlock.functionRange[1], depBlock.outerRange[1] - 1, "}.bind(this)" + wrapper[1]);
@bregenspan
bregenspan / gist:33f7791a78f6e4115af5
Created September 29, 2015 13:41
Sort Webpack analyze tool chunk list (e.g. http://webpack.github.io/analyse/#chunk/31) by size
var table = document.querySelectorAll('tbody')[1];
Array.prototype.slice.apply(table.querySelectorAll('tr')).forEach(function (el) {
var size = el.querySelector('td:nth-of-type(3)').innerHTML;
var num = parseInt(size,0);
if (size.indexOf('KiB') > -1) {
num = num * 1024;
}
el.setAttribute('data-size', num);
})