var store = require('store/client')(8001, '127.0.0.1');
var query = store.query;
var join = store.join;
var a = query('applications**'); // all keys in sublevel "applications" and any of its sublevels
var b = query('vendors*'); // all keys in "vendors"
we've had great success building modular database stuff on top of leveldb with node, but as I have learnt more about databases it's become apparent to me that the idea of a modular database would be better implemented at a slightly lower level.
Level db provides a sorted key:value store, which, because of the sorted property, many things can be implemented on top of. For example, for replication, or for consistent materialized views, we often need a write ahead log. This can easily be implemented via a batch write to level, and writing the log into a section of the leveldb key space which is treated as append only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var zmq = require('zmq') | |
, xpub // xpub to redistribute messages over known port | |
, xsub; // xsub to recieve incomming messaes | |
var xpub_url = 'tcp://0.0.0.0:9999' | |
var xsub_url = 'tcp://0.0.0.0:9998'; | |
var noop = function(){"use strict";} | |
xpub = zmq.socket( "xpub" ); | |
xsub = zmq.socket( "xsub" ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var Hapi = require('hapi'); | |
var stream = require('stream'); | |
// Create a server | |
var server = Hapi.createServer('localhost', 8000); | |
// Add a route | |
server.route({ | |
method: 'GET', | |
path: '/hello', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var pubListener = 'tcp://127.0.0.1:5555'; | |
var subListener = 'tcp://127.0.0.1:5556'; | |
var hwm = 1000; | |
var verbose = 0; | |
// The xsub listener is where pubs connect to | |
var subSock = zmq.socket('xsub'); | |
subSock.identity = 'subscriber' + process.pid; | |
subSock.bindSync(subListener); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Version 2, December 2004 | |
Copyright (C) 2011 YOUR_NAME_HERE <YOUR_URL_HERE> | |
Everyone is permitted to copy and distribute verbatim or modified | |
copies of this license document, and changing it is allowed as long | |
as the name is changed. | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
angular.module("app").directive("onRepeatFinish", ["$timeout", function($timeout){ | |
return { | |
restrict: "A", | |
link: function($scope, $element, $attrs) { | |
if ($scope.$last) { | |
$timeout(function(){ | |
if (angular.isFunction($scope[$attrs["onRepeatFinish"]])) | |
$scope[$attrs["onRepeatFinish"]]() | |
}); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define HTTP_STATUS_100 "100 Continue" | |
#define HTTP_STATUS_101 "101 Switching Protocols" | |
#define HTTP_STATUS_102 "102 Processing" | |
#define HTTP_STATUS_200 "200 OK" | |
#define HTTP_STATUS_201 "201 Created" | |
#define HTTP_STATUS_202 "202 Accepted" | |
#define HTTP_STATUS_203 "203 Non-Authoritative Information" | |
#define HTTP_STATUS_204 "204 No Content" | |
#define HTTP_STATUS_205 "205 Reset Content" | |
#define HTTP_STATUS_206 "206 Partial Content" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc | |
. ~/.bashrc | |
mkdir ~/local | |
mkdir ~/node-latest-install | |
cd ~/node-latest-install | |
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 | |
./configure --prefix=~/local | |
make install # ok, fine, this step probably takes more than 30 seconds... | |
curl https://npmjs.org/install.sh | sh |