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

Saving a Third of Our Memory by Re-ordering Go Struct Fields

tetris memory packing

In past projects at Qvault we had an application that typically ran with ~2GB in memory at any given time. By simply changing the order of some uint variables we managed to drop the memory usage to less than 1.4GB. The vast majority of this allocated memory is due to an enormous slice of stats … Read more Saving a Third of Our Memory by Re-ordering Go Struct Fields

Rust vs Go in Backend Web Development

golang vs rustlang logos

Rust and Go are two huge successes in the realm of modern programming language development. The two languages compete in terms of backend web development… and it’s a fierce competition. For example, the popular communication app Discord just started swapping out Go services for Rust to boost performance. Both languages are new, have growing communities, … Read more Rust vs Go in Backend Web Development

Qvault Classroom Launches Golang Crash Course

Ebn8FSCUcAENHop

We just launched Qvault Classroom and can’t be more excited. Our first crash course in Go, “Go Mastery” is now available! We teach students by allowing them to write, compile, and run backend code directly in the browser. (Since this article was first written, we have added the free (Very) Basic Intro to Coding course!) … Read more Qvault Classroom Launches Golang Crash Course

Lint on Save With VS Code Official Golang Extension

go extension vs code

Go has hard opinions about how you should style and format your code. The big upside of this is that you don’t need to spend hours setting up tools like ESLint, Prettier, JSLint, etc. That said, in order to take advantage of the styling and listing tools available in the toolchain, you need a dev … Read more Lint on Save With VS Code Official Golang Extension

Make, New and Literals Cheat Sheet – Slice and Map Initialization in Go

golang gopher slice literal

There are quite a few ways to create new maps and slices in Go. Which one is best? Or perhaps better asked, which one is best in your situation? Let’s take a look. Slices var varStyle []string is the idiomatic way to declare an empty slice. The slice is actually nil, which means it will … Read more Make, New and Literals Cheat Sheet – Slice and Map Initialization in Go

Go-CoNLLU – Some Much Needed Machine Learning Support in Go

data has a better idea - machine learning golang

Python is commonly seen as the AI/ML language, but is often a dull blade due to unsafe typing and being slow, like really slow. Many popular natural language processing toolkits only have Python APIs, and we want to see that change. At Nuvi, we use Go for the majority of our data processing tasks because … Read more Go-CoNLLU – Some Much Needed Machine Learning Support in Go

Go’s WaitGroup – JavaScript’s PromiseAll??

People waiting in line

In applications that are i/o heavy, it can get clunky to synchronously execute high-latency functions one after the other. For example, if I have a web page that needs to request 7 files from the server before it can show the page, I need to asynchronously fetch all those files at the same time. The … Read more Go’s WaitGroup – JavaScript’s PromiseAll??

Concurrency In Rust; Can It Stack Up Against Go’s Goroutines?

photo 1518181835702 6eef8b4b2113

One of the primary goals of the Go programming language is to make concurrency simpler, faster, and more efficient. With Rust growing in popularity let’s see how its concurrency mechanisms stack up against Go’s. A Refresher On Goroutines In Go, concurrency is accomplished by spawning new goroutines: In the example above, we use the go … Read more Concurrency In Rust; Can It Stack Up Against Go’s Goroutines?

Rust vs Go – Which Is More Popular?

download 1

Go and Rust are two of the hottest compiled programming languages. I develop in Go full-time and love it, and I’m learning more about Rust recently – its an exciting language. Let’s explore some differences between the two and look at which is growing faster in the popularity polls. Popularity Stats According to the StackOverflow … Read more Rust vs Go – Which Is More Popular?