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

HLS Video Streaming with Node.JS – A Tutorial

Video Streamed in Node JS

The goal of this tutorial will be to build a robust video (or music) streaming API using Node JS. Don’t worry, its surprisingly easy since we will be utilizing a modern protocol, HTTP Live Streaming, or HLS. Why use HLS for video streaming? HLS allows us to serve large media files as many smaller files. … Read more HLS Video Streaming with Node.JS – A Tutorial

Authenticate Users with “Sign In With Google” in Golang

sign in with google golang

Users love convenience. If your goal is to make it easy for users to register with your app or website, then implementing the “Sign in with Google” option should be at the top of your priority list. If you are like me, then you may find Google’s documentation on the subject to be lackluster at … Read more Authenticate Users with “Sign In With Google” in Golang

How to Create a Custom Toggle Switch Component in Vue.js

vue toggle switch component

Custom toggle switches are a pain to code from scratch. So many lines for such a simple UI widget! In this quick tutorial, we will learn how to build a toggle switch in Vue.js, and it will be a fully encapsulated component! The component we are building is used currently on Qvault’s login page. Go … Read more How to Create a Custom Toggle Switch Component in Vue.js

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

Vue History Mode – Support Legacy Hash URLs

history in library busts

When we first launched the Qvault single-page-app, we were using Vue Router’s default hash routing. Hash routing looks ugly to the end-user, and when you want to be able to share parts of your app via direct link those hashes can get really annoying. We have since moved to the newer HTML5 History Mode which … Read more Vue History Mode – Support Legacy Hash URLs

How to Rerender a Vue Route When Path Parameters Change

Paint over and rerender the wall

In single-page apps that use the Vue Router, it is common to create a path parameter that changes the behavior of a route. A common problem occurs when a user alters the path manually in the address bar. Manually changing the URL does not rerender the view! This can cause unexpected behavior because mounted() hooks … Read more How to Rerender a Vue Route When Path Parameters Change

Announcing a “(Very) Basic Intro to Coding”

Qvault Classroom – our new gamified learning platform – just launched its first free coding course! This one is short, sweet, and to the point. We created a thirty-exercise, two-module course that caters to students who have never seen a single line of code before. That’s right, this is a code-in-the-browser course for absolute beginners. … Read more Announcing a “(Very) Basic Intro to Coding”

Qvault Classroom Launches Golang Crash Course

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

Running Go in the Browser With Web Assembly (WASM)

golang wasm gopher

If you are familiar with the Go Playground, then you know how convenient it is to be able to have a Go scratchpad in the browser. Want to show someone a code snippet? Want to quickly test some syntax? Browser-based code pads a helpful. On that note, I created a new playground. The cool thing … Read more Running Go in the Browser With Web Assembly (WASM)