Systems and Processes that Aren’t in Code are Terrifying

The dreaded: You may recognize this as a unix cronjob, a job that is scheduled to run on a server periodically. You may be thinking, “Why is that scary? We use cronjobs all the time!” If the code that manages the crontab is source controlled and exists within the organization’s central repositories, then I actually … Read more Systems and Processes that Aren’t in Code are Terrifying

The Proper Use of Pointers in Go (golang)

Go has become increasingly popular in recent years, especially in my local area. It has been consistently displacing other backend languages like Ruby, Python, C# and Java. Go is wanted for its simplicity, explicitness, speed, and low memory consumption. Many developers that are new to the language, or new to a language that can handle … Read more The Proper Use of Pointers in Go (golang)

Thinking about Recursion: How to Recursively Traverse JSON Objects and the Filesystem

I work primarily on application-level programs, so I tend to not use recursion very often. However, every now and then I need a function that is best solved recursively. It is important to be able to recognize when a problem is best solved recursively, and to be able to write it when the time comes. … Read more Thinking about Recursion: How to Recursively Traverse JSON Objects and the Filesystem

How to Make a Custom Select Component in Vue.js

Customizing the design of a select tag is notoriously difficult. Sometimes it’s impossible without building your own from scratch using a combination of styled divs with custom JavaScript. In this article, you will learn how to build a Vue.js component that can be styled using completely custom CSS. Demo: https://codesandbox.io/s/custom-vuejs-select-component-8nqgd The HTML The following is … Read more How to Make a Custom Select Component in Vue.js

Documentation Sucks and You Probably Do it Too Much

I often hear that we need more and better documentation in the tech industry. I’ve since come to believe that most documentation is overrated. When Documentation Sucks Incorrect documentation is worse than no documentation, and redundant documentation is worthless. Let’s remove the chaff. Incorrect Documentation Developers typically take the path of least resistance when given … Read more Documentation Sucks and You Probably Do it Too Much

Qvault’s Offline Mode in Electron

We recently added “Offline Mode” to Qvault as a new feature. This was in preparation to also add Bitcoin and cryptocurrency key generation. There is now a toggle switch at the top of the app that, when switched off, ensures that the app will make no network requests. You have always been able to use … Read more Qvault’s Offline Mode in Electron

Security in Dependencies

Choosing the right dependencies is a difficult task. Assuming the developer of an application is the best programmer in the world, the “best” thing to do would be to write the entire codebase alone. This would eliminate the bugs, vulnerabilities, and malicious intrusions of inferior developers. We at Qvault recognize that we aren’t the best … Read more Security in Dependencies

Guard Clauses: How to clean up Conditionals

One of the first techniques developers learn is the if/else statement. For obvious reasons if/else statements are a primary way to create logic trees. This is where we handle calculations differently depending on the input variables. However, complex and nested if/else statements become a cognitive burden to reason about. Therefore, it can be hard for … Read more Guard Clauses: How to clean up Conditionals

Stop with the Obfuscation: Encoding and Encryption are Not the Same

This is a topic that has been talked about quite a bit, but I think it’s an important one to reiterate to our users. Encoding is not Encryption! Encryption is a specific subset of encoding where the encoded messages can only be accessed by authorized parties (the ones holding the decryption keys). Encoding is simply … Read more Stop with the Obfuscation: Encoding and Encryption are Not the Same

Automatic Cross-Platform Deployments with Electron on a CI Server (Travis)

This is a tutorial on how to setup an Electron app on Travis CI, so that new versions are deployed to Github Releases with a simple pull request. Boilerplate I created a boilerplate repo that has all the necessary configuration to deploy a minimalistic app to Github releases. If you get lost during the tutorial … Read more Automatic Cross-Platform Deployments with Electron on a CI Server (Travis)