Skip to content

Instantly share code, notes, and snippets.

View bjartwolf's full-sized avatar

Bjørn Einar Bjartnes bjartwolf

View GitHub Profile
@bjartwolf
bjartwolf / blog3.js
Created December 1, 2012 11:26
blog3
var Stream = require('stream');
// Her lager vi en stream som bremser hver gang den får data
// og venter litt med å si at den er klar igjen
// Jeg ser på det som et skikkelig trangt rør
var SlowStream = function (delayInMs) {
var slowStream = new Stream();
slowStream.writable = true;
slowStream.write = function(val) {
slowStream.emit('data', val);
// Hvis en stream returnerer false, vil alle
@bjartwolf
bjartwolf / blog2.js
Created December 1, 2012 11:25
Blog2
var linestream = require('linestream');
var SlowStream = require('./slowStream.js');
var bacon = require('baconjs').Bacon;
var unzip = require('zlib').createGunzip();
var fs = require('fs');
var unzippedStream = fs.createReadStream('logdata.txt.gz').pipe(unzip);
var slowStream = new SlowStream(10);
linestream.create(unzippedStream).pipe(slowStream);
@bjartwolf
bjartwolf / blog.js
Created December 1, 2012 11:25
Blog1
// Laster inn moduler
var drone = require('ar-drone').createClient();
var gzip = require('zlib').createGzip();
var bacon = require('baconjs').Bacon;
var Stream = require('stream');
var fs = require('fs');
// Lager en strøm av eventer fra navdata
var eventStream = bacon.fromEventTarget(drone, 'navdata');
@bjartwolf
bjartwolf / recursiverx.js
Created October 22, 2012 20:00
Recursive rx
var Rx = require('rx');
var sawtooth = Rx.Observable.interval(10);
sawtooth.combineLatest(sawtooth.delay(1000), function (a,b) {
console.log("a: " + a);
console.log("b: " + b);
return (a+b);}).subscribe(function (x) {console.log(x);});
~
~
@bjartwolf
bjartwolf / obsvarmacro.js
Created October 5, 2012 08:34
obsvar macro
macro obsvar {
case $name => {
var $name = ko.observable()
}
case $name = $param => {
var $name = ko.observable($param)
}
}
@bjartwolf
bjartwolf / obsvar.js
Created October 5, 2012 08:32
obsvar
obsvar firstName;
obsvar firstName = "Bjorn";
@bjartwolf
bjartwolf / ko1.js
Created October 5, 2012 08:30
Knockoutproperties
var firstname = ko.observable();
var firstname = ko.observable('Bjorn');
@bjartwolf
bjartwolf / sicp-movies.sh
Created August 25, 2012 21:21
sicp-movies
wget http://ia700402.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec1a.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec1b.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec2a.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec2b.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec3a.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec3b.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec4a.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec4b.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec5a.mp4
wget http://ia700401.us.archive.org/8/items/MIT_Structure_of_Computer_Programs_1986/lec5b.mp4
@bjartwolf
bjartwolf / 601-test.js
Created August 21, 2012 14:36
601 tests
"use strict";
buster.testCase("The ViewModel", {
"setUp": function () {
// Spying on existing method
this.spy(MYAPP.services, 'load');
this.vm = new TaskListViewModel();
},
"load should be called on initialization": function () {
assert.calledOnce(MYAPP.services.load);
},
@bjartwolf
bjartwolf / 601viewmodel.js
Created August 21, 2012 14:35
601 viewmodel
"use strict";
function Task(data) {
this.title = ko.observable(data.title);
this.isDone = ko.observable(data.isDone);
}
function TaskListViewModel() {
// Data
var self = this;