Go Icon


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

Bill Kennedy ardanlabs.com

The why and what of Go modules

If you’re looking for a thorough primer of Go modules, Bill Kennedy has you covered: In this post, I will focus on the transition from GOPATH to modules and the problems modules are solving. Along the way, I will provide just enough of the semantics so you can have a better understanding of how modules work at a high level. Maybe more importantly, why they work the way they do. When you’re done with this, check out part 2 of the series about projects, dependencies, and gopls.

read more

Go Time Go Time #108

Graph databases

Mat, Johnny, and Jaana are joined by Francesc Campoy to talk about Graph databases. We ask all the important questions — What are graph databases (and why do we need them)? What advantages do they have over relational databases? Are graph databases better at answering questions you didn’t anticipate? How is data structured? How do queries work? What problems are they good at solving? What problems are they not suitable for? And…since we had Francesc on the hot seat, we asked him about Just for Func and when it’s coming back.

read more

Jerod Santo changelog.com/posts

5 things Rob Pike attributes Go's success to

As the saying goes… history doesn’t repeat itself, but it often rhymes. If you want to create a successful programming language (or at least understand how you might), it’s immensely valuable to learn from others who have done just that. on Go Time episode #100, two of Go’s creators (Rob Pike and Robert Griesemer) sat down to discuss the language’s success. Here’s 5 things they attribute to its success.

read more

Go github.com

Use HTTP/2 Server Push to create fast and idiomatic client-driven REST APIs

Around the advent of GraphQL, I found myself asking its proponents if HTTP/2 solves any of the same performance problems. Most of the answers were along the lines of, “it might, but that hasn’t been realized yet.” Well, Vulcain is here to realize it. Over the years, several formats have been created to fix performance bottlenecks impacting web APIs: over fetching, under fetching, the n+1 problem… Current solutions for these problems (GraphQL, JSON:API’s embedded resources and sparse fieldsets, …) are smart network hacks for HTTP/1. But these hacks come with (too) many drawbacks when it comes to HTTP cache, logs and even security. Fortunately, thanks to the new features introduced in HTTP/2, it’s now possible to create true REST APIs fixing these problems with ease and class! Here comes Vulcain! See also their comparison between Vulcain, GraphQL, and API formats.

read more

Jon Calhoun calhoun.io

Why can't we settle on a single application structure in Go?

Go Time panelist Jon Calhoun ruminates on a conversation started on episode 94 of the show: The goal of this article is it explore why exactly there isn’t a single app structure that is recommended to new Gophers, and the overall goal of this series is help newcomers to Go understand what choices are available to them so they can get started a little easier.

read more

Go github.com

Muon – GPU based Electron on a diet

Muon is a lightweight alternative to Electron written in Golang in about ~300 LoC, using Ultralight instead of Chromium. Ultralight is a cross-platform WebKit rewrite using the GPU to target embeded desktop applications that resulted in a fast, lightweight, and low-memory HTML UI solution that blends the power of Chromium with the small footprint of Native UI. Between this, NodeGui, and Catalina’s support for React Native, Electron is getting squeezed on all sides.

read more

Go github.com

Rudder is an open source Segment alternative

I’ve been a big fan of Segment since way back before they became our sponsors. The adapter pattern for marketing/analytics tools is a great idea and they’ve executed on it very well. I’m also a big fan of open source alternatives to commercial products. 😀 If the “Why Rudder?” section of the README (privacy & security, processing flexibility, unlimited events) has you nodding in agreement, this is worth a deeper look.

read more

Go watermill.io

Watermill – a Go library for working efficiently with message streams

intended for building event driven applications, enabling event sourcing, RPC over messages, sagas and basically whatever else comes to your mind. You can use conventional pub/sub implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog if that fits your use case. Check out the announcement post for more of the background on Watermill.

read more

JSON github.com

JSONC is a superset of JSON which supports comments

JSON formatted files are readable to humans but the lack of comments decreases readability. With JSONC, you can use block (/* */) and single line (//) comments to describe the functionality. Microsoft VS Code also uses this format in their configuration files like settings.json, keybindings.json, launch.json, etc. This is a Go-only implementation, but the concept is portable to any language (hint, hint).

read more

0:00 / 0:00