Go Icon

Go

Go is a programming language built to resemble a simplified version of the C programming language.
210 Stories
All Topics

Python nicolas-hahn.com

One program written in Python, Go, and Rust

This is a subjective, primarily developer-ergonomics-based comparison of the three languages from the perspective of a Python developer, but you can skip the prose and go to the code samples, the performance comparison if you want some hard numbers, the takeaway for the tl;dr, or the Python, Go, and Rust diffimg implementations. Not only is this a good way to compare programming languages, but it’s a good way to learn a new language if you’re already familiar with one of the others.

read more

Docker github.com

The lazier way to manage everything docker

Memorising docker commands is hard. Memorising aliases is slightly less hard. Keeping track of your containers across multiple terminal windows is near impossible. What if you had all the information you needed in one terminal window with every common command living one keypress away (and the ability to add custom commands as well). Lazydocker’s goal is to make that dream a reality.

read more

Go Time Go Time #89

The art of execution

Panelists Mat Ryer, Johnny Boursiquot, Jon Calhoun, and guest panelist Egon Elbre discuss what they build, why, and how they do it. Everybody has their own unique process for getting things done, so today we’re going to learn about them. Too often processes get in the way and slow things down. How do we look for signs of those slow downs? How do we create a space where people are free to discuss their thoughts and struggles?

read more

Chris Siebenmann utcc.utoronto.ca

Go is Google's language, not ours

Fellow Gophers and Go Time fans out there, I’d love to hear your thoughts on this post from Chris Siebenmann. Go has community contributions but it is not a community project. It is Google’s project. This is an unarguable thing, whether you consider it to be good or bad, and it has effects that we need to accept. For example, if you want some significant thing to be accepted into Go, working to build consensus in the community is far less important than persuading the Go core team. In general, it’s extremely clear that the community’s voice doesn’t matter very much for Go’s development, and those of us working with Go outside Google’s walls just have to live with that.

read more

Go github.com

Get unlimited Google Drive storage by splitting binary files into base64

A clever hack that is now being investigated by Google’s internal forums. How it works: Google Docs take up 0 bytes of quota in your Google Drive Split up binary files into Google Docs, with base64 encoded text Encoded file is always larger than the original. Base64 encodes binary data to a ratio of about 4:3. A single doc can store ~1 million characters. This is around 710KB of base64 encoded data.

read more

Go Time Go Time #85

Go for beginners

How do beginners learn Go? This episode is meant to engage both non-Go users that listen to sister podcasts here on Changelog, or any Go-curious programmers out there, as well as encourage those that have started to learn Go and want to level up beyond the basics. On this episode we’re aiming to answer questions about how to learn Go, identify resources that are available, and where you can go to continue your learning journey.

read more

Kevin Goslar Hackernoon

Go is on a trajectory to become the next enterprise programming language

Clearly we’re a fan of Go — listen to Go Time — but, what is it going to take to make it succeed Java as the dominating enterprise programming language? This post from Kevin Goslar lays out the strengths of Go that make this a real possibility. Go — a programming language designed for large-scale software development — provides a robust development experience and avoids many issues that existing programming languages have. … Companies and open-source initiatives looking for a safe and forward-looking technology choice for creating large-scale cloud infrastructures in the coming decades are well advised to consider Go as their primary programming language. A large portion of modern cloud, networking, and DevOps software is written in Go, for example Docker, Kubernetes, Terraform, etcd, or ist.io.Many companies are using it for general-purpose development as well. The capabilities that Go enables have allowed these projects to attract a large number of users, while Go’s ease of use has enabled many contributions.

read more

Dave Cheney dave.cheney.net

Dave Cheney's "High Performance Go" workshop docs

If you haven’t attended the workshop directly, the next best thing is to learn indirectly by reading the workshop’s docs. The goal for this workshop is to give you the tools you need to diagnose performance problems in your Go applications and fix them. It’s licensed under the Creative Commons Attribution-ShareAlike 4.0 International license and the source is on GitHub.

read more

Damian Gryski github.com

Practices for writing high-performance Go

From writing and optimizing Go code to common gotchas with the Go standard library, Damian Gryski shared his thoughts on Go performance optimization and outlined best practices for writing high-performance Go code. Available in English, 中文, and Español. When and where to optimize — Every optimization has a cost. Generally this cost is expressed in terms of code complexity or cognitive load – optimized code is rarely simpler than the unoptimized version. But there’s another side that I’ll call the economics of optimization. As a programmer, your time is valuable. There’s the opportunity cost of what else you could be working on for your project, which bugs to fix, which features to add. Optimizing things is fun, but it’s not always the right task to choose. Performance is a feature, but so is shipping, and so is correctness.

read more

Fernand Galiana github.com

Popeye - a Kubernetes cluster sanitizer

Popeye is a utility that cruises Kubernetes cluster resources and reports potential issues with your deployment manifests and configurations. By scanning your clusters, it detects misconfigurations and ensure best practices are in place thus preventing potential future headaches. This is a read-only tool, which means it’s pretty safe to kick the tires. For the back story, check out Fernand’s announcement post.

read more

Uber Engineering Icon Uber Engineering

Cadence is Uber's new orchestration engine

Its focus is on executing async long-running business logic. Business logic is modeled as workflows and activities. Workflows are the implementation of coordination logic. Its sole purpose is to orchestrate activity executions. Activities are the implementation of a particular task in the business logic. The workflow and activity implementation are hosted and executed in worker processes. These workers long-poll the Cadence server for tasks, execute the tasks by invoking either a workflow or activity implementation, and return the results of the task back to the Cadence server. Furthermore, the workers can be implemented as completely stateless services which in turn allows for unlimited horizontal scaling.

read more

0:00 / 0:00