Skip to content

Instantly share code, notes, and snippets.

@akidee
akidee / gist:3016722
Created June 29, 2012 08:47
Strata B+tree example
async = require('asyncjs')
Strata = require('strata/src/lib/strata').Strata
tree = new Strata(
directory: __dirname + '/strata_data'
)
tree.create(_)
@akidee
akidee / gist:1557912
Created January 4, 2012 01:16
Serve the RequireJS test suite with HTTP (via node.js)
/*
The test suite should be served via HTTP (instead of using the file protocol)
To accomplish this, we set up a node.js server.
For this, you need node.js and the connect middleware (npm install connect)
Start the server:
$ node nodeStaticServer.js PORT
Then you browse to http://127.0.0.1:PORT/tests/doh/runner.html?testUrl=../all
@akidee
akidee / logger.coffee
Created December 16, 2011 22:25
An example for a JS logger API, nearly beta
_ = require('underscorex')
step = require('stepc')
slice = Array::slice
@akidee
akidee / Concurrent ressource access.coffee
Created November 11, 2011 21:15
Concurrent ressource access
###
Ein Beispiel, und es funktioniert:
###
# global object collection, by ID
objById = {
id1: {}
id2: {}
id3: {}
}
connect = require('connect')
s = connect.createServer()
s.use('/', function (req, res) {
res.writeHead(200)
res.end('Okay!')
}).listen(3000)
process.on('exit', function () {
console.log('Stop server')
@akidee
akidee / gist:923518
Created April 16, 2011 21:28
CoffeeScript watcher - should be placed in / of your module, will make coffee observe /src recusively and compile into /lib
#!/bin/sh
dir=$(dirname $(readlink -f $0))
rm -rf ${dir}/lib
coffee -b -wco ${dir}/lib ${dir}/src &
exit
@akidee
akidee / parallel filter for async.js
Created December 10, 2010 17:07
We need a way to allow execution only for filters that be parallelized, like map, unlike filter
var async = require('async.js/lib/async')
var sys = require('sys')
async.plugin({
parallel: function(sliceLength) {
if (sliceLength === 1) return this
@akidee
akidee / Parallel driver for async.js
Created December 9, 2010 07:11
Instead of the serial end() - every item in the source list is processed after the previous one is ready - endParallel() makes parallel calls to a generator that uses filters that can be executed separately.
var async = require('asyncjs')
async.plugin({
endParallel: function(callback) {
var source = this.source
var e
var min_i_err = Infinity
var first_e = null
@akidee
akidee / Result
Created October 23, 2010 23:09
Duck typing vs. instanceof ... script
FF 3.6b3
285
200
191
192
GC 7.0
245
<?php
$a = 'er Aufbau-Verlag wurde am 16. August 1945 in Berlin gegründet und wuchs bald zum größten belletristischen Verlag der DDR heran. Er hatte sich zu Beginn auf kommunistische und antifaschistische Literatur sowie russische Bücher und Klassikerausgaben spezialisiert. In den folgenden Jahrzehnten erweiterte sich das Verlagsprogramm unter anderem auf Werke der Weltliteratur, zeitgenössische osteuropäische Bücher sowie lateinamerikanische Titel. 2008 war der Aufbau eine Verlagsgruppe, zu der der Aufbau-Verlag, der Aufbau Taschenbuch Verlag, der Verlag Rütten & Loening, der Gustav Kiepenheuer Verlag (Leipzig) sowie Der Audio Verlag (DAV) gehörten. Sie beschäftigte zuletzt 60 Mitarbeiter und veröffentlichte jährlich rund 350 Neu erscheinungen. Am 1. September 2008 wurde ein Insolvenzverfahren eröffnet. Der Unternehmer Matthias Koch übernahm im Oktober 2009 den Aufbau Verlag mit allen Rechten von Bernd F, Lunkewitz. er Aufbau-Verlag wurde am 16. August 1945 in Berlin gegründet und wuchs bald zum größten bel