Skip to content

Instantly share code, notes, and snippets.

View dshaw's full-sized avatar
🦄
Always bet on Node.js ✨

Dan Shaw dshaw

🦄
Always bet on Node.js ✨
View GitHub Profile
# http://henrik.nyh.se/2008/12/git-dirty-prompt
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/
# username@Machine ~/dev/dir[master]$ # clean working directory
# username@Machine ~/dev/dir[master*]$ # dirty working directory
function parse_git_deleted {
[[ $(git status 2> /dev/null | grep deleted:) != "" ]] && echo "-"
}
function parse_git_added {
[[ $(git status 2> /dev/null | grep "Untracked files:") != "" ]] && echo '+'
@technoweenie
technoweenie / guess_number.rb
Created July 23, 2010 06:43
silly 'guess the number' game using shoes
Shoes.app do
def answer(message)
@results.prepend { para(message) }
end
limit = 20
magic_number = rand limit
tries = 0
para 'guess the number'
guess = edit_line
var ws = require("websocket-server")
, router = require("nws-router");
var server = ws.createServer({
debug: true
});
server.use(router);
var query = (function() {
var query, engine, engines = ('NW.Dom.select,base2.dom.querySelectorAll,Sizzle,$$,$,jQuery,'+
'YAHOO.util.Selector.query,dojo.query,Ext.DomQuery.select,document.querySelectorAll').split(',');
while (engine = engines.shift()) {
if (Function('try{ var els = ' + engine + '("*"); return els.length > 0 }catch(e){}')()) {
query = Function('cssExpr', 'return ' + engine + '(' +
(/^base2/.test(engine) ? 'document,' : '') + 'cssExpr)');
break;
}
// The `quickEach` method will pass a non-unique jQuery instance
// to the callback meaning that there will be no need to instantiate
// a fresh jQuery instance on each iteration. Most of the slow-down
// inherent in jQuery's native iterator method (`each`) is the constant
// need to have access to jQuery's methods, and so most developers
// see constructing multiple instances as no issue... E.g.
// $(...).each(function(){ $(this)... $(this)... $(this)... });
// A better approach would be `quickEach`.
jQuery.fn.quickEach = (function(){
/*!
* Connect - Mongo
* Copyright(c) 2010 Vladimir Dronnikov <dronnikov@gmail.com>
* MIT Licensed
*/
/**
* Module dependencies.
*/
@mwbrooks
mwbrooks / XXX_iPhoneAppDelegate.m
Created August 5, 2010 21:30
PhoneGap-iPhone UIWebView viewport fix
/* PhoneGap-iPhone UIWebView viewport fix */
/**
Called when the webview finishes loading. This stops the activity view and closes the imageview
*/
- (void)webViewDidFinishLoad:(UIWebView *)theWebView
{
/* Fix the viewport to properly fit to the screen */
CGRect windowFrame = [ [ UIScreen mainScreen ] bounds ];
CGRect webViewFrame = [ [ UIScreen mainScreen ] applicationFrame ];

finger_server.js

An extremely minimal implementation of the `Finger protocol`_ using node.js.

To run (Finger uses port 79 which requires sudo):

sudo node finger_server.js
// More convenient modification of ES5 property descriptors (by @kangax)
Object.changeDesc = function(obj, prop, newDesc) {
var oldDesc = Object.getOwnPropertyDescriptor(obj, prop);
for (var p in newDesc) {
if (p === 'get' || p === 'set') {
delete oldDesc.value;
delete oldDesc.writable;
}
else if (p === 'value' || p === 'writable') {
/**
* `and` plugins for jQuery
* ---
* Pretty intuitive. Enables stuff like:
* $('a').andChildren();
* Quicker & easier than:
* $('a').children().andSelf()
*/
(function(){