The Nuances of Constants in Go; Go Isn’t JavaScript

The Nuances of Constants in Go; Go Isn't JavaScript

Constants can be confusing and easy to misuse in Go if you are coming from an untyped language. Let’s take a look at some of the nuanced details of how they work in Go. It’s probably unsurprising, but Go’s constants are almost nothing like JavaScript’s bastardized version of the concept. Go vs JavaScript Many programming … Read more

How To Correctly Validate Passwords – Most Websites Do It Wrong

How To Correctly Validate Passwords - Most Websites Do It Wrong

You’ve probably visited a site and attempted to sign-up only to be met with errors such as: Password needs a capital letter Password needs a special character Password needs to be at least 8 characters I just released a package in Go that solves this problem. Check it out and give it a star here: … Read more

Boilerplating a New Go Program (Microservice)

Boilerplating a New Go Program (Microservice)

I lead a team that is responsible for anywhere from 15-25 Go microservices at any given time. We are constantly creating new services and libraries, so it’s become important to streamline the boilerplating process. I’m mostly writing this article for myself as a kind of self-documentation, but hopefully, you’ll find it useful as you create … Read more

Running Go in the Browser with WASM and Web Workers

Running Go in the Browser with WASM and Web Workers

We’ve recently made big changes to how we execute Go in the browser on Qvault and want to explain the enhancements. Web Workers are the reason we’ve been able to solve some of the serious browser-related coding problems that were holding us back. Consider this article a sequel to Running Go in the Browser with … Read more

Go’s Major Versioning Sucks – From a Fanboy

Go's Major Versioning Sucks

I’m normally a fan of the rigidity within the Go toolchain. In fact, we use Go on the front and backend at Qvault. It’s wonderful to have standardized formatting, vetting, and testing across the entire language. The first real criticism I’ve had is with the way Go modules handle major versions. It’s over-the-top opinionated and … Read more

How to Make Pure Functions (Go)

Pure Functions in Go

Pure functions are often hyped up in the JavaScript world, probably because of the abundance of stateful front end applications. While pure functions have their downsides (i.e. inconvenience, potentially large argument lists), they should be used as much as reasonably possible. We’ve made a lot of changes in the Qvault app codebase recently to use … Read more

Create a Golang Video Streaming Server Using HLS – A Tutorial

Video Streaming Server In Go Using HLS

In this tutorial, I’m going to walk you through building a Golang video streaming API (this works for other types of media as well!). Don’t worry, its surprisingly easy to build a robust media streaming server, especially if we utilize one of the more modern protocols, HLS. What is HLS? HTTP Live Streaming is an … Read more

Should You Return Empty or Nil Slices in Go?

Empty vs Nil Slices in Go

In Go, we are often returning zero values. Idiomatic Go encourages the use of guard clauses, and guard clauses necessitate the need to return early. When returning early with an error, by convention all other return values should be zero values. The confusion arises with data types like maps and slices… should they be nil, … Read more

Top 10 Technical Go Interview Questions

Top 10 Go Interview Questions

Are you interviewing for a new Go developer position? Perhaps you are about to interview someone yourself? Let’s review some good questions to be familiar with, whether you are the interviewer or the interviewee. If you are interested in a more interactive way to review for a Go interview, try our Interview Prep – Go … Read more

“Interview Prep – Golang” Course Released

Golang interview preparation

We just launched Interview Prep – Golang, a quick course for those looking to brush up on some Go quirks before walking into an interview. The course is a hands-on tutorial where you complete algorithms and data structures exercises, as well as answer common multiple-choice questions about the Go language. This interview preparation review stands … Read more