Skip to content

Instantly share code, notes, and snippets.

View mikedewar's full-sized avatar

Mike Dewar mikedewar

View GitHub Profile
@mikedewar
mikedewar / initialCondition.json
Created November 10, 2015 19:47
a streamtools pattern that emits an initial condition
{"label":"root","blocks":[{"label":"","type":"latch","id":1,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":366,"y":322}},{"label":"","type":"first","id":2,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"first","type":"boolean"}],"source":null,"position":{"x":253,"y":383}},{"label":"","type":"identity","id":4,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":180,"y":296}},{"label":"","type":"identity","id":7,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":509,"y":314}}],"connections":[{"from":{"id":2,"route":0},"to":{"id":1,"route":1},"id":3},{"from":{"id":4,"route":0},"to":{"id":1,"route":0},"id":5},{"from":{"id":4,"route":0},"to":{"id":2,"route":0},"id":6},{"from":{"id":1,"route":0},"to":{"id":7,
@mikedewar
mikedewar / Fibonacci.json
Created November 10, 2015 19:18
Fibonacci Sequence in streamtools
{"blocks":[{"label":"","type":"identity","id":1,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":295,"y":325}},{"label":"","type":"+","id":2,"inputs":[{"name":"x","value":null,"type":"number"},{"name":"y","value":{"data":1},"type":"number"}],"outputs":[{"name":"x+y","type":"number"}],"source":null,"position":{"x":293,"y":203}},{"label":"","type":"latch","id":3,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":191,"y":133}},{"label":"","type":"first","id":4,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"first","type":"any"}],"source":null,"position":{"x":133,"y":231}},{"label":"","type":"identity","id":5,"inputs":[{"name":"in","value":{"data":0},"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":62,"y":133}},{"label":"","type":"^","id":6
@mikedewar
mikedewar / ar2.json
Created November 10, 2015 19:16
AR(2) model in streamtools
{"blocks":[{"label":"a","type":"*","id":1,"inputs":[{"name":"x","value":null,"type":"number"},{"name":"y","value":{"data":0.99},"type":"number"}],"outputs":[{"name":"x*y","type":"number"}],"source":null,"position":{"x":1103,"y":564}},{"label":"yt","type":"identity","id":4,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":926,"y":661}},{"label":"","type":"delay","id":6,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"1s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":941,"y":871}},{"label":"","type":"latch","id":9,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":572,"y":690}},{"label":"","type":"first","id":10,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"first","type":"any"}],"source":null,"

Keybase proof

I hereby claim:

  • I am mikedewar on github.
  • I am michaeldewar (https://keybase.io/michaeldewar) on keybase.
  • I have a public key whose fingerprint is 56BA A8AE 353F 9427 FB1E E971 06F8 7191 F6D5 A479

To claim this, I am signing this object:

@mikedewar
mikedewar / movingAverage.json
Last active October 9, 2015 14:18
a moving average block for st-core
{"blocks":[{"label":"","type":"pqPeek","id":22,"inputs":[{"name":"trigger","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"},{"name":"priority","type":"number"}],"source":"priority-queue","position":{"x":958,"y":72}},{"label":"","type":"delay","id":23,"inputs":[{"name":"in","value":{"data":1},"type":"any"},{"name":"duration","value":null,"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":581,"y":286}},{"label":"","type":"latch","id":24,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":1314,"y":143}},{"label":"","type":"sink","id":25,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[],"source":null,"position":{"x":1170,"y":30}},{"label":"1ms delay","type":"gate","id":26,"inputs":[{"name":"in","value":{"data":1},"type":"any"},{"name":"ctrl","value":null,"type":"any"}],"outputs":[{"name":"out","type":"
@mikedewar
mikedewar / peekAndShift.json
Created September 16, 2015 20:02
A PeekAndShift block for st-core
{"blocks":[{"label":"","type":"pqPeek","id":27,"inputs":[{"name":"trigger","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"},{"name":"priority","type":"number"}],"source":"priority-queue","position":{"x":958,"y":72}},{"label":"","type":"delay","id":29,"inputs":[{"name":"in","value":{"data":1},"type":"any"},{"name":"duration","value":null,"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":581,"y":286}},{"label":"","type":"latch","id":30,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":1316,"y":134}},{"label":"","type":"sink","id":32,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[],"source":null,"position":{"x":1177,"y":59}},{"label":"1ms delay","type":"gate","id":33,"inputs":[{"name":"in","value":{"data":1},"type":"any"},{"name":"ctrl","value":null,"type":"any"}],"outputs":[{"name":"out","type":"
@mikedewar
mikedewar / .bash_profile
Created September 3, 2014 12:13
bash profile
export EDITOR=/usr/bin/vim
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
source ~/.git-prompt.sh
export PS1="\w\[$(tput setaf 7)\]\$(__git_ps1) \[$(tput setaf 6)\]⚡︎ \[$(tput sgr0)\]"
@mikedewar
mikedewar / fcc_open_internet.json
Last active August 29, 2015 14:04
streamtools pattern to parse the FCC "Comments on Protecting and Promoting the Open Internet" XML files.
{
"Connections": [
{
"ToRoute": "in",
"ToId": "1",
"FromId": "4",
"Id": "5"
},
{
"ToRoute": "in",
@mikedewar
mikedewar / streamgo.go
Last active August 29, 2015 14:04
a stream processing library in go, where every function only accepts channels as inputs and only returns channels as outputs
package main
// merge takes two streams and turns them into one stream
func merge(a, b chan interface{}) chan interface{} {
o := make(chan interface{})
go func() {
for {
select {
case m := <-a:
o <- m
FROM google/golang
RUN go get github.com/tools/godep
RUN go get github.com/bmizerany/assert
ADD . /gopath/src/github.com/bitly/nsq
RUN godep get github.com/bitly/nsq/...
RUN cd /gopath/src/github.com/bitly/nsq && godep restore