Skip to content

Instantly share code, notes, and snippets.

@sethvincent
sethvincent / index.js
Created May 3, 2014 02:12
requirebin sketch
var request = require('browser-request');
var uri = 'https://app.flatsheet.io/api/v1/sheets/tcuxl49owsafl-jgp5qrta';
request({ uri:uri, json:true }, getRows);
function getRows (error, response, body) {
if(error) throw error;
console.log(response, body);
var rows = body.rows;
@sethvincent
sethvincent / index.js
Created May 7, 2014 15:59
requirebin sketch
var $ = require('jquery');
var uri = 'https://app.flatsheet.io/api/v1/sheets/tcuxl49owsafl-jgp5qrta';
$.ajax(uri).done(function( data ) {
var rows = data.rows;
console.log(rows);
});
@sethvincent
sethvincent / index.js
Created June 13, 2014 07:37
requirebin sketch
var Game = require('crtrdg-gameloop');
// `canvasId` property is now just `canvas`, and is optional
// will create canvas with id of game by default
var game = new Game({
width: window.innerWidth,
height: window.innerHeight
});
@sethvincent
sethvincent / index.js
Last active August 29, 2015 14:11
level-dat browserifies
require('set-immediate')
var http = require('http')
var es = require('event-stream')
var ldat = require('level-dat')
var level = require('levelup')
var leveljs = require('level-js')
var xhr = require('xhr')
var db = level('./db', { db: leveljs, valueEncoding: 'json' })
dat = ldat(db)
@sethvincent
sethvincent / index.js
Last active August 29, 2015 14:11
level-dat & level-spaces experiment
var ldat = require('level-dat');
var spaces = require('level-spaces');
var level = require('level-party');
var main = level('./db');
var dat1 = ldat(spaces(main, 'dat1'), { valueEncoding: 'json' });
var dat2 = ldat(spaces(main, 'dat2'), { valueEncoding: 'json' });
dat1.get('huh', function (err, value) {
@sethvincent
sethvincent / README.md
Last active August 29, 2015 14:16
No name

README is empty

var levelup = require('levelup')
var leveljs = require('level-js')
var sublevel = require('subleveldown')
var dat = require('dat-core')
var db = levelup('example', { db: leveljs })
var storage = sublevel(db, 'dat', { valueEncoding: 'json' })
var example = dat(storage)
example.put('hello', { message: 'world' }, function () { // insert value
@sethvincent
sethvincent / gist:927bce34b0f58d2c4a76
Last active August 29, 2015 14:18
Ideas for activity module

activity-tracker

This is a set of ideas for how an activity module could work that uses leveldb and is meant to track all the important activity happening on a site. Primary usage would be on the server. It could presumably also work on the client side, but probably wouldn't need to.

API

var activityTracker = require('activity-tracker')

or some similar package name. activity-tracker is available, though

Server.prototype.authorize = function (req, res, cb) {
if (req.headers.authorization) return this.authorizeAPI(req, cb)
return this.authorizeSession(req, res, cb)
}

Flatsheet lets you edit data sets in realtime with your team. If you've used Google Spreadsheets with a library like Tabletop.js to create an ad-hoc mini-CMS, Flatsheet solves that problem more effectively, and is an open-source tool you can host on your own server. Flatsheet integrates with Dat, so you can use Dat to clone any sheet, edit locally, and push changes back to Flatsheet.

Flatsheet recently received a grant from the Knight Prototype Fund, as well as a code sprint grant from OpenNews. You can see a work-in-progress example at http://data.seattle.io