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 Go’s Major Versioning Sucks – From a Fanboy

“Big-O Algorithms” Course Released

Big-O Algorithms Course

We’ve launched our new Big-O Algorithms course! We wrote this course for engineers who need a refresher on computer science basics, or want to learn the fundamentals for the first time. The study of algorithmic complexity is often overlooked by new developers, and we’ve found that get-rich-quick boot camps often skimp on these details. It’s … Read more “Big-O Algorithms” Course Released

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 How to Make Pure Functions (Go)

Guard Clauses – How to Clean up Conditionals

Guard Clauses - How to Clean up Conditionals

One of the first concepts new developers learn is the if/else statement. If/else statements are the most common way to execute conditional logic. However, complex and nested if/else statements can quickly become a cognitive burden and compromise the readability of a program. Guard Clauses Guard Clauses leverage the ability to return early from a function … Read more Guard Clauses – How to Clean up Conditionals

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 Create a Golang Video Streaming Server Using HLS – A Tutorial

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 Should You Return Empty or Nil Slices in Go?

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 Top 10 Technical Go Interview Questions

“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 “Interview Prep – Golang” Course Released

“Practical Cryptography” Course Released

qvault practical cryptogrpahy course

We just launched our new Practical Cryptography course, a code-in-the-browser tutorial where students build cryptographic functions in the Go programming langauge. Practical Cryptography stands out among online cryptography courses because it not only teaches crypto fundamentals, but it allows users to get hands-on experience building out the code. What’s Included? The course has four modules … Read more “Practical Cryptography” Course Released

Unexpected Printf Behavior in Go WASM – Nothing Prints

fmt.Printf doesn't do what you think it does WASM Go

While working on Qvault’s Go Playground, I came across a very strange error. The standard library’s fmt.Printf() function prints nothing to the console when called. Nothing. For those of you who are familiar with the function, when compiled to a “normal” executable fmt.Printf prints a formatted string to standard output. As per the official documentation, … Read more Unexpected Printf Behavior in Go WASM – Nothing Prints