Introduction to Application Security (AppSec)

Application security focuses on the security and interactions of applications. Most information security focuses on observability or firewalling assets from external threat actors. Application security focuses on protecting the application and data directly from bad-actors who are attempting to compromise the system through the application's externally facing elements.

Building a Go Version Manager (GVM)

With the introduction of Generics into the Go language, it became necessary to be able to use different versions of Go on a single system with minimal effort. While exploring different methods for managing different go versions on a single system I realized that there was a need for a tool to manage the different versions seamlessly for Go engineers. This led to the creation of the Go Version Manager (GVM).

Beginning Concurrency Patterns

Concurrency Pattens are not new to Go. They are a part of the wider distributed computing ecosystem. This post covers basic concurrent design patterns and techniques. Building out concurrent applications is easy once you have a handle on the basics.

Parallelism and Concurrency; What's the Difference?

Understanding the difference between parallelism and concurrency can be a bit tricky. This post covers common misconceptions and how to avoid them. It also breaks down the differences between parallelism and concurrency and how to use them to your advantage.