How to Become a Software Developer – Qvault's Method

At Qvault we believe the process of becoming a successful software developer can be at least an order of magnitude more effective than it is today. After all, | Continue reading


@qvault.io | 2 years ago

Code Isn’t Correct

Continue reading


@qvault.io | 2 years ago

Coding Interviews – Why you shouldn’t give homework

Continue reading


@qvault.io | 2 years ago

Product Managers Have Terrible Ideas

Continue reading


@qvault.io | 2 years ago

Well, We Might Have a Video Call for That

Continue reading


@qvault.io | 2 years ago

The Collapsing Quality of Dev.to

Continue reading


@qvault.io | 2 years ago

Death, Taxes, and Database Migrations

Continue reading


@qvault.io | 2 years ago

What are UUIDs, and should you use them?

A universally unique identifier (UUID) is a 128-bit format for creating IDs in code that has become popular in recent years, especially in relation to | Continue reading


@qvault.io | 2 years ago

The Pros and Cons of DRY Code

Clean code is like clean garbage - it's only clean if it doesn't exist. In other words, the only clean code is no code. Let's start with an acknowledgment | Continue reading


@qvault.io | 2 years ago

How SHA-256 Works Step-by-Step

SHA-2 (Secure Hash Algorithm 2), of which SHA-256 is a part, is one of the most popular hashing algorithms out there. In this article, we're going to break | Continue reading


@qvault.io | 2 years ago

Beautiful Language and Beautiful Code

"Dead Poet's Society" is a classic film, and has become a recent favorite of mine. There's a scene in particular that I enjoy, where Robin William's character | Continue reading


@qvault.io | 2 years ago

Check for Standards Before Creating a New One

I recently had a ticket opened on my team's backlog board requesting the ability to bypass our API's caching system. For context, our front-end team uses my | Continue reading


@qvault.io | 2 years ago

Intro to the AES-256 Cipher

AES, or “Advanced Encryption Standard”, is an encryption specification that uses the Rijndael cipher as its symmetric key ciphering algorithm. AES encrypts a | Continue reading


@qvault.io | 2 years ago

The 10x Meeting

Perhaps you've heard of the fabled 10x developer (or 10x engineer) - the one on the team that's 10x as productive as their average colleague. While many, | Continue reading


@qvault.io | 2 years ago

The Guide to JSON in Go

Being a language built for the web, Go offers feature-rich support for working with JSON data. JSON (JavaScript Object Notation) is an unbelievably popular | Continue reading


@qvault.io | 2 years ago

Writing Good Unit Tests; Don't Mock Database Connections

Unit tests are unbelievably important to us as developers because they allow us to demonstrate the correctness of the code we've written. More importantly, | Continue reading


@qvault.io | 3 years ago

Is There a Case for Programmers to Unionize?

I've seen a lot of buzz recently about software developers wanting to form unions. I'm particularly interested in this topic as the founder of Qvault, where | Continue reading


@qvault.io | 3 years ago

The Two Classes of Software Engineer

"Software engineer" has become a ubiquitous term for people who write, deploy, architect, or sometimes even simply test code. In reality, I think there are | Continue reading


@qvault.io | 3 years ago

The Benefits of Gamified Learning

Why was that adjustment to college classes so hard? Sitting through hours of lectures and PowerPoints can be challenging for even the most dedicated students. | Continue reading


@qvault.io | 3 years ago

The Pros and Cons of DRY Code

Clean code is like clean garbage - it's only truly clean if it doesn't exist. In other words, the only clean code is no code. Let's start with an | Continue reading


@qvault.io | 3 years ago

Building an NLP Engine Is Hard, but Not as Hard as Defining Terms

In my full-time role at Nuvi, I've been lucky enough to work on a team where we're able to push the boundaries in the natural language processing field. We | Continue reading


@qvault.io | 3 years ago

Writing Good Unit Tests; Don’t Mock Database Connections

Unit tests are unbelievably important to us as developers because they allow us to demonstrate the correctness of the code we've written. More importantly, | Continue reading


@qvault.io | 3 years ago

Comprehensive Guide to Learn Computer Science Online

Self-taught developers and Bootcamp graduates often have a hard time finding employment because they skipped learning computer science fundamentals and jumped | Continue reading


@qvault.io | 3 years ago

Highest-Paying Computer Science Jobs Going into 2021

There are many jobs within the software industry, and most of them are easier to land, or are higher-paying once you land them, if you have a solid grasp of | Continue reading


@qvault.io | 3 years ago

Qvault Releases Achievements System; the Gamification of Education Continues

We couldn't be more excited to announce the latest update to Qvault's gamified computer-science education platform, student achievements! We've modeled | Continue reading


@qvault.io | 3 years ago

Comments Suck and You Probably Write Too Many

I often hear that we need more and better comments in the code we write. In my experience at previous companies as well as at Qvault, we often need better | Continue reading


@qvault.io | 3 years ago

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

Constants in Go must be assigned before the program runs. All constants are computed and saved when the program compiles using go build. Constants can rely on | Continue reading


@qvault.io | 3 years ago

What to Avoid When Contributing to Open-Source Projects

With #HacktoberFest being a thing, there has been an influx of devs desperately trying to contribute to their favorite Open-Source projects. Unfortunately, | Continue reading


@qvault.io | 3 years ago

Password Validators Suck – How to Validate Based on Entropy

You've probably visited a site and attempted to sign-up only to be met with errors such as: | Continue reading


@qvault.io | 3 years ago

Hiring Developers – Tips from Someone You Probably Shouldn’t Listen To

So you want to hire a developer? Or maybe you just want to know what is going through the heads of employers like myself. Either way, let's dive right into | Continue reading


@qvault.io | 3 years ago

Show HN: Running Rust in the Browser with Web Assembly

I've recently been working on a Rust course for the Qvault app. In order to write a more engaging course, I want students to be able to write and execute code | Continue reading


@qvault.io | 3 years ago

Education’s Shameful State of the Art

Higher education had its problems before Covid-19. Now the crippling inefficiencies, backbreaking cost, and lack of alternatives are being forced into the | Continue reading


@qvault.io | 3 years ago

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 | Continue reading


@qvault.io | 3 years ago

Basic Intro to Elliptic Curve Cryptography

Elliptic curve cryptography is an efficient modern approach to public-key cryptosystems. In this introduction, our goal will be to focus on the high-level | Continue reading


@qvault.io | 3 years ago

Go’s Major Versioning Sucks – From a Fanboy

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 | Continue reading


@qvault.io | 3 years ago

Is AES-256 Quantum Resistant?

With quantum computers getting more powerful each year, many worry about the safety of modern encryption standards. As quantum computers improve in | Continue reading


@qvault.io | 3 years ago

Slow Is Smooth, Smooth Is Fast – 25% of Our Time Spent Refactoring

My team has been spending less of our "free" time working on bugs and features from the backlog, and more time refactoring our codebases and test suites. As a | Continue reading


@qvault.io | 3 years ago

Guard Clauses – Clean Up Your 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, | Continue reading


@qvault.io | 3 years ago

Bcrypt Step by Step

Bcrypt is a key derivation function, which can be thought of as a slow hash function. Its purpose is to slowly convert a piece of input data to a fixed-size, | Continue reading


@qvault.io | 3 years ago

Intro to Lattices in Cryptography

Lattice-based cryptography has been coming into the spotlight recently. In January 2019, Many of the semifinalists in the NIST post-quantum-cryptography | Continue reading


@qvault.io | 3 years ago

Shamir’s Secret Sharing Step-by-Step

Adi Shamir’s Secret Sharing is an algorithm that allows participants to share ownership of a secret by distributing shares, which can be thought of as parts of a secret key. In order for someone to gain access to the original secret, a minimum number of shares (the threshold) mus … | Continue reading


@qvault.io | 3 years ago

Optimize for Simplicity First

We can’t optimize for everything in software engineering, so we need to start with something, and that something should be simplicity. For example, to over-optimize for speed in JavaScript, we might write our for-loops backwards to the detriment of readability. On other occasions … | Continue reading


@qvault.io | 3 years ago

Show HN: 33% Memory Reduction by Reordering Struct Fields

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 … | Continue reading


@qvault.io | 3 years ago

They Who Control Encryption

If you've seen The Imitation Game, or studied computer science in school, you have likely heard of Enigma, Alan Turing, or some of the other advances in cryptog | Continue reading


@qvault.io | 3 years ago

Why Printf Does Nothing in Web Assembly

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 cal | Continue reading


@qvault.io | 3 years ago

Show HN: 33% Memory Savings by Re-Ordering Go Struct Fields

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 w | Continue reading


@qvault.io | 3 years ago

Basic Intro to PGP (GPG)

PGP, or its open-source alternative, GPG, is a program used to encrypt data such that only an authorized party can decrypt it. In this introduction, we will cov | Continue reading


@qvault.io | 3 years ago

Scrypt KDF Step-by-Step

Scrypt is a slow-by-design hash function or more accurately, a KDF function. Its purpose is to take some input data, and create a fingerprint of that data, but | Continue reading


@qvault.io | 3 years ago