Skip to content

Instantly share code, notes, and snippets.

View rogerwelin's full-sized avatar
:shipit:
Gopher

Roger Welin rogerwelin

:shipit:
Gopher
View GitHub Profile
@rogerwelin
rogerwelin / linkedlist.go
Created May 15, 2018 19:39
linked list golang
package main
import "fmt"
type Node struct {
Value int
Next *Node
}
var root = new(Node)
package main
import (
"fmt"
"io"
"os"
"path/filepath"
"strconv"
)
@rogerwelin
rogerwelin / vectors.py
Created August 29, 2018 22:48
vectors python
import math
def vector_add(v, w):
return [v_i + w_i for v_i, w_i in zip(v, w)]
def vector_subtract(v, w):
return [v_i + w_i for v_i, w_i in zip(v, w)]
def vector_sum(vectors):
result = vectors[0]
@rogerwelin
rogerwelin / matrix.py
Created August 29, 2018 23:00
python matrix
def shape(A):
num_row = len(A)
num_cols = len(A[0]) if A else 0 # number of elements in first row
return num_row, num_cols
def get_row(A, i):
return A[i]
def get_column(A, j):
return [A_i[j] for A_i in A]
@rogerwelin
rogerwelin / concurr1.go
Created September 3, 2018 19:25
super-simple-concurr
package main
import (
"fmt"
"time"
)
func printer(msg string) {
fmt.Println(msg)
}
@rogerwelin
rogerwelin / sync1.go
Last active September 12, 2018 16:51
package main
import (
"fmt"
"sync"
)
// 4
func printer(msg string, wg *sync.WaitGroup) {
defer wg.Done()
@rogerwelin
rogerwelin / unbuff.go
Created September 4, 2018 11:49
unbuffered-channel
package main
import (
"fmt"
)
func printer(msg string, ch chan<- string) {
ch <- msg
}
package main
import (
"fmt"
"sync"
)
func main() {
greeks := []string{"plato", "socrates", "aristotle", "archimedes", "pythagoras", "democritus"}
var wg sync.WaitGroup
for _, ph := range greeks {
wg.Add(1)
go func(greek string) {
defer wg.Done()
fmt.Println(greek)
}(ph)
}
package main
import (
"fmt"
"net/http"
"sync"
)
func main() {