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
@dshaw
dshaw / gist:420604
Created June 1, 2010 05:26
Mustache - Logic-less Templates
Hello {{name}}
You have just won ${{value}}!
{{#in_ca}}
Well, ${{taxed_value}}, after taxes.
{{/in_ca}}
@dshaw
dshaw / get_barcode_from_image.js
Created June 1, 2010 21:45 — forked from tbtlr/get_barcode_from_image.js
Barcode recognition with JavaScript - Demo: http://bit.ly/djvUoy ...err, wow.
/*
* Copyright (c) 2010 Tobias Schneider
* This script is freely distributable under the terms of the MIT license.
*/
(function(){
var UPC_SET = {
"3211": '0',
"2221": '1',
"2122": '2',
@dshaw
dshaw / gist:421720
Created June 2, 2010 00:09
CSS3 Multiple box-shadows
#shadow {
-moz-box-shadow:
10px 10px 25px rgba(0, 0, 0, 0.25),
10px 10px 5px rgba(0, 0, 0, 0.5),
0 5px 5px -3px black;
-webkit-box-shadow:
10px 10px 25px rgba(0, 0, 0, 0.25),
10px 10px 5px rgba(0, 0, 0, 0.5),
0 5px 5px -3px black;
box-shadow:
@dshaw
dshaw / simple-rectangle-canvas.html
Created June 3, 2010 23:28
Simple Rectangle Demos in SVG and Canvas
<canvas id="rect" width="440" height="120"></canvas>
<script>
var elem = document.getElementById('rect');
context = elem.getContext('2d');
context.fillStyle = "rgb(255,0,0)";
context.fillRect(20, 20, 220, 120);
</script>
var performance = (function () {
var my = {};
// Wrap a function body in this to return a copy that instruments itself
// If you want this to be useful, you should give your profiled function a name,
// otherwise it will be identified as "", which is less than useful.
my.profile = function (func) {
return function () {
var start = new Date().getTime(),
time,
// from @rem's Canvas collaborative drawing demo
// http://rem.im/collab-drawing.html
ctx.strokeStyle = '#' + (~~(Math.random() * 16777215)).toString(16);
@dshaw
dshaw / jquery.textchange.js
Created June 10, 2010 16:40 — forked from mkelly12/jquery.textchange.js
$.textchange plugin
(function ($) {
$.event.special.textchange = {
setup: function (data, namespaces) {
$(this).bind('keyup', $.event.special.textchange.handler);
$(this).bind('cut paste input', $.event.special.textchange.delayedHandler);
},
teardown: function (namespaces) {
<!-- This is a Node+WebSocket powered demo to sync videos
across different browsers. This file is the client,
the other one is the Node server. Powered by Node and
http://github.com/miksago/node-websocket-server -->
<style>
.inactive { display: none; }
.active { display: block; }
</style>
<script>
@dshaw
dshaw / $.fn.serializeObject
Created June 22, 2010 20:46
$.fn.serializeObject()
// Flattens the Array produced by .serializeArray() into an Object
// with names as keys and values as their values.
(function($) {
$.fn.serializeObject = function() {
var formData = this.serializeArray(),
data = {};
for (var i=0, len=formData.length; i<len; i++) {
data[formData[i].name] = formData[i].value;
}
return data;
// From @izs /via @janl
// http://twitter.com/izs/status/17744109574
// JavaScript one-liner to swap two variables:
foo = [bar, bar = foo][0];