Lessons in Go Learned while Implementing SHIELD

Quick background: What is SHIELD? SHIELD is a backup solution for Cloud Foundry and BOSH deployed services such as Redis, PostgreSQL, and Docker. (For the interested, here is a quick summary of the basics of BOSH and Cloud Foundry.

Tiny Linux OSes with Go

Small disclaimer: This is much more fun than it is useful For a while now, we’ve been seeing new “cloud” OSes crop up, like CoreOS and RancherOS.

Geographical data manipulation using go

GIS open source world is dominated by C/C++, Java and Python code. Libraries like PROJ4, JTS, GEOS or GDAL are at the core of most of the open source geospatial projects.

Composable Pipelines Improved

I wrote a post here on GopherAcademy earlier this year, about an idea for a “framework-less” pattern for Flow-Based Programming style programs in Go, or let’s just call it “composable concurrent pipelines”.

Hydra: Run your own Identity and Access Management service in <5 Minutes

This article introduces Hydra, the open source micro service alternative to proprietary authorization solutions. It will take you less than five minutes to start up a OAuth2 provider and gain access to a rich features set, including access control and identity management.

Automi: Stream Processing Over Go Channels

As a Go programmer, one of the features that attracted me to the language is the channel-based idiom used for goroutine communications. Channels, along with goroutines, form the basis for the Go concurrency primitives.

Writing an SSH server in Go

When I&rsquo;m working on the Gogs project, there is a need of builtin SSH server, which allows users to preform Git-only operations through key-based authentication.

Manage Dependencies Like Other Languages With Glide

Managing dependent packages in most of the popular and new languages have common patterns implemented by package managers. If you need to manage packages in Python, JavaScript, Rust, Java, Ruby, C# (via .

gopy: extending CPython with Go

Applications and libraries do not live in a vacuum. This is of course true for Go packages and commands. More often than not, you need your code to interact with legacy applications or old and battle tested libraries.

NATS: High Performance Cloud Native Messaging Written in Go

Performance at scale is critically important for anybody attempting to build distributed systems today. Pieces of a given service might be spread across physical or virtual infrastructure, or might be comprised of thousands or even millions of devices (Internet of Things).