Skip to content

Instantly share code, notes, and snippets.

View gijs's full-sized avatar

Gijs Nijholt gijs

View GitHub Profile
.mouse{
position: absolute;
background-image: url('../images/cursor.png');
width: 15px;
height: 22px;
z-index: 100;
}
(function () {
try{
if(!google.doodle)google.doodle = {};
var a = 200, g = -200, j = -200, k, l, m, n = 0, o = 0, p = 0, q = 35, r, s = [], t, u, v;
google.doodle.init = function () {
if(!v&&window.location.href.indexOf("#") = = -1){
v = true;
if(t = document.getElementById("hplogo")){
google.j&&google.j.en&&w(100, x, function () {
return google.rein&&google.dstr});
from django.conf import settings
from django.utils.translation import string_concat, ugettext_lazy
from django.utils.html import strip_tags
from haystack import indexes, site
from cms.models.managers import PageManager
from cms.models.pagemodel import Page
from cms.models.pluginmodel import CMSPlugin
@gijs
gijs / gist:596637
Created September 25, 2010 09:05 — forked from dcramer/gist:550438
class QuerySetDoubleIteration(Exception):
"A QuerySet was iterated over twice, you probably want to list() it."
pass
# "Skinny" here means we use iterator by default, rather than
# ballooning in memory.
class SkinnyManager(Manager):
def get_query_set(self):
return SkinnyQuerySet(self.model, using=self._db)
def attach_foreignkey(objects, field, select_related=None):
"""
Shortcut method which handles a pythonic LEFT OUTER JOIN.
``attach_foreignkey(posts, Post.thread)``
"""
field = field.field
qs = field.rel.to.objects.filter(pk__in=distinct(getattr(o, field.column) for o in objects))
if select_related:
qs = qs.select_related(*select_related)
@gijs
gijs / tester
Created September 29, 2010 07:31
var tester = {
testing: [],
console: window.console || {log: function(a) {window.status = a}, warn: alert},
defineBaseTests: function() {
this.baseTestBefore = [this.argumentsDefinedTest, this.thisBindingTest];
this.baseTestAfter = [this.returnTest];
},
testAll: function(root, options) {
@gijs
gijs / gist:736214
Created December 10, 2010 13:49 — forked from leegao/Full.js
/*
* 1. Find a picture, open it, and disable your popup blocker
* 2. Enter the following into your address bar
* 3. ???
* 4. Profit
*/
javascript:function dr(e){h=e.height;w=e.width;var d=document.createElement("canvas");d.width=w;d.height=h;ct=d.getContext("2d");ct.drawImage(e,0,0);im=ct.getImageData(0,0,w,h);dt=im.data;a=(c=Math.ceil)(w/(z=30));a=2;b=[];str='<p style = "line-height:6px;font-size:6px;padding:0;">';for(j=0;j<c(h/a);j++){for(i=0;i<c(w/a);i++){t=[[],[],[],[]];for(y=j*a;y<(j+1)*a;y++){for(x=i*a;x<(i+1)*a;x++){t[0].push(dt[(pt=y*w*4+x*4)]);t[1].push(dt[pt+1]);t[2].push(dt[pt+2]);t[3].push(dt[pt+3])}}b.push(ls=[(sm=function(f){sg=0;for(id=0;id<f.length;id++){sg+=f[id]==undefined?0:f[id]}sg=c(sg/f.length);return sg>255?255:sg})(t[0]),sm(t[1]),sm(t[2]),sm(t[3])/256]);str+="<span style='background-color:rgba("+ls[0]+","+ls[1]+","+ls[2]+","+ls[3]+")'>&nbsp;&nbsp;&nbsp;</span>"}str+="<br>"}str+="</p>";return str}function dp(f){try{nw=window.open();nw.document.writeln(f)}catch(d){alert(d)}}images=
@gijs
gijs / gist:736217
Created December 10, 2010 13:51 — forked from leegao/Full.js
/*
* 1. Find a picture, open it, and disable your popup blocker
* 2. Enter the following into your address bar
* 3. ???
* 4. Profit
*/
javascript:function dr(e){h=e.height;w=e.width;var d=document.createElement("canvas");d.width=w;d.height=h;ct=d.getContext("2d");ct.drawImage(e,0,0);im=ct.getImageData(0,0,w,h);dt=im.data;a=(c=Math.ceil)(w/(z=30));a=2;b=[];str='<p style = "line-height:6px;font-size:6px;padding:0;">';for(j=0;j<c(h/a);j++){for(i=0;i<c(w/a);i++){t=[[],[],[],[]];for(y=j*a;y<(j+1)*a;y++){for(x=i*a;x<(i+1)*a;x++){t[0].push(dt[(pt=y*w*4+x*4)]);t[1].push(dt[pt+1]);t[2].push(dt[pt+2]);t[3].push(dt[pt+3])}}b.push(ls=[(sm=function(f){sg=0;for(id=0;id<f.length;id++){sg+=f[id]==undefined?0:f[id]}sg=c(sg/f.length);return sg>255?255:sg})(t[0]),sm(t[1]),sm(t[2]),sm(t[3])/256]);str+="<span style='background-color:rgba("+ls[0]+","+ls[1]+","+ls[2]+","+ls[3]+")'>&nbsp;&nbsp;&nbsp;</span>"}str+="<br>"}str+="</p>";return str}function dp(f){try{nw=window.open();nw.document.writeln(f)}catch(d){alert(d)}}images=
brew install git
brew update
brew install readline
brew link readline
brew install python
brew install postgres
brew install postgis
brew install gdal
brew install geos
brew install git
# Offering alternative Chef + Vagrant Riak cluster setup to the following blog post at basho:
# http://blog.basho.com/2011/02/04/creating-a-local-riak-cluster-with-vagrant-and-chef/
# Assumes Vagrant 0.7.0+ and VirtualBox 4.0+
# Now you should be able to launch your X (where X=4 in this case) vagrant VMs with the following:
# % vagrant up db1
# % vagrant up db2
# % vagrant up db3
# % vagrant up db4