Skip to content

Instantly share code, notes, and snippets.

View kevinswiber's full-sized avatar
🍄
lizard person

Kevin Swiber kevinswiber

🍄
lizard person
View GitHub Profile
@kevinswiber
kevinswiber / siren.json
Created July 11, 2012 03:46
Usergrid and JSON Siren format
{
"class": "users",
"properties": {
"timestamp": 134197623137,
"duration": 76
},
"entities": [
{
"class": "user",
"rel": "http://usergrid.com/docs#user",
@kevinswiber
kevinswiber / index.js
Created August 5, 2012 21:28
A minimal Web server implementation in Node.js.
var url = require('url');
var webserver = require('./webserver');
var routes = {};
routes['/'] = {
get: function(request, response) {
var pathname = url.parse(request.url).pathname;
if (pathname !== '/') {
@kevinswiber
kevinswiber / apiftw.md
Created September 14, 2012 18:18
RESTFest 2012 5 in 5

#Adding Behavior to Web APIs

Kevin Swiber

@kevinswiber

##Choose a Layer

choose your layer

@kevinswiber
kevinswiber / siren-put.json
Created December 16, 2012 17:42
Using Siren to demonstrate a PUT with different read/write models.
{
"properties": {
"title": "Error on page load",
"description": "Steps to reproduce: ...",
"severity": 1,
"views": 6,
"version": 3
},
"entities": [
{
@kevinswiber
kevinswiber / .zshrc
Created April 12, 2013 21:27
Just getting started with zsh. Here's my current ~/.zshrc file.
ZSH=$HOME/.oh-my-zsh
plugins=(git node npm osx vi-mode)
source $ZSH/oh-my-zsh.sh
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
[[ -s "$HOME/nvm/nvm.sh" ]] && source "$HOME/nvm/nvm.sh"
# Use vi bindings in the terminal
@kevinswiber
kevinswiber / fork-join-pipeworks.js
Created April 15, 2013 22:17
An example of using pipeworks to fork and join execution flows.
var pipeworks = require('pipeworks');
var worker1 = pipeworks()
.fit(function(context, next) {
console.log('in worker 1');
next(context);
});
var worker2 = pipeworks()
.fit(function(context, next) {
@kevinswiber
kevinswiber / 1.pipeworks.js
Created April 16, 2013 10:31
A comparison of pipeworks and async. The premise: 1. Start a pipeline. 2. Delegate to workers passed into the execution context. 3. Pause until the workers are done. 4. Continue executing the pipeline.
var pipeworks = require('pipeworks');
var worker1 = pipeworks()
.fit(function(context, next) {
console.log('in worker 1');
next(context);
});
var worker2 = pipeworks()
.fit(function(context, next) {
@kevinswiber
kevinswiber / wip.js
Last active December 16, 2015 08:29
A limited work-in-progress system with Pipeworks.
var pipeworks = require('pipeworks');
var wip = 0;
var limit = 2;
var total = 0;
var check = function(context, next) {
if (wip === limit) {
console.log('I\'ll eat', context.food, 'later...');
setTimeout(check.bind(this, context, next), 2000);
@kevinswiber
kevinswiber / a.js
Created April 29, 2013 16:16
Example of exports not setting module.exports in Node.js.
exports = { say: function() { console.log('hello'); } };
@kevinswiber
kevinswiber / phonegap-android-windows.txt
Created July 25, 2013 12:57
Here are some environment variables that need to be set when running Phonegap for Android on Windows.
// Add the following environment variables.
// Check the right directories are being set for
// the JDK at JAVA_HOME, the Android SDK at ANDROID_HOME.
// ANT_HOME can be found inside the ADT directory under
// eclipse/plugins. The directory starts with org.apache.ant.
JAVA_HOME="C:\Program Files (x86)\Java\jdk1.6.0_30"
ANDROID_HOME="C:\adt\sdk"
ANT_HOME="C:\adt\eclipse\plugins\org.apache.ant..."