The Best Go Content on the Internet


gobench - Go Benchmark Competition

Contributed by

Introduction Simplicity is one of the philosophies of Go. Rob Pike said that the secret of Go’s success is in its simplicity at Go Conference 2014 autumn in Tokyo, Japan. Dave Cheney emphasized the importance of simplicity in Go at GopherCon India 2015. There are plenty of articles which explain the ways of writing code effectively in Go including the official website of Go and we can learn how to write simple Go code by studying these.

Read more...

Docker 2nd Birthday & Open-source-a-thon

Contributed by

For Docker’s 2nd birthday they’ve been planning something that we think is pretty amazing. Starting March 23rd, the Docker & Go communities will be hosting dozens of open-source-a-thon parties around the world. At these parties the Docker and Go community members will be contributing and mentoring others on how to contribute to open-source. There will also be an online component to permit everyone to be able to participate regardless of location.

Read more...

Code Generation From the AST

Contributed by

Deprehend is a tool that auto-generates go src to wrap goroutines with panic handlers and wrap http handlers for metrics tracking. Over at DeferPanic we do a lot of application monitoring specifically for you, Go engineers. Go as a language is very opinionated and more importantly, Go engineers are an anti-magic crowd. To this end, we have exposed most of our functionality as wrappers around the stdlib. What this means is that you have to manually add code to use the client library effectively.

Read more...

Patterns for composable concurrent pipelines in Go

Contributed by

Patterns for composable concurrent pipelines in Go The undersigned came into the world of Go from Python, which is quite prevalent in the field of bioinformatics. In Python, one can easily write composable lazy-evaluated pipelines of string processing operations, using the generator syntax built into the language. The nice thing with generators is that they use less memory - but more even more importantly - a constant amount of memory, which is very important when processing very large data sets that might not even fit in RAM.

Read more...

GopherCon India 2015

Contributed by

I came to GopherCon India not knowing what to expect, but from the moment I arrived it was nothing short of spectacular. I talked to amazing people who genuinely appreciated that members of the global community came to India to participate in the event. I think in their minds this legitimized the conference and gave them a sense of pride that India was important to the global Go community. The conference started with a one day workshop, where 25+ people had an opportunity to learn Go.

Read more...

Data mining with Go

Contributed by

What is the idea behind Gopher Gala project heatingeffect? Heating Effect provides a visual representation of the raw notice data from (chillingeffects.org). The Chilling Effects database collects and analyzes legal complaints and requests for removal of online materials, helping Internet users to know their rights and understand the law. This data enables us to study the prevalence of legal threats and let Internet users see the source of content removals. This is achieved by getting the data from chillingeffects.org via a worker called harvester.

Read more...

Go and the Secure Shell protocol

Contributed by

What is the Secure Shell protocol? Many of us use ssh(1) everyday to administer servers around the world. The Secure Shell protocol, however, allows us to do much more than open secure shells. This post will attempt to the raise awareness of SSH and suggest various use cases for SSH in the modern web ecosystem. SSH is a transport layer security protocol that provides a secure method for data communication. On top of a single data channel, such as TCP, the SSH protocol provides us with: A secure handshake using four authentication methods, providing authenticity A two-way encrypted and verified data stream, providing privacy and integrity The ability to create many logical connections, providing a clean multiplexed connection abstraction Connection metadata “request” channels, terminal management and remote program execution What about TLS?

Read more...

The world's first Go distributed hackathon.

Contributed by

Registration is now open for the Gopher Gala - the world’s first Go distributed hackathon. You may have heard of the Rails Rumble, Node Knockout, or Django Dash. Now, Go has its own distributed hackathon: the Gopher Gala. The Gopher Gala invites people to write a meaningful standalone application using Go over the course of a weekend. It is an online, virtual competition, and participants compete from all over the world.

Read more...

Cron as a file system

Contributed by

9p I read The Styx Architecture for Distributed Systems over a decade ago. The central idea of the paper is that “representing a computing resource as a form of file system, [makes] many of the difficulties of making that resource available across the network disappear”. By resource they mean any resource. For example in the Plan9 window system 8½, windows and even the mouse are implemented as a files; similarly, in Inferno and Plan9 the interface to the TCP/IP network is presented as a file system hierarchy.

Read more...

The Other Side of Go: Programming Pictures, the Read, Parse, Draw Pattern

Contributed by

The other side of Go: Programming Pictures, the Read, Parse, Draw Pattern Go has proven to be extremely versatile and well suited to back-end tasks, but sometimes you need a picture, and I’ve found that Go works well for generating visuals as well. This post will explore one method for generating pictures (specifically vector graphics) from data using the SVGo package. The SVGo package API performs a single function: generate standard SVG to an io.Writer.

Read more...