Skip to content

Instantly share code, notes, and snippets.

// List all Google Docs without the URI
g docs list | sed -E 's/(.*),[^,]*/\1/g;'
/**
* @author connrs
* @version 1
*/
Object.prototype.objectType = function(){return (s_ob_type = this.toString().match(/object\s+(\w+)/)[1])?s_ob_type:'undefined'}
var MediaQuerySupport = function(d,w){
var head = d.getElementsByTagName('head')[0],
body = d.getElementsByTagName('body')[0],
date = new Date().getTime(),
/***************************************
replace specified images with SVG images
Written by Alexis "Fyrd" Deveria, 11/28/2007
Version 1.0
****************************************
Please see http://my.opera.com/Fyrd/blog/svg-image-and-background-image-replacer for details and a demo of this script
License: http://creativecommons.org/licenses/LGPL/2.1/
*/
/***************************************
replace specified images with SVG images
Written by Alexis "Fyrd" Deveria, 11/28/2007
Version 1.0
****************************************
Please see http://my.opera.com/Fyrd/blog/svg-image-and-background-image-replacer for details and a demo of this script
License: http://creativecommons.org/licenses/LGPL/2.1/
*/
@connrs
connrs / Ignore for slugs
Created January 20, 2011 15:41
Pinched from mariano/syrup/models/behaviors/sluggable.php for my own sluggable behaviour using CakePHP's core Inflector class to do the work
if (!empty($settings['ignore'])) {
$words = array();
foreach((array) $settings['ignore'] as $word) {
$words[] = preg_quote($word);
}
$newString = preg_replace('/\b(\s*)(' . implode('|', $words) . ')(\s*)\b/i', '\\1\\3', $string);
if (!empty($newString)) {
$string = $newString;
}
}
@connrs
connrs / get_notes_for_your_services.sql
Created January 20, 2011 23:28
Gets all the notes left by anyone for a service that is registered as yours via Service.user_id
SELECT Note.created ucreated, Note.id FROM customers Customer JOIN services Service JOIN notes Note ON (Service.customer_id=Customer.id AND Note.service_id=Service.id) WHERE (Note.user_id=1 OR Service.user_id=1)
# I really want to expand this to include notes left by anyone for a customer that has a service belonging to you (yet the note is customer specific not service specific via a HasMany relationship)
@connrs
connrs / css3-media-queries-test.modernizr.js
Created March 14, 2011 11:58
It's not the best test in the world but it suffices for me to yepnope load the CSS3 Media Queries lib from Google Code. Will eventually look at optimising it as it's 75% copy and paste from an unknown source
Modernizr.addTest('css3mediaquery',function(a,b){var a=document,b='screen and (min-width: 1px)',c={},d=a.documentElement,e=a.createElement("body"),f=a.createElement("div");f.setAttribute("id","ejs-qtest"),e.appendChild(f);return function(g){if(c[g]===b){var h=a.createElement("style");h.type="text/css";var i="@media "+g+" { #ejs-qtest { position: absolute; width: 10px; } }";h.styleSheet?h.styleSheet.cssText=i:h.appendChild(a.createTextNode(i)),d.insertBefore(e,d.firstChild),d.insertBefore(h,d.firstChild),c[g]=f.offsetWidth==10,d.removeChild(e),d.removeChild(h)}return c[g]}});
@connrs
connrs / gist:885314
Created March 24, 2011 16:07
Create multidimensional object from array of keys and a val
var x = {key:['x','y','z'],val:123},
c = x.key.length,
b = false,
memo = {};
for(var y=0;y<c;y++) {
if (!b && !memo[x.key[y]]) {
memo[x.key[y]] = y<c-1 ? {} : x.val;
b = memo[x.key[y]];
} else if (!b[x.key[y]]) {
b[x.key[y]] = y<c-1 ? {} : x.val;
// includes bindings for fetching/fetched
PaginatedCollection = Backbone.Collection.extend({
fetch: function(options) {
options || (options = {});
var self = this,
success = options.success;
options.success = function(resp) {
self.trigger("fetched");
if(success) { success(self, resp); }
@connrs
connrs / makefile
Created September 30, 2011 08:01
dotfiles makefile
install:¶
@find . -iname '*.symlink' | sed -e "p;s!\./\(.*\).symlink!$(HOME)/\1!" | xargs -n2 ln -s -i
#recurses through files with .symlink on the end and creates a symlink in ~