Skip to content

Instantly share code, notes, and snippets.

View jordanorelli's full-sized avatar
🎴

Jordan Orelli jordanorelli

🎴
View GitHub Profile
type Timestamp time.Time
func (t *Timestamp) UnmarshalJSON(b []byte) error {
i, err := strconv.ParseInt(string(b[1:len(b)-1]), 10, 0)
if err != nil {
log.Println("Unable to parse timestamp from json")
}
*t = Timestamp(time.Unix(i, 0))
return nil
}
type Timestamp time.Time
func (t *Timestamp) UnmarshalJSON(b []byte) error {
i, err := strconv.ParseInt(string(b[1:len(b)-1]), 10, 0)
if err != nil {
log.Println("Unable to parse timestamp from json")
}
*t = Timestamp(time.Unix(i, 0))
return nil
}
package main
import (
"log"
"bufio"
"encoding/json"
"net/http"
)
func main() {
@jordanorelli
jordanorelli / client.go
Created May 7, 2012 17:16
rpc server example in go
package main
import (
"bufio"
"log"
"net/rpc"
"os"
)
func main() {
@jordanorelli
jordanorelli / request.go
Created May 7, 2012 19:34
regex router in go.
package core
import (
"net/http"
)
// the Request struct wraps the http.Request struct, providing a slice of
// strings representing the positional arguments found in a url pattern, and a
// map[string]string called kwargs representing the named parameters captured
// in url parsing.
paramlist := map[string]params{
"one": &params{ ... },
"two": &params{ ... },
"three": &params{ ... },
}
results := make(map[string]result, len(paramlist))
for k, v := range paramlist {
wg.Add()
go func(label string, myparams param) {
defer wg.Done()
package main
import (
"reflect"
"fmt"
)
func main() {
var x struct {
MyField int `core:"required"`
@jordanorelli
jordanorelli / twopass.go
Created June 4, 2012 19:00
multi-stage json decoding in Go
package main
import (
"encoding/json"
"fmt"
"strings"
)
var (
stream = `
@jordanorelli
jordanorelli / tree.go
Created June 5, 2012 21:18
a tree, in go
package main
import (
"fmt"
"io"
"os"
)
type Tree struct {
Children []*Tree
class Foo(object):
def __init__(self):
self.x = 0
def __repr__(self):
return "<Foo x:%d>" % self.x
def add_x(self, x):
self.x += x