The Best Go Content on the Internet


Join Our New Slack Community For Gophers

Contributed by

Why Are We Doing This? GopherCon was an amazing experience for many of us who had the privilege to go. We met so many great people. Some for the first time and many who we had relationships with on social sites such as Twitter and G+. On my last night in Denver I started to feel sad. I didn’t want to lose that camaraderie I had made with these friends.

Read more...

GopherCon 2014 Retrospective(Denver, Colorado - 2014)

Contributed by

It’s a Wrap Gophercon 2014 is in the books. In the end, we had 700 attendees, and it looks to us like everyone enjoyed the experience. Putting on a conference is really hard work, but once the date arrived everything seemed to come together well. It was really gratifying for us to see so many Go enthusiasts at the event, and I think the best part of the conference was getting to meet all the great people in the Go community that I’ve been interacting with for the past four years.

Read more...

Gogs: Binary Deployment: The Right Way to Deploy

Contributed by

Gogs: When you’re deploying a binary, you’re doing it Right. This post is published corresponding to the Gogs - Go Git Service v0.2.0 release. First, please let me speak for the develop team to thank all of our friends who are supporting us on GitHub. As you may know, v0.2.0 is the first public release of Gogs, and the community has contributed over 650 stars to this project on GitHub in just one week.

Read more...

Go development environment for Vim

Contributed by

Go development environment for Vim The reason for creating vim-go Go has a very versatile toolchain and commands that makes Go programming fun. One of the famous tools is gofmt, which automatically reformats the code according to some predefined rules. However there are many other tools like goimports, oracle, godef, etc.. which help to provide a more productive workflow. There are many independent vim plugins that integrate these tools into Vim.

Read more...

Plumbing and Semantics: Communication Patterns in Distributed System

Contributed by

Introduction In distributed systems, multiple components running on different machines—physical or virtual—communicate and coordinate to accomplish tasks. Distributed systems building typically focuses on the way components communicate. As things change (e.g. infrastructure, configuration, components), pressures arise and must be accommodated. Most of you have heard of loose coupling, which asserts that communications between components should be as flexible and adaptive as possible. Why is this a design goal? The more rigidly a system is coupled together, the more likely it’ll break down and fail to adapt to change.

Read more...

Moving to Go: A Pragmatic Guide

Contributed by

Moving to Go You’ve read all the blog posts about how great Go is. You’ve lost patience with your monolithic framework of choice—Ruby on Rails, Django, etc. You’re ready to take the leap and switch to Go. Well, what now? That’s exactly the position we find ourselves in at DramaFever. Our site is built on Django, and it just isn’t scaling to keep up with our rapidly growing traffic. We had read great things about Go, and some of our engineers are big proponents of the language (Dan Worth runs the Go Philly meetup), so we decided to take the plunge and start migrating things to Go.

Read more...

GopherCon 2014 Scholarship for Women

Contributed by

Announcing the GopherCon Scholarship Program Today I’d like to announce the GopherCon Scholarship Program. It’s goal is to increase the visibility of women in the Go community through the most direct path I can imagine: sponsoring their attendance to GopherCon 2014. I’ve purchased the first ticket for GopherCon Scholarship out of my own pocket. I need to come up with a way to award it to a deserving Go community member who wants to attend GopherCon.

Read more...

Writing a Distributed Systems Library in Go

Contributed by

Writing a Distributed Systems Library in Go Introduction In early 2013, I needed to add distributed processing and storage to my open source behavioral analytics database. To my surprise, there were almost no libraries for distributing data. Tools like doozerd were great for building systems on top of but I didn’t want my database to depend on a third party server. As I began to read distributed systems research papers I began to understand why there were not many libraries available.

Read more...

Go Advent Day 25 - Announcing GopherCon 2014 Speakers

Contributed by

Go Advent This posting brings to a close the Go Advent series that started on December 1st. We’ve had some amazing posts from all around the Go community. We can’t thank our authors and contributors enough for the time and effort they expended creating and editing the articles. We hope everyone agrees that this is a tradition worth keeping! GopherCon 2014 GopherCon 2014 will be held in Denver, Colorado, USA on April 24th through April 26th, 2014 at the Marriot Denver City Center.

Read more...

Go Advent Day 24.5 - Thank you

Contributed by

Thank you So far this year’s Go Advent has generated over 60k unique page views and exists as a permanent resource for the future. In this penultimate post we’d like to recap the contributions by our fantastic authors. Day 1 kicked off Go Advent in great style with the announcement of the Go 1.2 release by Andrew Gerrand. Day 2 arrived shortly after bringing news that once again the Go team had pulled another rabbit from their performance hat.

Read more...