(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
class ChefRunner < FPM::Cookery::Recipe | |
GOPACKAGE = "github.com/mlafeldt/chef-runner" | |
name "chef-runner" | |
version "0.8.0" | |
revision 1 | |
source "https://#{GOPACKAGE}/archive/v#{version}.tar.gz" | |
sha256 "a7de23f989f8353ecf838b551a8ceff09b83c8aeff2553b2c31d57615f8fcc53" | |
description "The fastest way to run Chef cookbooks" |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
package astar | |
import "container/heap" | |
type NodeQueue []Node | |
func NewNodeQueue() NodeQueue { | |
return make(NodeQueue, 0, 1000) | |
} |
package main | |
import ( | |
"encoding/json" | |
"strings" | |
) | |
// base types | |
type Hash map[string]interface{} | |
type List []interface{} |
package main | |
import ( | |
"code.google.com/p/goauth2/oauth/jwt" | |
"code.google.com/p/google-api-go-client/storage/v1beta2" | |
"fmt" | |
"log" | |
"regexp" | |
) | |
package main | |
import ( | |
"bytes" | |
"code.google.com/p/go.crypto/ssh" | |
"fmt" | |
"log" | |
"net" | |
"os" | |
) |
# this leads to the realization of both declared resources: | |
# soenke♥kellerautomat:~/projects/playground (master)$ puppet apply manifests/init.pp | |
# virtual resource 2 | |
# /Stage[main]/Some_module/Virtual_resource_declarer2[virtual resource 2]/Virtual_resource[virtual resource 2]/Notify[virtual resource 2]/message: defined 'message' as 'virtual resource 2' | |
# virtual resource 1 | |
# /Stage[main]/Some_module/Virtual_resource_declarer1[virtual resource 1]/Virtual_resource[virtual resource 1]/Notify[virtual resource 1]/message: defined 'message' as 'virtual resource 1' | |
# Finished catalog run in 0.61 seconds | |
node default { |
Versioning is an anti-pattern | |
============================= | |
We often say "use the right tool for the job", but when managing change | |
in software systems, we always use versioning. Hypermedia APIs are | |
actually hindered by introducing versioning and manage change in a | |
different way. With that in mind, there are also a lot of options for | |
managing change in a Hypermedia API. We'd like to change our service and | |
break as few clients as possible. Versioning is only one way to manage | |
change, though... and my contention is that it's not appropriate for |
package main | |
import ( | |
"encoding/json" | |
"errors" | |
"fmt" | |
"reflect" | |
"regexp" | |
"strconv" | |
"strings" |
// Copyright 2012 Junqing Tan <ivan@mysqlab.net> and The Go Authors | |
// Use of this source code is governed by a BSD-style | |
// Part of source code is from Go fcgi package | |
// Fix bug: Can't recive more than 1 record untill FCGI_END_REQUEST 2012-09-15 | |
// By: wofeiwo | |
package fcgiclient | |
import ( |