Browse Source

Images and demo code

Achilleas Koutsou 5 years ago
parent
commit
43ad0616ac

BIN
images/most-loved-2017-scaled.png


BIN
images/most-loved-2017.png


BIN
images/most-loved-wanted-2017.png


BIN
images/most-wanted-2017-scaled.png


BIN
images/most-wanted-2017.png


BIN
images/most-wanted-loved-2017.png


+ 56 - 0
simdemo/simdemo.go

@@ -0,0 +1,56 @@
+package main
+
+import (
+	"fmt"
+	"math/rand"
+)
+
+func RunSim(name string, steps int) <-chan int {
+
+	spikechan := make(chan int)
+	go func() {
+		defer close(spikechan)
+		for t := 0; t < steps; t++ {
+			if rand.Float32() > 0.8 {
+				spikechan <- t
+			}
+		}
+		return
+	}()
+
+	return spikechan
+}
+
+func main() {
+
+	a := RunSim("A", 100)
+	b := RunSim("B", 100)
+	c := RunSim("C", 100)
+
+	for {
+		select {
+		case ta, ok := <-a:
+			if ok {
+				fmt.Printf("A spiked at %d\n", ta)
+			} else {
+				a = nil
+			}
+		case tb, ok := <-b:
+			if ok {
+				fmt.Printf("B spiked at %d\n", tb)
+			} else {
+				b = nil
+			}
+		case tc, ok := <-c:
+			if ok {
+				fmt.Printf("C spiked at %d\n", tc)
+			} else {
+				c = nil
+			}
+		}
+		if a == nil && b == nil && c == nil {
+			break
+		}
+
+	}
+}