- Swap Control and Caps Lock in System Preferences -> Keyboard -> Modifier Keys
- Google Chrome http://www.google.com/chrome/
- iTerm2 http://www.iterm2.com/
- Oh my zsh https://github.com/robbyrussell/oh-my-zsh/
- XCode (from the mac app store)
- XCode command line tools (run XCode, go to Preferences -> Downloads -> Command Line Tools)
- Homebrew https://github.com/mxcl/homebrew/wiki/installation
// Table.js is a small library for manipulating NxN arrays. | |
// It takes an NxN array and a list of type formatters by column headers so: | |
// var table = new Table([['one', 'two', 'three'], ["1","jeff larson","3px"]], { | |
// one : function(it) { return +it; }, | |
// two : function(it) { return it.toUpperCase(); }, | |
// three : function(it) { return +it.replace("px", ''); } | |
// }); | |
// | |
var Table = function(data, types){ | |
this.data = data; |
cd ~ | |
sudo apt-get update | |
sudo apt-get install curl python-software-properties -y | |
sudo apt-get install openjdk-6-jre-headless | |
curl -L http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.2.tar.gz | tar -xz | |
sudo mv elasticsearch-* /usr/local/share/elasticsearch | |
curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz | |
sudo mv *servicewrapper*/service /usr/local/share/elasticsearch/bin/ | |
rm -Rf *servicewrapper* |
<script type="text/javascript"> | |
// First let's create an array of JavaScript Date | |
// objects. | |
// More info about the Date class: | |
// http://w3schools.com/js/js_obj_date.asp | |
var dates = [ | |
new Date(2010, 4, 10, 10, 07, 16), | |
new Date(2010, 4, 8, 9, 16, 09), | |
new Date(2010, 3, 30, 0, 15, 49), |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<title>Slideshow demo</title> | |
<script type="text/javascript" src="slideshow.js"></script> | |
<style type="text/css"> | |
#current { position: absolute; left: 0px; top: 0px; z-index: 0; } | |
#next { position: absolute; left: 640px; top: 0px; z-index: 1; } | |
#slideshow { position: relative; border: solid #2b2b2b 3px; overflow: hidden; } | |
</style> |
// http://paulirish.com/2011/requestanimationframe-for-smart-animating/ | |
// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating | |
// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel | |
// MIT license | |
(function() { | |
var lastTime = 0; | |
var vendors = ['ms', 'moz', 'webkit', 'o']; |
// https://github.com/felixge/node-mysql | |
// npm install mysql | |
var mysql = require('mysql'); | |
// http://nodejs.org/docs/v0.6.5/api/fs.html#fs.writeFile | |
var fs = require('fs'); | |
var client = mysql.createClient({ | |
user: 'root', | |
password: 'mysqlpassword' |
function slugify(text) | |
{ | |
return text.toString().toLowerCase() | |
.replace(/\s+/g, '-') // Replace spaces with - | |
.replace(/[^\w\-]+/g, '') // Remove all non-word chars | |
.replace(/\-\-+/g, '-') // Replace multiple - with single - | |
.replace(/^-+/, '') // Trim - from start of text | |
.replace(/-+$/, ''); // Trim - from end of text | |
} |
Your API does REST, but can it SLEEP?
SLEEP (Syncable Lightweight Event Emitting Persistence) is an emerging standard for distributed data sync using HTTP and JSON. A generalized version of CouchDB's much lauded built-in replication, SLEEP extends the REST architecture to define a way in which databases can offer syncable JSON APIs that foster open data innovation by allowing developers to replicate entire databases over the net.
SLEEP comes from the Apache CouchDB project which is now widely known for it's multi-master streaming HTTP + JSON replication. This is possible in part because of the CouchDB _changes feed, which is a particular API that lets you see if there have been any changes made to the database since last time you synchronized. CouchDB can efficiently implement the _changes feed because of one subtle difference between it and most other databases: it stores a history of all changes that happen to the database, including deletes.
If you synchronize data from a remote source and then the